70% фейлят ML System design 😱
За последние пару месяцев я провел 20+ ml system design собеседований.
~70% кандидатов после него оценил на грейд ниже ожиданий / неподходящие к вакансии (но Ок на другие) / no hire
Дам несколько советов, как можно улучшить результаты на таких собесах 🚀
У вас будет +- 40 минут на дизайн всей системы:
- Понять бизнес-проблему
- Сформулировать, зачем мы ее решаем + на какие бизнес-метрики влияем
- Перевести все это в ML-задачу
- Определить X, y
- Не забыть про loss и ml metrics (часто это разные вещи)
- Рассказать про алгоритм
- Способ валидации
- Обсудить, как катить все это дело в прод
- Проведение А/В
- Выкатка на 100%, мониторинг в проде и пару слов о дальнейшем развитии
1. Потренируйся хотя бы 2-3 раза
Как видите, пунктов много. Забыли хотя бы один - огромный минус. Потренируйтесь проходить такой тип собесов
У меня был кандидат, который пришел на ML system design, но даже не погуглил, что это - конечно это был фейл 🥲
2. Используйте Miro / draw.io
Если вы рисуете хорошую схему архитектуры, то становится в разы понятнее + вы точно не забудете детали. Но опять же, потренируйтесь рисовать схемы - иначе вы просто будете терять время на рисование непонятных квадратиков
3. Расскажите бейзлайн подробно, SOTA - кратко
Цель собеса - сделать рабочее решение. Показать свои знания SOTA - важно, но вторично. Поэтому сначала сделайте бейзлайн-решение со всеми пунктами выше, кратко упоминая как можно его улучшить. Останется время - в конце вернетесь к пункту Х и расскажете подробнее про SOTA
Хорошо: В бейзлайн версии переводим текстовое название и описание товара в вектор предобученным FastText. Потом можно потестировать файнтюн BERT / E5 / your_fancy_model
Плохо: Переводим текстовое описание в вектор через GPT-4о
В плохом варианте сразу возникнут вопросы, на которые вы НЕ успеете ответить: Как же стоимость api? как на проде это будет работать? что с перс данными? а кандидат точно знает, как работает gpt? и тд. Даже если вы знаете ответы - можете не успеть их рассказать, и впечатление будет смазанным
4. Простойкак пробка продакшен
Вы даже не представляете, сколько кандидатов посыпалось на дизайне real-time рекомендаций, потому что это правда сложно
Если можете задизайнить batch-предикт для продакшена раз в ночь - сделайте лучше так. Останется время - попробуете вместо рассказа про SOTA прикинуть, как можно делать batch-предикт раз в пару минут или real-time
5. Не забывайте, что вы решаете бизнес-проблему
Очень легко в задаче "Удержания клиента" закончить на дизайне классификатора оттока. Проблема в том, что сам классификатор проблему не решает 🧠
Нужно еще поверх него накрутить логику push-рассылок с промокодами, понять издержки на них, выбрать оптимальную скидку и много всего вот этого бизнесового. Хорошо расскажете про бизнес - почти гарантированно получите +1 грейд
Прочитали? Вспомните п.1 и потренируйтесь -- решите хотя бы в 5-минутном MVP варианте дизайн для "Матчинг товаров нашего маркетплейса с маркетплейсом-конкурентом для прайсинга: Хотим ставить цены не дороже конкурента". Готов после ответов в комментариях накидать каверзные вопросы ⬇️
тг-канал @ml4value
#system_design #career
За последние пару месяцев я провел 20+ ml system design собеседований.
~70% кандидатов после него оценил на грейд ниже ожиданий / неподходящие к вакансии (но Ок на другие) / no hire
Дам несколько советов, как можно улучшить результаты на таких собесах 🚀
У вас будет +- 40 минут на дизайн всей системы:
- Понять бизнес-проблему
- Сформулировать, зачем мы ее решаем + на какие бизнес-метрики влияем
- Перевести все это в ML-задачу
- Определить X, y
- Не забыть про loss и ml metrics (часто это разные вещи)
- Рассказать про алгоритм
- Способ валидации
- Обсудить, как катить все это дело в прод
- Проведение А/В
- Выкатка на 100%, мониторинг в проде и пару слов о дальнейшем развитии
1. Потренируйся хотя бы 2-3 раза
Как видите, пунктов много. Забыли хотя бы один - огромный минус. Потренируйтесь проходить такой тип собесов
У меня был кандидат, который пришел на ML system design, но даже не погуглил, что это - конечно это был фейл 🥲
2. Используйте Miro / draw.io
Если вы рисуете хорошую схему архитектуры, то становится в разы понятнее + вы точно не забудете детали. Но опять же, потренируйтесь рисовать схемы - иначе вы просто будете терять время на рисование непонятных квадратиков
3. Расскажите бейзлайн подробно, SOTA - кратко
Цель собеса - сделать рабочее решение. Показать свои знания SOTA - важно, но вторично. Поэтому сначала сделайте бейзлайн-решение со всеми пунктами выше, кратко упоминая как можно его улучшить. Останется время - в конце вернетесь к пункту Х и расскажете подробнее про SOTA
Хорошо: В бейзлайн версии переводим текстовое название и описание товара в вектор предобученным FastText. Потом можно потестировать файнтюн BERT / E5 / your_fancy_model
Плохо: Переводим текстовое описание в вектор через GPT-4о
В плохом варианте сразу возникнут вопросы, на которые вы НЕ успеете ответить: Как же стоимость api? как на проде это будет работать? что с перс данными? а кандидат точно знает, как работает gpt? и тд. Даже если вы знаете ответы - можете не успеть их рассказать, и впечатление будет смазанным
4. Простой
Вы даже не представляете, сколько кандидатов посыпалось на дизайне real-time рекомендаций, потому что это правда сложно
Если можете задизайнить batch-предикт для продакшена раз в ночь - сделайте лучше так. Останется время - попробуете вместо рассказа про SOTA прикинуть, как можно делать batch-предикт раз в пару минут или real-time
5. Не забывайте, что вы решаете бизнес-проблему
Очень легко в задаче "Удержания клиента" закончить на дизайне классификатора оттока. Проблема в том, что сам классификатор проблему не решает 🧠
Нужно еще поверх него накрутить логику push-рассылок с промокодами, понять издержки на них, выбрать оптимальную скидку и много всего вот этого бизнесового. Хорошо расскажете про бизнес - почти гарантированно получите +1 грейд
Прочитали? Вспомните п.1 и потренируйтесь -- решите хотя бы в 5-минутном MVP варианте дизайн для "Матчинг товаров нашего маркетплейса с маркетплейсом-конкурентом для прайсинга: Хотим ставить цены не дороже конкурента". Готов после ответов в комментариях накидать каверзные вопросы ⬇️
тг-канал @ml4value
#system_design #career