Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
max.sh avatar

max.sh

Карьера, образование и исследования в мире AI через призму собственного опыта.
Канал ведет Макс Шапошников, Applied Scientist в FAANG. Профессионально ловлю CUDA OOM.
Cвязь в тг - @PorcelainFox
Коннект в Linkedin - https://www.linkedin.com/in/maxshapp/
TGlist 评分
0
0
类型公开
验证
未验证
可信度
不可靠
位置
语言其他
频道创建日期Dec 03, 2024
添加到 TGlist 的日期
Feb 11, 2025
关联群组

"max.sh" 群组最新帖子

📊 Сравнительная таблица Ростера OpenAI моделей на разных бенчмарках

Источник

Я много пользуюсь для кодогенерации по API, тоже для бенчмарков, и в целом корреляция стоимости токена модели с финальным качеством действительно похожа на репорты с открытых бенчмарков.

Субъективно, эффективность/компактность/ instruction following генерируемого кода у гпт моделей тоже лучше, чем у Антропиков. И при этом у всех оставляет желать лучшего.
🤩 NLP ML Engineer в SberDevices

Авторская орфография сохранена

#интервью

Ник автора в тг - Анонимно

Название комании, можете указать ссылку или коротко описать что за место - SberDevices
Как подались на вакансию - Реферал

🔥 Субъективно Сложность процесса по 10 бальной шкале - 5


Когда начали процесс - Октябрь 2023
Когда закончили процесс - Ноябрь 2023


Позиция, на которую собеседовались - NLP ML Engineer
Грейд на который собеседовались (если известно) -Middle
Локация вакансии - Москва

🔥 Расскажите про этапы собеседований

1) Разговор с HR (20-30 минут)
Прошлись по опыту и по CV, потом немного про ожидания. В общем, все очень стандартно.

2) Python (60 минут)
Сначала был блитц-тест. На половину вопросов я не ответил... Примеры вопросов: что такое mutable-immutable типы, перечисли разные структуры данных, что полезного есть в collections. Помню, что в конце спросили про GIL))
Потом задачи LeetCode уровня Easy-Medium. Что-то простое на графах, что-то на бинпоиск. Я решил три или четыре задачи, интервьюер сразу сказал, что все в порядке и я прошел собес.

3) Classical ML (60 минут)
У собеса были 3 части. Первая - про метрики классификации, вторая - про ансамбли и уже не помню, что было на третьей.
В целом все было несложно. Нет каких-нибудь сложных алгоритмов, с головой хватает ML-1 или хэндбука Яндекса, но могут задать много каверзных вопросов на понимание. Точно помню бомбардировку вопросами про ROC-AUC.

4) NLP (60 минут)
Сначала меня спросили про последние статьи, которые я читал. Тут мне повезло, я рассказал про статью, которую недавно рассказывал на НИСе.
Потом про transformerы, очень досконально про attention, примеры encoder only, decoder only моделей. Что-то было про стадии обучения LLM.
Это был самый сложный для меня собес, но тут скорее потому что я не очень много видел в NLP и не проходил собесов

5) Финал (40-50 минут)
Небольшой кейс (как оказалось из текущих задач команды) и разговор за жизнь.


⏺ Что понравилось:

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


Итоги собеседования, например оффер или отказ, или что-то другое: Offer (принятый)
Информация про Total Compensation (если желаете): N/A

@max_dot_sh

Примечание автора канала: В комментарии закинул немного своих полезных ссылок про ML Breadth 👇
Пятница - время историй с отзывами на собесы про ML роли. Сегодня в подборке отзыв подписчика на NLP инженера в LLM команду в SberDevices.
💡 Концепт дня ( и фреймворк тоже) - Re-prompting для LLM-ов. Например, через Instructor

1️⃣ Что такое re-prompting ?

Большое количество практически полезных LLM приложений завязаны на то, что мы ожидаем от модели ответ в определенном формате. Один из популярных - JSON. Реально же это может быть что угодно: и xml разметка, и аннотация определенных строк (условно, line by line label tagging) или markdown, etc. Более того, могут накладываться ограничения не только на общий формат ответа, но и на его атрибуты. Например, можно попросить сгенерировать модель синтетических юзеров с валидными username и email заданных регвырами.

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

В такой ситуации можно определить свои механизмы валидации ответа (более общее название Guardrails) модели и если ответ не проходит проверки, отправить фидбэк с ошибкой (указав, что именно сгенерировано неверно) обратно в модель и попросить решить задачу еще раз с учетом фидбэка. Это и есть Re-prompting. Или Retry-Based Structured Generation. Суть подхода на картинке к посту.

2️⃣ В каких случаях может понадобиться re-prompting ?

⏺️Если вы работаете с API профвайдером LLM-ки, который не поддерживает явно структурную генерацию (Structured Output, или SO), а она нужна. Например, у антропика такого нет. У OpenAI есть, но кажется многие типы он не поддерживает. И еще у них есть свой Constrained Decoding для JSON схемы на основе грамматик.

⏺️Или если у вас сложная кастомная структура, которую провайдер из коробки не поддеррживает.

⏺️Или если вы работаете с своей локальной моделью у которой вообще нет никаких внешних валидаторов.

Кстати, про локальные модели хочу рассказать в другом посте. Так как есть доступ к логитам и соответствующим токенам, то можно явно реализовать Constraint Decoding, задав свою грамматику (Context-Free-Grammar, движков с реализациями много) и контролировать поведение каждого генерируемого токена в соответствии с грамматикой.



3️⃣ Что такое Instructor

Очень популярная библиотека совместимая почти со всеми провайдерами, локальными и API. Реализует концепцию re-prompting-а для JSON схем, которые можно описать с помощью Pydantic. На сайте много примеров того, что и как можно задать

⏺ Плюсы: легко начать использовать. Поддерживает все, что есть в Pydantic. Куча провайдеров. Хорошая документация и активное коммьюнити.

⏺ Минусы: Это не Constraint Decoding, это просто валидация того, что выход соответствует схеме. И если нет - то надежда, что модель справится со второй попытки, или третьей...а может не справиться вообще. Никаких гарантий нет. Как следует из предыдущего предложения - это увеличивает цену инференса как по стоимости, так и по latency. Опять-таки, если каждый второй запрос падает с ошибкой парсинга - следует менять модель. Но все же посыл про рост цены понятен. Так же, все что за пределами JSON-а - мимо, нужно все равно быть готовым писать свои валидаторы; библиотека не что-то универсально предотвращающее ошибки.

Happy Learning!

#гайд #обзор #фреймворк

@max_dot_sh
📎Рисерч стажировки в биг техе. Часть 2. Структура Интервью

➡️Как подготовиться к LeetCode?
Неожиданностей тут не будет - задачи уровня медиум с литкода. Гайдов в сети много. На мой взгляд самый рабочий - это купить литкод премиум на пару месяцев и отсортировать задачи по частоте по заданной компании за последние 1-2 месяца. Скорее всего вам выпадет в процессе 1-2 задачи из тех, что нарешаете из этого топа.

➡️Как подготовиться к ML Coding?
Писал про этот тип раунда тут. Могут попросить написать реализацию МЛ/DL алгоритма в упрощенном виде (kmeans кластеризация, градиентный спуск, backprop, реализовать self-attention, ...). Самая лучшая подготовка - это пройти по самым частым алгоритмам и убедиться, что есть понимание как их реализовывать.

➡️Как подготовиться к ML Breadth?
Здесь нужно быть готовым, что будут задавать серию вопросов на фундаментальные ML/DL штуки. Вопросы зачастую на понимание и зазубрить очень сложно. Скорее нужно на достаточном уровне понимать суть и быть готовым порассуждать вокруг. Например, могут спросить что такое выпуклая функция, почему они важны в алгоритмах ML. Или что такое градиентный спуск и как можно использовать вторые производные в оптимизационных алгоритмах? Не нужно знать ответ на все вопросы, но ожидают, что вы сможете углубляться на 1-2 вопроса.

На мой взгляд best shot в условиях ограниченного времени - это прошерстить все ML вопросы на математику/статистику из Machine Learning Interviews Book

➡️Как подготовиться к ML Depth?
Здесь будут вопросы про домен, в котором вы разбираетесь. Обычно беседа строится вокруг вопроса: "расскажите про свой проект?" и дальше развивается в нескольих направлениях: 1) специфичные вопросы про проект (что за задача, какие были данные, какие методы применлись, как оценивались результаты), 2) теоретические вопросы (если применяли BERT, то рассказать, как он работает, в чем особенности, почему не RNN) 3) нетехнические вопросы (как приоритизировались эксперименты, какие были таймлайны, какая была ваша роль). То есть в итоге получается беседа, в которой смешана проверка книжных знаний (как устроен конкретный алгоритм) с вашими реальным опытом применения (как адаптировали алгоритм под вашу задачу и как работали в команде). Лучшая подготовка - хорошо прописать несколько ваших топовых проектов в деталях и сделать мок с коллегами/друзьями, чтобы нащупать слабые места повествования.

➡️Как подготовиться к ML Design?
Тут ситуация от ML Depth отличается только тем, что вам будет дана задача и нужно будет свести ее к ML решению. Обсудить с интервьюером все ограничения, обговорить метрики, предложить, как можно адаптировать известные методы и как довести это до прода. Для прохождения нужно хорошо понимать типовую структуру таких интервью - много примеров разобрано в книге тут. С приходом AI лихорадки, интервью изменились и стало много ML дизайна именно вокруг LLM приложений. Есть свежая книга тут (сам пока еще не читал).

➡️ Как подготовиться к Tech Talk?
Только для PhD студентов и то не всегда. Презентация вашего рисерча на час для команды.

➡️ Как подготовиться к Behavioural вопросам?
Подготовить истории по LP принципам. Отточить навык разговорного английского. То, насколько комфортно вас слушать - это очень большой сигнал для собеседующих.

➡️Из чего состоит скриниг?
60 минут, 1 лит код (обязательно) + небольшой ML breadth + 1 behavioural вопрос (обязательно).
Могут поставить дополнительный раунд с командой для PhD студентов, которая выбрала из пула. тут уже могут сфокусироваться на ml depth части.

➡️Как выглядит mini-loop?

Для MS:
* Первый раунд: Литкод / ML Coding + 1 behavioural.
* Второй раунд: ML Design / ML Breadth + 1 behavioural

Для PhD студентов:
* может быть дополнительный раунд про ML Breadth + 1 behavioural,
* совсем редко могут поставить Tech Talk, но скорее чтобы послушать вас с целью оценки навыков коммуникации

Как видно, бихейв вопросы есть всегда, они имеют очень большой вес

#карьера #гайды

🔖 Буду рад ответить на вопросы в комментариях, если есть
🤩 Foinding ML Engineer в Atla.ai, London


Авторская орфография сохранена

#интервью

Ник автора в тг - Анонимно

Название комании, можете указать ссылку или коротко описать что за место - Atla.AI (примечание от автора канала: Сайт компании. YC стартап в области AI Evaluation - когда модели оценивают другие модели, LLM as a judge и вот это все)

Расскажите немного о себе, своем бэкграунде - Senior ML Engineer в фаанге. Специализируюсь на скейлинге вычислений.

Как подались на вакансию - нашел пост в канале Лунапарка (примечание автора канала: насколько я понимаю, речь про тг канал с вакансиями @hrlunapark)

🔥 Субъективно Сложность процесса по 10 бальной шкале - 6


Когда начали процесс - Август 2024

Когда закончили процесс - Сентябрь-Октябрь 2024


Позиция, на которую собеседовались (Дополнительно можете рассказать, какие ожидания от этой роли в компании) - Founding ML Engineer. По большому счету единственный МЛ инженер в компании. Все остальные - это рисерчеры с phd по AI из универов. От роли было ожидание, чтобы настроить инфру, чтобы гонять файн-тюны моделей разных размеров: 1) чтобы и скорость обучение была удовлетворительная 2) и данные гонялись удобно и 3) инференс оптимизировать.

Грейд на который собеседовались (если известно) - N/A

Локация вакансии - London

🔥 Расскажите про этапы собеседований

Скриниг Созвон с фаундером на полчаса про мотивацию, предыдущий опыт работы. Немного бихейв вопросов

Скрининг 2 Скрининг на 1.5 часа. Первый час ML кодинг на знание transformers. Кастомный сэмплинг нужен был и свой generate написать. Потом попрофилировать инференс. Можно было гуглить. Последние 15-20 минут с HR-ом на бихейв вопросы. (примечание от автора канала: подробно писал про ML Coding секцию здесь)

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

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

Онсайт
- ML дизайн раунд у доски, проектировали масштабируемую систему для экспериментов
- Еще один раунд ревью ДЗ, теперь с их рисерчерами. 2 человека. Спрашивали интересные вопросы про типы данных, виды аттеншна, как держать большой контекст в ллм-ах. Один чел ex OpenAI, очень толково поговорили про DPO
- Бихейв интервью про мотивацию

Оффер Нескольо раз созванивались договариваться об оффере.

⏺ Что понравилось:
- Очень быстрый процесс. Ребята возвращались с фидбэком через несколько дней после секции.
- Когда сомневался в оффере, то поставили созвон с представителями ведущего инвестора стартапа. Был новый необычный опыт общения. Сидят там на мой взгляд точно такие же обычные люди: верят в компанию - дают денег; не особо верят - дают мало. Все очень на глаз делается.


⏺ Что не понравилось:
- На сайте вакансии и в объяслвении потолок зп был в £250 бэйза и свреху стоки. По факту этим и не пахло. Фаундер честно сказал, что поставили такую цифру, чтобы увеличить воронку.
- Дублирующие раунды
- Долго торговались.


Итоги собеседования, например оффер или отказ, или что-то другое (Если не приняли оффер, то почему. Если отказ, то что сказали): Offer (отказ). Долго думал, но в итоге пришел к выводу, что сам не верю в то, что они делают. LLM-ы чтобы оценивать LLM-ы - это круто. Но кто будет платить за это по API? не убедил себя. к тому же сид раунд ребят на 5M кажется слишком малеьнким для такой амбициозной штуки.

Информация про Total Compensation (если желаете): £195K бэйз и £70K стоки в год. Выбил такие условие после 3 раундов переговоров, сначала бэйз был на уровне £165
Senior ML Engineer в Apple Music, London 😮

Авторская орфография сохранена


#интервью

Ник автора в тг - Анонимно

Название комании, можете указать ссылку или коротко описать что за место - Apple, продукт Apple Music

Как подались на вакансию - рекрутер сам вышел на меня

🔥 Субъективно Сложность процесса по 10 бальной шкале - 4


Когда начали процесс - 02/24

Когда закончили процесс - 04/24


Позиция, на которую собеседовались - Senior ML Systems Engineer

Грейд на который собеседовались (если известно) - ICT4 (примечание от автора канала: расшифровывается как Individual Contributor L4, соответствует позиции Senior, сравнение с другими биг техами можно найти на levels.fyi)

Локация вакансии - London

🔥 Расскажите про этапы собеседований

Хочу отметить, что собеседования в Apple являются team-specific, и нет каких то общих этапов. Поэтому опыт собеседований в другие команды может сильно отличаться

1) Screen with Hiring manager
Вопросы про предыдущий опыт, чтобы понять есть ли потенциальный fit

2) Coding screen interview
Есть уже готовый сэмпл кода на питоне, нужно было встроить в него нужную логику.
Найти имеющиеся в коде слабые места, предложить способы улучшения, и реализовать фиксы.
По итогу получается смесь из литкода и чего то более приближенного к day-to-day job.

Onsite (5 секций)

3-4) Behavioural - классические вопросы для поведенческих интервью. Не знаю зачем, но в Apple Music зачем то проводят 2 behavioural собеседования с разными людьми.

5) ML System Design - стандартный вопрос из разряда "design of next song recommendation system".

6) ML Coding - по большей части это собеседование было очень похоже на предыдущее, но с уклоном в прототипирование кода

7) Data Engineering - нужно было решить алгоритмическую задачку связанную с обработкой данных. Не смотря на название этапа, это собеседование в большей степени было похоже на обычные leetcode секции.


⏺ Что понравилось:
- было приятно поговорить с менеджером еще до начала собеседований

⏺ Что не понравилось:
- этапы не слишком хорошо продуманы - есть явное дублирование, не смотря на разные названия этапов.
- названия часто не отражают сути происходящего - сильно мешает целенаправленно готовиться
- секретность часто не позволяет интервьюерам честно отвечать на вопросы, что сильно мешает узнавать релевантную информацию для принятия решений



Итоги собеседования, например оффер или отказ, или что-то другое: Offer (принятый)

Информация про Total Compensation (если желаете): 120k base + 50k sign-on bonus + 400k stocks (по ощущениям это был максимум на который Apple мог согласиться).
примечание от автора канала: детали зарплаты в фунтах, стоки выдаются с вестингом на 4 года, то есть условно по 25% становятся доступными в год, но реальные доли могут отличаться (10,20,30,40 или 5, 15, 40, 40).
Когда я начал вести канал, то заинтересовался похожими авторскими проектами на тему образования, технологий, карьеры и машинного обучения.

Обнаружил канал Андрея Созыкина - https://t.me/a_sozykin

Андрей записывает классные видео курсы ( да, у него большой ютуб канал на 125к!) для начинающих на разные темы: про Компьютерные сети, по основам SQL и Python, различным главам в машинном обучении. Очень давно я ставил первые куда драйверы для тензорфлоу как раз по его туториалу 😄

А еще мне посчастливилось учиться у Андрея в живую - он вел курс у меня на мат-мехе по компьютерным сетям. Его курс был одним из хайлайтов учебной программы: все очень понятно и подробно на лекциях, а потом классные практики.

В общем, рекомендую канал Андрея всем, кто делает первые шаги в МЛ, начинает путь в Аналитике и Анализе Данных и активно интересуется образованием в AI технологиях.

У него еще и много интересного про образовательные проекты в IT на базе разных университетов, поэтому прикольно следить еще и в этом направлении)
Интересный опрос в канале у @smirnovevgeny, Head of ML Лаборатории в Альфа-Банке про карьеру в ML, зарплатные вилки, географию, грейды и образование. Будет очень интересно посмотреть на результаты в контексте количество переработанных часов -> компенсация - есть ли тут корреляци, а самое главное какая. Порадовало, что такой вопрос вообще есть 😄

заполнить гугл форму можно тут
Результаты будут в канале
✨Интересный релиз сегодня в мире Text To Speech. Некоторая компания Zyphra (первый раз о них слышу, но судя по описанию занимаются мультимодальными моделями) выпустили в опен соурс модель Zonos-v0.1: гитхаб, блогпост c сэмплами.

Самое главное
- модель всего на 1.6B (есть трансформерный и SSM варианты)
- 2 RT на 4090
- лицензия Apache 2.0 😮
- $ 0.02 за минуту речи через API Zyphra.
- поддерживает пока English, Japanese, Chinese, French,German
- рекламируют сильный Zero-shot режим, достаточно 10-30 секундного сэмпла.
- хвастаются, что on par или местами даже лучше проприетарных моделей. На странице много сэмплов сравнения с ElevenLabs.

По поводу последнего пункта, что они лучше кого-либо - пока оставим под вопросом. Сравнительные метрики по какой-либо из осей (экспрессивность, робастность, speaker similarity) авторы не прикладывают. Но честно пишут
During testing we observed a higher concentration of audio artifacts at the beginning and end of generations compared to proprietary models. Common artifacts include coughing, clicking, laughing, squeaks, and heavy breathing. Additionally, due to our unstructured autoregression approach, our model can sometimes make mistakes in text alignment and either skip over or repeat certain words, especially in out-of-distribution sentences.


Так что вопросов с качеством аудио, галлюцинациями и консистентностью синтеза у этой модели, думаю, пока еще много. Потому и метрики отсутствуют. Релиз все равно заметный - в первую очередь именно из-за лицензии - Apache 2.0, позволяющая коммерческое использование в своих целях, что конечно большой-большой плюс для создания конкуренции ElevenLabs (которые ну оч дорогие).

Архитектура
На входе текст; нормализуется и переводится в фонемы. Они идут на вход в трансформер вместе с эмбеддингами эмоций (можно явно контролировать набор эмоций типа sadness, fear, anger, happiness, and surprise), отдельными эмбеддингами для speaking rate, pitch, sample rate, audio quality. Далее авторегрессионо предсказываюстя аудио токены. Аудио токены берутся из предобученного кодека DAC (descript audio codec, гитхаб, позволяет сжать 44.1 KHz аудио в дискретные коды в 8 kbps bitrate). Каждый аудио токен - это на самом деле композиция эмбеддингов из 9 codebooks. Поэтому чтобы предсказать 1 аудио токен, в реальности нужно сделать 9 авторегрессионных шагов. Чтобы сделать инференс адекватным используется Delay Pattern (часто возникающий концепт в авторегрессионном TTS, вот оригинальная статья, но когда-нибудь дойдут руки написть friendly guide) в связке с multi-token prediction (одной головой предсказываются сразу несколько токенов из соответствующих codebooks). Картинка 1 иллюстрирует саму архитектуру.

Обучение
200K данных в обучении, в основном английский. В данных и экспрессивная речь, и аудиокниги. Учили в два шага: 1) 70% обучения только текст и эмбеддинг спикера, 2) 30% оставшегося обучения добавили эмбеддинги эмоций, и прочих и обучали на данных чуть лучшего качества. Говорят, что так получается повысить робастность.

Интересное
Вместе с трансформерной версией доступна еще и аналогичная SSM модель (на основе Mamba 2). Авторы прикладывают график, что чем длинее синтез, тем эффективнее SSM (на 20 % быстрее трансформерного аналоги). Так же у SSM варианта чуть лучше time to first token показатели. Отличается ли SSM вариант от трансформера по качеству - остается за кадром.

В заключение
Статьи нет, только много сэмплов и чутка графиков. Скорее всего у модели на практике будут ощутимые сложности с аудио артефактками и галлюцинациями (Скоро сам потестирую руками на большом наборе данных в робастности и ZS Voice Cloning-е). Будем ждать новых релизов, авторы обещают новую версию в скором времени.

#статья #новости

记录

28.04.202523:59
985订阅者
10.02.202523:59
0引用指数
15.02.202523:59
3.4K每帖平均覆盖率
09.04.202507:57
405广告帖子的平均覆盖率
12.04.202500:16
11.71%ER
11.02.202503:36
2194.87%ERR

max.sh 热门帖子

11.04.202520:09
📎Рисерч стажировки в биг техе. Часть 2. Структура Интервью

➡️Как подготовиться к LeetCode?
Неожиданностей тут не будет - задачи уровня медиум с литкода. Гайдов в сети много. На мой взгляд самый рабочий - это купить литкод премиум на пару месяцев и отсортировать задачи по частоте по заданной компании за последние 1-2 месяца. Скорее всего вам выпадет в процессе 1-2 задачи из тех, что нарешаете из этого топа.

➡️Как подготовиться к ML Coding?
Писал про этот тип раунда тут. Могут попросить написать реализацию МЛ/DL алгоритма в упрощенном виде (kmeans кластеризация, градиентный спуск, backprop, реализовать self-attention, ...). Самая лучшая подготовка - это пройти по самым частым алгоритмам и убедиться, что есть понимание как их реализовывать.

➡️Как подготовиться к ML Breadth?
Здесь нужно быть готовым, что будут задавать серию вопросов на фундаментальные ML/DL штуки. Вопросы зачастую на понимание и зазубрить очень сложно. Скорее нужно на достаточном уровне понимать суть и быть готовым порассуждать вокруг. Например, могут спросить что такое выпуклая функция, почему они важны в алгоритмах ML. Или что такое градиентный спуск и как можно использовать вторые производные в оптимизационных алгоритмах? Не нужно знать ответ на все вопросы, но ожидают, что вы сможете углубляться на 1-2 вопроса.

На мой взгляд best shot в условиях ограниченного времени - это прошерстить все ML вопросы на математику/статистику из Machine Learning Interviews Book

➡️Как подготовиться к ML Depth?
Здесь будут вопросы про домен, в котором вы разбираетесь. Обычно беседа строится вокруг вопроса: "расскажите про свой проект?" и дальше развивается в нескольих направлениях: 1) специфичные вопросы про проект (что за задача, какие были данные, какие методы применлись, как оценивались результаты), 2) теоретические вопросы (если применяли BERT, то рассказать, как он работает, в чем особенности, почему не RNN) 3) нетехнические вопросы (как приоритизировались эксперименты, какие были таймлайны, какая была ваша роль). То есть в итоге получается беседа, в которой смешана проверка книжных знаний (как устроен конкретный алгоритм) с вашими реальным опытом применения (как адаптировали алгоритм под вашу задачу и как работали в команде). Лучшая подготовка - хорошо прописать несколько ваших топовых проектов в деталях и сделать мок с коллегами/друзьями, чтобы нащупать слабые места повествования.

➡️Как подготовиться к ML Design?
Тут ситуация от ML Depth отличается только тем, что вам будет дана задача и нужно будет свести ее к ML решению. Обсудить с интервьюером все ограничения, обговорить метрики, предложить, как можно адаптировать известные методы и как довести это до прода. Для прохождения нужно хорошо понимать типовую структуру таких интервью - много примеров разобрано в книге тут. С приходом AI лихорадки, интервью изменились и стало много ML дизайна именно вокруг LLM приложений. Есть свежая книга тут (сам пока еще не читал).

➡️ Как подготовиться к Tech Talk?
Только для PhD студентов и то не всегда. Презентация вашего рисерча на час для команды.

➡️ Как подготовиться к Behavioural вопросам?
Подготовить истории по LP принципам. Отточить навык разговорного английского. То, насколько комфортно вас слушать - это очень большой сигнал для собеседующих.

➡️Из чего состоит скриниг?
60 минут, 1 лит код (обязательно) + небольшой ML breadth + 1 behavioural вопрос (обязательно).
Могут поставить дополнительный раунд с командой для PhD студентов, которая выбрала из пула. тут уже могут сфокусироваться на ml depth части.

➡️Как выглядит mini-loop?

Для MS:
* Первый раунд: Литкод / ML Coding + 1 behavioural.
* Второй раунд: ML Design / ML Breadth + 1 behavioural

Для PhD студентов:
* может быть дополнительный раунд про ML Breadth + 1 behavioural,
* совсем редко могут поставить Tech Talk, но скорее чтобы послушать вас с целью оценки навыков коммуникации

Как видно, бихейв вопросы есть всегда, они имеют очень большой вес

#карьера #гайды

🔖 Буду рад ответить на вопросы в комментариях, если есть
08.04.202513:06
🤩 Foinding ML Engineer в Atla.ai, London


Авторская орфография сохранена

#интервью

Ник автора в тг - Анонимно

Название комании, можете указать ссылку или коротко описать что за место - Atla.AI (примечание от автора канала: Сайт компании. YC стартап в области AI Evaluation - когда модели оценивают другие модели, LLM as a judge и вот это все)

Расскажите немного о себе, своем бэкграунде - Senior ML Engineer в фаанге. Специализируюсь на скейлинге вычислений.

Как подались на вакансию - нашел пост в канале Лунапарка (примечание автора канала: насколько я понимаю, речь про тг канал с вакансиями @hrlunapark)

🔥 Субъективно Сложность процесса по 10 бальной шкале - 6


Когда начали процесс - Август 2024

Когда закончили процесс - Сентябрь-Октябрь 2024


Позиция, на которую собеседовались (Дополнительно можете рассказать, какие ожидания от этой роли в компании) - Founding ML Engineer. По большому счету единственный МЛ инженер в компании. Все остальные - это рисерчеры с phd по AI из универов. От роли было ожидание, чтобы настроить инфру, чтобы гонять файн-тюны моделей разных размеров: 1) чтобы и скорость обучение была удовлетворительная 2) и данные гонялись удобно и 3) инференс оптимизировать.

Грейд на который собеседовались (если известно) - N/A

Локация вакансии - London

🔥 Расскажите про этапы собеседований

Скриниг Созвон с фаундером на полчаса про мотивацию, предыдущий опыт работы. Немного бихейв вопросов

Скрининг 2 Скрининг на 1.5 часа. Первый час ML кодинг на знание transformers. Кастомный сэмплинг нужен был и свой generate написать. Потом попрофилировать инференс. Можно было гуглить. Последние 15-20 минут с HR-ом на бихейв вопросы. (примечание от автора канала: подробно писал про ML Coding секцию здесь)

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

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

Онсайт
- ML дизайн раунд у доски, проектировали масштабируемую систему для экспериментов
- Еще один раунд ревью ДЗ, теперь с их рисерчерами. 2 человека. Спрашивали интересные вопросы про типы данных, виды аттеншна, как держать большой контекст в ллм-ах. Один чел ex OpenAI, очень толково поговорили про DPO
- Бихейв интервью про мотивацию

Оффер Нескольо раз созванивались договариваться об оффере.

⏺ Что понравилось:
- Очень быстрый процесс. Ребята возвращались с фидбэком через несколько дней после секции.
- Когда сомневался в оффере, то поставили созвон с представителями ведущего инвестора стартапа. Был новый необычный опыт общения. Сидят там на мой взгляд точно такие же обычные люди: верят в компанию - дают денег; не особо верят - дают мало. Все очень на глаз делается.


⏺ Что не понравилось:
- На сайте вакансии и в объяслвении потолок зп был в £250 бэйза и свреху стоки. По факту этим и не пахло. Фаундер честно сказал, что поставили такую цифру, чтобы увеличить воронку.
- Дублирующие раунды
- Долго торговались.


Итоги собеседования, например оффер или отказ, или что-то другое (Если не приняли оффер, то почему. Если отказ, то что сказали): Offer (отказ). Долго думал, но в итоге пришел к выводу, что сам не верю в то, что они делают. LLM-ы чтобы оценивать LLM-ы - это круто. Но кто будет платить за это по API? не убедил себя. к тому же сид раунд ребят на 5M кажется слишком малеьнким для такой амбициозной штуки.

Информация про Total Compensation (если желаете): £195K бэйз и £70K стоки в год. Выбил такие условие после 3 раундов переговоров, сначала бэйз был на уровне £165
💡 Концепт дня ( и фреймворк тоже) - Re-prompting для LLM-ов. Например, через Instructor

1️⃣ Что такое re-prompting ?

Большое количество практически полезных LLM приложений завязаны на то, что мы ожидаем от модели ответ в определенном формате. Один из популярных - JSON. Реально же это может быть что угодно: и xml разметка, и аннотация определенных строк (условно, line by line label tagging) или markdown, etc. Более того, могут накладываться ограничения не только на общий формат ответа, но и на его атрибуты. Например, можно попросить сгенерировать модель синтетических юзеров с валидными username и email заданных регвырами.

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

В такой ситуации можно определить свои механизмы валидации ответа (более общее название Guardrails) модели и если ответ не проходит проверки, отправить фидбэк с ошибкой (указав, что именно сгенерировано неверно) обратно в модель и попросить решить задачу еще раз с учетом фидбэка. Это и есть Re-prompting. Или Retry-Based Structured Generation. Суть подхода на картинке к посту.

2️⃣ В каких случаях может понадобиться re-prompting ?

⏺️Если вы работаете с API профвайдером LLM-ки, который не поддерживает явно структурную генерацию (Structured Output, или SO), а она нужна. Например, у антропика такого нет. У OpenAI есть, но кажется многие типы он не поддерживает. И еще у них есть свой Constrained Decoding для JSON схемы на основе грамматик.

⏺️Или если у вас сложная кастомная структура, которую провайдер из коробки не поддеррживает.

⏺️Или если вы работаете с своей локальной моделью у которой вообще нет никаких внешних валидаторов.

Кстати, про локальные модели хочу рассказать в другом посте. Так как есть доступ к логитам и соответствующим токенам, то можно явно реализовать Constraint Decoding, задав свою грамматику (Context-Free-Grammar, движков с реализациями много) и контролировать поведение каждого генерируемого токена в соответствии с грамматикой.



3️⃣ Что такое Instructor

Очень популярная библиотека совместимая почти со всеми провайдерами, локальными и API. Реализует концепцию re-prompting-а для JSON схем, которые можно описать с помощью Pydantic. На сайте много примеров того, что и как можно задать

⏺ Плюсы: легко начать использовать. Поддерживает все, что есть в Pydantic. Куча провайдеров. Хорошая документация и активное коммьюнити.

⏺ Минусы: Это не Constraint Decoding, это просто валидация того, что выход соответствует схеме. И если нет - то надежда, что модель справится со второй попытки, или третьей...а может не справиться вообще. Никаких гарантий нет. Как следует из предыдущего предложения - это увеличивает цену инференса как по стоимости, так и по latency. Опять-таки, если каждый второй запрос падает с ошибкой парсинга - следует менять модель. Но все же посыл про рост цены понятен. Так же, все что за пределами JSON-а - мимо, нужно все равно быть готовым писать свои валидаторы; библиотека не что-то универсально предотвращающее ошибки.

Happy Learning!

#гайд #обзор #фреймворк

@max_dot_sh
18.04.202511:53
🤩 NLP ML Engineer в SberDevices

Авторская орфография сохранена

#интервью

Ник автора в тг - Анонимно

Название комании, можете указать ссылку или коротко описать что за место - SberDevices
Как подались на вакансию - Реферал

🔥 Субъективно Сложность процесса по 10 бальной шкале - 5


Когда начали процесс - Октябрь 2023
Когда закончили процесс - Ноябрь 2023


Позиция, на которую собеседовались - NLP ML Engineer
Грейд на который собеседовались (если известно) -Middle
Локация вакансии - Москва

🔥 Расскажите про этапы собеседований

1) Разговор с HR (20-30 минут)
Прошлись по опыту и по CV, потом немного про ожидания. В общем, все очень стандартно.

2) Python (60 минут)
Сначала был блитц-тест. На половину вопросов я не ответил... Примеры вопросов: что такое mutable-immutable типы, перечисли разные структуры данных, что полезного есть в collections. Помню, что в конце спросили про GIL))
Потом задачи LeetCode уровня Easy-Medium. Что-то простое на графах, что-то на бинпоиск. Я решил три или четыре задачи, интервьюер сразу сказал, что все в порядке и я прошел собес.

3) Classical ML (60 минут)
У собеса были 3 части. Первая - про метрики классификации, вторая - про ансамбли и уже не помню, что было на третьей.
В целом все было несложно. Нет каких-нибудь сложных алгоритмов, с головой хватает ML-1 или хэндбука Яндекса, но могут задать много каверзных вопросов на понимание. Точно помню бомбардировку вопросами про ROC-AUC.

4) NLP (60 минут)
Сначала меня спросили про последние статьи, которые я читал. Тут мне повезло, я рассказал про статью, которую недавно рассказывал на НИСе.
Потом про transformerы, очень досконально про attention, примеры encoder only, decoder only моделей. Что-то было про стадии обучения LLM.
Это был самый сложный для меня собес, но тут скорее потому что я не очень много видел в NLP и не проходил собесов

5) Финал (40-50 минут)
Небольшой кейс (как оказалось из текущих задач команды) и разговор за жизнь.


⏺ Что понравилось:

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


Итоги собеседования, например оффер или отказ, или что-то другое: Offer (принятый)
Информация про Total Compensation (если желаете): N/A

@max_dot_sh

Примечание автора канала: В комментарии закинул немного своих полезных ссылок про ML Breadth 👇
📊 Сравнительная таблица Ростера OpenAI моделей на разных бенчмарках

Источник

Я много пользуюсь для кодогенерации по API, тоже для бенчмарков, и в целом корреляция стоимости токена модели с финальным качеством действительно похожа на репорты с открытых бенчмарков.

Субъективно, эффективность/компактность/ instruction following генерируемого кода у гпт моделей тоже лучше, чем у Антропиков. И при этом у всех оставляет желать лучшего.
18.04.202511:52
Пятница - время историй с отзывами на собесы про ML роли. Сегодня в подборке отзыв подписчика на NLP инженера в LLM команду в SberDevices.
登录以解锁更多功能。