Яндекс відкриває резидентську програму з машинного навчання для досвідчених бекенд-розробників. Якщо ви багато писали на C++/Python і хочете застосувати ці знання в ML — ми навчимо вас займатися практичними дослідженнями і виділимо досвідчених кураторів. Ви попрацюєте над ключовими сервісами Яндекса та отримаєте навички в таких областях, як лінійні моделі та градієнтний бустинг, рекомендаційні системи, нейромережі для аналізу зображень, тексту та звуку. Ще ви дізнаєтеся, як правильно оцінювати свої моделі за допомогою метрик в офлайні та онлайн.
Тривалість програми – один рік, протягом якого учасники працюватимуть в управлінні машинного інтелекту та досліджень Яндекса, а також відвідуватимуть лекції та семінари. Участь оплачується та передбачає повну зайнятість: 40 годин на тиждень, починаючи з 1 липня цього року.
А тепер докладніше — про те, яку аудиторію ми чекаємо, яким буде робочий процес і загалом, як бекенд-фахівцю перейти на кар'єру в ML.
спрямованість
Residency Programs є у багатьох компаній, включаючи, наприклад, Google та Facebook. В основному вони націлені на фахівців молодшого та середнього рівня, які намагаються зробити крок у бік ML-досліджень. Наша програма – для іншої аудиторії. Ми запрошуємо бекенд-розробників, які вже набули достатньо досвіду і точно знають, що у своїх компетенціях їм потрібно зрушуватись у бік ML, отримати практичні навички – а не навички вченого – у вирішенні промислових завдань машинного навчання. Це не означає, що ми не підтримуємо молодих дослідників. Для них ми організували окрему програму.
Де резидент має працювати
Ми в управлінні машинного інтелекту та досліджень самі розробляємо ідеї проектів. Основне джерело натхнення – наукова література, статті, тренди спільноти дослідників. Я та мої колеги аналізуємо прочитане, дивимося, як можна покращити чи розширити методи, запропоновані вченими. При цьому кожен з нас враховує свою сферу знань та інтересів, формулює завдання виходячи з напрямків, які вважає важливими. На стику результатів зовнішніх досліджень та власних компетенцій зазвичай народжується ідея проекту.
Така система хороша тим, що багато в чому вирішує технологічні завдання сервісів Яндекса ще до їхнього виникнення. Коли перед сервісом постає проблема, його представники приходять до нас, щоб швидше за все взяти вже підготовлені нами технології, які залишається тільки правильно застосувати в продукті. Якщо ж щось не готове — ми принаймні швидко згадаємо, звідки можна почати копати, в яких статтях шукати рішення. Як відомо, науковий підхід – це стояти на плечах гігантів.
Що належить робити
У Яндексі — і навіть у нашому управлінні — розвиваються всі актуальні напрями ML. Наше завдання — покращувати якість найрізноманітніших продуктів, і це є стимулом перевіряти все нове. До того ж, регулярно з'являються нові сервіси. Так що в лекційній програмі є всі ключові напрямки машинного навчання в промисловій розробці, які добре себе зарекомендували. При складанні моєї частини курсу я використав досвід викладання в Школі аналізу даних, а також матеріали та напрацювання інших викладачів ШАДу. Знаю, що колеги робили так само.
У перші місяці навчання за програмою курсу складатиме приблизно 30% вашого робочого часу, потім – близько 10%. Однак важливо розуміти, що робота із самими ML-моделями продовжить займати приблизно вчетверо менше, ніж усі супутні процеси. До них відноситься підготовка бекенда, отримання даних, написання pipeline для їх передобробки, оптимізація коду, адаптація під специфічне залізо і т. д. вирішити завдання від початку до кінця. Навіть з готовою моделлю напевно потрібно зробити ще ряд дій: розпаралелити її виконання по кількох машинах, підготувати реалізацію у вигляді ручки, бібліотеки або компоненти самого сервісу.
Вибір студента
Якщо у вас склалося враження, що в ML-інженери краще йти, спочатку попрацювавши розробником бекенда, це не так. Вступити в той же ШАД без реального досвіду розробки сервісів, навчитися і стати вкрай затребуваним на ринку — чудовий варіант. Багато фахівців в Яндексі опинилися на нинішніх позиціях саме таким шляхом. Якщо ж якась компанія готова запропонувати вам роботу в області ML одразу після інституту - ймовірно, теж варто прийняти пропозицію. Намагайтеся потрапити в хорошу команду до досвідченого наставника і приготуйтеся багато вчитися.
Що зазвичай заважає зайнятися ML
Якщо бекендер прагне стати ML-інженером, він без урахування резидентської програми може вибрати з двох напрямків розвитку.
По-перше — навчитися в рамках якогось освітнього курсу.
По-друге, можна взяти участь у бойових проектах, де потрібно реалізувати той чи інший ML-алгоритм. Однак на ринку IT-розробки таких проектів дуже мало: здебільшого машинне навчання не використовується. Навіть у банках, які активно вивчають пов'язані з ML можливості, аналізом даних займаються одиниці. Якщо вам не вдалося приєднатися до однієї з подібних команд, залишається або завести свій власний проект (де, швидше за все, дедлайни ви ставитимете собі самі, а це має мало спільного з бойовими продакшен-завданнями), або почати змагатися на Kaggle.
Справді, об'єднатися з іншими учасниками спільноти та пробувати себе у конкурсах
Я описав дві можливі лінії розвитку – навчання через освітні програми та навчання «в бою», наприклад, на Kaggle. Резидентська програма є поєднання цих двох способів. На вас чекають лекції та семінари рівня ШАДу, а також справді бойові проекти.
Джерело: habr.com