Это история про переход из домохозяек в машинное обучение, как учиться и как вкатываться в тему. В тексте есть английские термины, которые я решила оставить без перевода, потому что искренне верю, что так лучше и понятнее. 

Сокращения в тексте:

  • FOMO = fear of missing out - трудно-переводимый термин, означающий неприятное чувство страха упустить что-то важное в жизни

  • ИИ, он же AI – искусственный интеллект (на самом деле его не существует, существуют методы и продукты машинного обучения)

  • ML = machine learning, оно же машинное обучение; аббревиатура МО мне не нравится

  • Хак = hack – то, что лично автор считает полезным для других

  • ЧЯДНТ = что я делала не так (считаю полезным писать про ошибки и что можно было сделать лучше)

Предыстория

Шел 2018 год, героиня была в декрете и беременна вторым ребенком. Чтобы было не скучно в декрете, решила занять себя чем-то интересным и полезным.

Я получила грант от Еврокомиссии на создание лазера на квантовых точках и фотонных кристаллах. Он давал возможность пилить научный проект два года, уйти в декрет и вернуться. В академической карьере все шло замечательно, но был нюанс. Мне до ужаса надоели лазеры. Не могла слышать это слово без FOMO и внутреннего зуда.  Сильно удручало, что мои статьи почти никто не читает, научные наработки в реальном мире не используют, и казалось, что делаю никому ненужную фигню, а не почетно двигаю Науку. Надо было что-то менять.

Узнав о беременности, я приняла решение отказаться от гранта и вернуть деньги. Это было трудное решение, поскольку уходила в никуда (точнее, в декрет без страховки вернуться). Тем не менее, оно было правильное: трудно начать новое, не отпустив старое.

Нано-фотоника в действии. Производятся лазеры в чистой комнате в специальных машинах в вакууме. Вы переодеваетесь в униформу, чтобы по возможности избежать загрязнений в лаборатории. В производстве лазеров задействовано много химии, беременным туда нельзя. 
Нано-фотоника в действии. Производятся лазеры в чистой комнате в специальных машинах в вакууме. Вы переодеваетесь в униформу, чтобы по возможности избежать загрязнений в лаборатории. В производстве лазеров задействовано много химии, беременным туда нельзя. 

ЧЯДНТ Можно было раньше сообразить, что сфера лазеров и нанофотоники не идеальна для беременных и кормящих мам, и не очень сочетается с материнством. И выбрать менее химически-вредную теорфизику еще в универе.  

Начался серьезный поиск новой профессии. Это был длительный этап.

Я любопытная и с удовольствием учусь просто так, чтобы лучше понимать, как устроен мир. В первом декрете попробовала ряд новых вещей: создавала сайты на Wordpress, писала блог посты, рисовала, училась всему, что попадало в спектр моего видения. С командой окончили bootcamp по созданию стартапов на основе научных технологий. Учились проводить исследование рынка, анализ конкурентов, писать бизнес-план, создавать свой брэнд, искать инвесторов и делать pitch презентации. Это было увлекательно, и попробовать делать стартап меня еще потянет.

Я окончила художественную школу и рисую последние 30+ лет. У меня возникла идея перейти в компьютерную графику. Шесть месяцев прокачивала навыки в Photoshop, ZBrush, 3D studio max, rendering, blender, concert design, character design, изучала анатомию, matte painting. Создала онлайн галерею и участвовала в локальных выставках.  По итогу, в digital artists не пошла, но поняла немало важных вещей.

Новый интересный зверь – машинное обучение

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

Если Вы не работаете и не учитесь пять лет – Вы теряете квалификацию. Два декрета подряд – это долго, я 4 года была домохозяйкой. Поэтому в декрете решила продолжать учиться и развиваться в чем-то новом и интересном. Сфера ИИ была не только интересной, но и удобной, так как позволяла делать это дома. Мне не нужна была лаба с многомиллионным оборудованием. Достаточно просто компа с доступом в интернет.

Первый попавшийся курс по теме ИИ, Introduction to Artificial Intelligence от Peter Norvig, мне понравился. “То, что надо для декрета!” –  подумала я и решила продолжить курсы.

Обучение

Для четкого и легкого старта в ИИ рекомендую знаменитые курсы Andrew Ng:

  1. machine learning specialization

  2. deep learning specialization

Хак Как безработная домохозяйка, которая минимизировала траты, я запросила финансовую помощь. Мне дали все курсы бесплатно. Потом выяснилось, что всем дают ????

Следующим полезным курсом стал CS231n – курс по компьютерному зрению от Стэнфорда в исполнении Андрея Карпатого. И Андрей и курс мне очень понравились. 

Читала про а/б тесты, метрики, дата сайенс. Сделала вводные курсы по питону. В это время я вступила в русскоязычное сообщество opendatascience. Есть другие обучающие сообщества. Например, DataTalks.Club.

Курсы, которые мне понравились

MIT, Intoduction to Algorithms

Stanford, CS231n

Coursera, machine learning specialization and deep learning specialization 

Coursera, Big Data Analysis with Scala and Spark, Functional Programming in Scala

Stepic, Нейронные сети и обработка текста

DataTalks.club, data-engineering-zoomcamp 

Интернатура

Курсов мало и я стала искать интернатуру (на пятом месяце беременности, хаха). TL;DR: #меняневзяли.

Подала в интернатуру везде, где только смогла в маленьком городе на юге Ирландии (удаленки до ковида не было): logitech, Qualcomm, IBM, facebook,… все отказали с разными формулировками. В интернатуру обычно берут только студентов, из налоговых соображений, а если у Вас PhD + опыт своих проектов + декрет – ну кому это надо? 

Тогда загуглила всех в городе, кто занимается машинным обучением в академии, и стала приглашать их на кофе. Предварительно изучала, что они делают, читала их статьи, придумывала проекты и питчила себя, как интерна. 

Хак Отказывать по имейлу сильно проще, чем лично. Не бойтесь приглашать людей на кофе и питчить прямо на месте. Кто ищет – тот найдет.

Так я нашла Андрея, kaggle мастера, который тогда работал в больнице. Он позволил сделать проект по медицинским сигналам. Проект на пару месяцев, до родов, даже с небольшой оплатой, за что ему большое спасибо! Это было прекрасное начало. В проекте применяла нейронки для детекции аномалий в сигналах при родах – тема близкая и понятная мне. Андрей тесно сотрудничал с больницей, и я познакомилась со всеми.

ЧЯДНТ В интернатуру проще попасть студентом, она для того и создана. Если Вы еще учитесь – подавайте в большие компании на интернатуры. Я не сделала этого, пока делала PhD, зря! Если Вы уже не учитесь – можно пойти в магистратуру или аспирантуру и, будучи там, подавать в интернатуру в большие компании. Это сильно упростит жизнь с поиском работы, а аспирантуру можно всегда бросить, если не понравится. 

Kaggle 

От Андрея узнала про площадку для соревнований по машинному обучению, kaggle. Вначале дела шли не очень. Получались только бронзы. Зато узнала про pandas, dask, xgboost, lightgbm, sklearn, numpy, multiprocessing, google cloud platform, cloud computing, и многое другое. Андрей посоветовал курс Джереми, который стал отличной методичкой для kaggle того времени. Не использую библиотеку fastai, но трюки и хаки для тренировки моделей у Джереми расписаны шикарно.

На kaggle стала делать все подряд – от кластеризации треков в большом коллайдере до детекции пневмонии на рентгеновских снимках. В октябре родилась Алиса, стала прокачивать себя дальше, неспешно соревнуясь на kaggle. Получилось неплохо сделать соревнование по астрономии, где мы взяли первое серебро. 

Цель была учиться и расширить кругозор в ML. Поэтому я не повторяла тематику соревнований. После астрономии были идентификация китов, сегментация, детекция и классификация, электрические сигналы, лидары и видео. Было интересно. Постоянная смена домена не сопутствовала высоким результатам, зато эта тактика позволяла окунуться в разное и помогала обучению. Рекомендую не концентрироваться на результатах, по крайней мере в начале, а прокачивать разные знания и домены, если Вы пришли на kaggle учиться, а не заработать денег.

Меня иногда спрашивают, насколько полезен kaggle, и стоит ли тратить на него время. Распишу тут плюсы и минусы.

pros

  • kaggle удобен, чтобы научиться тренировать модели и экспериментировать с различными SOTA (*state-of-the-art) подходами быстро.

  • Это прекрасная обучающая платформа, есть общение на форуме и примеры для старта. Многие публикуют ноутбуки с анализом данных и решениями – можно быстро вкатиться в моделирование, даже не зная питона.

  • Это упрощенная среда и она хороша для старта. Обычно данные предоставлены, уже почищены и сравнительно невелики, часто уже сбалансированы. Постановка задачи сделана за Вас, и метрики даны.

  • Наличие лидерборда позволяет сравнивать свое решение с работой других участников. При этом часть лидерборда открыта, что позволяет получать обратную связь в процессе соревнования. Это полезно. Но это вносит геймификацию для игроманов, что не всегда хорошо (я видела печальные случаи этой манипуляции).

  • kaggle учит нормальной валидации.

cons

  • kaggle не учит всему остальному. Итерирование через SOTA подходы – это не основная часть работы ML инженера или data scientist. Kaggle не обучает, как переформулировать бизнес проблему в задачу по машинному обучению, как договориться с вовлеченными сторонами, продактами, юристами, выбрать метрики.

  • Данные: сколько их надо, как отобрать, где взять, как и сколько разметить, работа с большими данными, scala/spark, hadoop – все это мимо kaggle.

  • Модель не приносит денег, пока она не в проде. Deployment моделей и a/b тесты, мониторинг и поддержка, такие инструменты, как airflow and Azkaban – тоже часть работы ML инженера, которая не покрывается kaggle.

  • Часто качество кода в ноутбуках и вообще сами ноутбуки далеки от необходимого качества в индустрии.

Итого, kaggle покрывает примерно 10-15% работы ML инженера. Ту часть, где анализируют данные и играются с разными моделями и подходами. Зато в плане моделирования он неплохо расширяет кругозор на начальном этапе.

Стоит ли тратить время на kaggle? 

На мой субъективный взгляд, можно учиться на kaggle, но фокусироваться лучше на разных доменах и подходах, а не на результате. 

Kaggle мастера я сделала. И он ровно ничего мне не дал в плане поиска работы. Намного больше мне дали соревнования со средними результатами и с вариацией доменов. Они помогали ориентироваться в ML дизайне и отвечать на вопросы при прохождении интервью на различные темы. 

Так, в один стартап по лидарам я получила офер, потому что сделала соревнование Lyft по селф-драйвингу (сделала средне, на серебро, не сильно заморачиваясь. Но код выложила на GitHub и пояснила свое решение). В другой стартап получила офер, потому что сделала соревнование Spacenet по сегментации спутниковых снимков (тоже выложила на GitHub). Где-то на интервью пригодилась работа с признаками в астрономии, где-то помогла работа с медицинскими изображениями, а где-то, с текстом. Ни одно из этих соревнований я не сделала в топе, зато поигралась с данными и хорошо понимала разные подходы. При поиске работы – разнообразие знаний помогает. Kaggle дает возможность пощупать разные домены и подходы очень быстро. В этом обучении я вижу его главную ценность.

Ресурсы

Один из ресурсов, который пригодился в декрете – это доступ к серверам с GPU. Обычно, это не бесплатно, однако Amazon и Google cloud регулярно выдают кредиты на kaggle соревнованиях, и этого хватало, чтобы обучить пару моделей и поэкспериментировать. 

Хак При регистрации аккаунта в гугле можно было получить Google cloud кредит на 300$ и использовать его для сервака с GPU на GCP (*google cloud platform). Этого хватало на одно соревнование. Так как количество аккаунтов потенциально не ограничено, то и колическво кредитов тоже. 

ЧЯДНТ Важно! Не забыть выключать инстансы в AWS и GCP (один раз забыла…) и делать это лучше автоматически.

Статьи

По результатам соревнований написала пару статей, чтобы облегчить себе поиск работы или ее создание. Ничего более умного в голову не приходило, а статьи писать я умела после работы в науке.

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

Что делать, если результат не очень, а статью хочется? Тут я решила написать одному из победителей соревнования и предложить набить статью по его решению. Написала Dmytro, он согласился. Эту работу мы удачно презентовали на CVPR workshop. Впоследствии, написала еще несколько статей по соревнованиям (Google scholar) с грандмастерами Ромой и Женей

Работы, принятые на CVPR and NeurIPs workshops, помогли пройти первичный фильтр и попасть на интервью. Сильного буста они не дали, и сейчас учила бы leetcode и пилила pet проекты вместо статей для поиска работы. 

Хак Пройти на CVPR and NeurIPs workshops сильно проще, чем на эти основные конференции. Но рекрутеры и стартаперы мало понимают эту разницу, так что эти статьи прекрасно смотрятся в резюме и заставляют связаться с Вами.

Про ML больше читают и цитируют. Тема новая, постоянно все меняется, и писать статьи сильно проще. В итоге, статьи по соревнованиям догнали и обогнали по цитируемости серьезные работы по лазерной физике.

Поиск первой работы в машинном обучении

Алисе исполнилось полтора года, и я подумала, что пора выходить из декрета.

Резюме важно

Заполнила подробно профиль в LinkedIn и начала отвечать на запросы в личке. Их было мало, поэтому отвечала почти всем. Попросила feedback и подправила резюме 100500 раз, стала говорить всем в окружении, что ищу работу парт-тайм. Про то, как адаптировать свое резюме и продавать себя, я написала подробный пост тут.

Если коротко:

  • хорошо заполните LinkedIn профиль;

  • адаптируйте резюме под желаемую вакансию;

  • укажите навыки;

  • не забудьте добавить нетехнические навыки тоже;

  • пишите про свой опыт с упором на достигнутый результат, а не на обязанности / что делали;

  • укажите в описании Вашу роль, используйте глаголы, которые подчеркивают, как Вы управляли, менторили, инициировали, растили джунов, если такой опыт был;

  • убирайте лишнее и нерелевантное – это не прибавляет ценности Вашему опыту и может, наоборот, отпугнуть.

Мама в декрете без опыта в индустрии, желающая работать парт-тайм – это прямо анти-мечта работодателя. Тем не менее, кто ищет – тот найдет. После небольшого интервью и тестового мне предложили проект по OCR (optical character recognition) для небольшого стартапа в Ирландии, который делал промышленных роботов. Проект можно было делать парт-тайм контрактником. Мы обговорили детали, я должна была начать в конце марта, после поездки в Гималаи.

15 марта 2020 года я не вылетела в Непал, он закрыл границу. Семья не вылетела в Украину, Украина закрыла границы. А стартап отозвал проект, потому что Ирландия ушла в локдаун. Начался коронавирус. Закрыли школы, садики, рестораны, бары, спортзалы, бассейны, стройки… практически все, кроме продуктовых магазинов, больниц и аптек. Многие лишились работы. В Ирландии был один из самых длительных и строгих локдаунов в Европе.

Учимся проходить интервью 

Я оказалась дома с малышами 1 и 4 года без садиков и няни. Надежда найти работу в таких условиях приблизилась к нулю. Но я продолжила ходить по интервью, потому что это полезно для прокачки навыков. В основном это были небольшие стартапы, которые искали специалиста по компьютерному зрению. Первые интервью я феерически заваливала.

Надо заметить, что карьера в науке работает иначе. Ты сам придумываешь проект и подаешь на грант. Проект – это сочинение в жанре научной фантастики с элементами бизнес-плана на тему «дайте денег». Если деньги выиграны – ты сам себе режиссер и нанимаешь команду. Как успешный ученый, я не проходила интервью до смены профессии. 

Стартапы не имели системного подхода к интервью подобно большим компаниям. Часто разговор начинался с рекрутером, где вы играли в кошки-мышки на тему “сколько хотите”.

Хак Многие не любят отвечать на вопросы о зарплате первыми, боясь продешевить или переборщить. Если у Вас такая ситуация, а вилка не указана — спросите первыми. После рассказа о себе и переходе к расспросам про компанию, я делаю следующий финт:

– Скажите, каков Ваш диапазон финансовой компенсации?

– А каковы Ваши ожидания?

– Я первая спросила.

Часто это работает :)

После рекрутера обычно идет разговор со специалистом в машинном обучении. Тут задают технические вопросы, абсолютно любые, от формулы Байеса и статистики до архитектуры Unet, triplet loss, BERT и метрик классификации. Здесь очень помог kaggle и фокус на разнообразии задач. Потом часто идет тестовое задание  и разговор с СЕО /командой (в стартапе на пару человек).

ЧЯДНТ Все первые интервью я завалила. Мои ошибки:

  • не тот опыт – плохо понимала мир глазами индустрии и говорила не то, что ожидали;

  • не тот опыт – делала тестовое а-ля kagge style – переусложняла, не беря в расчет ресурсы и время;

  • подготовка – недостаточно исследовала потенциального работодателя;

  • подготовка – не тренировалась на leetcode и валила задачки на кодинг;

  • подготовка и структура – недостаточно четко рассматривала разные подходы на дизайне и их pros/cons/trade offs;

  • коммуникация – задавала основателям неудобные вопросы про продукт и маркет фит, ака инвестор какой;

  • коммуникация – плохо продавала свое резюме, задвигала про нерелевантный опыт в физике;

  • коммуникация – говорила слишком много и слишком быстро;

  • коммуникация – излишне уходила в детали.

Этот опыт был очень нужен и важен, не вычеркнула бы ни одно заваленное интервью из своей жизни. После завалов делилась впечатлениями, и несколько ребят помогли с тренировочными интервью. Эти интервью тоже заваливала, но получила обратную связь, очень полезно.

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

ЧЯДНТ Одной из ошибок было ожидание, пока Алиса подрастет, чтобы начать ходить по интервью. Было бы куда полезнее это делать раньше. Тренировочные интервью сильно помогли и их можно было делать еще беременной.

Первая работа

В мае 2020 написала знакомая из больницы с предложением сделать проект по медицинским сигналам. Проект в интернатуре сильно перекликался с идеей для создания МедТех стартапа в той же больнице, и врачи на проекте искали технического лида. Поскольку я со многими познакомилась и наладила связи, обо мне вспомнили.

Дальше было интервью с лидером проекта, мы понравились друг другу, и через неделю у меня была работа в больнице при университете. Больница ближе к академии, поэтому PhD и научные достижения пошли в зачет, и я сразу начала с позиции синьора. Впоследствии, дали джуна в помощь.

В стране был локдаун из-за коронавируса. Садик закрыт, детям 4 и 1 года, что нехило усложняет возможность работы. Мы договорились на гибкий график, я пилила проект по вечерам и выходным и синхронизировалась с командой пару раз в неделю. Просто сказка, учитывая обстоятельства. 

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

Сделайте так, чтобы взаимодействие с Вами было приятным. Быть токсичным не выгодно. Если это поможет хоть немного уменьшить количество токсичности и троллинга в рунете, буду считать, что не зря это писала.

О работе в МедТех в следующей части.

Заключение

  • Интернатура и пет проект помогли больше всего. Первая работа появилась из-за опыта и связей, полученных во время интернатуры. 

  • Делать pet проекты и выкладывать код на GitHub я считаю эффективнее всего.

  • Интернатуру нашла, приглашая незнакомых людей на кофе. Личные встречи и питчи сильнее холодных рассылок. Но это и так все знают. Знают, но все равно боятся:). Зря, ни один незнакомый ученый за кофе не попробовал меня укусить.

  • kaggle помогает быстро попробовать разные домены и ML подходы, он неплохо расширяет кругозор. Но он недостаточен. 

  • Курсы полезны для старта, но недостаточны.

  • Статьи по ML писать не сложно, но если в голову пришли идеи получше, лучше реализовать их.

  • Не обязательно искать работу, чтобы ходить по интервью. Практика интервью полезна, она мне многое дала.

  • Много возможностей находятся через связи. Нужные связи делаете Вы сами.

Tati Gabru и все, кто мне помогал.

Acknowledgments

Спасибо Andriy за первый проект и менторство, Вове Игловикову за редактуру и менторство, Dmytro, Ромe, Жене, Саше, Сергею за сотрудничество по статьям, и много кому еще за советы и интервью.

А Вам, за то, что дочитали (ставте лайк, клише, но приятно)

Комментарии (15)


  1. lexore
    10.01.2023 08:19
    +26

    Я получила грант от Еврокомиссии на создание лазера на квантовых точках и фотонных кристаллах.

    Типичная домохозяйка :)


    1. fractals
      11.01.2023 14:25
      -2

      кликбейт?


  1. Px2
    10.01.2023 09:36
    +1

    Интересно. Только вот с кофе какая-то мутная история. Как это выглядело? Девушка приглашает мужчину на кофе, но на встрече оказывается, что рассчитывал он на другое?


  1. cry_san
    10.01.2023 09:44
    +2

    Я так понял, выкладка на github приостановлена? За последний год - тишина.


  1. jandevel
    10.01.2023 18:48

    В это время я вступила в русскоязычное сообщество opendatascience (ods). Сейчас туда не вступить, но есть другие обучающие сообщества. Например, DataTalks.Club.

    Open source протокол Matrix смотрит на эту часть текста как-то недовольно, свирепо и в то же время грустно и с недоумением :)


    1. tatigabru Автор
      11.01.2023 23:24
      +1

      Исправила.
      Слушай, не могу сейчас рекомендовать Matrix (по уровню активности и удобству), и вроде туда можно лишь тем, кто уже был в одс и кого добавили (я захожу периодически)


  1. savostin
    11.01.2023 01:07
    +1

    ЧЯДНТ? Блин, может в беременности дело?


    1. vassabi
      11.01.2023 20:49

      а дети-то у вас есть?


      1. savostin
        11.01.2023 20:50

        Героиня за 9 месяцев успела столько, сколько я за 47 лет жизни не смог.


        1. tatigabru Автор
          11.01.2023 22:41
          +1

          За 2 года; весна-лето-осень 2018 – беременность – интернатура и курсы
          потом декрет с kaggle, статьями и заваленными интервью
          май 2020 – первая работа


          1. savostin
            11.01.2023 23:15
            +3

            Ну, теперь, конечно, стало легче...


      1. tatigabru Автор
        11.01.2023 22:44
        +1

        Двое. Сейчас им 4 и 7 лет
        Но нет телевизора и Netflix :)


        1. vassabi
          12.01.2023 17:35

          у вас - мы поняли что есть :) это я у автора "что я делаю нетак" интересовался :)


  1. vbra2022
    11.01.2023 22:40
    +2

    Статьи с цитированием ≥20 и не одна, и Вы считаете, что никто Вас не читает? Я рад за год получить 10 цитирований (в вашем профиле с 2016 года около 50 цитирований в год, и это очень хорошо). К тому же Вас цитируют не Мурзилки,а хорошие журналы. Да, возможно, Вы не можете почувствовать результат своей работы в разработке лазеров сразу, а это очень хочется... Но все же, я чего-то недопонимаю... Мне кажется мы потеряли физика ????


    1. nikolay_karelin
      12.01.2023 10:04
      +2

      В любом случае нужно было на несколько лет оставить лабораторию - т.е. либо уходить в теорию или численное моделирование, либо менять направление совсем, как автор.