Обучиться Data Science «самому», без вузовских курсов, можно, но сложно
Курсов «Стань Data Scientist’ом за три месяца» с заманчивыми обещаниями о трудоустройстве и большом заработке довольно много. Грешат этим все: от GeekBrains и Skillbox до Яндекс Практикума(хотя, по моему субъективному мнению, коллеги из Яндекса работают наиболее деликатно и им за это от меня респект).
Нет ничего зазорного в курсах хоть на три месяца, хоть на три занятия.
Любой формат позволяет донести определённые знания, однако важно сохранять трезвость в оценке ценности подобных курсов.
Человек с хорошим техническим образованием из МГУ, МФТИ, ВШЭ, СПбГУ, ИТМО и других топовых вузов вполне в состоянии устроиться стажёром в data science и после вводного курса. Вряд ли в топовую компанию, но начать нарабатывать опыт уже можно.
Более того, полноценно проходить даже короткий курс необязательно — это лишь способ ускорить процесс. Если человек умеет программировать, читать документацию и изучать библиотеки, можно обойтись и без курса:
— решайте Kaggle.com, начиная с учебных соревнований
— читайте форумы соревнований,
— практикуйтесь в применении DS библиотек (sklearn, lightgbm, catboost, xgboost, pandas, polars, seaborn, pytorch, ambrosia)
— изучайте их документацию
Находите открытые материалы курсов по data science и разбирайте их самостоятельно. Знаю примеры людей, бегло изучающих семестровый курс из Стэнфорда за ночь. Не всем обязательно демонстрировать такую суперпроизводительность, да и почти любой человек после подобной учёбы многое забудет через неделю. Но вместе с практикой этот подход совершенно нормальный.
Ещё полезно через какое-то время изучить ту же тему в новом источнике. Интересующихся людей в целом всегда выделяет то, что им недостаточно прочитать одну книгу, решить задачу один раз, один раз понять, как всё устроено. Им интересно изучать вопрос с разных сторон снова и снова.
Однако нужно помнить, что без сильной базы по программированию и математике путь в Data Science может быть долгим. Это нормально. Главное — не останавливаться в изучении фундаментальных направлений. Если понравится процесс — вы его пройдёте, сами или с чьей-то помощью.
Курсов «Стань Data Scientist’ом за три месяца» с заманчивыми обещаниями о трудоустройстве и большом заработке довольно много. Грешат этим все: от GeekBrains и Skillbox до Яндекс Практикума
Нет ничего зазорного в курсах хоть на три месяца, хоть на три занятия.
Любой формат позволяет донести определённые знания, однако важно сохранять трезвость в оценке ценности подобных курсов.
Человек с хорошим техническим образованием из МГУ, МФТИ, ВШЭ, СПбГУ, ИТМО и других топовых вузов вполне в состоянии устроиться стажёром в data science и после вводного курса. Вряд ли в топовую компанию, но начать нарабатывать опыт уже можно.
Более того, полноценно проходить даже короткий курс необязательно — это лишь способ ускорить процесс. Если человек умеет программировать, читать документацию и изучать библиотеки, можно обойтись и без курса:
— решайте Kaggle.com, начиная с учебных соревнований
— читайте форумы соревнований,
— практикуйтесь в применении DS библиотек (sklearn, lightgbm, catboost, xgboost, pandas, polars, seaborn, pytorch, ambrosia)
— изучайте их документацию
Находите открытые материалы курсов по data science и разбирайте их самостоятельно. Знаю примеры людей, бегло изучающих семестровый курс из Стэнфорда за ночь. Не всем обязательно демонстрировать такую суперпроизводительность, да и почти любой человек после подобной учёбы многое забудет через неделю. Но вместе с практикой этот подход совершенно нормальный.
Ещё полезно через какое-то время изучить ту же тему в новом источнике. Интересующихся людей в целом всегда выделяет то, что им недостаточно прочитать одну книгу, решить задачу один раз, один раз понять, как всё устроено. Им интересно изучать вопрос с разных сторон снова и снова.
Однако нужно помнить, что без сильной базы по программированию и математике путь в Data Science может быть долгим. Это нормально. Главное — не останавливаться в изучении фундаментальных направлений. Если понравится процесс — вы его пройдёте, сами или с чьей-то помощью.
Kaggle
Kaggle: Your Machine Learning and Data Science Community
Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.
👍86❤34🔥13🤔2🤩2
2 ноября на конференции DataStart можно будет узнать об обновлениях в нашем фреймворке для рекомендательных систем RecTools, который мы выпустили в open-source в прошлом году. От BigData МТС будет выступать Даша Тихонович. Она расскажет о нашем опыте использования библиотеки в реальных сервисах, а также о сложностях комплексной валидации в RecSys. Многие аспекты валидации остаются за рамками курсов по рекомендательным системам, но их критически важно учитывать, создавая модели для реальных сервисов. Зарегистрироваться можно по ссылке: https://datastart.ru/
datastart.ru
Конференция Data Science 2024
Обучающие конференции по Data Science в
Москве и Санкт-Петербурге. Программа мероприятий содержит актуальные темы по Big Data,
Machine Learning, AI. Практические занятия позволят лучше усвоить полученные
на мероприятии знания.
Москве и Санкт-Петербурге. Программа мероприятий содержит актуальные темы по Big Data,
Machine Learning, AI. Практические занятия позволят лучше усвоить полученные
на мероприятии знания.
🔥21👍10❤5👏2
Возрождаю рубрику
Давайте внесём в канал интерактив. Давно вынашивал идею для рубрики Q&A и, наконец, запускаю.
Как это будет работать:
Оставлю здесь гугл-форму. Если у вас есть какой-то вопрос по DS, Big Data и образованию — смело задавайте в ней, и я дам развёрнутый ответ. Тема может быть как профессиональной, так и из учёбы, ограничений нет.
Ещё в форме есть пункт про контент. Накидал несколько форматов, выберете те, которые хотите видеть в канале чаще. Или, возможно, у вас есть своя идея, которой вам не жалко поделиться.
Буду благодарен за ваше время!
Давайте внесём в канал интерактив. Давно вынашивал идею для рубрики Q&A и, наконец, запускаю.
Как это будет работать:
Оставлю здесь гугл-форму. Если у вас есть какой-то вопрос по DS, Big Data и образованию — смело задавайте в ней, и я дам развёрнутый ответ. Тема может быть как профессиональной, так и из учёбы, ограничений нет.
Ещё в форме есть пункт про контент. Накидал несколько форматов, выберете те, которые хотите видеть в канале чаще. Или, возможно, у вас есть своя идея, которой вам не жалко поделиться.
Буду благодарен за ваше время!
🔥47❤10👍9🤔2👏1
Коллеги из Data Secrets написали статью на Хабр про нашу опенсорс-библиотеку для рекомендательных систем RecTools, рекомендую к прочтению. А еще наши знакомые из ряда банков недавно благодарили за либу и рассказывали, что активно её используют. Невозможно словами описать, насколько это приятно. Сделать open-source библиотеку для RecSys, которой будут пользоваться, было моей давней мечтой, и я рад, что ее получилось осуществить в Big Data МТС. Дальше будет больше :) Спасибо огромное команде RecTools - ребята, вы лучшие!
🎉49❤23🔥17
Провел двухдневную стратсессию Big Data МТС в замечательном эко-отеле «Изумрудный лес». На фото моя команда - почти все ключевые руководители нашей бигдаты (не считая заболевших и отлучившихся на рабочие созвоны).
Изумрудный лес как всегда прекрасен, и рабочая часть мероприятия тоже прошла очень здорово. Несмотря на объемный план, мы неплохо справились, а главное было много очень классных и полезных обсуждений. Мне всегда не нравится история единолично сформулированных и «спущенных сверху железной рукой» стратегий, поэтому для меня было очень важно поработать всем вместе единой командой. Особенно классно было, что народ не боялся обсуждать, включаться, спорить, доносить свою позицию, понимать аргументацию других участников дискуссии.
Впереди еще ряд мероприятий про наши цели и путь к ним, и я обязательно расскажу здесь о том, к чему мы придем.
Изумрудный лес как всегда прекрасен, и рабочая часть мероприятия тоже прошла очень здорово. Несмотря на объемный план, мы неплохо справились, а главное было много очень классных и полезных обсуждений. Мне всегда не нравится история единолично сформулированных и «спущенных сверху железной рукой» стратегий, поэтому для меня было очень важно поработать всем вместе единой командой. Особенно классно было, что народ не боялся обсуждать, включаться, спорить, доносить свою позицию, понимать аргументацию других участников дискуссии.
Впереди еще ряд мероприятий про наши цели и путь к ним, и я обязательно расскажу здесь о том, к чему мы придем.
👍62🔥29❤18👏3🎉1
Застрял на N лет на уровне мидла — как выбраться из застоя в карьере? Вопрос от подписчика
Большинство людей даже не задаются этим вопросом. Поэтому вы уже на полпути к успеху.
Здесь важно понимать одну печальную мысль — никто, кроме вас, в вашей карьере не заинтересован. Человек, который не растёт профессионально, невероятно удобен: не нужно думать, кем его заменить, как его мотивировать и т. п. Поэтому первый шаг — перестать ждать, что кто-то за руку поведёт вас выше.
Далее изучите свое отношение к работе. Люди, застрявшие в карьере, могут встать на путь «тихого увольнения». Иногда неосознанно. Это когда человек думает: «На меня не обращают внимания. Значит, буду халявить и выжимать максимум денег и льгот с минимумом усилий, пока не уволят». Так точно не появится навыков и достижений, которые увеличат вашу ценность.
Если подобного нет, подумайте: чего вы хотите? Стать экспертом? Или управлять командой? От этого будет зависеть следующий шаг.
Хотите развиваться как специалист, помните: ключевая ценность крутого спеца в том, что он на отлично соблюдает базовую гигиену. За ним не нужно переделывать. Возможно, ваша проблема как раз в нехватке знаний, либо непонимании каких-то основ, либо банальной невнимательности. Это лечится прокачкой хардов: лекции, книги и практика.
А хотите в тимлиды — предлагайте новые инициативы и доводите их до конца. Последнее очень важно. В здоровой рабочей среде насочинять и не сделать закопает вас хуже, чем вообще ничего не предлагать.
Также важно помнить, что результаты можно получить, только умея долго работать без положительной обратной связи. Как в спорте. Вы же не ждёте, что после двух тренировок получите тело греческой статуи?
Про себя могу сказать, что тоже регулярно сталкивался и сталкиваюсь с затыками в карьере. Оглядываясь назад, могу сказать, что с проблемой всегда можно было справиться изменив поведение. Рано или поздно понимаешь, какие ошибки создают твой "потолок" в карьере, меняешь поведение и внезапно обнаруживаешь, что потолка больше и нет.
Поэтому, коллега, не унывайте. Берите карьеру в свои руки и двигайтесь в той сфере, где хотите развиваться, но обязательно запаситесь терпением и готовностью анализировать свои шаги.
#вопрос_подписчика
Большинство людей даже не задаются этим вопросом. Поэтому вы уже на полпути к успеху.
Здесь важно понимать одну печальную мысль — никто, кроме вас, в вашей карьере не заинтересован. Человек, который не растёт профессионально, невероятно удобен: не нужно думать, кем его заменить, как его мотивировать и т. п. Поэтому первый шаг — перестать ждать, что кто-то за руку поведёт вас выше.
Далее изучите свое отношение к работе. Люди, застрявшие в карьере, могут встать на путь «тихого увольнения». Иногда неосознанно. Это когда человек думает: «На меня не обращают внимания. Значит, буду халявить и выжимать максимум денег и льгот с минимумом усилий, пока не уволят». Так точно не появится навыков и достижений, которые увеличат вашу ценность.
Если подобного нет, подумайте: чего вы хотите? Стать экспертом? Или управлять командой? От этого будет зависеть следующий шаг.
Хотите развиваться как специалист, помните: ключевая ценность крутого спеца в том, что он на отлично соблюдает базовую гигиену. За ним не нужно переделывать. Возможно, ваша проблема как раз в нехватке знаний, либо непонимании каких-то основ, либо банальной невнимательности. Это лечится прокачкой хардов: лекции, книги и практика.
А хотите в тимлиды — предлагайте новые инициативы и доводите их до конца. Последнее очень важно. В здоровой рабочей среде насочинять и не сделать закопает вас хуже, чем вообще ничего не предлагать.
Также важно помнить, что результаты можно получить, только умея долго работать без положительной обратной связи. Как в спорте. Вы же не ждёте, что после двух тренировок получите тело греческой статуи?
Про себя могу сказать, что тоже регулярно сталкивался и сталкиваюсь с затыками в карьере. Оглядываясь назад, могу сказать, что с проблемой всегда можно было справиться изменив поведение. Рано или поздно понимаешь, какие ошибки создают твой "потолок" в карьере, меняешь поведение и внезапно обнаруживаешь, что потолка больше и нет.
Поэтому, коллега, не унывайте. Берите карьеру в свои руки и двигайтесь в той сфере, где хотите развиваться, но обязательно запаситесь терпением и готовностью анализировать свои шаги.
#вопрос_подписчика
❤190👍48🔥15👏6🤔3😁2🤩2🤬1🎉1💯1
Выпускники МФТИ, пост для вас
Наш любимый институт 25 ноября организует конференцию выпускников. А ещё в этот день ему исполняется 77 лет, поэтому будут торт, концерт и настолки. В целом, уже неплохо и пост можно заканчивать.
Но программа будет гораздо насыщеннее:
— Ректор Дмитрий Ливанов расскажет о стратегии развития Физтеха.
— Пройдут профильные секции: «Физтех учёным», «Физтех предпринимателям», «Альтернативные профессии физтехов». Покажут, как МФТИ развивается в этих направлениях.
— Ну а уже в конце, собственно, торт, настолки, концерт, интересные лекции и прочие активности.
Итак, 25 ноября, кампус в Долгопрудном, регистрируйтесь тут. Увидимся!
P. S.Регистрация закроется 23 ноября 2023 года в 23:59!
Наш любимый институт 25 ноября организует конференцию выпускников. А ещё в этот день ему исполняется 77 лет, поэтому будут торт, концерт и настолки. В целом, уже неплохо и пост можно заканчивать.
Но программа будет гораздо насыщеннее:
— Ректор Дмитрий Ливанов расскажет о стратегии развития Физтеха.
— Пройдут профильные секции: «Физтех учёным», «Физтех предпринимателям», «Альтернативные профессии физтехов». Покажут, как МФТИ развивается в этих направлениях.
— Ну а уже в конце, собственно, торт, настолки, концерт, интересные лекции и прочие активности.
Итак, 25 ноября, кампус в Долгопрудном, регистрируйтесь тут. Увидимся!
P. S.
🔥20❤5🤔4👍2👏1😁1
Метод ALS. Как устроен и когда его используют. Вопрос подписчика
ALS’ом иногда по ошибке называют любое матричное разложение в задаче коллаборативной фильтрации. Ну или не по ошибке, а просто жаргон такой сложился. Но давайте разберёмся в деталях.
Матричное разложение возникает, когда мы для рекомендации пользователю айтемов — товаров, фильмов, музыки — смотрим на матрицу с историей взаимодействия. А затем пробуем её приблизить произведением матрицы пользователей и матрицы айтемов.
В этом подходе для пары пользователь-айтем всегда есть два вектора чисел. Один от пользователя: он содержит в себе информацию о том, что тот полайкал, что не полайкал, что дослушал, что не дослушал. Второй — вектор айтема. Например, если это фильм, то здесь будет отражаться жанр, режиссёр, актёры и т. п. Цель — чтобы скалярное произведение этих чисел давало оценку из матрицы как можно точнее.
Важно понимать, что выше я привёл только примеры информации про пользователя и айтем: алгоритм оптимизации в процессе построения матричного разложения сам подберёт числа, и они не обязаны быть интерпретируемы и понятны человеку (наверняка не будут!). Их задача лишь хорошо прогнозировать числа из исходной матрицы.
А вот дальше уже начинается ALS. Мы настраиваем эти векторы для каждого пользователя и каждого айтема с помощью определённого метода оптимизации.ALS на самом деле и есть метод оптимизации.
Итак, нам нужно минимизировать ошибку в прогнозах. Давайте мы сначала будем подбирать вектор юзера, потом вектор айтема. Так по очереди для случайных пар юзер-айтем. Обычно используются квадратичные потери, а оптимальный выбор означает, что нам нужно производные потерь по искомым векторам приравнять к нулю. В выражении уходит квадрат, и всё сводится к решению системы линейных уравнений. Но при этом мы помним, что данные всегда будут с погрешностью.
Так что тут в дело вступает метод наименьших квадратов. Мы выбираем решение, которое с наименьшей погрешностью похоже на решение этой системы.
Работает, кстати, не только с квадратичными потерями. Мы почти всегда можем приблизить потери квадратичными рядом с точкой минимума (для математиков — разложением по Тейлору до второго порядка).
Как вы догадались, ALS часто используется в рекомендательных системах, потому что он даёт более быструю сходимость. Ведь альтернатива ALS — метод стохастического градиентного спуска (SGD) — для большого числа пользователей и айтемов будет сходиться дольше. Я, конечно, видел случаи, когда ALS обучался медленнее SGD. Но, скорее всего, дело былов руках в подборе параметров алгоритма.
Ещё есть iALS (implicit ALS). Он использует пропуски в матрице оценок. То есть, раз мы оценку не знаем, есть вероятность, что айтем пользователю не нравится. Но вес у этих данных меньше: пользователь мог айтем просто не увидеть.
Из небольших инсайдов. Ходят слухи, что долгое время и в ИВИ, и в яндексовских медиасервисах рекомендации строились на базе ALS. Сейчас, разумеется, системы намного сложнее. Но iALS остаётся обязательным к построению бейзлайном, если уж вы взялись за разработку рекомендательной системы.
В сервисах МТС мы используем iALS в рекомендациях, если данных уже достаточно много, чтобы не ограничиваться простым бейзлайном с популярными айтемами, но ещё недостаточно для более сложных нейросетевых моделек. Вроде тех, которые мы сейчас используем в KION(там уже давно вовсю работают сетки) .
Также иногда прогноз от iALS хорошо бустит качество более сложных моделей. Векторы из iALS как фичи, как правило, заходят хуже, чем их произведения.
#вопрос_подписчика
ALS’ом иногда по ошибке называют любое матричное разложение в задаче коллаборативной фильтрации. Ну или не по ошибке, а просто жаргон такой сложился. Но давайте разберёмся в деталях.
Матричное разложение возникает, когда мы для рекомендации пользователю айтемов — товаров, фильмов, музыки — смотрим на матрицу с историей взаимодействия. А затем пробуем её приблизить произведением матрицы пользователей и матрицы айтемов.
В этом подходе для пары пользователь-айтем всегда есть два вектора чисел. Один от пользователя: он содержит в себе информацию о том, что тот полайкал, что не полайкал, что дослушал, что не дослушал. Второй — вектор айтема. Например, если это фильм, то здесь будет отражаться жанр, режиссёр, актёры и т. п. Цель — чтобы скалярное произведение этих чисел давало оценку из матрицы как можно точнее.
Важно понимать, что выше я привёл только примеры информации про пользователя и айтем: алгоритм оптимизации в процессе построения матричного разложения сам подберёт числа, и они не обязаны быть интерпретируемы и понятны человеку (наверняка не будут!). Их задача лишь хорошо прогнозировать числа из исходной матрицы.
А вот дальше уже начинается ALS. Мы настраиваем эти векторы для каждого пользователя и каждого айтема с помощью определённого метода оптимизации.
Итак, нам нужно минимизировать ошибку в прогнозах. Давайте мы сначала будем подбирать вектор юзера, потом вектор айтема. Так по очереди для случайных пар юзер-айтем. Обычно используются квадратичные потери, а оптимальный выбор означает, что нам нужно производные потерь по искомым векторам приравнять к нулю. В выражении уходит квадрат, и всё сводится к решению системы линейных уравнений. Но при этом мы помним, что данные всегда будут с погрешностью.
Так что тут в дело вступает метод наименьших квадратов. Мы выбираем решение, которое с наименьшей погрешностью похоже на решение этой системы.
Работает, кстати, не только с квадратичными потерями. Мы почти всегда можем приблизить потери квадратичными рядом с точкой минимума (для математиков — разложением по Тейлору до второго порядка).
Как вы догадались, ALS часто используется в рекомендательных системах, потому что он даёт более быструю сходимость. Ведь альтернатива ALS — метод стохастического градиентного спуска (SGD) — для большого числа пользователей и айтемов будет сходиться дольше. Я, конечно, видел случаи, когда ALS обучался медленнее SGD. Но, скорее всего, дело было
Ещё есть iALS (implicit ALS). Он использует пропуски в матрице оценок. То есть, раз мы оценку не знаем, есть вероятность, что айтем пользователю не нравится. Но вес у этих данных меньше: пользователь мог айтем просто не увидеть.
Из небольших инсайдов. Ходят слухи, что долгое время и в ИВИ, и в яндексовских медиасервисах рекомендации строились на базе ALS. Сейчас, разумеется, системы намного сложнее. Но iALS остаётся обязательным к построению бейзлайном, если уж вы взялись за разработку рекомендательной системы.
В сервисах МТС мы используем iALS в рекомендациях, если данных уже достаточно много, чтобы не ограничиваться простым бейзлайном с популярными айтемами, но ещё недостаточно для более сложных нейросетевых моделек. Вроде тех, которые мы сейчас используем в KION
Также иногда прогноз от iALS хорошо бустит качество более сложных моделей. Векторы из iALS как фичи, как правило, заходят хуже, чем их произведения.
#вопрос_подписчика
🔥30👍18❤7👏4
Люблю, когда работу можно совместить с удовольствием. Прижать спамеров или мошенников к стенке - всегда в радость.
Что мы сделали: вместо того, чтобы заниматься одним только кредитным скорингом, как это годами принято у телекомов, мы расширили скоуп до скоринга мошенников на маркетплейсах. Это те самые ребята, которые как будто вам что-то продают, а на самом деле хотят кинуть на деньги. Теперь наши данные позволят крупным маркетплейсам быстрее пресекать эти темные делишки.
https://safe.cnews.ru/news/line/2023-11-24_tsentr_big_data_mts_razrabotal
Что мы сделали: вместо того, чтобы заниматься одним только кредитным скорингом, как это годами принято у телекомов, мы расширили скоуп до скоринга мошенников на маркетплейсах. Это те самые ребята, которые как будто вам что-то продают, а на самом деле хотят кинуть на деньги. Теперь наши данные позволят крупным маркетплейсам быстрее пресекать эти темные делишки.
https://safe.cnews.ru/news/line/2023-11-24_tsentr_big_data_mts_razrabotal
CNews.ru
Центр Big Data МТС разработал новый антифрод-сервис для маркетплейсов - CNews
МТС сообщила о запуске нового решения для борьбы с фродом на маркетплейсах, досках объявлений и в онлайн-магазинах....
🔥95👍23🎉7👏1🤔1
Тролль или нет
Один очень уважаемый (но способный на довольно едкие высказывания) человек, когда Яндекс выпустил библиотеку CatBoost для градиентного бустинга, сказал:
«Вот видно отставание отечественных компаний. Когда кто-то выпускает TensorFlow для современного deep learning, Яндекс релизит градиентный бустинг, которому сто лет».
Высказывание, конечно, то ещё передёргивание: алгоритм может быть старым, а современные версии будут продолжать появляться. Тот же самый LightGBM от Microsoft появился не намного раньше CatBoost. И был далеко не «ванильным» градиентным бустингом, а очень полезной на практике реализацией, используемой всеми до сих пор.
Но рациональное зерно в этом замечании всё же есть. Делать простые и понятные инструменты для устоявшихся задач и подходов — это важно и нужно, но всегда остаётся вопрос: а что-нибудь более «прорывное» сможем?
А вы как думаете: герой моего поста всё же зелёный жирный тролль или дело говорит?
Один очень уважаемый (но способный на довольно едкие высказывания) человек, когда Яндекс выпустил библиотеку CatBoost для градиентного бустинга, сказал:
«Вот видно отставание отечественных компаний. Когда кто-то выпускает TensorFlow для современного deep learning, Яндекс релизит градиентный бустинг, которому сто лет».
Высказывание, конечно, то ещё передёргивание: алгоритм может быть старым, а современные версии будут продолжать появляться. Тот же самый LightGBM от Microsoft появился не намного раньше CatBoost. И был далеко не «ванильным» градиентным бустингом, а очень полезной на практике реализацией, используемой всеми до сих пор.
Но рациональное зерно в этом замечании всё же есть. Делать простые и понятные инструменты для устоявшихся задач и подходов — это важно и нужно, но всегда остаётся вопрос: а что-нибудь более «прорывное» сможем?
А вы как думаете: герой моего поста всё же зелёный жирный тролль или дело говорит?
👍39😈19🤔9🎄7☃4❤3😁3🫡2
Open source data tools
Как кто-то из вас знает, я уже несколько лет пушу свои команды в МТС делать вклад в open source инструменты для ML и работы с данными в целом. Пробираться в большой корпорации через согласование выкатки в открытый доступ кода — это одна часть этого удовольствия, другая часть — убедить людей, что либы делать нужно. Вы бы знали, сколько я выслушал отговорок от коллег и сотрудников, что, например, RecTools (нашу библиотеку для рекомендательных систем) делать не надо, и ей не будут пользоваться. Как бы не так, пользуются и благодарят команду.
Ещё у нас внутри команды возникла своя ETL-библиотека OnETL. Она даёт разработчику интерфейсы, более удобные, чем то, что есть из коробки в Spark, и её мы тоже недавно заопенсорсили. Казалось бы, простая и безобидная вещь, а многие сотрудники, даже уже переходящие в другую компанию из Big Data МТС, отмечают удобство работы у нас благодаря OnETL. Конкуренты, берите на вооружение. Нам не жалко :)
И всё же, возвращаясь к мотиву из предыдущего поста и теме нетривиальных библиотек, теперь на этот счёт нам тоже есть что сказать.
Подробнее расскажу в следующем посте.
Как кто-то из вас знает, я уже несколько лет пушу свои команды в МТС делать вклад в open source инструменты для ML и работы с данными в целом. Пробираться в большой корпорации через согласование выкатки в открытый доступ кода — это одна часть этого удовольствия, другая часть — убедить людей, что либы делать нужно. Вы бы знали, сколько я выслушал отговорок от коллег и сотрудников, что, например, RecTools (нашу библиотеку для рекомендательных систем) делать не надо, и ей не будут пользоваться. Как бы не так, пользуются и благодарят команду.
Ещё у нас внутри команды возникла своя ETL-библиотека OnETL. Она даёт разработчику интерфейсы, более удобные, чем то, что есть из коробки в Spark, и её мы тоже недавно заопенсорсили. Казалось бы, простая и безобидная вещь, а многие сотрудники, даже уже переходящие в другую компанию из Big Data МТС, отмечают удобство работы у нас благодаря OnETL. Конкуренты, берите на вооружение. Нам не жалко :)
И всё же, возвращаясь к мотиву из предыдущего поста и теме нетривиальных библиотек, теперь на этот счёт нам тоже есть что сказать.
Подробнее расскажу в следующем посте.
GitHub
GitHub - MobileTeleSystems/onetl: One ETL tool to rule them all
One ETL tool to rule them all. Contribute to MobileTeleSystems/onetl development by creating an account on GitHub.
🔥43👍24❤13❤🔥1
CoolGraph от Big Data МТС
Если вы немного в теме нейросетей, то знаете, что к данным с разной структурой применяются изначально разные архитектуры. В компьютерном зрении — на базе свёрток, в работе с текстами — вдохновлённые рекуррентными сетями и, конечно, трансформеры.
Резонный вопрос: а какие сети могли бы обобщить работу с произвольной структурой в данных (чтобы все перечисленное выше было их частным случаем)? Ответ есть:графовые . Если вы можете по своим данным построить граф, отражающий взаимосвязь их отдельных частей (в компьютерном зрении пиксель связан с соседними пикселями, в тексте слово связано с другими словами), то дальше встаёт вопрос построения нейросети на основе этого графа.
Кроме того, бывают и совсем очевидные ситуации, когда граф возникает сам собой. Например, социальный граф — граф социальных взаимодействий между пользователями, или двудольный граф пользователи-товары в e-commerce и пользователи-фильмы в стриминговых сервисах.
Более того, часто компании, имеющие данные в виде графа, выжимают не всю пользу из этих данных. Просто потому, что придумывать табличные фичи по графу — это тоже отдельная объёмная работа. И здесь тоже помогают графовые нейросети: с ними можно построить граф-эмбеддинги, которые снимут вопрос построения hand-crafted графовых фичей. Именно с графовыми нейросетями и связана новая open source библиотека Big Data МТС.
Сегодня я представляю вам библиотеку CoolGraph, с помощью которой вы сможете построить первые графовые нейросети буквально в несколько строк кода. Задача библиотеки — популяризовать GNN и радикально снизить порог входа в них. Надеюсь, так же, как RecTools и Ambrosia, CoolGraph скоро прорастёт в код других компаний, начнёт попадать в описание стека в вакансиях и, вообще, всячески станет популярной и востребованной в DS-сообществе :)
Если вы немного в теме нейросетей, то знаете, что к данным с разной структурой применяются изначально разные архитектуры. В компьютерном зрении — на базе свёрток, в работе с текстами — вдохновлённые рекуррентными сетями и, конечно, трансформеры.
Резонный вопрос: а какие сети могли бы обобщить работу с произвольной структурой в данных (чтобы все перечисленное выше было их частным случаем)? Ответ есть:
Кроме того, бывают и совсем очевидные ситуации, когда граф возникает сам собой. Например, социальный граф — граф социальных взаимодействий между пользователями, или двудольный граф пользователи-товары в e-commerce и пользователи-фильмы в стриминговых сервисах.
Более того, часто компании, имеющие данные в виде графа, выжимают не всю пользу из этих данных. Просто потому, что придумывать табличные фичи по графу — это тоже отдельная объёмная работа. И здесь тоже помогают графовые нейросети: с ними можно построить граф-эмбеддинги, которые снимут вопрос построения hand-crafted графовых фичей. Именно с графовыми нейросетями и связана новая open source библиотека Big Data МТС.
Сегодня я представляю вам библиотеку CoolGraph, с помощью которой вы сможете построить первые графовые нейросети буквально в несколько строк кода. Задача библиотеки — популяризовать GNN и радикально снизить порог входа в них. Надеюсь, так же, как RecTools и Ambrosia, CoolGraph скоро прорастёт в код других компаний, начнёт попадать в описание стека в вакансиях и, вообще, всячески станет популярной и востребованной в DS-сообществе :)
GitHub
GitHub - MobileTeleSystems/CoolGraph: Make GNN easy to start with
Make GNN easy to start with. Contribute to MobileTeleSystems/CoolGraph development by creating an account on GitHub.
🔥81👍19❤12❤🔥1🤩1🎅1
Погубит ли человечество машинное обучение или принесёт всеобщее благо? Вопрос подписчика
Недавно я считал разговоры на подобные темы уделом людей, которые не имеют отношения к нашей области.Но любят поговорить и сделать на этом репутацию. Зачастую такие люди ничего не делали руками. Но, к сожалению, моя практика и появление на рынке ChatGPT показали, что это серьёзный вопрос.
Есть такая вещь, называется surge pricing. Это множитель цены в разных сервисах, например такси. Допустим, вы делаете приложение, где surge pricing балансирует спрос и клиент всегда может получить машину. Пусть и за дорого.
И вот представьте, что в вашем городе произошло трагическое событие. Бездушный алгоритм расценит это как идеальную возможность озолотиться — люди готовы заплатить любые деньги.
С одной стороны, зарабатывать на чужом горе возмутительно. С другой, surge pricing решает проблему доступности — и с ним водитель всегда найдётся (что в критической ситуации очень важно). Где этическая граница?
Ещё хуже — огромная языковая модель. Какова вероятность, что она не научится распространять фейки и вбросы?
Для решения этой задачи нужно не столько играть в Азимова, разрабатывая новые законы роботехники, сколько понять, как инженерно заложить в алгоритм рамки морального поведения.
В тех же моделях ценообразования можно ставить максимальные и минимальные ограничения на повышение стоимости. Алгоритм не сможет радикально влиять на ситуацию.
А вот как научить нейросети не обучаться на определённых картинках, не рассказывать какие-то вещи — серьёзное направление исследований. Это задача с большой инженерной и математической составляющей, которой сейчас люди только учатся.
Так вот, принесёт ли машинное обучение всеобщее счастье? Если мы пересмотрим приоритеты, начнём серьёзно относиться к этике, научимся её закладывать в модели, есть шанс, что ML будет работать во благо человечества.
Если же мы пустим всё на самотёк, рано или поздно алгоритмы начнут обрушивать финансовые рынки, зарабатывать на трагедиях и делать другие опасные вещи.
А что думаете вы?
#вопрос_подписчика
Недавно я считал разговоры на подобные темы уделом людей, которые не имеют отношения к нашей области.
Есть такая вещь, называется surge pricing. Это множитель цены в разных сервисах, например такси. Допустим, вы делаете приложение, где surge pricing балансирует спрос и клиент всегда может получить машину. Пусть и за дорого.
И вот представьте, что в вашем городе произошло трагическое событие. Бездушный алгоритм расценит это как идеальную возможность озолотиться — люди готовы заплатить любые деньги.
С одной стороны, зарабатывать на чужом горе возмутительно. С другой, surge pricing решает проблему доступности — и с ним водитель всегда найдётся (что в критической ситуации очень важно). Где этическая граница?
Ещё хуже — огромная языковая модель. Какова вероятность, что она не научится распространять фейки и вбросы?
Для решения этой задачи нужно не столько играть в Азимова, разрабатывая новые законы роботехники, сколько понять, как инженерно заложить в алгоритм рамки морального поведения.
В тех же моделях ценообразования можно ставить максимальные и минимальные ограничения на повышение стоимости. Алгоритм не сможет радикально влиять на ситуацию.
А вот как научить нейросети не обучаться на определённых картинках, не рассказывать какие-то вещи — серьёзное направление исследований. Это задача с большой инженерной и математической составляющей, которой сейчас люди только учатся.
Так вот, принесёт ли машинное обучение всеобщее счастье? Если мы пересмотрим приоритеты, начнём серьёзно относиться к этике, научимся её закладывать в модели, есть шанс, что ML будет работать во благо человечества.
Если же мы пустим всё на самотёк, рано или поздно алгоритмы начнут обрушивать финансовые рынки, зарабатывать на трагедиях и делать другие опасные вещи.
А что думаете вы?
#вопрос_подписчика
👍45❤11🔥7😁4🤔4💯1🫡1
ML-тренировки МТС х ФКН ВШЭ
Вчера вместе с Никитой Зелинским и великолепным Сашей Абрамовым @dealerAI открыли тренировки по ML от МТС и ВШЭ. Первое соревнование, которое будем решать с ребятами, посвящено распознаванию сгенерированных LLM текстов (будем отличать их от человеческих).
Я даже наивно надеюсь успеть и сам поучаствовать - всегда хотел поучиться решать каггл. Особенно приятно, что когда-то Саша учился у нас на Data Mining in Action, а теперь и у меня есть возможность поучиться у него :)
Btw, многие, наверно, подумали: "А как же private sharing?". Для тех, кто не знает, на kaggle можно делиться своими наработками по соревнованию: внутри своей команды или на всех участников соревнования. Третьего не дано, за передачу и использование "втихую" могут быть проблемы. Из фото вы видите, что для одной команды у нас многовато людей, поэтому все наработки и идеи, которые мы будем обсуждать в классе, будут собираться вместе, а затем публиковаться в открытом доступе на форуме соревнования. Так что если кто-то хочет к нам присоединиться в удаленном и асинхронном режиме - милости просим, материалы будут.
Спасибо коллегам из ВШЭ, с которыми у нас уже много совместных активностей, а в следующем году будет еще больше. И, конечно, спасибо Саше, что согласился поучаствовать в роли тренера.
P.S.: На фото есть пасхалка: подсказка, с кем еще мы сейчас обсуждаем грядущие образовательные активности (и может быть, до чего-то договоримся). Кто первый догадается? :)
Вчера вместе с Никитой Зелинским и великолепным Сашей Абрамовым @dealerAI открыли тренировки по ML от МТС и ВШЭ. Первое соревнование, которое будем решать с ребятами, посвящено распознаванию сгенерированных LLM текстов (будем отличать их от человеческих).
Я даже наивно надеюсь успеть и сам поучаствовать - всегда хотел поучиться решать каггл. Особенно приятно, что когда-то Саша учился у нас на Data Mining in Action, а теперь и у меня есть возможность поучиться у него :)
Btw, многие, наверно, подумали: "А как же private sharing?". Для тех, кто не знает, на kaggle можно делиться своими наработками по соревнованию: внутри своей команды или на всех участников соревнования. Третьего не дано, за передачу и использование "втихую" могут быть проблемы. Из фото вы видите, что для одной команды у нас многовато людей, поэтому все наработки и идеи, которые мы будем обсуждать в классе, будут собираться вместе, а затем публиковаться в открытом доступе на форуме соревнования. Так что если кто-то хочет к нам присоединиться в удаленном и асинхронном режиме - милости просим, материалы будут.
Спасибо коллегам из ВШЭ, с которыми у нас уже много совместных активностей, а в следующем году будет еще больше. И, конечно, спасибо Саше, что согласился поучаствовать в роли тренера.
P.S.: На фото есть пасхалка: подсказка, с кем еще мы сейчас обсуждаем грядущие образовательные активности (и может быть, до чего-то договоримся). Кто первый догадается? :)
❤39🔥15🤬3
Как внедрить в бэклог научный research? Вопрос подписчика
Ответ универсальный — как внедрить в бэклог любую непрофильную историю.
Есть два пути, выберите свой по темпераменту.
Первый — это культурные методы. Когда вы берёте и договариваетесь, что есть такой бюджет, мы закладываем его на науку, бюджет регулярно перезащищаете. А если нужно уменьшить расходы — что-то сокращаете.
Второй путь потребует больше воли. Ведь придётся постоянно доносить команде, что обычные задачи теперь нужно решить, ещё написав статью или, например, выпустив open source либу. А затем доказать это заказчикам, которые платят за задачи. Если воли не принимать здесь отказ не хватит, то подойдёт только первый путь, когда вы всё аккуратно забюджетировали.
Правда, чтобы забюджетировать, тоже нужно отстоять точку зрения. И убедить коллег, что наука и публикации важны и, вообще, необходимо выходить на солидные конфы.
Расскажу свой пример. Когда я пушил развитие open source у себя в Big Data МТС, моей главной болью было убедить коллег, что для нас должно быть важно создавать опенсорсные инструменты. Когда никто не видит работу, человек расслабляется и думает:
«Это я для себя так плохо написал, никто не заметит. Ну, коллеги увидят, поругают чуть, и всё».
Не всё. Мне было важно, чтобы команда чувствовала ответственность. Что есть люди, которые наблюдают и в любой момент могут написать: «А это у меня не работает». Поэтому долгими днями, ночами, а иногда и по утрам, на куче встреч так или иначе продавалась идея нашего вклада в open source. Спустя время начало получаться.
Я исключил вариант, что open source библиотек у нас просто не будет. Любые меры, сколько угодно организационных изменений и административных рычагов — всё применимо. Звучит страшно, но либо вы готовы всех задолбать, либо не так уж вам оно и надо :)
Так что выбирайте ваш путь. Но будьте готовы, что после изменений в бэклоге к вам постучатся и скажут:
«Слушай, а эти деньги мы же планировали на бизнесовые задачи». И надо доказать, что научный research, open source или что-то другое не просто необходимо, но все ещё должны быть рады, что вы до этого додумались.
#вопрос_подписчика
Ответ универсальный — как внедрить в бэклог любую непрофильную историю.
Есть два пути, выберите свой по темпераменту.
Первый — это культурные методы. Когда вы берёте и договариваетесь, что есть такой бюджет, мы закладываем его на науку, бюджет регулярно перезащищаете. А если нужно уменьшить расходы — что-то сокращаете.
Второй путь потребует больше воли. Ведь придётся постоянно доносить команде, что обычные задачи теперь нужно решить, ещё написав статью или, например, выпустив open source либу. А затем доказать это заказчикам, которые платят за задачи. Если воли не принимать здесь отказ не хватит, то подойдёт только первый путь, когда вы всё аккуратно забюджетировали.
«Это я для себя так плохо написал, никто не заметит. Ну, коллеги увидят, поругают чуть, и всё».
Не всё. Мне было важно, чтобы команда чувствовала ответственность. Что есть люди, которые наблюдают и в любой момент могут написать: «А это у меня не работает». Поэтому долгими днями, ночами, а иногда и по утрам, на куче встреч так или иначе продавалась идея нашего вклада в open source. Спустя время начало получаться.
Я исключил вариант, что open source библиотек у нас просто не будет. Любые меры, сколько угодно организационных изменений и административных рычагов — всё применимо. Звучит страшно, но либо вы готовы всех задолбать, либо не так уж вам оно и надо :)
Так что выбирайте ваш путь. Но будьте готовы, что после изменений в бэклоге к вам постучатся и скажут:
«Слушай, а эти деньги мы же планировали на бизнесовые задачи». И надо доказать, что научный research, open source или что-то другое не просто необходимо, но все ещё должны быть рады, что вы до этого додумались.
#вопрос_подписчика
🔥42👍19❤9❤🔥5👏1🙏1