Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor). Мы строим скоринговые (credit scoring), лидогенерационные (lead generation) и антифрод (anti-fraud) модели на телеком данных, а также делаем гео-аналитику (geo-analytics).
В предыдущей статье я поделился материалами для подготовки к этапу по специализированному машинному обучению.
Давайте вспомним из каких секций состоит процесс собеседований на позицию Data Scientist:
Дизайн систем машинного обучения (middle+/senior)
Поведенческое интервью (middle+/senior)
![Типичный процесс интервью глазами Dall-E 3](https://habrastorage.org/webt/0a/uy/t0/0auyt0rqgw5gsf_atu5h4jdpcgs.jpeg)
В этой статье рассмотрим материалы, которые можно использовать для подготовки к секции по дизайну систем машинного обучения.
Замечания
Я буду указывать ссылки на материалы не только на русском языке, но и на английском. Если у одного и того же ресурса есть версия на русском и на английском языке, то я буду указывать обе, чтобы читатель сам смог выбрать подходящий вариант.
Большое количество ресурсов будет на английском, поэтому знание английского это must have не только для работы по IT специальности, но и для подготовки к собеседованию. Зачастую оригинальная версия (на английском) проще читается, чем перевод, потому что содержит в себе много терминов и названий, которые устоялись и при плохом переводе только путают читателя.
Для книг я буду прикладывать ссылки на издательства (по возможности), чтобы вы сами смогли выбрать где их приобрести. Для технической литературы рекомендую использовать электронные версии книг, потому что в них всегда можно выделить важный отрывок, оставить комментарий и быстро найти нужную информацию.
По умолчанию, ресурсы на русском языке идут раньше ресурсов на английском (там, где они есть).
Большинство материалов в этой статье - бесплатные, но есть несколько платных (помечены paid
). Рекомендую покупать их только, если четко понимаете, что не хотите или не можете тратить свое личное время на самостоятельный поиск информации.
Свои любимые материалы я выделил ⭐.
Содержание
Материалы
Самой интересной секцией (по моему мнению) является секция по дизайну систем машинного обучения.
Для прохождения этого этапа эффективнее всего будет разработать (скопировать и доработать) фреймворк, по которому вы будете описывать дизайн системы. Обычно он состоит из следующих пунктов:
Определение и уточнение проблемы
Оценка качества (метрики)
Анализ/сбор исходных данных
Создание признаков
Разработка модели
Деплоймент и инференс
Мониторинг
Проблемы
Полезно также ориентироваться в System Design, поэтому я добавлю материалы по этой теме (а также по MLOps) я добавлю в репозиторий Data Science Resources и не буду подробно на них останавливаться в этой статье.
Книги
⭐ Хьюен Чип. Проектирование систем машинного обучения / Designing Machine Learning Systems by Chip Huyen
![](https://habrastorage.org/webt/l3/od/o4/l3odo4cld1f7kkzudshwc_mqu-e.jpeg)
Книга, основанная на стэнфордском учебном курсе, не ограничивается разбором конкретных библиотек, а описывает высокоуровневый подход к разработке систем машинного обучения, который упрощает их поддержку и развитие, позволяет избежать переобучения, искажения результатов. Рассказано, как сделать новую систему машинного обучения надёжной, репрезентативной и масштабируемой, а также качественно доработать уже существующие системы. Также показано, как подобрать библиотеки и алгоритмы с учётом имеющегося множества данных и действующих бизнес-требований, конструировать признаки и отслеживать метрики.
⭐ Machine Learning System Design. With end-to-end examples by Valerii Babushkin and Arseny Kravchenko
![](https://habrastorage.org/webt/mt/sb/mu/mtsbmuq9bw_vjn0mejvo8xizgby.jpeg)
Данная книга является практическим руководством по планированию и разработке успешных приложений машинного обучения. В ней изложен четкий, воспроизводимый подход для создания, обслуживания и улучшения систем любого масштаба. Авторы Арсений Кравченко и Валерий Бабушкин наполнили этот уникальный справочник "историями у костра" и личными советами из своей карьеры. Вы будете учиться непосредственно на их опыте, рассматривая каждый аспект системы машинного обучения: от сбора требований и поиска данных до развертывания и управления готовой системой.
Machine Learning System Design Interview by Ali Aminian and Alex Xu + Solutions
![](https://habrastorage.org/webt/ym/qj/um/ymqjumq-7r8uiyi6ilqzyynmt1a.jpeg)
Эта книга предлагает надежную стратегию и базу знаний для решения широкого круга вопросов в проектировании систем машинного обучения. Она предоставляет пошаговую инструкцию для проектирования ML системы, а также включает в себя множество примеров из реальной жизни, иллюстрирующих системный подход, с подробными инструкциями, которым вы можете следовать.
Machine Learning Engineering Open Book by Stas Bekman
![](https://habrastorage.org/webt/uv/bx/_u/uvbx_uiljsc0_f3dhkwfs19qozy.jpeg)
Это коллекция методологий, инструментов и пошаговых инструкций, которые помогут в успешном обучении больших языковых и мультимодальных моделей.
Курсы
⭐ CS 329S: Machine Learning Systems Design
![](https://habrastorage.org/webt/qu/-g/oa/qu-goacakua1eifteuinfdie8ti.png)
Целью этого курса является создание фреймворка для разработки реальных систем машинного обучения, которые можно легко развертывать и масштабировать.
Он начинается с рассмотрения всех заинтересованных сторон каждого проекта машинного обучения и их целей. Разные цели требуют разных вариантов дизайна, и в этом курсе будут обсуждаться компромиссы этих решений.
Студенты узнают об управлении данными, инженерии данных, создании признаков, подходах к выбору модели, обучению, масштабированию, о том, как постоянно отслеживать и применять изменения в ML системах, а также о человеческой стороне проектов ML, такой как структура команды и бизнес-метрики.
⭐ Дизайн систем машинного обучения. Введение для начинающих (ODS, Дмитрий Колодезев)
![](https://habrastorage.org/webt/x0/bh/dr/x0bhdrcl6e8_bvbzy9fvk50gt-8.png)
Основная цель курса - развить кругозор и "насмотренность" будущих создателей ML-систем. Это не подготовка к собеседованию и не "вхождение в IT", а, скорее, экскурсия по зоопарку. Смотрите, вот тигры, вот слоны, вот потоковые данные, а здесь у нас пасутся большие языковые модели, их можно покормить и погладить.
В курс входит:
15 видео-лекций
14 семинаров
работа над проектами
разработка ML дизайн документа
доклады/туториалы участников курса по смежным темам
лабораторные работы
Machine Learning System Design + ⭐ Grokking the Machine Learning Interview paid
![](https://habrastorage.org/webt/bw/z6/hq/bwz6hqbqxayb9plgldiup4474iw.png)
Эти курсы помогут вам изучить лучшие практики применения ML моделей в production в больших масштабах. Вы шаг за шагом будете решать различные проблемы, уделяя особое внимание тому, как проектировать системы машинного обучения.
Шаблоны
⭐ ML System Design Doc (ML Reliable) + Лекция о том, как им пользоваться
![](https://habrastorage.org/webt/0j/7o/ye/0j7oyemy0i3vjsatwwkubs36cjk.png)
ML System Design документ - это план по построению системы машинного обучения для решения конкретного запроса бизнеса в вашей компании. Его стоит применять на этапе дизайна вашей системы, чтобы в итоге ваше решение было полезным для бизнеса, а именно: могло быть внедрено, работало после внедрения и приносило реальную пользу.
А для того, чтобы этот план было проще построить, и чтобы итоговая система, действительно, приводила к результату, в сообществе Reliable ML разработали шаблон такого документа.
Шаблон был успешно адаптирован уже в более 10 крупных компаниях на российском рынке, а также внедрен Университетом ИТМО в программу онлайн-магистратуры по ML-инженерии как ключевой инструмент планирования ML-проектов.
⭐ Что я бы хотел знать про ML System Design раньше
![](https://habrastorage.org/webt/vf/zf/zm/vfzfzmoodkss5f6510pqbnvwyzg.png)
В данной статье автор делится этапами проектирования ML системы и своими советами по прохождению собеседования.
Шаблон проектной документации для систем машинного обучения на основе этого поста.
⭐ Machine Learning Design Primer by commit history
![](https://habrastorage.org/webt/jo/mn/kx/jomnkx375y391u6ej5sfdrvgea0.png)
Репозиторий с подробным разбором каждого из этапов дизайна систем машинного обучения.
The 9-Step ML System Design Formula
![](https://habrastorage.org/webt/em/-l/od/em-lodpnig43dcu1rtzju_ihwpg.png)
Чтобы спроектировать надежную систему машинного обучения для реальных приложений, важно следовать определенному порядку проектирования. Автор рекомендует использовать формулу проектирования ML системы из 9 шагов, как для решения реальных бизнес-задач, связанных с ML на работе, так и во время собеседований.
Блоги
⭐ Applying Machine Learning by Eugene Yan
![](https://habrastorage.org/webt/ot/aq/px/otaqpxh72go3exbhr6l8bzya-qk.png)
Эффективно использовать машинное обучение сложно. Многим организациям еще предстоит извлечь выгоду из ML.
Хотя существует множество курсов по ML, большинство из них сосредоточены на теории, и студенты заканчивают обучение, не зная, как применять машинное обучение. Практические ноу-хау приобретаются на основе многолетнего опыта и редко документируются — их трудно найти в учебниках, учебных пособиях или на курсах. Существует разрыв между знанием теории машинного обучения и применением ее на практике.
Чтобы восполнить этот пробел, ApplyingML собирает практические знания о применении ML с помощью тщательно отобранных статей/блогов, руководств и интервью с экспертами в этой области.
![](https://habrastorage.org/webt/f6/7e/a0/f67ea0bsqnr78rxo8u3jaguc59q.png)
Юджин Ян проектирует, создает и управляет системами машинного обучения. В настоящее время он старший научный сотрудник Amazon. Ранее он руководил машинным обучением в Lazada (Alibaba) и Healthtech Series A. В своем блоге он пишет о машинном обучении, RecSys, LLM и инжиниринге.
![](https://habrastorage.org/webt/zh/o1/lh/zho1lh_a7e2vhiebnf9g34yqkl0.png)
Андрей Лукьяненко - Senior Data Scientist в Careem, Kaggle Competition Master и Kaggle Notebooks 1st rank. В своем блоге он публикует разборы статей, делится pet-проектами и полезными советами.
![](https://habrastorage.org/webt/tu/ht/qq/tuhtqqr2jz447afyrppddaroj1e.png)
Лилиан Ван является тимлидом команды по practical AI safety и alignment в OpenAI и делится заметками в своем блоге.
⭐ Irrational Exuberance by Will Larson
![](https://habrastorage.org/webt/64/ly/hj/64lyhjk8fan0auvx0bk9ojybbz8.jpeg)
Уилл писатель и руководитель разработки программного обеспечения, в настоящее время работает техническим директором Carta. Раньше был техническим директором в Calm, работал в Stripe, Uber, Digg и нескольких других местах, а также вместе с Люком Хэтчером стал соучредителем несуществующего игрового стартапа для iOS — Monocle Studios. Он написал две книги: An Elegant Puzzle и Staff Engineer.
![](https://habrastorage.org/webt/rq/op/kb/rqopkbcf4lw6a2aqstlwvm-xqj4.png)
Репозиторий, в котором вы можете найти остальные DS блоги, для которых у меня не хватило места в статье.
Прочее
⭐ ML System Design собеседования
![](https://habrastorage.org/webt/gy/mq/lv/gymqlvush5mklw9z9ykmxpeh9b4.png)
Серия mock-собеседований с Валерием Бабушкиным.
ML Systems Design Interview Guide
![](https://habrastorage.org/webt/hd/z_/t0/hdz_t0o8wf-tjdavjiuekubbcii.png)
В этой статье автор рассказывает о том, как готовиться к собеседованиям по проектированию ML систем, основных понятиях, которые необходимо знать и делится ссылками на некоторые ресурсы, которые использовал при подготовке.
ML system design: 300 case studies to learn from
![](https://habrastorage.org/webt/vm/oe/yt/vmoeytvcrsgk3y8grin6gkao6dc.png)
Как такие компании, как Netflix, Airbnb и Doordash, применяют машинное обучение для улучшения своих продуктов и процессов?
Evidently AI собрали 300 тематических исследований от более чем 80 компаний, в которых они делятся практическими примерами использования ML и опытом проектирования ML систем.
Репозиторий с use-cases из разных отраслей для подготовки к собеседованию по дизайну систем машинного обучения.
Machine Learning Interviews. Machine Learning Systems Design by Chip Huyen
![](https://habrastorage.org/webt/jm/sd/js/jmsdjseilzjxiinoq7zmiit_za4.png)
Материалы (доступны онлайн), дополняющие курс и книгу от Чип Хьюен.
⭐ MLOps guide by Chip Huyen
Сборник материалов по MLOps от вводного до продвинутого.
⭐ Телеграм посты
Подборка полезных материалов по ML System Design (ReliableML)
Собес на ML дизайн: материалы и советы по подготовке (DS | Stairway to Offer)
Подведем итоги
Если вы еще не читали, то рекомендую прочитать блоки Learning How to Learn и Подведем итоги из первой статьи, так как все сказанное там применимо и для подготовки к секции по дизайну систем машинного обучения.
Собранные в этой статье материалы будут полезны при подготовке к собеседованиям на различные позиции в Big Data МегаФон.
А если вы только начинаете свою карьеру в Data Science, то обратите внимание на стажировки в крупных компаниях, на которых вы сможете не только прокачать свои знания, но также получить крутой опыт применения теории на практических задачах бизнеса. В МегаФоне пример такой стажировки - это акселератор (пишите на почту с темой письма "стажировка в big data"), с помощью которого ежегодно находят свою первую работу специалисты по работе с данными (Data Scientists), аналитики (Data Analysts) и дата инженеры (Data Engineers).
Кстати, у нас есть телеграм-канал Карьера в МегаФоне, в котором практически ежедневно публикуются новые вакансии и новости компании!
Что дальше?
В следующей статье разберем материалы для подготовки к поведенческому интервью.
Актуальные ресурсы для этой серии статей вы сможете найти в репозитории Data Science Resources, который будет поддерживаться и обновляться. В этот раз в репозиторий выложено больше материалов, чем попало в эту статью, поэтому советую зайти туда и найти то, что вам нужно.
Также вы можете подписаться на мой телеграм-канал Data Science Weekly, в котором я каждую неделю делюсь интересными и полезными материалами.
Если вы знаете какие-нибудь классные ресурсы, которые я не включил в этот список, то прошу написать о них в комментариях.
P.S. Благодарю Артёма Глазунова за редактуру и вычитку этого поста!