РАБОТА · 20 сентября 2017, 09:10 · DianaVasileva - Author в dev.by
Кто такой Data Scientist и как им стать. Часть 1: советы от «Яндекса»

Серия успешных сделок белорусских стартапов в области компьютерного зрения и машинного обучения подтолкнула нас к запуску цикла материалов о том, как стать специалистом в этих областях. Сегодня сотрудники минского подразделения «Яндекс» расскажут, чем у них занимаются Data Scientist’ы и что учить, чтобы попасть к ним в команду. Слово — руководителю группы разработки факторов Тимофею Хаткевичу и руководителю бригады акустических моделей Алексею Колесову.

Иллюстрация: Medium

Задачи Data Scientist’ов в «Яндексе»

Перед Data Scientist’ом в «Яндексе» стоит много разных задач: от моделирования человеческой речи до подтверждения или опровержения гипотез о том, делает ли пользователя счастливее дополнительная кнопка на странице почты. Продукты «Яндекса» ежедневно используют миллионы человек, без Data Science проанализировать такой поток данных невозможно.

Одна из главных задач, которую решает минская группа разработки факторов: глядя на текст запроса пользователя, определяет, есть ли у некоторого документа общая с запросом семантика. Мы решаем эту задачу с помощью нейронных сетей и уже получили неплохие результаты, о чём сообщали в публикациях: первой и второй

Если хочется заниматься такого рода проектами, приходите собеседоваться, в минском офисе открыта вакансия

Проблема: 95% студентов даже не будет пытаться понять

Нельзя сказать, что белорусские вузы не выпускают специалистов в области Data Science. Но их действительно меньше, чем хотелось бы. На наш взгляд, основные проблемы следующие:

  • Учёные и специалисты (и вообще молодые люди) по понятным причинам неохотно идут преподавать. В итоге связь образования и производства, образования и науки слаба.
  • Набор в вузы слишком велик, но далеко не все приходят туда действительно учиться. В итоге преподавателям сложно читать что-то выше среднего уровня — 95% даже не будет пытаться понять.

Поэтому можем посоветовать практико-ориентированную магистратуру «Алгоритмы и Системы обработки больших объёмов информации», которая уже третий год работает на базе ФПМИ БГУ. Её идейный руководитель, наш коллега Алексей Толстиков делает очень сложное и очень полезное дело по созданию современной специальности. Там читают сложные, современные курсы про алгоритмы обработки больших данных, информационный поиск, unix-системы, machine learning и другое. Занятия ведут ребята, которые используют свои знания в работе, так что иногда программа опережает университетскую на десятилетия. Кроме того, Алексей курирует минский филиал Школы анализа данных Яндекса.

Самостоятельное обучение: с чего начать

Существует целая научная область, которая занимается вопросами применения Computer Science, Data Science и Machine Learning в задачах информационного поиска. Она так и называется — Information Retrieval. Классическая книга про информационный поиск, с которой можно начать знакомство, — «An Introduction to Information Retrieval». Эта книга была переведена на русский язык при поддержке «Яндекса». В книге в основном рассказывается о поиске текстовой информации, о том, как функционируют системы веб-поиска и их элементы. Другая хорошая книга про веб-поиск — от Stefan Buttcher из Google.

В задачах инфопоиска используются методы обработки текстов (natural language processing), машинное обучение (machine learning), статистический анализ данных, а также алгоритмы, эффективно работающие на больших объёмах данных, и распределённые системы. В зависимости от задач, которыми вы хотите заниматься, нужно глубже погрузиться в изучение некоторых из этих дисциплин. Если речь идёт не о поиске текстовой информации, а о видео или изображениях, то полезно познакомиться с дисциплинами про обработку изображений.

Сейчас в Минске есть две возможности получить образование в Information Retrieval:

  • Магистратура «Алгоритмы и Системы обработки больших объёмов информации» ФПМИ БГУ. В программе читают курсы по информационному поиску и смежным дисциплинам.
  • Школа анализа данных «Яндекса». Курсы в ШАД читают одни из лучших специалистов в своих областях, многие из них работают в «Яндексе». С некоторыми курсами можно ознакомиться в открытом доступе.

Если хочется узнать о последних достижениях в области информационного поиска, то советуем следить за публикациями на тематических конференциях. Основные: SIGIRWSDM, CIKM, WWW, KDD. Также есть летние школы, посещение которых может быть полезно как студентам и аспирантам, так и начинающим специалистам: European Summer School in Information Retrieval и Russian Summer School in Information Retrieval.

Математическая статистика. Можно ли без неё?

Если говорить в целом про Data Science/Machine Learning, то для серьёзного понимания и работы нужен фундаментальный курс теории вероятности (а значит, и математического анализа как необходимого инструмента в теории вероятности), линейной алгебры и, конечно, математической статистики. Фундаментальные математические знания важны для того, чтобы уметь анализировать результаты применения алгоритмов обработки данных. Есть примеры сравнительно сильных инженеров в machine learning без такого бекграунда, но это, скорее, исключение.

Если университетское образование оставило много пробелов, рекомендуем книгу «The Elements of Statistical Learning» от Hastie, Tibshirani и Friedman. В этой книге классические разделы машинного обучения изложены с точки зрения математической статистики со строгими математическими выкладками. Несмотря на обилие математических формулировок и доказательств, все методы сопровождаются практическими примерами и упражнениями.

Лучшая книга на данный момент, чтобы разобраться в математических принципах, лежащих в основе нейронных сетей — «Deep Learning» от Ian Goodfellow. В ней во введении есть целый раздел про всю математику, которая нужна для хорошего понимания нейронных сетей. Еще очень хорош сайт-книга от Michael Nielsen — это может и не фундаментальный труд, но для понимания основных принципов очень пригодится.

Языки программирования и фреймворки: от ipython до pandas

Для аналитики и экспериментов с ML-моделями хорошим выбором будет ipython и python-библиотеки scikit-learn, scipy, matplotlib, numpy, pandas. Если хочется развернуть поисковую систему на каком-то наборе данных, то можно воспользоваться достаточно мощными open-source движками elasticsearch или apache solr.

Касательно алгоритмов машинного обучения, для задач ранжирования результатов поиска хорошо работают алгоритмы градиентного бустинга на деревьях. Одна из наиболее популярных реализаций на данный момент — xgboost. Яндекс недавно выложил в opensource свою версию алгоритма — CatBoost, которая в большинстве задач не уступает конкурентам.

Нейросетевые технологии в поиске

Группа разработки факторов в «Яндексе» занимается задачами веб-поиска, т.е. по текстовому запросу пользователя мы должны найти интернет-страницу, содержащую релевантную информацию (как правило, тоже текстовую). Соответственно, интересны те архитектуры нейронных сетей, которые позволяют хорошо описывать закономерности в текстовых данных. В основном это рекуррентные нейронные сети, использующиеся для sequence-to-sequence learning, word2vec и архитектуры наподобие DSSM.

Вот очень хороший обзор нейросетевых технологий в задачах информационного поиска. В обзоре есть ссылки на большинство последних достижений в предметной области. Также можно ознакомиться с презентацией коллег из Microsoft Research c конференции WSDM'17.

Создайте сеть, которая отличает ваш голос от лая собак

Каждая нейронная сеть решает свою очень узкую задачу. Сеть, которая различает котиков и собак, отличается не только от сети, которая распознаёт речь, но даже от сети, которая различает котиков и кроликов. А значит, для каждой сети данные нужно брать из разных источников. Хотите обучить сеть, которая отличает ваш голос от лая вашей собаки, — запишите в домашних условиях по 10 часов того и другого — обучите сеть.

Захотели сеть, которая понимает, какой фильм вы имеете в виду, когда не можете вспомнить название — сохраните на компьютере петабайт пользовательских запросов и правильных ответов — обучите сеть. Ну а чтобы научиться работать с нейронными сетями (и другими алгоритмами machine learning), можно взять данные, которые есть в открытом доступе, например, на соревновательном сайте Kaggle или специализированном.

Будущее нейросетей

Нейросети – это мощный инструмент, но у него есть свои ограничения. Он нужен и полезен далеко не во всех задачах. Машинное обучение тоже важно и полезно, но есть много других не менее важных инструментов. Само по себе машинное обучение — это всего лишь один из методов решения задач. Причем не всегда самый подходящий. Например, интерпретация результатов применения нейронных сетей до сих пор вызывает большие трудности. Сами технологии становятся все доступнее широкому кругу людей, специалистов также становится больше. Со временем всё, что связано с машинном обучении, будет вызывать всё меньший ажиотаж.

 

Источник: dev.by
Нашли в тексте ошибку — выделите её и нажмите Ctrl+Enter.
Вакансии
Новые комментарии
Вот смотрите, многие вещи как бы на поверхности. Любой адекватный опытный ИТ-шник вам скажет, что все эти ассоциации ИИ, федерации и прочие профанации, всё это шелуха никому не нужная, и нужная если только для ЧСВ их председателей и членов советов. Сейчас самая насущная необходимость при строительстве ИТ-страны это кадры. И это не только и не столько кадры для ПВТ. Эта не та проблема, которая сейчас закрывается кадрами из россии, украины и даже возвращенцами из США, как здесь. Есть более глобальная проблема с кадрами. Если мы меняем экономику, строим ИТ-страну, то это проблема с ИТ-кадрами для всей экономики: начиная от крупного ИТ-менеджмента ИТ-директоров до последней тестировщицы и сисадмина. И не только их. Сейчас каждый второй специалист должен быть отчасти ИТ-шником. Если мы берем МАЗ или БелАЗ, то в ИТ-стране это уже не будут предприятия в их нынешнем понимании. Они должны стать ИТ-компаниями, как у Маска. Вон точно так же, как идея Грефа - Сбербанк это ИТ-компания с банковской лицензией. Поэтому на МАЗе в ИТ-стране должно работать не 0,5% или 0,05% ИТ-шников, как сейчас (не знаю точно, да это не важно, главное - суть), а 50%, а может и больше. Пусть это не будут все 50% программистов и тестировщиков. Но в любом случае это будут 50% ИТ-шников - людей разбирающихся в ИТ, в современной цифровой экономике и цифровом бизнесе. Вот тогда это будет предприятие ИТ-страны. Тогда хотя бы теоретически появится возможность конкурировать с мировыми компаниями. Пусть даже с тем же Маском. А теперь давайте прикинем, какое количество ИТ-шников в таком случае необходимо в разрезе всей страны? Поэтому толковые уважаемые люди вроде Лознера (или неуважаемый я уже десятый год) и говорят про современный ИТ-университет национального масштаба. Пусть он будет называться как угодно - "ИТ-академия", "ИТ-кластер", пусть он будет построен с нуля или на базе БГУИР, образовательного центра ПВТ или Белхарда или ещё какого-нибудь - это всё уже вторичные вопросы... Пока речь про стратегию и концепцию... Но этот ИТ-университет нужен и должен создаваться с конкретной целью - кадры для ИТ-страны. Не для ПВТ, как сейчас, куда идут лучшие кадры, но который работает на себя, для себя, а не в интересах развития предприятий остальной экономики. И не так как сейчас для остальной экономики - куда идут лузеры не попавшие в ПВТ, которые растворяются в этих 0,05% описанных выше и ничего не могут изменить на предприятиях и делают тоже самое, что и остальные - тупо плывут по течению госрегулирования. Поэтому только когда все предприятия станут одним большим ПВТ - это и будет ИТ-страна. Так казалось бы, что мешает взять не эту девочку, которая при всём к ней уважении, но я не понимаю, какое вообще отношение может иметь к ИТ-стране, а нанять какого-нибудь Богуша или Цепкало. Неужели если взять все их навыки и знания в области управления глобальными процессами такого масштаба (на уровне целого государства), знания в управлении образовательным процессом, те связи, которые есть у этих людей (сравните это всё – с девочкой-пекарем, ещё раз никого не хочу обидеть, просто по фактам и реальному положению вещей) и к этом всему добавить ИТ-экспертизу Мамоненко и его людей, его связи с белорусским ИТ-сообществом и бизнесом – неужели такой союз не смог бы поднять подобный проект? Или хотя бы начать этот проект. Что б остальное ИТ-сообщество + государство подхватило. Проект ИТ-университета, проект, который был бы вкладом в ИТ-страну намного большим, чем любая очередная ассоциация – как бы она там не называлась “искусственного интеллекта”, “блокчейна” и чего там ещё. Почему же они не делают это? Отчасти ответ уже прозвучал выше. Эти все топы и владельцы ИТ-компаний получается, если так по-честному брать - вруны и лицемеры. На самом деле им не нужна ИТ-страна. Какие бы они красивые статьи не писали и интервью не давали. Потому что сами принципы построения ИТ-страны идут в разрез с их интересами. Ведь если будет создан такой университет, сразу встанет вопрос, куда отправлять лучших выпускников? Куда отправлять лучшие кадры? Ведь речь не только про молодежь. А выпускников и квалифицированные кадры надо отправлять в реальный сектор экономики: на МАЗы и БелАЗы и прочие предприятия. В школы, больницы, университеты, органы власти, армию и милицию – всюду отправлять. Что бы во всех сферах создавать ИТ-страну. Так какой владелец ИТ-компании согласиться тратить свои ресурсы на создание такого университета, если потом выпускники должны будут идти не к нему? Нет, на самом дели эти вышеназванные топы и владельцы ИТ-компаний блюдут исключительно свои меркантильные интересы. И им нужен моментальный, краткосрочный эффект. Поэтому занимаются мелким пиаром. Много говорят высоких красивых слов. Но делают гораздо меньшие шаги. Вроде найма не совсем понятной девушки не особо понятно для чего, но не забывая при этом добавить какие то высокопарные слова про “ИТ-страну”.
mihail_che
20.07.2018 в 12:41
Belarusian Dream. Белоруска училась за деньги Госдепа, работала в Нью-Йорке, пекла хлеб в Аризоне, получила американский паспорт — и вернулась строить ИТ-страну

Обсуждение

Missing
-1

сломал мозг пока прочитал

Missing-female
+1

Раз уж упоминается магистерская программа «Алгоритмы и Системы обработки больших объёмов информации», почему бы не упомянуть более релевантную анализу данных программу «Прикладной компьютерный анализ данных» на том же ФПМИ? Кроме того, есть магистерская программа, аналогичная указанной в статье, на базе кафедры Информатики БГУИР - «Обработка больших объемов информации».

220b18ebcbc6b461570af69990356f74?1532046019
AnthonyBY
– iOS Developer в Лаборатория А

+1

Большой минус «Алгоритмы и Системы обработки больших объёмов информации» — в том что там нет заочки. И всё таки сотрудничество с Яндексом делает «Обработка больших объемов информации» куда более перспективной чем «Обработка больших объемов информации» (о которой на сайте БГУИР ни ответа ни привета)

Missing-female
+1

Ну, мне хватило вот этой информации:

https://www.bsuir.by/ru/magistratura/spetsialnosti

https://www.bsuir.by/ru/magistratura-uchebno-programmnaya-dokumentatsiya,

https://www.bsuir.by/ru/programmy-vstupitelnykh-ekzamenov-v-magstraturu

К слову, информация о магистратуре ФПМИ похуже будет.

220b18ebcbc6b461570af69990356f74?1532046019
AnthonyBY
– iOS Developer в Лаборатория А

+2

Спасибо за ссылки (из списка специальностей я сперва не нашёл вступительные экзамены и программу обучения)

Missing
antonkw
– Software Engineer в ISsoft

+2

Уже начинал готовиться к поступлению, но все разбилось о:

1)Пары 3 раза в неделю с 17:30. Звонил-уточнял, там это выставляется как мегабонус в плане совмещения с работой. Так что люди, работающие со штатами, автоматически отсеиваются. И да, посещение контролируется.

2)Поговорил с людьми, которые там уже посдавали сессии. Даже от тех, кто поступал осознанно и целенаправленно, услышал много негатива.

Касательно второго пункта можно/нужно поспорить, а вот первый стал для меня преградой. Решил, что не готов увольняться с нормальной работы, чтобы тратить ~20 часов в неделю на пары.

220b18ebcbc6b461570af69990356f74?1532046019
AnthonyBY
– iOS Developer в Лаборатория А

+1

ого, таки с 17:30 не так критично (я работаю с UK).

Если не сложно, подскажите пожалуйста как вы закрывали пробелы в математике? Calculus One на курсере + ещё какие-то курсы?

http://elib.bsu.by/bitstream/123456789/171664/1/60-ВМ-2017.pdf

Missing
antonkw
– Software Engineer в ISsoft

+1

Calculus One на курсере взял на заметку, спасибо.

Уже начинал готовиться - это сильно сказано. Нашел программу экзамена и прикинул, что теоретически могу успеть. Но после разговора с преподавателями и учащимися слился :)

Возможно будет полезной ссылка с литературой от людей из яндекса: https://github.com/demidovakatya/mashinnoye-obucheniye/tree/master/1-mathematics-and-python

220b18ebcbc6b461570af69990356f74?1532046019
AnthonyBY
– iOS Developer в Лаборатория А

+1

спасибо, хорошие книги

p.s. я уже третий год прикидываю )

Missing

В статье не хватает одной важной вещи - сколько платят. Чтобы решить, стоит ли этим заниматься или выбрать путь попроще и получать больше :)

220b18ebcbc6b461570af69990356f74?1532046019
AnthonyBY
– iOS Developer в Лаборатория А

+2

там всё у них с этим хорошо (но не уверен что в Яндексе так же)

For people with the title "Data Scientist" listed on their site, the median salary is $120,000 and median is $112,000. 4. Glassdoor includes crowdsourced salary data. According to their site, people with the "Data Scientist" title in the Bay Area make an average of $126,000.

Cd80fc002ca1a97ebd5784b80586f09c?1532046079
andd3dfx
– Senior Software Engineer в EPAM

+1

В вакансии указано C++, тогда как основной язык в этой сфере сейчас - Python (указан только в секции "рекомендуется знать тоже") - что за перекос?

Список ссылок напоминает стандартный диалог на форумах, когда на вопрос "с чего начать учить программирование" - отвечают рекомендациями почитать вначале (всего) Кнута и Страуструпа. Результат совета очевиден

Missing-male
+3

толково, по делу, без лишней воды

ребятам виртуально жму руку. Пример статьи, которых очень не хватает на ресурсе, посвященном работе в ИТ.


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси