Привет! Я Макс — инженер и исследователь в области искусственного интеллекта. Последние три года работаю Applied Scientist-ом в одном из FAANG-ов, живу в Лондоне.
max.sh — это моя попытка делиться с сообществом карьерным опытом и советами разработчика-исследователя. Название канала — не только отсылка к моим инициалам, но и дань уважения инженерам: сколько bash-скриптов нам с вами приходится запускать каждый день!
#карьера — всё о профессиональном развитии в ML и смежных областях: собеседования, гайды по прокачке навыков
#образование — авторские материалы, полезные курсы, статьи и подборки ресурсов
#жизнь — моменты из жизни, опыт работы за границей, размышления о продуктивности, синдроме самозванца и пути AI-инженеров
#разбор #мнение #статья — мнения о статьях, материалах и позиции по определенным вопросам
#интервью - коллекционирую опыт людей в собесах в разные места
#рандом и #мем - куда же без них
Присоединяйтесь! Будет интересно.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡6🆒4🦄4👍1🔥1🤝1
Выходные - это отличное время, чтобы не только отключиться от работы, но и размеренно погрузиться в большую тему.
В мире AI без всяких сомнений в этом году такой будут Агенты (AI Agents).
Агент — это любая сущность, способная воспринимать окружающую среду и действовать в ней. В книге Artificial Intelligence: A Modern Approach (1995) агент определяется как система, которая получает информацию об окружающей среде через сенсоры и воздействует на нее с помощью исполнительных механизмов.
Другими словами, агент определяется средой, в которой он работает, и набором доступных ему действий.
Среда агента зависит от его предназначения. Если агент создан для игры (например, Minecraft, Go, Dota), его средой является эта игра. Если агент собирает документы из интернета, его среда — это интернет.
Недавий запуск Operator (https://openai.com/index/introducing-operator/) от OpenAI - агента, который имеет доступ к вашему браузеру и может выполнять рутинные задачи, типа заказа билетов в кино, - большой шаг в такую сторону.
Чтобы изучить, как устроены современные агенты, как их проектируют, предлагаю подборку образовательных материалов на любой вкус и количество времени:
1️⃣ Въехать в тему за вечер и понять че к чему
➖ Шикарный лонг рид от Chip Huyen про концепцию агентов, планирование, evaluation и дизайн
https://huyenchip.com/2025/01/07/agents.html
➖ Гайд от Антропиков (вообще у антропиков классный блог, всегда коротко и по делу) про дизайн агентов
https://www.anthropic.com/research/building-effective-agents
2️⃣ Быть в курсе ключевых новостей на каждую неделю.
➖ Еженедельный выпуск AI Новостей The Batch, курируется самим Andrew Ng, топовая выжимка актуальных новостей с полезными ссылками: https://www.deeplearning.ai/the-batch/
3️⃣ Вдумчивое чтение на несколько недель
➖ Новая книга все от той же Chip Huyen - AI Engineering: Building Applications with Foundation Models - толковый ресурс про дизайн LLM приложений, датасеты, способы evaluations и как все это улучшать. Правда, по сравнению с ее прошлыми книгами, довольно много воды.
https://huyenchip.com/books/
4️⃣ Глубоко погрузиться и следить за темой.
➖ Большой MOOC курс от Berkley про Large Language Model Agents. Каждая лекция - одна тема связанная с агентами от рисерчеров из ведущих лаб. К лекциям идет список из 3-4 статей, так что погружение обеспечено
https://llmagents-learning.org/f24
➖ Продолжение все того же курса, только-только запустился - Advanced Large Language Model Agents.
В этот раз уклон чуть больше в приложения, агенты для кодогенерации, докозательства теорем.
https://llmagents-learning.org/sp25
5️⃣ Покодить и поиграться самому
➖ HF запускает мини курс про агентов с большим уклоном в практику. Вроде как колаба должно хватить 😄
https://huggingface.co/agents-course
➖ Большая подборка мини-курсов про агентов и как их строить на бесплатной образовательной платформе от все того же Andrew Ng: https://www.deeplearning.ai/courses/. Здесь есть курсы и про Agent memory, и про LangChain, и LangGraph, и промтинг в o1 модели.
Happy learning!
#образование
max.sh
В мире AI без всяких сомнений в этом году такой будут Агенты (AI Agents).
Агент — это любая сущность, способная воспринимать окружающую среду и действовать в ней. В книге Artificial Intelligence: A Modern Approach (1995) агент определяется как система, которая получает информацию об окружающей среде через сенсоры и воздействует на нее с помощью исполнительных механизмов.
Другими словами, агент определяется средой, в которой он работает, и набором доступных ему действий.
Среда агента зависит от его предназначения. Если агент создан для игры (например, Minecraft, Go, Dota), его средой является эта игра. Если агент собирает документы из интернета, его среда — это интернет.
Недавий запуск Operator (https://openai.com/index/introducing-operator/) от OpenAI - агента, который имеет доступ к вашему браузеру и может выполнять рутинные задачи, типа заказа билетов в кино, - большой шаг в такую сторону.
Чтобы изучить, как устроены современные агенты, как их проектируют, предлагаю подборку образовательных материалов на любой вкус и количество времени:
https://huyenchip.com/2025/01/07/agents.html
https://www.anthropic.com/research/building-effective-agents
https://huyenchip.com/books/
https://llmagents-learning.org/f24
В этот раз уклон чуть больше в приложения, агенты для кодогенерации, докозательства теорем.
https://llmagents-learning.org/sp25
https://huggingface.co/agents-course
Happy learning!
#образование
max.sh
Please open Telegram to view this post
VIEW IN TELEGRAM
Openai
Introducing Operator
A research preview of an agent that can use its own browser to perform tasks for you. Available to Pro users in the U.S.
🔥7👏2👨💻2🆒2🤝1
Как устроены ML Интервью. Пост-анонс
Хочу написать серию постов о том, как устроен процесс найма на ML инженерные роли с примерами. Рынок конкурентный, позиций немного, а интервью процессы длинные и сложные. И хотя фактор случайности играет во всем этом деле огромную роль, лучше подходить к собесам с осознанием, что сделал все от себя зависящее. А если так, то даже если и не получится пройти собес в этот раз - обязательно удастся в следующий✨
Посты разбиты на две серии:
1️⃣ Анатомия ML Интревью. В каждом посте разберу кокретный раунд с примерами.
- ML Coding
2️⃣ Анатомия Собеседований. В каждом посте расскажу, как в целом выглядит процесс найма в компанию определенного типа или на определенную позицию.
- Собеседование в Seed / Round A Стартапы
❗️ Весь опыт максимально субъективный, основанный на личном опыте, общении с друзьями и знакомыми из зарубежных и отечественных компаний, собранный за разный период времени для Junior - Senior грейдов.
Хочу написать серию постов о том, как устроен процесс найма на ML инженерные роли с примерами. Рынок конкурентный, позиций немного, а интервью процессы длинные и сложные. И хотя фактор случайности играет во всем этом деле огромную роль, лучше подходить к собесам с осознанием, что сделал все от себя зависящее. А если так, то даже если и не получится пройти собес в этот раз - обязательно удастся в следующий
Посты разбиты на две серии:
- ML Coding
- Собеседование в Seed / Round A Стартапы
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
max.sh
Анатомия Собеседований. Часть 1. Seed / Round A Стартапы.
🔊Подробно расскажу, как выглядит процесс интервью в стартапы Seed ($5M+) и Round A ($25M+) с небольшим количеством сотрудников (между 10-50). Эти критерии позволяют стартапу, как правило, переманить…
🔊Подробно расскажу, как выглядит процесс интервью в стартапы Seed ($5M+) и Round A ($25M+) с небольшим количеством сотрудников (между 10-50). Эти критерии позволяют стартапу, как правило, переманить…
❤4👀3😎3🤡1
Анатомия ML Интервью. Часть 1. ML Coding
1️⃣ ML Coding - популярная секция для найма ML инженеров в компаниях всех размеров. Правда что за этим названием скрывается - зачастую очень большая загадка.
HR-ы отписываются, что на этом раунде будет что-то вроде:
На практике же бывает довольно хардово и непредсказуемо.
2️⃣ Лучшая стратегия в подготовке:
вытащить максимум конкретики
- от HR
- от знакомых, кто туда собеседовался или там работает
- в отзывах с .teamblind.com или glassdoor-а.
Ну а затем, отточить навыки фреймворка, который скорее всего нужно будет использовать в интервью (numpy, torch, и так далее) и практиковаться в решении задач!
3️⃣ Теперь про сами вариации. Их, конечно же, много. Но все вопросы обычно можно разделить на два типа: close ended questions и open ended questions.
Close ended questions, как видно из названия, подразумевают ограниченное количество правильных ответов. То есть тут как с литкодом - вас попросят написать что-то очень модульное и легко тестируемое. На вопрос в среднем отводится 25-30 минут.
По таким вопросам в принципе понятно как оценивать кандидата, поэтому есть высокая степень прогнозируемости исхода: хорошо коммуницировал рассуждения, правильно реализовал суть алгоритма, аргументировал все свои действия - скорее всего все ОК и секция пройдена отлично.
Какой тематики именно будет вопрос - зависит от стандартизированности процесса найма в компании.
*️⃣ Если вы собеседуетесь в высокотохнологичный стартап / компанию средних размеров, то это может быть что-то из трансформеров:
или
или
⏩ Подобные вопросы, например, мелькали в процессе у Snap-а.
❗️ Примеры выше - реальо встречающиеся вопросы на собесах. Но это самая база баз. Иногда бывают и настящие харды, типа
*️⃣ В компаниях, где ML Coding является частью ML Breadth секции, направленного на проверку фундаметнальных знаний в машинном обучении, часто могут задать вопрос на что-то из классики:
- Реализовать K-means кластеризацию на питоне
- Реализовать forward/backward логистической регрессии (как правило для бинарных задач)
- Реализовать Наивного Байеса
- Реализовать Decision Tree
Обычно вам дадут шаблонный код, в котором могут быть проинициализированы ключевые параметры и остается реализовать именно алгоритм.
⏩ Такие вопросы можно встретить в ML интервью в FAANG-ах на рисерч роли или на ML инженеров / Data Scientist-ов в Revolut.
Продолжение в посте ниже ⬇️
ссылка
HR-ы отписываются, что на этом раунде будет что-то вроде:
include a small ML coding exercise (not leetcode)
На практике же бывает довольно хардово и непредсказуемо.
вытащить максимум конкретики
- от HR
- от знакомых, кто туда собеседовался или там работает
- в отзывах с .teamblind.com или glassdoor-а.
Ну а затем, отточить навыки фреймворка, который скорее всего нужно будет использовать в интервью (numpy, torch, и так далее) и практиковаться в решении задач!
Close ended questions, как видно из названия, подразумевают ограниченное количество правильных ответов. То есть тут как с литкодом - вас попросят написать что-то очень модульное и легко тестируемое. На вопрос в среднем отводится 25-30 минут.
По таким вопросам в принципе понятно как оценивать кандидата, поэтому есть высокая степень прогнозируемости исхода: хорошо коммуницировал рассуждения, правильно реализовал суть алгоритма, аргументировал все свои действия - скорее всего все ОК и секция пройдена отлично.
Какой тематики именно будет вопрос - зависит от стандартизированности процесса найма в компании.
Implement causal scaled dot product attention in numpy.
Your function should support masking and dropout. The interface is following:
def scaled_dot_product_attention(query, key, value, dropout_p=0.0,
is_causal=False, scale=None) -> numpy.ndarray:
или
Implement Transformer Block in PyTorch using the following template:
class TransformerBlock(nn.Module):
def __init__(self, model_dim: int, num_heads: int):
super().__init__()
torch.manual_seed(0)
pass
def forward(self, embedded: TensorType[float]) -> TensorType[float]:
# Round answer to 4 decimal places
torch.manual_seed(0)
pass
или
Implement nucleus sampling
class NucleusSampler:
"""
## Nucleus Sampler
"""
def __init__(self, p: float, sampler: Sampler):
"""
:param p: is the sum of probabilities of tokens to pick $p$
:param sampler: is the sampler to use for the selected tokens
"""
self.p = p
self.sampler = sampler
# Softmax to compute $P(x_i | x_{1:i-1})$ from the logits
self.softmax = nn.Softmax(dim=-1)
def __call__(self, logits: torch.Tensor):
"""
Sample from logits with Nucleus Sampling
"""
Implement a data preparation pipeline for training an autoregressive model with a delay pattern. Assume that the codebook size is N.
Your goal is to prepare an input tensor for the model. Then, implement the forward function of the model and return the predicted logits with the shape [num_codebooks, batch_size, sequence_length, vocab_size].
- Реализовать K-means кластеризацию на питоне
- Реализовать forward/backward логистической регрессии (как правило для бинарных задач)
- Реализовать Наивного Байеса
- Реализовать Decision Tree
Обычно вам дадут шаблонный код, в котором могут быть проинициализированы ключевые параметры и остается реализовать именно алгоритм.
Продолжение в посте ниже ⬇️
ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11✍5👍4❤2🤡1
Анатомия ML Интервью. Часть 1. ML Coding. Продолжение
*️⃣ Иногда встречается и гибридный формат, когда большая часть кода / весь код какого-то алгоритма за вас уже написан и нужно отловить баги.
Например, дана реализация GPT, стэк трансформер слоев и приведена реализация всех слоев. Нужно найти все косяки в коде (например, реализация никак не использует маскировку токенов при обучении).
⏩ Про такой формат дата поинты по Яндексу.
4️⃣ Теперь перейдем к другой категории вопросов - Open ended questions.
Такие можно встретить в стартапах, особенно ранних в ранних стадиях, или в компаниях, где процесс просто не отлажен / находится в стади трансформации.
В таком интервью вам дадут размытое определение задачи и попросят предложить реализацию. В силу размытости формулировки, интервью превращается в дискуссию, где вы и интервьюер как будто тим мейты, вместе пишете код. На задачу может уходить и 60 минут. А иногда и даже больше! У ранних стартапов сильно больше флексибильности в длительности раунда и они максимально заинтересованы в том, чтобы поймать как можно больше сигнала от кандидата, в силу ограниченности ресурсов на поиск талантов.
Например, в стартапах с уклоном в LLM-ы, где идет найм ML инженеров для поднятия большой инфраструктуры для обучения/инференса моделей могут попросить реализовать что-нибудь такое:
Исходя из задачи, вы предлагаете пути решения и пишите код. Потом следуют follow-up вопросы и вы добавляете новые фичи.
Очень часто на таких вопросах можно пользоваться гуглом, копипастить код из других источников. Суть в том, чтобы попробовать смоделировать реальные рабочие условия. Как по мне, на такие раунды самые интенсивные и интересные. Но и предсказуемости исхода тоже меньше. Много факторов может повлиять на исход: интервьюер неразговорчивый, день не задался и тяжело формулировать мысли на несколько шагов вперед.
⏩ Такие интервью очень любят в Seed / Round A стартапах. Такая секция есть у Mistral AI.
Что думаете? Напишите, если есть дополнения или мысли на этот счет.
Как обычно, Happy Learning!
Например, дана реализация GPT, стэк трансформер слоев и приведена реализация всех слоев. Нужно найти все косяки в коде (например, реализация никак не использует маскировку токенов при обучении).
Такие можно встретить в стартапах, особенно ранних в ранних стадиях, или в компаниях, где процесс просто не отлажен / находится в стади трансформации.
В таком интервью вам дадут размытое определение задачи и попросят предложить реализацию. В силу размытости формулировки, интервью превращается в дискуссию, где вы и интервьюер как будто тим мейты, вместе пишете код. На задачу может уходить и 60 минут. А иногда и даже больше! У ранних стартапов сильно больше флексибильности в длительности раунда и они максимально заинтересованы в том, чтобы поймать как можно больше сигнала от кандидата, в силу ограниченности ресурсов на поиск талантов.
Например, в стартапах с уклоном в LLM-ы, где идет найм ML инженеров для поднятия большой инфраструктуры для обучения/инференса моделей могут попросить реализовать что-нибудь такое:
Write a function that generates output for a given pretrained model.
The function also outputs latency/throughput stats for a given input.
Исходя из задачи, вы предлагаете пути решения и пишите код. Потом следуют follow-up вопросы и вы добавляете новые фичи.
Очень часто на таких вопросах можно пользоваться гуглом, копипастить код из других источников. Суть в том, чтобы попробовать смоделировать реальные рабочие условия. Как по мне, на такие раунды самые интенсивные и интересные. Но и предсказуемости исхода тоже меньше. Много факторов может повлиять на исход: интервьюер неразговорчивый, день не задался и тяжело формулировать мысли на несколько шагов вперед.
Что думаете? Напишите, если есть дополнения или мысли на этот счет.
Как обычно, Happy Learning!
Please open Telegram to view this post
VIEW IN TELEGRAM
✍5👍4❤2🤡1🆒1
Так же в тему собеседований интересно читать отзывы тех, кто собеседовался на разные модные позиции в стартапы / большие компании. Я поспрашивал знакомых и оказалось, что многие были бы готовы поделиться своим опытом, особенно если смогут взамен получить информацию про опыт других людей в другие места.
Cоставил гугл форму, куда можете написать свой опыт собеседования https://forms.gle/7ekoiy21pC5ukVTk7, а я потом его опубликую, с сохранением авторской пунктуации; при необходимости - анонимно. Можете так же написать в личку в тг. Сообщение добавлю в закреп к каналу. Посты можно будет искать по тегу #интервью
Ниже собраны все истории доступные на канале:
- FAANG-и:
Senior ML Engineer в Apple Music
Performance Engineer в Nvidia
Research Engineer в Google DeepMind
Senior ML Engineer в Meta
- Отечественный биг тех:
NLP Engineer LLM SberDevices
- Well-funded Стартапы:
AI Engineer в Mistral.AI
Research Fellowship в Anthropic
- Early stage Стартапы:
Atla ai, Founding ML Engineer, Round A.
- Другие:
VP of AI ML в J.P. Morgan Chase, London
Cоставил гугл форму, куда можете написать свой опыт собеседования https://forms.gle/7ekoiy21pC5ukVTk7, а я потом его опубликую, с сохранением авторской пунктуации; при необходимости - анонимно. Можете так же написать в личку в тг. Сообщение добавлю в закреп к каналу. Посты можно будет искать по тегу #интервью
Ниже собраны все истории доступные на канале:
- FAANG-и:
Senior ML Engineer в Apple Music
Performance Engineer в Nvidia
Research Engineer в Google DeepMind
Senior ML Engineer в Meta
- Отечественный биг тех:
NLP Engineer LLM SberDevices
- Well-funded Стартапы:
AI Engineer в Mistral.AI
Research Fellowship в Anthropic
- Early stage Стартапы:
Atla ai, Founding ML Engineer, Round A.
- Другие:
VP of AI ML в J.P. Morgan Chase, London
Google Docs
Interview Experience
Форма, чтобы рассказать об опыте собеседования в компанию. Ваши ответ будет опубликован в авторском виде в телеграм канале @max_dot_sh. Давайте делиться своим опытом и рассказывать об этом другим.
❤9👍4🤩2🤡2✍1
Поехали с первым отзывом на собесы!
Интервью на AI Engineer в Mistral.AI😮
Авторская орфография сохранена
#интервью
➖ Ник автора в тг - Анонимно
➖ Название комании, можете указать ссылку или коротко описать что за место - Mistral.AI https://mistral.ai/news/. Стартап в области LLM моделей. Недавно подняли 600м в series B раунде.
➖ Как подались на вакансию - Увидел пост их рисерч инженера в линкедине, написал в личку, назначили собес
🔥 Субъективно Сложность процесса по 10 бальной шкале - 9/10, было хардово и необычно
➖ Когда начали процесс - В декабре 2024
➖ Когда закончили процесс - В декабре 2024
➖ Позиция, на которую собеседовались - На сайте называлась AI Engineer
➖ Грейд на который собеседовались (если известно) - Кажется, они тогда нанимали только Сеньоров
➖ Локация вакансии - Ремоут в европе
🔥 Расскажите про этапы собеседований
1. Скрин раунд с их инженером
Звонок на 30-40 минут, скрин, рассказать про себя и про то, какими рисерч проектами занимался. Спрашивали, как именно подходил к эксперименту, какие данные, какие бэйзлайны.
2. Он сайт раунд 1
Первый он сайт состоит сразу из 3 итнервью подряд в один день. Это довольно удивило, не видел раньше такого. На каждом собесе было по 2-3 человека, иногда интервьюировали сразу оба.
Секция 1. Puzzles.
45 минут, секция про брэйнтизеры и логические головоломки. Первый раз такой собес был. Начали с простых вопросов "Два человека хотят забраться на гору, у них один мотоцикл и только один человек может на нем ехать. Оба оказались на вершине горы. Как?" След вопрос сложнее. Потом было про то, как бы я оценил количество пианистов в Европе.
Секция 2. ML Coding.
Кодинг нормальный. Попросили реализовать causal lm пайплайн, чтобы модель можно было использовать через model.generate(...). Нужно было сделать кастомный prepare_inputs_for_generation. Суть была в том, чтобы дойти до работающего кода.
Секция 3. LLM Quiz.
Много вопросов, как работают LLM. На каждом вопросе интервьюеры углублялись. Были такие: виды attention-а; как устроен GQA и почему быстрее, как бы реализовывал его. или рассказать про методы speculative decoding и как они работают, какие гарантии дают на качество. Я прям вспотел тут.
По итогам не позвали на второй раунд, фидбэк очень сухой, HR-ы не общительные.
Из материалов к подготовке видел, что второй раунд состоит тоже из трех интервью:
Бихейв, Дизайн и еще один ML Coding.
➖ Итоги собеседования, например оффер или отказ, или что-то другое: Отказ
➖ Информация про Total Compensation (если желаете) N/A
Интервью на AI Engineer в Mistral.AI
Авторская орфография сохранена
#интервью
1. Скрин раунд с их инженером
Звонок на 30-40 минут, скрин, рассказать про себя и про то, какими рисерч проектами занимался. Спрашивали, как именно подходил к эксперименту, какие данные, какие бэйзлайны.
2. Он сайт раунд 1
Первый он сайт состоит сразу из 3 итнервью подряд в один день. Это довольно удивило, не видел раньше такого. На каждом собесе было по 2-3 человека, иногда интервьюировали сразу оба.
Секция 1. Puzzles.
45 минут, секция про брэйнтизеры и логические головоломки. Первый раз такой собес был. Начали с простых вопросов "Два человека хотят забраться на гору, у них один мотоцикл и только один человек может на нем ехать. Оба оказались на вершине горы. Как?" След вопрос сложнее. Потом было про то, как бы я оценил количество пианистов в Европе.
Секция 2. ML Coding.
Кодинг нормальный. Попросили реализовать causal lm пайплайн, чтобы модель можно было использовать через model.generate(...). Нужно было сделать кастомный prepare_inputs_for_generation. Суть была в том, чтобы дойти до работающего кода.
Секция 3. LLM Quiz.
Много вопросов, как работают LLM. На каждом вопросе интервьюеры углублялись. Были такие: виды attention-а; как устроен GQA и почему быстрее, как бы реализовывал его. или рассказать про методы speculative decoding и как они работают, какие гарантии дают на качество. Я прям вспотел тут.
По итогам не позвали на второй раунд, фидбэк очень сухой, HR-ы не общительные.
Из материалов к подготовке видел, что второй раунд состоит тоже из трех интервью:
Бихейв, Дизайн и еще один ML Coding.
Please open Telegram to view this post
VIEW IN TELEGRAM
mistral.ai
Latest news | Mistral AI
Stay on top with the latest research, product releases, and company announcements from Mistral AI.
🔥12✍4👍3🤡2😎2
Возвращаясь к посту выше с отзывом на собесе в Мистраль, довольно необычно видеть такой набор секций. Особенно целый интервью раунд на решение Брэйнтизеров.
Согласно определению на википедии:
Подобные собесы были регулярной практикой в больших компаниях в начале 2010-ых, особенно Майкрософт и Гугла. Чуть позже они полностью от них отказались, признав, что между успешным собесом на головоломки и перформансом сотрудника не было никакой связи (пост с жарким обсуждением на Hacker News на эту тему).
Если такой вид собеса не несет большой ценности, то зачем же его тогда вставлять в 2024 году в пайплайн интервью в передовой стартап?
Ответ оказывается довольно прозаичным (из беседы с товарищем, кто поинтересовался у интервьюера, почему сеньора-помидора просят оценить сколько апельсинов поместится в комнату - тут я утрирую, конечно😃 ) Дело в том, что согласно Мистралю:
С момента выхода моделей от OpenAI и прочих, количество сигнала от технических интервью уменьшилось (не то чтобы оно и до этого было большим), потому что почти любой лит код / дизайн или общий вопрос можно спросить у модели и в риал тайме она хоть сколько-то разумный ответ. Тогда как с брэйнтизерами это не работает, потому что цепочка логических рассуждений приводит к бесполезному ответ.
В январе меня заинтересоваа эта тема и я решил самостоятельно проделать маленький эксперимент - взять качественных брэйнтизеров и прогнать 4o-mini и 4o, померив их качество. Тратить лишних 100 зеленых на o1 мне тогда не захотелось. Мой код доступен здесь, а более детальная заметка на англ здесь.
Я нашел крутой датасет соборанный и провалидированный вручную людьми - 1100 брэйнтизеров.
Собран он следующим образом:
- более 10к пазл взято с разных источников из интернета, почищено, отфильтровано, дедуплицировано и отобрано таким образом, чтобы ответы улкадывались в короткую цепочку объяснений (то есть это еще и не самые сложные задачи).
- остается примерно 300 задач
- далее, применено два вида аугментаций: 1) семантические, которые направлены просто на то, чтобы перефразировать загадки другими словами, оставив смысл и ответ неизменными 2) контекстуальные (contextual) - меняют условия загадки и ответ, сохранив идею первоначальной загадки.
- все аугментации проверены вручную и отфильтрованы
- итого 1k загадок в датасете.
Картинка 1 пояснит смысл аугментаций (прикреплены к посту ниже)
Далее, я взял 4o-mini и 4o, в промпте указал, что они эксперты в области решения брэйнтизеров, что им разрешено думать и генерировать цепочки рассуждений, но обязательно в конце дать свой вердикт.
Затем я прогнал 4o в виде в режиме судьи, оценивая сгенерированный ответ и референсный. Проделал все несколько раз для меньшего шума.
Итоговоые результаты представлены на картинке 2 (следующий пост)
- 4o-mini в целом плоха и не набирает больше 60% точности.
- 4o заметно лучше. Качество на оригинальных загадхах 84%, на семантических реконструкциях - 74%, а на контекстуальных - 65%.
- Последняя метрика наиболее важная. По факту именно она ближе всего к отражению способности этой модели к решению брэйнтизеров. Все потому, что оригинальные загадки с огромной долей вероятности протекли в претрейн модели и она их тупо запомнила. Семантические реконструкции хорошо отржают способность модели оценивать, что 2 предложения об одном и том же, но тут скорее всего все равно работает просто воспроизведение ответов из трейн. А вот третья категория недоступна в сети, и точнее описывает способности к ризонингу.
#мнение
Согласно определению на википедии:
Брэйнтизеры - это головолмки, требующие нестандартного подхода к задаче, часто задействуя т.н. латеральное мышление, которое и подразумевает нешаблонные размышления с использованием максимального количество подходов к решению проблемы.
Подобные собесы были регулярной практикой в больших компаниях в начале 2010-ых, особенно Майкрософт и Гугла. Чуть позже они полностью от них отказались, признав, что между успешным собесом на головоломки и перформансом сотрудника не было никакой связи (пост с жарким обсуждением на Hacker News на эту тему).
Если такой вид собеса не несет большой ценности, то зачем же его тогда вставлять в 2024 году в пайплайн интервью в передовой стартап?
Ответ оказывается довольно прозаичным (из беседы с товарищем, кто поинтересовался у интервьюера, почему сеньора-помидора просят оценить сколько апельсинов поместится в комнату - тут я утрирую, конечно
На этом интеврью сложнее считерить...Потому что ChatGPT довольно плохо справляется с Брэйнтизерами.
С момента выхода моделей от OpenAI и прочих, количество сигнала от технических интервью уменьшилось (не то чтобы оно и до этого было большим), потому что почти любой лит код / дизайн или общий вопрос можно спросить у модели и в риал тайме она хоть сколько-то разумный ответ. Тогда как с брэйнтизерами это не работает, потому что цепочка логических рассуждений приводит к бесполезному ответ.
В январе меня заинтересоваа эта тема и я решил самостоятельно проделать маленький эксперимент - взять качественных брэйнтизеров и прогнать 4o-mini и 4o, померив их качество. Тратить лишних 100 зеленых на o1 мне тогда не захотелось. Мой код доступен здесь, а более детальная заметка на англ здесь.
Я нашел крутой датасет соборанный и провалидированный вручную людьми - 1100 брэйнтизеров.
Собран он следующим образом:
- более 10к пазл взято с разных источников из интернета, почищено, отфильтровано, дедуплицировано и отобрано таким образом, чтобы ответы улкадывались в короткую цепочку объяснений (то есть это еще и не самые сложные задачи).
- остается примерно 300 задач
- далее, применено два вида аугментаций: 1) семантические, которые направлены просто на то, чтобы перефразировать загадки другими словами, оставив смысл и ответ неизменными 2) контекстуальные (contextual) - меняют условия загадки и ответ, сохранив идею первоначальной загадки.
- все аугментации проверены вручную и отфильтрованы
- итого 1k загадок в датасете.
Картинка 1 пояснит смысл аугментаций (прикреплены к посту ниже)
Далее, я взял 4o-mini и 4o, в промпте указал, что они эксперты в области решения брэйнтизеров, что им разрешено думать и генерировать цепочки рассуждений, но обязательно в конце дать свой вердикт.
Затем я прогнал 4o в виде в режиме судьи, оценивая сгенерированный ответ и референсный. Проделал все несколько раз для меньшего шума.
Итоговоые результаты представлены на картинке 2 (следующий пост)
- 4o-mini в целом плоха и не набирает больше 60% точности.
- 4o заметно лучше. Качество на оригинальных загадхах 84%, на семантических реконструкциях - 74%, а на контекстуальных - 65%.
- Последняя метрика наиболее важная. По факту именно она ближе всего к отражению способности этой модели к решению брэйнтизеров. Все потому, что оригинальные загадки с огромной долей вероятности протекли в претрейн модели и она их тупо запомнила. Семантические реконструкции хорошо отржают способность модели оценивать, что 2 предложения об одном и том же, но тут скорее всего все равно работает просто воспроизведение ответов из трейн. А вот третья категория недоступна в сети, и точнее описывает способности к ризонингу.
#мнение
Please open Telegram to view this post
VIEW IN TELEGRAM
Wikipedia
Brain teaser
puzzles requiring thought including riddles
😎4❤3🤩2🤡2🤓2🤝2
Вместо заключения к посту про Брэйнтизеры
Такой собес действительно имел смысл. На момент декабря 2024 передовые модели не очень то хорошо осиливали задачу брэйнтизеров.
Поменялась ли ситуация сейчас? Возможно. Имеет смысл прогнать тот же DeepSeek R1 (его стоимость безумно хороша для такой модели), ну и если финансы позволяют более сильные модели семейства O от OpenAI. Сколько уйдет на это времени и будет ли практично - хороший вопрос.
Тот факт, что качество проседает на 20% на загадках, которые модель точно не видела в обучении еще раз подтверждает, как хорошо модели запоминают датасет, но вот обобщают его хуже. По крайней мере на отсечке к концу прошлого года.
Кстати говоря, на вопрос:
4o и 4o-mini не в состоянии ответить.
#мнение
Такой собес действительно имел смысл. На момент декабря 2024 передовые модели не очень то хорошо осиливали задачу брэйнтизеров.
Поменялась ли ситуация сейчас? Возможно. Имеет смысл прогнать тот же DeepSeek R1 (его стоимость безумно хороша для такой модели), ну и если финансы позволяют более сильные модели семейства O от OpenAI. Сколько уйдет на это времени и будет ли практично - хороший вопрос.
Тот факт, что качество проседает на 20% на загадках, которые модель точно не видела в обучении еще раз подтверждает, как хорошо модели запоминают датасет, но вот обобщают его хуже. По крайней мере на отсечке к концу прошлого года.
Кстати говоря, на вопрос:
Two people had to go to the top of the hill. There’s only one motorcycle, yet only one person can ride it. Fortunately, they both get to the top of the hill. How?
4o и 4o-mini не в состоянии ответить.
#мнение
❤4🤡2🍾2🤝2🔥1🤩1👨💻1🦄1👾1
Сколько времени и денег стоит обучить Llama 3 405B с нуля ?
В компаниях, где процессы начинают быть завязаны на обучение или файнтюн LLM-моделей (по иронии судьбы, это либо совсем крупные игроки, либо небольшие стартапы), вопрос сколько будет стоить обучение модели размера X миллиардов параметров на Y токенах при Z вычислительных ресурсах (GPU или просто компьют) - рано или поздно будет задан ML инженеру продактом или менеджером.
В прошлом году ко мне так часто приходили с этим вопросом, что погуглив нужные статьи и проделав простую математику сошелся к формуле, которой все оказались довольны. Не потому что она простая, а потому что отлично совпадала с жизнью.
Идея в том, чтобы выразить обучение модели N параметров и P токенов к количеству FLOPs (floating point operations). А весь доступный компьют от железа к FLOPS (floating point operations per second). Тогда поделив одно на другое получим оценку времени на обучение модели.
Разберем подробнее.
Количество FLOPs на модель для forward-pass модели примерно 2N, коэф 2 идет от числа матричных операций. backward тяжелее в 2x раза, потому что нужно и градиенты посчитать, и intermediate activations сохранить - 4N. В итоге FLOPS на модель ~ 6N.
Тогда общий FLOPs обучения модели на датасете из P токенов будет 6NP.
Осталось посчитать скорость доступной инфраструктуры. И тут конечно уже начинаются махания руками. Кластер из большого количества GPU не будет работать с 100% эффективностью, большое количество GPU будут простаивать в ожидании синхронизации с другими нодами. И чем больше кластер, тем меньше будет общая утилизация. Для мониторинга работы кластера есть метрика MFU - model FLOPS utilization, она в общем-то и показывается отношение реального throughput к теоретическому максимальному. Получить MFU > 50% на реальных кластерах очень сложно.
Откуда же взять цифры, когда нет возможности протестить инфраструктуру? (например GPU еще не арендованы). Благо Meta щедро делится такой инфой в своих репортах. Например, они писали что выбили 38% утилизации на 16K GPU. Картинка 1.
Тогда алгоритм оценки FLOPs вашей системы становится простым:
1. Находим в документации Nvidia теоретический FLOPs для вашей GPU для заданной precision
2. Берем MFU меты или делаем свой бенчмарк
3. Умножаем теоретический FLOPs из шага 1 на MFU
4. Умножаем результат с шага 3 на количество GPU
Все готово, делим FLOPS модели и данных на FLOPs посчитанный выше и получаем оценку в времени обучения секундах.
Картинка 2 - как итоговая формула для примения на практике. Хорошо себя ведет на крупных кластерах с 1K+ карточек.
🔥 Cделаем кейс стади. Сколько будет обучаться Llama3 405B?
Размер модели 405B, обучали на 15.6 триллионах токенов.
Использовали 16K H100 GPU, средняя пропускная способность одной видеокарты в их системе достигала 400 Teraflops.
⌛Делим одно на другое, получаем 70 дней. В репорте авторы пишут что обучали чуть дольше, скорее всего модель падала и был нужен рестарт.
💸 Теперь довольно легко посчитать, сколько будет стоить такое обучение. Поделив общий FLOPs на FLOPS системы мы можем легко выразить секунды в часы, тогда получим количество миллионов GPU часов на обучение. Поделив эту сумму на стоимость аренды или обслуживания одной гпу, получим общую стоимость. Например на AWS H100 идет за 2$ в час, тогда обучение будет стоить:
52$ миллиона долларов.
Сумма безумная. И это на обучение одной модели...без учета зарплат дорогущих сотрудников.
#разбор
В компаниях, где процессы начинают быть завязаны на обучение или файнтюн LLM-моделей (по иронии судьбы, это либо совсем крупные игроки, либо небольшие стартапы), вопрос сколько будет стоить обучение модели размера X миллиардов параметров на Y токенах при Z вычислительных ресурсах (GPU или просто компьют) - рано или поздно будет задан ML инженеру продактом или менеджером.
В прошлом году ко мне так часто приходили с этим вопросом, что погуглив нужные статьи и проделав простую математику сошелся к формуле, которой все оказались довольны. Не потому что она простая, а потому что отлично совпадала с жизнью.
Идея в том, чтобы выразить обучение модели N параметров и P токенов к количеству FLOPs (floating point operations). А весь доступный компьют от железа к FLOPS (floating point operations per second). Тогда поделив одно на другое получим оценку времени на обучение модели.
Разберем подробнее.
Количество FLOPs на модель для forward-pass модели примерно 2N, коэф 2 идет от числа матричных операций. backward тяжелее в 2x раза, потому что нужно и градиенты посчитать, и intermediate activations сохранить - 4N. В итоге FLOPS на модель ~ 6N.
Тогда общий FLOPs обучения модели на датасете из P токенов будет 6NP.
Осталось посчитать скорость доступной инфраструктуры. И тут конечно уже начинаются махания руками. Кластер из большого количества GPU не будет работать с 100% эффективностью, большое количество GPU будут простаивать в ожидании синхронизации с другими нодами. И чем больше кластер, тем меньше будет общая утилизация. Для мониторинга работы кластера есть метрика MFU - model FLOPS utilization, она в общем-то и показывается отношение реального throughput к теоретическому максимальному. Получить MFU > 50% на реальных кластерах очень сложно.
Откуда же взять цифры, когда нет возможности протестить инфраструктуру? (например GPU еще не арендованы). Благо Meta щедро делится такой инфой в своих репортах. Например, они писали что выбили 38% утилизации на 16K GPU. Картинка 1.
Тогда алгоритм оценки FLOPs вашей системы становится простым:
1. Находим в документации Nvidia теоретический FLOPs для вашей GPU для заданной precision
2. Берем MFU меты или делаем свой бенчмарк
3. Умножаем теоретический FLOPs из шага 1 на MFU
4. Умножаем результат с шага 3 на количество GPU
Все готово, делим FLOPS модели и данных на FLOPs посчитанный выше и получаем оценку в времени обучения секундах.
Картинка 2 - как итоговая формула для примения на практике. Хорошо себя ведет на крупных кластерах с 1K+ карточек.
Размер модели 405B, обучали на 15.6 триллионах токенов.
Использовали 16K H100 GPU, средняя пропускная способность одной видеокарты в их системе достигала 400 Teraflops.
⌛Делим одно на другое, получаем 70 дней. В репорте авторы пишут что обучали чуть дольше, скорее всего модель падала и был нужен рестарт.
💸 Теперь довольно легко посчитать, сколько будет стоить такое обучение. Поделив общий FLOPs на FLOPS системы мы можем легко выразить секунды в часы, тогда получим количество миллионов GPU часов на обучение. Поделив эту сумму на стоимость аренды или обслуживания одной гпу, получим общую стоимость. Например на AWS H100 идет за 2$ в час, тогда обучение будет стоить:
52$ миллиона долларов.
Сумма безумная. И это на обучение одной модели...без учета зарплат дорогущих сотрудников.
#разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🏆3🆒3🤡2🦄2✍1👍1👨💻1😎1👾1
Самое главное
- модель всего на 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-е). Будем ждать новых релизов, авторы обещают новую версию в скором времени.
#статья #новости
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩5🤓3🦄2⚡1👍1🍾1👾1