TGViewer
Градиентное погружение Градиентное погружение @gradientdip · 4.2K subscribers
Post #176 2.16K

Forwarded from Записки Ппилифа (Ppilif Uliankin)

Про собесы

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

Как готовился:

- Почитал гайды
- Посмотрел видосы про интервью в Facebook и Google
- Посмотрел видосы про ML-design с Бабушкиным
- Выписал десяток разных кейсов и накидал по каждому из них ML-design

Забавно, что в видосах выше, при обсуждении результатов, интервьюеры жалуются, что кандидаты никак не используют доску при структурировании своих мыслей. Я вообще не понимаю как без неё можно обойтись. Для себя решил, что буду структурировать свои мысли по следующей схеме:

- Что хотим?
- KPI и ограничения
- Бэйзлайн
- Формализация задачи
- Данные
- Модель
- Метрики
- Потенциальные проблемы
- Деплой

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

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

🤔 Что хотим? Описывал как я понял задачу и хотелки заказчика. Уточнял у интервьюера так ли это.

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

🤔 Бейзлайн. Перед тем, как строить звездолет, надо понять а надо ли вообще его строить. Собираем бейзлайн на эвристиках и смотрим есть ли какой-то профит в АБ. В этой части я описывал такой бейзлайн.

🤔 Формализация задачи. Любая задача допускает разные формализации. К тому же ранжированию можно подходить с трёх сторон: pointwise/pairwise/listwise. Я описывал разные способы, выбирал какой-то один, обосновывал выбор и останавливался на нём. Рассказывал как буду варить таргет. Если по логам, прикидывал формулу для этого. Если с помощью разметки, описывал как она будет устроена, обязательно упоминал про active learning. Это модно.

🤔 Данные. Рассказывал про то, откуда буду брать фичи. Какие буду считать по юзеру, какие по айтемам, какие по контексту (время суток,локация и тп). Рассказывал про нейросетевые фичи и матричные факторизации, если они к месту. Важно проговорить как дробим выборку на train/val/test. По юзерам/айтемам/времени, почему именно так.

🤔 Модель. Скорее всего, итоговая система будет состоять из нескольких частей. Что-то в стиле: отбор кандидатов —> тяжёлая формула—> реранкеры. Проговаривал как будет работать каждая часть, на какую функцию потерь будем учиться. Как оцениваем качество разных частей и системы целиком.

🤔 Метрики. Проговаривал как будем делать приёмку. Если возможно провести АБ, то его схему и метрики для приемки.

🤔 Проблемы. В этот раздел я закидывал проблемы, о которых надо будет обязательно подумать. Лики в данных, feedback loop, низкое покрытие базы, холодный старт, что делать с новыми айтемами, дрифт в данных и тп

🤔 Деплой. Как считаем фичи. Какими пачками. Как передаём их в модель. Вместе с запросом или из какого-то key-value хранилища. Какая примерно будет нагрузка на сервис. Сколько машин просить у разработки. Жизненный цикл модели. Когда она умирает, какими метриками и мониторингами покрыть. Когда обновлять.

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

- Персонализация рекламы в социальной сетке
- Прайминг в маркетплейсе
- Мэтчинг товаров в маркетплейсе
- Рекомендательная система с видосами либо товарами
- Антифрод-система для поиска роботов и накруток в инстаграме
- Как в комментариях найти спам
- Поисковая система по товарам/документам
- Выдача саджестов в поисковой системе
- Предсказание точки, куда поедет человек при вызове такси
- Предсказание времени доставки заказа из ресторана
PatrickHalina.com ML Systems Design Interview Guide · Patrick Halina My guide to ML Systems Design interview questions for ML Engineers, Data Scientists and ML Managers.
  • 👍 32
  • 🔥 16
  • 😢 3
More from @gradientdip
  1. Feb 3, 2025Инженер LLM (Оптимизация и RL Alignment) Стартап в области безопасности ИИ Чем предстоит з…
  2. Oct 24, 2023🔥TensorRT-LLM 👉Ваш любимый нейронный ускоритель получил расширение! TensorRT - движок, к…
  3. Oct 15, 2023🧹Scrapper Инструмент для парсинга страниц с JS. Работает в докере, можно обращаться по ап…
  4. Oct 6, 2023🏅А кто сегодня молодец и взял Trending paper на Hugging Face, обогнав Google DeepMind и C…
  5. Oct 6, 2023Всем привет, мы строили строили и наконец построили! Первая супер-библиотека по spelling c…
  6. Oct 3, 2023⚡️Началось открытое голосование за номинантов премии HighLoad++. Среди прочих достойных но…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →