max.sh – Telegram
max.sh
2.34K subscribers
70 photos
6 videos
95 links
Карьера, образование и исследования в мире AI через призму собственного опыта.


Канал ведет Макс Шапошников, ex Applied Scientist в FAANG. Профессионально ловлю CUDA OOM.

Cвязь в тг - @PorcelainFox
Linkedin - https://www.linkedin.com/in/maxshapp
Download Telegram
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-а еще большой путь, а модели пока все такой же черный ящик, который может врать и не краснеть - 😄

💡 В комментариях оставил маленький абзац про другие эксперименты из статьи. В целом советую всю статью к прочтению - хорошо структурировано и классно подано.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97👏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 атлы - расскажите, какие впечатления?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62👍2
🤩 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥9🤩5👏2
📎Рисерч стажировки в биг техе. Часть 1. Как попасть на собеседование

Периодически в личные сообщения приходят ребята-студенты с вопросами про рисерч стажировки (например, про такие). Соберу в пятничном посте в двух частях мысли на этот счет.

➡️ Какие формальные требования на то, чтобы максимизировать свои шансы попадания на стажировку?

Обязательно нужно быть в процессе получения степени 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👍32😁1😱1😎1
📎Рисерч стажировки в биг техе. Часть 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, но скорее чтобы послушать вас с целью оценки навыков коммуникации

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

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

🔖 Буду рад ответить на вопросы в комментариях, если есть
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥11👍82😁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
💡 Концепт дня ( и фреймворк тоже) - 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4💯211
Пятница - время историй с отзывами на собесы про ML роли. Сегодня в подборке отзыв подписчика на NLP инженера в LLM команду в SberDevices.
2💯21👍1
🤩 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 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4😁2🆒2👏1
📊 Сравнительная таблица Ростера OpenAI моделей на разных бенчмарках

Источник

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

Субъективно, эффективность/компактность/ instruction following генерируемого кода у гпт моделей тоже лучше, чем у Антропиков. И при этом у всех оставляет желать лучшего.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🆒43👍3👏2💯1
😄VP of AI ML в J.P. Morgan Chase, London

Возвращаемся к интервью историям - сегодня про AI позицию в Инвест Банк.

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

#интервью

➡️ Ник автора в тг - N/A

➡️ Название комании, можете указать ссылку или коротко описать что за место - J.P. Morgan

➡️Расскажите про свой бэкграунд - Senior MLE, FAANG, ML on Devices
➡️ Как подались на вакансию - Подавался напрямую. На линкедине нашел вакансию, перешел на сайт, там подался. Вакансия типа вот такой. Месяца 2-3 никто не отвечал, потом HR сама написала.

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


➡️Когда начали процесс - 08/ 24
➡️Когда закончили процесс - 11/ 24


➡️Позиция, на которую собеседовались - VP of AI ML, заниматься LLM-ами
➡️Грейд на который собеседовались (если известно) -Senior. VP - это просто название для сеньоров в Инвест Банках. У них полбанка как я понимаю в этих VP 😄 (Примечание от автора канала: согласно levels.fyi VP, или Vice President - это как L5 / E5 в Гугле/Мета)
➡️Локация вакансии - Лондон

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

Во всех раундах большой упор на разговоры. Каких-то книжных знаний не проверяли. Рассказывал свой опыт, где-то немного мл дизайна. Еще это был первый найм в 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 дневной рабочей недели из офиса тоже не впечатляла.

➡️ Итоги собеседования, например оффер или отказ, или что-то другое: Offer (отказ)
➡️ Информация про Total Compensation (если желаете): 205K TC. 135 Бэйз, 70 year off бонус
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍7🦄4
Недавно я писал про критерии отбора на research-стажировки и full-time позиции в бит техах, а потом и про сами интервью.

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
Forwarded from Computer Science Abroad
Еще денечек и можно будет упасть в майские👀 А пока ловите подборку PhD позиций.

PhD in Generative AI and Machine Learning

🔴Где: Linköping University, Швеция
🔴Дедлайн: 26 мая

PhD in Forecasting Bioplastic Degradability with Machine Learning
🔴Где: Technical University of Denmark, Дания
🔴Дедлайн: 25 мая

PhD in Fault tolerant control of AC drives based on machine learning technology
🔴Где: Xi’an Jiaotong-Liverpool University, Китай

PhD in Diffusion based generative models and their application to generative data augmentation and uncertainty quantification
🔴Где: Nanyang Technological University, Сингапур
🔴Дедлайн: 15 мая

PhD positions in AI in Medicine
🔴Где: University of Copenhagen, Дания
🔴Дедлайн: 15 мая

PhD in Human Centred Robotics
🔴Где: University of Copenhagen, Дания
🔴Дедлайн: 22 мая

PhD in Interpretable Natural Language Processing
🔴Где: University of Copenhagen, Дания
🔴Дедлайн:15 мая

PhD in Computing Science with focus on Visual Language Grounding
🔴Где: Umeå University, Швеция
🔴Дедлайн: 15 мая

PhD in Computer Science/Cheminformatics
🔴Где: University of Southern Denmark, Дания
🔴Дедлайн: 22 мая

PhD in Informatics with a focus on sustainable data cultures
🔴Где: Umeå University, Швеция
🔴Дедлайн: 13 мая
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥4
📌Как я не стал PhD-студентом в швейцарском EPFL

У меня есть история про зарубежные университетские стажировки. Одну такую я нашел в Computer Science Abroad канале, который советовал выше. Вот пост от 2020 года.

Это была летняя стажировка от EPFL в Лозанне - одном из самых престижных мест для CS в Европе. Программа предполагала трёхмесячную работу на кампусе в составе одного из департаментов. Оплачивали визу, проезд, дневное питание и платили 1600 CHF в месяц (примерно 800-900 из них уходили бы на комнату в кампусном общежитии). Но самое главное - успешным участникам из числа магистрантов практически гарантировали поступление на PhD-программу с полным грантом и стипендией.

В 2020 году я учился на первом курсе магистратуры в родном Екб и одновременно в ШАДе, за плечами было только несколько летних стажировок в отечественных узнаваемых местах по NLP (раньше это называлось именно так :D). В общем-то и все портфолио. Не густо. Но хотелось попробовать себя в иностраной среде: пожить, поработать, посмотреть отлкикается ли. Подумал. Была не была. Подал.

Заявка состояла из ээссе о себе. Нужно было красиво рассказать про свой опыт, порассуждать почему именно ты. Собрать рекомендации от профессоров и составить резюме. Тогда еще не было ChatGPT, поэтому показаывал свои переводы на английский всем друзьям и знакомым, чтобы покритиковали.

Через месяц позвали на собеседование. Все интервью было из бихейв вопросов о том, как я работаю в команде, что меня драйвит и почему хочу попасть. Это был один из моих первых опытов интервью на английском, и я остался очень доволен - казалось, что говорил уверенно и по делу.

Через неделю пришло письмо, что есть несколько департаментов на базе университета, заинтересованных в моей заявке. Среди них было несколько направлений: Квантовые Вычисления, Криптография и Рекомендательные Системы. Я хоть что-то понимал в последнем, поэтому выбрал этот трек. Предстояло делать рисерч использования трансформеров для рекомендательных систем. В описании проекта было много непонятных слов. Но звучало очень интересно. И статью обещали. Я напредстовлял себе, как после успешной стажировки возвращаюсь в EPFL снова, но уже в статусе PhD студента.

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

А потом - Тарантиновская развязка. Молниеносная. Ковид накрыл Европу. Программу сразу свернули. Посочувствовали и попрощались. В следующем году я уже подаваться не мог, потому что программа для магистров была рассчитана именно на первокурсников, чтобы еще год те уже вернулись как PhD студенты.

Так EPFL и пролетел мимо меня. Я, конечно, утрирую. Никто не мешал мне искать зарубежные PhD программы и после выпуска. К тому моменту я уже сам поменял мнение о том, как хочу развиваться и погрузился в индустрию. Почти сразу после магистратуры уехал как ML инженер в биг тех делать Text-To-Speech и диалоговые системы в Алексу.

Какой-то глобальной морали тут нет. Просто совет: инвестируйте время в качественное образование и поиск той области, которая действительно откликается - и к которой хочется возвращаться.

Keep Learning!

#образование #карьера
Please open Telegram to view this post
VIEW IN TELEGRAM
35👍6😢5🐳5🔥2🏆21👏1🤬1
Увеличиваем контекстное окно LLM с 128K до 4M: разбор рецепта от 💻

Статья

TL;DR Авторы предлагают двухстадийный пайплайн дообучения Instruct-tuned LLM для увеличения длины контекста. Берут Llama 3.1 8B instruct c контекстным окном 128К и дообучают своим методом до нового окна на 1M, 2M или 4M. Показывают, что модель сохраняет качество на исходных бенчмарках, и становится сильно лучше на long-context задачах. На Needle in a Haystack бенчмарке показывает 100% accuracy на всех видах запросов. Бенчмарк синтетический и перестал быть показательным. На более реалистичных задачах из InfiniteBench, LV-Eval цифры сильно скромнее, не больше 30%, но лучше сравниваемых бейзлайнов. В бейзлайнах другие методы расширения контекста для Llama 3.1 8B.

🔘В чем суть подхода? Берут обученную Llama 3.1 8B instruct. Первая стадия: увеличивают контекстное окно до целевого значения (1M, 2M или 4M) через дообучение (continued pretraining) на корпусе очень длинных документов и экстраполяции RoPE эмбеддингов. Вторая стадия: делают SFT на бленде из разных качественных датасетов. Картинка 1 иллюстрирует пайплайн. Разберем детали ниже.

🔘Как именно увеличивают длину контекстного окна? Все начинается с данных. Детали датасета для continued pretaining не раскрываются. Сэмплируют из проприетарного датасета длинные документы с оверсэмплингом длинных, больше 8K токенов. Получают корпус на 1B токенов. Документы конкатенируют, так, чтобы получить желаемую целевую длину контекста (1M, 2M, или 4M). При конкатенации документы разделяют специальным сепаратором, а не стандартными begin_of_text, end_of_text токенами. Делают ablation study, который показывает, что специальный сепаратор играет важную роль и растит качество. Так же, во время дообучения attention механизм видит всю последовательность (нет cross-document attention маски).

Наконец, используют метод YaRN для модификации расчета RoPE эмбеддингов. Если коротко, то добавляют scaling factor, L’ / L, где L - максимальная поддерживаемая контекстная длина, а L’ - новая целевая длина и модифицируют расчет θ для интерполяции на новую длину.

🔘Что входит в Instruction Tuning? Собрали датасет на 100K насэмплировав примеров из открытых датасетов. Примеры в основном из трех категорий: общие знания (из ShareGPT, GPTeacher, и другие), код (WizardCoder), математика (MathInstruct, MetaMath). Часть ответов для промптов была нагенерирована с помощью GPT-4o. Далее делали SFT. Интересно, что на этой стадии никак не фильтровали данные по длине и не добавляли long context синтетики, большинство примеров < 8K. Тем не менее этого достаточно, чтобы “восстановить” reasoning навыки и instruct способности модели после увеличения контекста в первой стадии.

Авторы отмечают, что в будущем хотят попробовать RL-методы для второй стадии.

🔘Результаты. Так как брали предобученную модель и тюнили ее на длинный контекст, то измерять качество нужно на стандартных бенчмарках (чтобы убедиться, что нет деградации), и на специфичных для длинного контекста (чтобы померить эффективность метода). Метрики на общих бенчах в среднем на уровне базовой Llama 3.1 8B, либо чуть лучше. Картинка 2.

Теперь самое главное. Полезность длинного контекста. Needle In A Hastack тест решает, в отличие от pretrained модели. Это хорошо. Но тест искусственный и в 2025 служит скорее sanity check адекватности, а не реальной оценки способностей. О том, что для моделей с длинным контекстом пора смотреть дальше обсуждалось и недавно тут. На более реалистичных бенчмарках точность в среднем 30%. Например, авторы везде репортят InfiniteBench. В бенче есть задачи разные категорий, включая разные типа QA, суммаризации, арифметики и поиску кода на контекстах в среднем от 100K токенов. Новый метод обгоняет базовую модель (32% vs 24%) и в среднем лучше других бейзлайнов с поддержкой длинного контекста. На другом более прикладном бенче, LV-Eval результаты такие же. Несмотря на улучшения говорить о большой полезности длинного контекста через такой рецепт рано. Картинка 3.

💬 В комментариях оставил мнение по поводу работы в целом.

#статья

@max_dot_sh
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍955🔥3😁1