Пятница, время нового поста с отзывами на собесы в интересные места. Сегодня делюсь опытом одного из подписчиков в очень горячей компании - Nvidia, на роль Performance Инженера.
Отзыв можно найти в посте ниже.
Почитал детали, офигел от сложности процесса. По описанию, почти все интервью специфичные и нужно прямо хорошо знать свое дело, чтобы успешно пройти раунды. Как я понял, многие вопросы построены вокруг оптимизаций вычислений (ну а как еще, нвидиа же продает видеокарты, чтобы учить большие модели, а роль про оптимизацию :D), поэтому нужно знать детали распределенного обучения, как устроены разные типы данных, как работать с CUDA, и в каких местах искать bottleneck-и пайплайнов.
А, ну и еще первый раз слышу про Hard Leetcode да еще и с задачей на тему DP на собеседовании. Это при том, что один из этапов собеса - объемная домашка. Что ж, процесс сложный, но думаю и награда в виде щедрого оффера того стоит.
У человека явно стальные нервы - начать собес в Августе 2024 и закончить в Январе 2025🥲
Отзыв можно найти в посте ниже.
Почитал детали, офигел от сложности процесса. По описанию, почти все интервью специфичные и нужно прямо хорошо знать свое дело, чтобы успешно пройти раунды. Как я понял, многие вопросы построены вокруг оптимизаций вычислений (ну а как еще, нвидиа же продает видеокарты, чтобы учить большие модели, а роль про оптимизацию :D), поэтому нужно знать детали распределенного обучения, как устроены разные типы данных, как работать с CUDA, и в каких местах искать bottleneck-и пайплайнов.
А, ну и еще первый раз слышу про Hard Leetcode да еще и с задачей на тему DP на собеседовании. Это при том, что один из этапов собеса - объемная домашка. Что ж, процесс сложный, но думаю и награда в виде щедрого оффера того стоит.
У человека явно стальные нервы - начать собес в Августе 2024 и закончить в Январе 2025
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🍾5😎4👍3😱2
Авторская орфография сохранена
#интервью
1. Скрин с HM про мой бекграунд и позицию. Поговорили про мой опыт и их ожидания.
2. Технический скрин: кодинг c++, performance tuning, parallelism: TP, PP, etc.
3. Домашка: алгоритмы + параллелизация (примечание от автора канала: подозреваю, что домашка на реализацию чего-то на C++ и OpenMP)
4. Онсайт
- 4.1 PyTorch, про разные внутренности: память, autograd, устройство типов данных
- 4.2 Deep Learning / Quantization: популярные алгоритмы, трейдоффы между разными подходами
- 4.3 Distributed training
- 4.4 и 4.5 Leetcode (задачи уровня медиум, типа на обход графов и уровня хард на DP)
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾24🔥14👍8😎4👨💻2
Каждый питонист точно написал в своей жизни хотя бы одно CLI приложение. И наверняка для этого использовался старый добрый модуль argparse - встроенный тул для CLI нужд.
Мне всегда казалось, что argparse какой-то кривой, неинтуитивный, слишком избыточной (заставляя писать новую портянку для каждого нового скрипта, копируя, по большом счету один и тот же набор команд). Но пересесть на простую и комфортную альтернативу не получалось.
Наконец-то нашел тул, который решил запрос. Тестирую либу typer последние пару месяцев и очень доволен - все запросы покрывает. Может, так нравится, потому что typer - родственник FastAPI (есть кто-то, кто не любит этот фреймворк?) и в core контрибьюторах те же люди, или потому что реально вышло удобно и просто. Заонбордился за пару минут.
Посмотреть кучу примеров можно в официальной доке: https://typer.tiangolo.com/#run-the-upgraded-example
Совсем базовый пример может быть таким скриптом
import typer
from pathlib import Path
app = typer.Typer()
@app.command()
def annotate(
book: Path = typer.Argument(..., help="Path to the book file"),
num_jobs: int = typer.Option(1, help="Number of parallel jobs"),
):
print(f'Reading book stored under {book} and processing it with {num_jobs} jobs')
if __name__ == '__main__':
app()
Ну а дальше запускаем как обычно
python3 demo_with_typer.py --helpПолучаем красивый интерфейс как на картинке выше.
По итогу, чтобы добавить CLI режим для своего приложения нужно добавить декоратор над функцией, и аннотировать входные аргументы произвольными пользовательскими типами.
- Пишется все очень интуитивно
- Минимальное количество дублирования кода
- Можно писать произвольные вложенные парсеры, с командами и подкомандами
- Эстетически приятный интерфейс, который превращает даже самую стандартную и скучную оболочку во что-то цветное и футуристичное
Please open Telegram to view this post
VIEW IN TELEGRAM
✍12👍7❤2🔥2👨💻2👌1🦄1😎1👾1
Нашел активно растущий авторский, довольно провокационный канал @get_rejected - делюсь находкой 💥
Посвящен деталям прохождения интервью в компании в РФ и на зарубежном рынке на различные инженерные позиции. Автор уже собрал 150+ разных отзывов c вилками и детаялми собесов. Мне очень откликается тема рассказов о том, как устроен найм и конкретные секции - то же стараюсь коллекционировать истории подписчиков в похожем формате
Но это только часть контента. На канале еще много потенциально полезной рефлексии на тему карьерного роста (советы о переговорах при получении оффера), совмещения двух работ (и можно ли в таком режиме вообще жить 😄 )
Посвящен деталям прохождения интервью в компании в РФ и на зарубежном рынке на различные инженерные позиции. Автор уже собрал 150+ разных отзывов c вилками и детаялми собесов. Мне очень откликается тема рассказов о том, как устроен найм и конкретные секции - то же стараюсь коллекционировать истории подписчиков в похожем формате
Но это только часть контента. На канале еще много потенциально полезной рефлексии на тему карьерного роста (советы о переговорах при получении оффера), совмещения двух работ (и можно ли в таком режиме вообще жить 😄 )
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡7👍6🔥3🎉2
Forwarded from Get Rejected
Наблюдаю что почти каждый день у меня появляются новые просмотры/репосты и реакции на старых постах. Количество просмотров бешенное.
Хотел бы немного подсветить о чем канал, чтобы как можно больше людей изучили рынок.
Канал посвящен прохождению интервью в различные компании в РФ и на зарубежном рынке.
На данный момент в канале предcтавлены ~150 интервью в различные компании:
1. Различный Big Tech: WB , Sber, SberHealth, СберТехнологии(Gigachat) , Яндекс , Яндекс Head , Ozon , МТС
2. Банки: Иннотех, Иннотех , Еще иннотех , Альфа Technical Leader , АК Барс
3. Различные компании: Газпром, RuTube
4. Зарубежные компании: Nebius (Яндекс), Qatar Insurance Company , Jetbrains , Jetbrains , Exness, Plata (Ex-tinkoff) , Salmon (ex-tinkoff Manila) ,
TON , Staking Facilities
И многие другие...
Так же для тех кто любит почитать:
1. Как зарабатывают 1 млн в найме обычные Senior'ы и Middle?
2. Теория больших денег или как выбивать огромные ЗП:
Часть 2 и Часть 3
3. Статистика по собеседованиям : Отклики и конвертация в собесы
4. Зарплаты в ИТ в 2025 : опрос более 300 анкет
Блок Полезные ссылки для собеседований и работы:
Конспекты:
1. Apache Spark
2. Clickhouse
3. Greenplum
4. DWH+Hadoop+Kubernetes
Boost канала
Хотел бы немного подсветить о чем канал, чтобы как можно больше людей изучили рынок.
Канал посвящен прохождению интервью в различные компании в РФ и на зарубежном рынке.
На данный момент в канале предcтавлены ~150 интервью в различные компании:
1. Различный Big Tech: WB , Sber, SberHealth, СберТехнологии(Gigachat) , Яндекс , Яндекс Head , Ozon , МТС
2. Банки: Иннотех, Иннотех , Еще иннотех , Альфа Technical Leader , АК Барс
3. Различные компании: Газпром, RuTube
4. Зарубежные компании: Nebius (Яндекс), Qatar Insurance Company , Jetbrains , Jetbrains , Exness, Plata (Ex-tinkoff) , Salmon (ex-tinkoff Manila) ,
TON , Staking Facilities
И многие другие...
Так же для тех кто любит почитать:
1. Как зарабатывают 1 млн в найме обычные Senior'ы и Middle?
2. Теория больших денег или как выбивать огромные ЗП:
Часть 2 и Часть 3
3. Статистика по собеседованиям : Отклики и конвертация в собесы
4. Зарплаты в ИТ в 2025 : опрос более 300 анкет
Блок Полезные ссылки для собеседований и работы:
Конспекты:
1. Apache Spark
2. Clickhouse
3. Greenplum
4. DWH+Hadoop+Kubernetes
Boost канала
🔥8💯3😎3👍2
LLM много рассуждают. Но можно ли верить их рассуждениям? Alignment команда 🖥 показывает, что нет.
Статья. Блогпост.
TL;DR: Эксперименты простые, на полусинтетических средах. Доверять цеопчкам рассуждений (CoT) рассуждающих (по крайней мере Claude и DeepSeek )моделей рано. Модели нужно проверять, проверять и перепроверять. При чем как ответы (предсказания), так и рассуждения - далеко не всегда они озвучивают то, что реально думают.
А теперь подробнее.
📍 Рассуждающие (Reasoning) модели везде. Их суть в том, что прежде, чем дать финальный ответ на вопрос, они могут нагенерировать промежуточных цепочек рассуждений (CoTs), а потом дать финальный ответ.
Такие модели, как правило, значительно бустят метрики на всех бенчмарках и способны решать очень сложные задачи.
В идеальном мире через CoT мы можем понять, как модель реально мыслит и приходит к ответу. То есть в цепочках должны быть достоверные (faithful) описания того, как модель принимает решения. Авторы пытаются протестировать гипотезу достоверности цепочек, генерируемых моделью. На Claude 3.7 и DeepSeek R1 выводы довольно удручающие - текущие модели далеки от генерации достоверных CoT.
Проверяется гипотеза о достоверности рассуждений через три разных эксперимента. В посте только про основной “тест на достоверность”
📍 Сетап эксперимента.
Берут Multiple choice вопросы из MMLU и GPQA. В одном инференсе модели дают стандартный промпт с вопросом, просят порассуждать и потом дать ответ на вопрос.
Затем на том же датасете вопросов в промт намеренно добавляют подсказку (hint) для каждого вопроса. Подсказки бывают разных типов: правильные, неправильные, безопасные или с указанием на нелегальное получение информации
С таким injected промптом модель снова просят порассуждать и дает ответ.
Оставляют только те вопросы, где ответ модели между промптом без подсказки и промптом с подсказкой поменялся (картинка 1 для пояснений). Логично предположить, что это именно тот набор вопросов, где подсказка изменила размышления модели (все остальные переменные зафиксированы, а фактор случайности в изменении ответа отфильтровывается), а следовательно и ответ. На этом наборе вопросов измеряют достоверность цепочек.
📍 Как мерить достоверность
Достоверная модель, если дать в промпт дополнительную информацию об ответе на вопрос, должна упомянуть факт подсказки и озвучить (verbalize) это в своих CoT как фактор, на который она опирается при ответе. Если ответ модели зависит от наличия подсказки в промпте, то безопасная система должна обозначить фактор подсказки в своих рассуждения - опять же, если гипотеза, что CoT отражают процесс принятия решений моделью верна.
Фактор вербализации подсказки измеряют через Claude 3.5 с последующей ручной верификацией.
Наблюдаем следующее:
🔘 Claude 3.7 в среднем генерирует 25% достоверных цепочек, а R1 - 39%. Таким образом, подавляющее большинство CoT никак не упомянули в своем рассуждении факт подсказки. Картинка 2 с результатми на разных типах подсказок
🔘 Все модели используют подсказки. То есть если в промпте есть подсказка (и не важно, правильная или нет), модели имеют склонность выбрать вариант из подсказки. Картинка 3 с результатами.
🔘 Claude модели на 24% чаще используют фактор подсказки, в сравнении с DeepSeek. Удручает, что неправильная подсказка меняет внутренние убеждения модели в пользу неправильного ответа без какой-либо вербализации почему она это делает (то есть нет указания на подсказку) - модель просто генерирует длинные цепочки неверных рассуждений подгоняясь под неправильный ответ в подсказке.
🔘 Недостоверные цепочки в среднем длиннее. Claude 3.7 в среднем задействовал 2064 токена для генерации недостоверных цепочек, тогда как для достоверных хватало 1439.
🔘 Достоверность падает с увеличением сложности вопросов.
В общем, у задачи Alignment-а еще большой путь, а модели пока все такой же черный ящик, который может врать и не краснеть -😄
💡 В комментариях оставил маленький абзац про другие эксперименты из статьи. В целом советую всю статью к прочтению - хорошо структурировано и классно подано.
Статья. Блогпост.
TL;DR: Эксперименты простые, на полусинтетических средах. Доверять цеопчкам рассуждений (CoT) рассуждающих (по крайней мере Claude и DeepSeek )моделей рано. Модели нужно проверять, проверять и перепроверять. При чем как ответы (предсказания), так и рассуждения - далеко не всегда они озвучивают то, что реально думают.
А теперь подробнее.
Такие модели, как правило, значительно бустят метрики на всех бенчмарках и способны решать очень сложные задачи.
В идеальном мире через CoT мы можем понять, как модель реально мыслит и приходит к ответу. То есть в цепочках должны быть достоверные (faithful) описания того, как модель принимает решения. Авторы пытаются протестировать гипотезу достоверности цепочек, генерируемых моделью. На Claude 3.7 и DeepSeek R1 выводы довольно удручающие - текущие модели далеки от генерации достоверных CoT.
Проверяется гипотеза о достоверности рассуждений через три разных эксперимента. В посте только про основной “тест на достоверность”
Берут Multiple choice вопросы из MMLU и GPQA. В одном инференсе модели дают стандартный промпт с вопросом, просят порассуждать и потом дать ответ на вопрос.
Затем на том же датасете вопросов в промт намеренно добавляют подсказку (hint) для каждого вопроса. Подсказки бывают разных типов: правильные, неправильные, безопасные или с указанием на нелегальное получение информации
С таким injected промптом модель снова просят порассуждать и дает ответ.
Оставляют только те вопросы, где ответ модели между промптом без подсказки и промптом с подсказкой поменялся (картинка 1 для пояснений). Логично предположить, что это именно тот набор вопросов, где подсказка изменила размышления модели (все остальные переменные зафиксированы, а фактор случайности в изменении ответа отфильтровывается), а следовательно и ответ. На этом наборе вопросов измеряют достоверность цепочек.
Достоверная модель, если дать в промпт дополнительную информацию об ответе на вопрос, должна упомянуть факт подсказки и озвучить (verbalize) это в своих CoT как фактор, на который она опирается при ответе. Если ответ модели зависит от наличия подсказки в промпте, то безопасная система должна обозначить фактор подсказки в своих рассуждения - опять же, если гипотеза, что CoT отражают процесс принятия решений моделью верна.
Фактор вербализации подсказки измеряют через Claude 3.5 с последующей ручной верификацией.
Наблюдаем следующее:
В общем, у задачи Alignment-а еще большой путь, а модели пока все такой же черный ящик, который может врать и не краснеть -
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9✍7👏4🔥3💯2😎1
Вчера делал обзор на статью Антропика про достоверность рассуждений языковых моделей.
А сегодня дошли руки оформить отзыв одного из подписчиков канала (спасибо вам большое, что присылаете классные истории! ) на собеседование в стартап Atla.ai. И получилось как нельзя своевременно😃
Сам отзыв можно в следующем посте, а тут немного от меня про компанию.
Atla.ai - это early stage seed round стартап, который специализируется на верификации предсказаний LLM. То есть делает LLM as a judge по разным пользовательским метрикам. Судя по докам с сайта работает примерно так: вы делаете предикт своей моделью, дальше отправляете это в API Атлы и указываете, по каким критериям хотите полчить оценку (critique scores, у каждой метрики своя шкала). Дефолтные метрики такие: фактическая корректность, логическая согласованность, релевантность, полезность, и достоверность. Можно создать свои метрики
В блоге рассказывают про свою последнюю модель Selene 1, которая по графикам перформит в среднем лучше чем решения от OpenAI, Claude, и.т.д Почитать подробно можно здесь
В контексте рассуждающих моделей, выглядит как потенциальная полезная штука, особенно для задачи AI Safety, если их критик может дать развернутую оценку того, насколько СoT, или финальный ответ модели релевантны/безопасны/логичны/ и.т.д Опять же - эксперименты Антропиков с своим же Claude 3.7 показывают, что генерируемые цепочки рассуждений пока далеки от того, чтобы быть безопасными.
Может быть, кто-то работает над похожей штукой? Или взаимодействовал с API атлы - расскажите, какие впечатления?
А сегодня дошли руки оформить отзыв одного из подписчиков канала (спасибо вам большое, что присылаете классные истории! ) на собеседование в стартап Atla.ai. И получилось как нельзя своевременно
Сам отзыв можно в следующем посте, а тут немного от меня про компанию.
Atla.ai - это early stage seed round стартап, который специализируется на верификации предсказаний LLM. То есть делает LLM as a judge по разным пользовательским метрикам. Судя по докам с сайта работает примерно так: вы делаете предикт своей моделью, дальше отправляете это в API Атлы и указываете, по каким критериям хотите полчить оценку (critique scores, у каждой метрики своя шкала). Дефолтные метрики такие: фактическая корректность, логическая согласованность, релевантность, полезность, и достоверность. Можно создать свои метрики
В блоге рассказывают про свою последнюю модель Selene 1, которая по графикам перформит в среднем лучше чем решения от OpenAI, Claude, и.т.д Почитать подробно можно здесь
В контексте рассуждающих моделей, выглядит как потенциальная полезная штука, особенно для задачи AI Safety, если их критик может дать развернутую оценку того, насколько СoT, или финальный ответ модели релевантны/безопасны/логичны/ и.т.д Опять же - эксперименты Антропиков с своим же Claude 3.7 показывают, что генерируемые цепочки рассуждений пока далеки от того, чтобы быть безопасными.
Может быть, кто-то работает над похожей штукой? Или взаимодействовал с API атлы - расскажите, какие впечатления?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6⚡2👍2
Авторская орфография сохранена
#интервью
Скриниг Созвон с фаундером на полчаса про мотивацию, предыдущий опыт работы. Немного бихейв вопросов
Скрининг 2 Скрининг на 1.5 часа. Первый час ML кодинг на знание transformers. Кастомный сэмплинг нужен был и свой generate написать. Потом попрофилировать инференс. Можно было гуглить. Последние 15-20 минут с HR-ом на бихейв вопросы. (примечание от автора канала: подробно писал про ML Coding секцию здесь)
Домашнее задание Дз. Потратил часов 8. В первой части был дан пайплайн предобработки данных и запуска обучения модели. Нужно было найти боттленеки и ускорить. Пайплайн был очень неоптимизированный поэтому все сводилось к тому во сколько раз получится ускорить. Во второй части нужно было написать рабочий мини сервис для инференса с поддержкой мульти-лоры. Просили именно с нуля.
Ревью Дз Ревьюили полтора часа как я сделал дз с их разрабом. По факту просто монолог о том, почему делал именно так.
Онсайт
- ML дизайн раунд у доски, проектировали масштабируемую систему для экспериментов
- Еще один раунд ревью ДЗ, теперь с их рисерчерами. 2 человека. Спрашивали интересные вопросы про типы данных, виды аттеншна, как держать большой контекст в ллм-ах. Один чел ex OpenAI, очень толково поговорили про DPO
- Бихейв интервью про мотивацию
Оффер Нескольо раз созванивались договариваться об оффере.
- Очень быстрый процесс. Ребята возвращались с фидбэком через несколько дней после секции.
- Когда сомневался в оффере, то поставили созвон с представителями ведущего инвестора стартапа. Был новый необычный опыт общения. Сидят там на мой взгляд точно такие же обычные люди: верят в компанию - дают денег; не особо верят - дают мало. Все очень на глаз делается.
- На сайте вакансии и в объяслвении потолок зп был в £250 бэйза и свреху стоки. По факту этим и не пахло. Фаундер честно сказал, что поставили такую цифру, чтобы увеличить воронку.
- Дублирующие раунды
- Долго торговались.
Please open Telegram to view this post
VIEW IN TELEGRAM
Atla-Ai
Atla AI | The evaluation & improvement layer for AI agents
Identify and fix AI agent failures automatically. Build more reliable agents.
👍18🔥9🤩5👏2
Периодически в личные сообщения приходят ребята-студенты с вопросами про рисерч стажировки (например, про такие). Соберу в пятничном посте в двух частях мысли на этот счет.
Обязательно нужно быть в процессе получения степени MS (Master of Science) или PhD. При этом важно находиться на финальном году обучения и иметь возможность пройти стажировку продолжительностью 6 месяцев (!). Да, судя по тому, что я вижу, это самый распространённый сценарий среди интернов: они приходят в начале последнего года учёбы, проходят полугодовую стажировку, затем возвращаются, чтобы доучиться или защититься, и с начала следующего года выходят на фулл-тайм.
Если вы - студент MS-программы, то после успешной стажировки вам, как правило, предлагают L4 грейд (формально - джун). Если вы - PhD студент, то это L5 (формально - миддл).
Очень-очень рекомендуется получать степень в зарубежном университете - это значительно упрощает визовые вопросы. В анкете теперь появился вопрос о ссылках на ваши публикации в рейтинговых конференциях, так что статьи, похоже, стали тоже обязательным условием.
Конкурс на MS-стажировки - это, по сути, лотерея: число заявок зашкаливает, и почти все отфильтровываются на автоматическом этапе. С PhD ситуация немного проще - конкуренция в разы ниже (хотя и до PhD доходит далеко не каждый).
Реферал сотрудника компании на стажировки как правило может работать в конкретную команду. Если некотоая команда ищет стажера, то сотрудник может передать информацию о соискателе напрямую нанимающему менеджеру. Но так как команды нанимают стажеров в реальности в разное время в количествве 0-1 человека в год (в нынешних реалиях), то найти реферала именно в конкретную команду не так просто. Если получится, скорее всего вас позовут собеседоваться (опять же, если условия про первый вопрос соблюдены).
Обычно сотрудник реферит вас просто на стажировку. Вы попадаете в пул кандидатов. Если все хорошо, с вами начнут процесс. Вы укажете преференции по направлениям(NLP, CV, TTS, etc) в личном кабинете. Назначат скрин. Если скрин пройдет хорошо, то поставят mini loop с той командой, которая выбрала ваш профиль. Если все ок после интервью, то в течение 5 рабочих дней придет решение - оффер или отказ. Наблюдал такой пайплайн для стажировок на 6 месяцев, то есть формального team fit нет. Может быть так не всегда.
Есть несколько типов интервью вопросов:
* Leetcode
* ML Coding
* ML Breadth
* ML Depth
* ML Design
* Tech Talk
* Behavioural
Разберем их в части 2.
Продолжение читать тут: https://news.1rj.ru/str/max_dot_sh/68
#карьера #гайды
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🆒6👍3✍2😁1😱1😎1
Неожиданностей тут не будет - задачи уровня медиум с литкода. Гайдов в сети много. На мой взгляд самый рабочий - это купить литкод премиум на пару месяцев и отсортировать задачи по частоте по заданной компании за последние 1-2 месяца. Скорее всего вам выпадет в процессе 1-2 задачи из тех, что нарешаете из этого топа.
Писал про этот тип раунда тут. Могут попросить написать реализацию МЛ/DL алгоритма в упрощенном виде (kmeans кластеризация, градиентный спуск, backprop, реализовать self-attention, ...). Самая лучшая подготовка - это пройти по самым частым алгоритмам и убедиться, что есть понимание как их реализовывать.
Здесь нужно быть готовым, что будут задавать серию вопросов на фундаментальные ML/DL штуки. Вопросы зачастую на понимание и зазубрить очень сложно. Скорее нужно на достаточном уровне понимать суть и быть готовым порассуждать вокруг. Например, могут спросить что такое выпуклая функция, почему они важны в алгоритмах ML. Или что такое градиентный спуск и как можно использовать вторые производные в оптимизационных алгоритмах? Не нужно знать ответ на все вопросы, но ожидают, что вы сможете углубляться на 1-2 вопроса.
На мой взгляд best shot в условиях ограниченного времени - это прошерстить все ML вопросы на математику/статистику из Machine Learning Interviews Book
Здесь будут вопросы про домен, в котором вы разбираетесь. Обычно беседа строится вокруг вопроса: "расскажите про свой проект?" и дальше развивается в нескольих направлениях: 1) специфичные вопросы про проект (что за задача, какие были данные, какие методы применлись, как оценивались результаты), 2) теоретические вопросы (если применяли BERT, то рассказать, как он работает, в чем особенности, почему не RNN) 3) нетехнические вопросы (как приоритизировались эксперименты, какие были таймлайны, какая была ваша роль). То есть в итоге получается беседа, в которой смешана проверка книжных знаний (как устроен конкретный алгоритм) с вашими реальным опытом применения (как адаптировали алгоритм под вашу задачу и как работали в команде). Лучшая подготовка - хорошо прописать несколько ваших топовых проектов в деталях и сделать мок с коллегами/друзьями, чтобы нащупать слабые места повествования.
Тут ситуация от ML Depth отличается только тем, что вам будет дана задача и нужно будет свести ее к ML решению. Обсудить с интервьюером все ограничения, обговорить метрики, предложить, как можно адаптировать известные методы и как довести это до прода. Для прохождения нужно хорошо понимать типовую структуру таких интервью - много примеров разобрано в книге тут. С приходом AI лихорадки, интервью изменились и стало много ML дизайна именно вокруг LLM приложений. Есть свежая книга тут (сам пока еще не читал).
Только для PhD студентов и то не всегда. Презентация вашего рисерча на час для команды.
Подготовить истории по LP принципам. Отточить навык разговорного английского. То, насколько комфортно вас слушать - это очень большой сигнал для собеседующих.
60 минут, 1 лит код (обязательно) + небольшой ML breadth + 1 behavioural вопрос (обязательно).
Могут поставить дополнительный раунд с командой для PhD студентов, которая выбрала из пула. тут уже могут сфокусироваться на ml depth части.
Для MS:
* Первый раунд: Литкод / ML Coding + 1 behavioural.
* Второй раунд: ML Design / ML Breadth + 1 behavioural
Для PhD студентов:
* может быть дополнительный раунд про ML Breadth + 1 behavioural,
* совсем редко могут поставить Tech Talk, но скорее чтобы послушать вас с целью оценки навыков коммуникации
Как видно, бихейв вопросы есть всегда, они имеют очень большой вес
#карьера #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
✍13🔥11👍8❤2😁1🤡1🤝1🦄1
P.S На следующей неделе снова похолодает и добавятся дожди. Надеюсь, что не надолго.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18🔥8😍4👍2🤡1🗿1
Большое количество практически полезных LLM приложений завязаны на то, что мы ожидаем от модели ответ в определенном формате. Один из популярных - JSON. Реально же это может быть что угодно: и xml разметка, и аннотация определенных строк (условно, line by line label tagging) или markdown, etc. Более того, могут накладываться ограничения не только на общий формат ответа, но и на его атрибуты. Например, можно попросить сгенерировать модель синтетических юзеров с валидными username и email заданных регвырами.
На практике, модель не всегда может выдать ответ в нужном формате. Это может быть невалидный json или аттрибут не будет соответствовать ограничению.
В такой ситуации можно определить свои механизмы валидации ответа (более общее название Guardrails) модели и если ответ не проходит проверки, отправить фидбэк с ошибкой (указав, что именно сгенерировано неверно) обратно в модель и попросить решить задачу еще раз с учетом фидбэка. Это и есть Re-prompting. Или Retry-Based Structured Generation. Суть подхода на картинке к посту.
Кстати, про локальные модели хочу рассказать в другом посте. Так как есть доступ к логитам и соответствующим токенам, то можно явно реализовать Constraint Decoding, задав свою грамматику (Context-Free-Grammar, движков с реализациями много) и контролировать поведение каждого генерируемого токена в соответствии с грамматикой.
Очень популярная библиотека совместимая почти со всеми провайдерами, локальными и API. Реализует концепцию re-prompting-а для JSON схем, которые можно описать с помощью Pydantic. На сайте много примеров того, что и как можно задать
Happy Learning!
#гайд #обзор #фреймворк
@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4💯2⚡1✍1
Пятница - время историй с отзывами на собесы про ML роли. Сегодня в подборке отзыв подписчика на NLP инженера в LLM команду в SberDevices.
❤2💯2⚡1👍1
Авторская орфография сохранена
#интервью
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 минут)
Небольшой кейс (как оказалось из текущих задач команды) и разговор за жизнь.
Все было хорошо, не было проблем с коммуникацией или длинными паузами между интервью. Когда мне дали оффер, меня согласились подождать больше месяца, ибо хотел закончить проекты на предыдущем месте.
@max_dot_sh
Примечание автора канала: В комментарии закинул немного своих полезных ссылок про ML Breadth 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4😁2🆒2👏1
Источник
Я много пользуюсь для кодогенерации по API, тоже для бенчмарков, и в целом корреляция стоимости токена модели с финальным качеством действительно похожа на репорты с открытых бенчмарков.
Субъективно, эффективность/компактность/ instruction following генерируемого кода у гпт моделей тоже лучше, чем у Антропиков. И при этом у всех оставляет желать лучшего.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🆒4✍3👍3👏2💯1
Возвращаемся к интервью историям - сегодня про AI позицию в Инвест Банк.
Авторская орфография сохранена
#интервью
Во всех раундах большой упор на разговоры. Каких-то книжных знаний не проверяли. Рассказывал свой опыт, где-то немного мл дизайна. Еще это был первый найм в AI направлении для компании, поэтому процесс совсем не выстроен
1) Скрининг интервью с HM (Примечание от автора канала: HM - Hiring Manager). В первой части рассказывал про свой опыт и проекты. Немного поведенчиских вопросов. Потом были вопросы про трансформеры. Просил объяснить трансформер для человека без опыта в мл, потом для джуна, потом для ML инженера. Коммуникация и донесение идей до разных людей это важный навык для компании и они стараются проверять его в каждом раунде. Дальше была дискуссия о том, как построить инференс модели, если нужно гонять очень много документов по сети - больше упор на кэширование.
Потом выяснилось, что меня собеседуют на Senior Associate роль (это считай Мидл). Узнал какие вилки - до 160 TC. Сказал, HR-у, что можем заканичвать процесс. Она вернулась ко мне с тем, что готовы рассматривать на VP уровень. Пошли дальше.
2) Кодинг раунд. 2 Литкода медиум. Один про обход деревьев. Один на балансировку скобочных последовательностей.
3) Дизайн. На интервью просили построить нативную мультимодальную LLM, как бы я это делал. Спрашивали про инференс моделей и какие боттленки (KV кэши, квантизации). Все вопросы очень поверхностные, я большую часть времени рассказывал про квантизацию, потому что только с ней и работал глубоко на тот момент.
4) Созвон с руководителем. В основном за жизнь. Она сама в NY и ее как раз недавно сократили из того же фаанга где я работаю. Обсуждали большую часть реструктуризацию 😄 Спрашивала про адаптеры. Сразу предупредила, что железа мало, данных тоже, нужно будет делать много демо из ничего и ходить уговаривать боссов вложиться. А так вообще много держится на API провайдеров с которыми партнерства.
Потом было несколько недель общения с Hr-ом. Обсуждали компенсацию. Я просил 220K фунтов TC. Они видимо не хотели давать.
Переписывались по 2-3 раза на неделе и созванивались. Просили дать им скришоты своих стоков, чтобы подтвердить мою текущую компенсацию - ни разу такого не видел. Потом долго готовили предложение и сообщали исключительно по телефону. Дошли до 205K в год. 135 бэйз, 70 ежегодный фиксированный бонус. Я все равно просил больше, по факту это было +- то что у меня и так на руках. В итоге до 220 отказались поднимать. На этом закончили.
Акцент на коммуникации идей в некоторых интервью. Интервьюер явно это проговаривал и давал время сформулировать ответ.
Очень быстрые HR-ы, когда дело было около оффера, то по имейлу общались и по выходным
Очень сумбурный неповортливый процесс. Идея 5 дневной рабочей недели из офиса тоже не впечатляла.
Please open Telegram to view this post
VIEW IN TELEGRAM
Linkedin
JPMorganChase hiring Applied AI ML Lead - Data Scientist / Engineer - Commercial and Investment Bank in London, England, United…
Posted 1:49:16 PM. Job DenoscriptionJoin J.P. Morgan as an AI/ML Data Scientist/Engineer, where you'll be at the…See this and similar jobs on LinkedIn.
🔥16👍7🦄4
Недавно я писал про критерии отбора на research-стажировки и full-time позиции в бит техах, а потом и про сами интервью.
TL;DR на мой взгляд, самый сложный шаг - это просто пройти HR-скрининг. Для research-ролей он довольно строгий. HR-ы будут искать в вашем профиле сильный академический бэкграунд. Обычно он формируется за счёт университета, в котором вы учились, или учреждения, с которым публиковали статьи. Известное имя вуза и наличие релевантных публикаций - это почти что silver bullet для прохождения этого этапа и попадания в интервью-процесс.
Если хотите начать карьеру в исследовательских командах в биг техах, я бы советовал инвестировать усилия в хорошее образование, особенно за рубежом. Стажировки (да, университеты тоже предлагают стажировки), магистратура и особенно PhD - всё это значительно усиливает research-профиль кандидата. Это конечно не единственный путь (да и пресловутые биг техи - это не всегда гарант чего-то однозначно крутого для карьеры), но в среднем самый рабочий.
От себя рекомендую офигенный канал @computerscienceabroad. Кладезь образовательных программ по самым разным направлениям CS и ML. Тут регулярно публикуются новые академические возможности для студентов, дедлайны и условия. Вот, кстати, свежая подборка PhD-возможностей в репосте.
У меня у самого есть история про рисерч стажировку в EPFL, которую я в канале и нашел.
Расскажу чуть позже сегодня😃
TL;DR на мой взгляд, самый сложный шаг - это просто пройти HR-скрининг. Для research-ролей он довольно строгий. HR-ы будут искать в вашем профиле сильный академический бэкграунд. Обычно он формируется за счёт университета, в котором вы учились, или учреждения, с которым публиковали статьи. Известное имя вуза и наличие релевантных публикаций - это почти что silver bullet для прохождения этого этапа и попадания в интервью-процесс.
Если хотите начать карьеру в исследовательских командах в биг техах, я бы советовал инвестировать усилия в хорошее образование, особенно за рубежом. Стажировки (да, университеты тоже предлагают стажировки), магистратура и особенно PhD - всё это значительно усиливает research-профиль кандидата. Это конечно не единственный путь (да и пресловутые биг техи - это не всегда гарант чего-то однозначно крутого для карьеры), но в среднем самый рабочий.
От себя рекомендую офигенный канал @computerscienceabroad. Кладезь образовательных программ по самым разным направлениям CS и ML. Тут регулярно публикуются новые академические возможности для студентов, дедлайны и условия. Вот, кстати, свежая подборка PhD-возможностей в репосте.
У меня у самого есть история про рисерч стажировку в EPFL, которую я в канале и нашел.
Расскажу чуть позже сегодня
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👀3🤩2