Анатомия 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. Давайте делиться своим опытом и рассказывать об этом другим.
❤11👍5✍2🤩2🤡2
Поехали с первым отзывом на собесы!
Интервью на 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✍5👍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 (denoscript 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
Классная подборка мл новинок, которые можно потрогать локально в генерации изображений и синтезе речи в канале @voicestuff
Особенно впечатлила демка с FLUX + PuLID, можно самому попробовать здесь:
- грузите свою картинк
- пишете промпт, типа portrait of < insert your favorite character here >
- ждете фотографию в высоком разрешении с вашим лицом и телом заданного персонажа. Оч круто и консистентно работает с Марвеловскими героями🔥
Особенно впечатлила демка с FLUX + PuLID, можно самому попробовать здесь:
- грузите свою картинк
- пишете промпт, типа portrait of < insert your favorite character here >
- ждете фотографию в высоком разрешении с вашим лицом и телом заданного персонажа. Оч круто и консистентно работает с Марвеловскими героями
Please open Telegram to view this post
VIEW IN TELEGRAM
😎4🤩1🤝1
Forwarded from Voice stuff
Запустить прямо сейчас 🤩
https://github.com/ToTheBeginning/PuLID - Копирует лицо по одной фотографии. На картинке как раз халк с моим лицом, которого я получил через FLUX + PuLID в comfyUI. Если не охота заморачиваться, вот spaces https://huggingface.co/spaces/yanze/PuLID-FLUX
https://huggingface.co/spaces/deepseek-ai/Janus-Pro-7B - Моделька по генерации изображений от DeepSeek. По качеству ей до FLUX далеко, но зато полноценная LLM с изображениями как на вход, так и на выход. Отсюда промпты Вышла вот-вот на днях совсем.
https://huggingface.co/spaces/srinivasbilla/llasa-3b-tts - большая модель для синтеза речи с 1, 3 и 8B параметров от HKUST. Вышла на днях буквально. Код открыт на пол шишечки. Звучит неплохо, есть клонирование. Сама модель вот тут. https://huggingface.co/HKUSTAudio/Llasa-3B
https://github.com/ToTheBeginning/PuLID - Копирует лицо по одной фотографии. На картинке как раз халк с моим лицом, которого я получил через FLUX + PuLID в comfyUI. Если не охота заморачиваться, вот spaces https://huggingface.co/spaces/yanze/PuLID-FLUX
https://huggingface.co/spaces/deepseek-ai/Janus-Pro-7B - Моделька по генерации изображений от DeepSeek. По качеству ей до FLUX далеко, но зато полноценная LLM с изображениями как на вход, так и на выход. Отсюда промпты Вышла вот-вот на днях совсем.
https://huggingface.co/spaces/srinivasbilla/llasa-3b-tts - большая модель для синтеза речи с 1, 3 и 8B параметров от HKUST. Вышла на днях буквально. Код открыт на пол шишечки. Звучит неплохо, есть клонирование. Сама модель вот тут. https://huggingface.co/HKUSTAudio/Llasa-3B
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾4😎3🦄2👏1👨💻1🆒1
С разрешения @aigoncharov публикую отзыв на процесс собеседования в Anthropic на Research Fellowship программу.
Сначала немного контекста. Anthropic - это AI компания, один из лидеров в обучении больших LLM моделей, во всех бенчмарках и лидербордах соревнуется с другими крупными игроками типа OpenAI или гугла.
А, и да, ждем от них reasoning модель в самое ближайшее время - источник.
С самого основания Антропик позиционирует себя как Safety AI компания. То есть все продукты и рисерч направлены на построение, в конечном итоге, безопасного AI, доступного всем.
Чтобы подтверждать свои слова делом (а не только словами, как многие😃 ), они и запустили Anthropic Fellows Program for AI Safety Research - программу исследований в области безопасности AI. В рамках программы 10–15 участников получат финансирование и менторство для работы над исследованиями. Программа на 6 месяцев, а ключевые темы - Adversarial Robustness, Dangerous Capability Evaluations, Scalable Oversight. Цель - публикация или полезная интеграция в модели Антропика.
В менторах большие люди, например Jan Leike (у него классный блог) лид Alignment команды в Антропике.
Сначала немного контекста. Anthropic - это AI компания, один из лидеров в обучении больших LLM моделей, во всех бенчмарках и лидербордах соревнуется с другими крупными игроками типа OpenAI или гугла.
А, и да, ждем от них reasoning модель в самое ближайшее время - источник.
С самого основания Антропик позиционирует себя как Safety AI компания. То есть все продукты и рисерч направлены на построение, в конечном итоге, безопасного AI, доступного всем.
Чтобы подтверждать свои слова делом (а не только словами, как многие
В менторах большие люди, например Jan Leike (у него классный блог) лид Alignment команды в Антропике.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🦄2👏1🤩1🍾1👨💻1😎1👾1
Интервью на Research Fellowship в Antropic 😮
* Авторская орфография сохранена
#интервью
➖ Ник автора в тг - @aigoncharov
➖ Название комании, можете указать ссылку или коротко описать что за место - Anthropic
➖ Как подались на вакансию - Через форму на сайтие Антропика, податься можно было до 20 января 2025 года.
➖ Когда начали процесс - X
➖ Когда закончили процесс - В феврале 2025
➖ Позиция, на которую собеседовались - Research Fellowship
➖ Грейд на который собеседовались (если известно) - по большому счету стажер или джун
➖ Локация вакансии - Лондон
🔥 Расскажите про этапы собеседований
1. Скрин кодинг с автоматической проверкой
Платформа codesignal.com
Надо было нахачить класс который бы имел публичное АПИ в соответствии со спекой. В задании 4 уровня. Новый уровень открывается после того как прошли все тесты на текущем уровне. На новом уровне будет какая-то модицифкация, которая потребует порефакторить код. Я не просто так написал нахачить. Чтобы успеть все сделать за 90 минут, надо писать быстро и забыть про big O. Забудьте про всякие хипы, бинарные поиски и прочее. Я еле успел все завести за 2 минуты до того как прозвенел таймер. Интервьюера нет. Только бездушная система.
2. Скрин кодинг с человеком
Здесь был вопрос уровня литкод медиум с фоллуапом. Показалось проще чем стандартная кодинговая секция в фаангах, где обычно два разных литкода медиум.
3. Он сайт раунд.
Долгий этап из трех частей: рисерч брейншторм (15 мин), домашка с ревью (5 часов), culture fit (1 час). Можно разбить на несколько дней если захочется.
Секция 1. Рисерч Брэйншторминг
15 минут. Созвонился с Jan Leike (head of alignment, хоть с селебой пообщался). После короткого интро он накинул два открытых вопроса на подумать/набросать идеи. Вопросы не требовали глубокого знания внутрянки LLM, скорее опыта изучения поведения LLM как черного ящика и креативности.
Увы, креативности в этот день мне не выдали. На первом вопросе я завис и молчал минуты 3 перебирая в голове все свои скромные познания в математике. Как понятно из заголовка, вместо того чтобы порадовать интервьюера тем, что я стал самую малость разбираться в линале, надо было накидывать идеи. Впрочем, иногда проще сказать, чем сделать. Особенно, когда часики тикают, и тикают стремительно. Мне пришел в голову охуллиард идей, но пришел уже после того, как я выбрался прогуляться вокуг прудика, а надо было здесь и сейчас.
По скучающей мимике интервьюера к концу собеса мне стало понятно, что дело дрянь. Впрочем, впереди было объемное ДЗ на 5 часов, где, как мне казалось, можно будет восстановить свою подмоченную репутацию.
Казалось - ключевое слово. Спустя час пришла автоматическая отбивка, что в разговоре больше нет нужды, а у меня пропал доступ на портал для кандидатов. На следюущий день рекрутер вежливо послала искать счастья в другом месте и отменила оставшиеся части виртуального он-сайта.
Секция 2. Home Work Assignment.
5 часов. В день отменненого ДЗ мне по ошибке все же пришла ссылка на jupyter notebook с заданием. Дают ключ к АПИ Антропика, и попросят поисследовать систему как черный ящик по мотивам исследования/блог поста. В конце надо созвониться и презентовать обзор решения и показать что вы умеете говорить и думать.
Секция 3. Culture Fit. 1 час.
от @max_dot_sh - скорее всего стандартный раунд с HR / нанимающим менеджером на главные ценности в работе, в общении с командой и проч.
➖ Итоги собеседования, например оффер или отказ, или что-то другое: Отказ
➖ Информация про Total Compensation (если желаете) 8400$ в месяц и стандартные бенефиты в виде страховки.
* Авторская орфография сохранена
#интервью
1. Скрин кодинг с автоматической проверкой
Платформа codesignal.com
Надо было нахачить класс который бы имел публичное АПИ в соответствии со спекой. В задании 4 уровня. Новый уровень открывается после того как прошли все тесты на текущем уровне. На новом уровне будет какая-то модицифкация, которая потребует порефакторить код. Я не просто так написал нахачить. Чтобы успеть все сделать за 90 минут, надо писать быстро и забыть про big O. Забудьте про всякие хипы, бинарные поиски и прочее. Я еле успел все завести за 2 минуты до того как прозвенел таймер. Интервьюера нет. Только бездушная система.
2. Скрин кодинг с человеком
Здесь был вопрос уровня литкод медиум с фоллуапом. Показалось проще чем стандартная кодинговая секция в фаангах, где обычно два разных литкода медиум.
3. Он сайт раунд.
Долгий этап из трех частей: рисерч брейншторм (15 мин), домашка с ревью (5 часов), culture fit (1 час). Можно разбить на несколько дней если захочется.
Секция 1. Рисерч Брэйншторминг
15 минут. Созвонился с Jan Leike (head of alignment, хоть с селебой пообщался). После короткого интро он накинул два открытых вопроса на подумать/набросать идеи. Вопросы не требовали глубокого знания внутрянки LLM, скорее опыта изучения поведения LLM как черного ящика и креативности.
Увы, креативности в этот день мне не выдали. На первом вопросе я завис и молчал минуты 3 перебирая в голове все свои скромные познания в математике. Как понятно из заголовка, вместо того чтобы порадовать интервьюера тем, что я стал самую малость разбираться в линале, надо было накидывать идеи. Впрочем, иногда проще сказать, чем сделать. Особенно, когда часики тикают, и тикают стремительно. Мне пришел в голову охуллиард идей, но пришел уже после того, как я выбрался прогуляться вокуг прудика, а надо было здесь и сейчас.
По скучающей мимике интервьюера к концу собеса мне стало понятно, что дело дрянь. Впрочем, впереди было объемное ДЗ на 5 часов, где, как мне казалось, можно будет восстановить свою подмоченную репутацию.
Казалось - ключевое слово. Спустя час пришла автоматическая отбивка, что в разговоре больше нет нужды, а у меня пропал доступ на портал для кандидатов. На следюущий день рекрутер вежливо послала искать счастья в другом месте и отменила оставшиеся части виртуального он-сайта.
Секция 2. Home Work Assignment.
5 часов. В день отменненого ДЗ мне по ошибке все же пришла ссылка на jupyter notebook с заданием. Дают ключ к АПИ Антропика, и попросят поисследовать систему как черный ящик по мотивам исследования/блог поста. В конце надо созвониться и презентовать обзор решения и показать что вы умеете говорить и думать.
Секция 3. Culture Fit. 1 час.
от @max_dot_sh - скорее всего стандартный раунд с HR / нанимающим менеджером на главные ценности в работе, в общении с командой и проч.
Please open Telegram to view this post
VIEW IN TELEGRAM
✍4🍾2⚡1👍1🔥1🤓1🆒1
Немного от себя
1️⃣ Модели Антропика реально классные, последний 3.5 Sonnet закрывает большое количество стандартных задач: суммаризацию, машинный перевод (почти все модели жестко страдают в качестве, когда дело касается не Английского), few-shot классификацию, ежедневный кодинг.
Одно но - guardrails (механизмы защиты модели) слишком выкручены. Модель пытается быть ну слишком безопасной и не сказать ничего лишнего. Банально даже когда просишь сделать машинный перевод с фрагментом текста, который содержит ненормативную лексику, он может отказаться. И отключить их как-то, увы, нельзя.
Понимаю, что guardrails имеют огромный смысл в B2C секторе. Но в B2B думаю это часто может нести больше вреда, чем пользы.
2️⃣ У нас тоже есть подобные инициативы, называются Applied Scientist Internships. На 6 месяцев можете попасть в большую исследовательскую команду и сделать рисерч фичу для продукта, которым будут пользоваться миллионы.
Если вы MS или PhD студент, именно находитесь в процессе получения степени в области ML, то податься можно здесь.
*️⃣ Если попадаете по всем Basic Qualifications и желательно по нескольким Preferred Qualifications, то можете написать мне и обсудим, смогу сделать рефер.
Одно но - guardrails (механизмы защиты модели) слишком выкручены. Модель пытается быть ну слишком безопасной и не сказать ничего лишнего. Банально даже когда просишь сделать машинный перевод с фрагментом текста, который содержит ненормативную лексику, он может отказаться. И отключить их как-то, увы, нельзя.
Понимаю, что guardrails имеют огромный смысл в B2C секторе. Но в B2B думаю это часто может нести больше вреда, чем пользы.
Если вы MS или PhD студент, именно находитесь в процессе получения степени в области ML, то податься можно здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🤩3⚡1🔥1🤝1🆒1🦄1
Можно, например, вот так:
#жизнь
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17🍾5😎5❤1👍1👨💻1🆒1
Работать в AI стартапах становится престижнее. Раньше такие можно было найти в Долине, но теперь тренд меняется и в Европе тоже.
Причин идти в стартапы у всех свои. Перечислю те, что по моему мнению лежат на поверхности:
#мнение
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4👨💻3🦄3
Анатомия Собеседований. Часть 1. Seed / Round A Стартапы.
🔊 Подробно расскажу, как выглядит процесс интервью в стартапы Seed ($5M+) и Round A ($25M+) с небольшим количеством сотрудников (между 10-50). Эти критерии позволяют стартапу, как правило, переманить сильных людей и уже имеют пилот проекта, который привлек доверие инвесторов.
🔴 Если кажется, что стартап на 10-50 человек не может иметь сложный процесс найма, то вы ошибаетесь - цикл интервью более интенсивный и время затратный (читайте ниже).
Но почему так? Ранний стартап по определению не может нанять много людей. Поэтому они хотят поймать как можно больше сигнала от кандидата во время интервью. Эта дотошность дает лучшее представление всем членам компании о том, какой вы потенциально сотрудник. Ведь вам придется работать бок о бок каждый день.
🟢 В этом одновременно и плюс, и минус для кандидата. С одной стороны, чем лучше вы пройдете собес и впечатлите команду как личность, тем больше шансов на оффер. Но с другой стороны придется и времени тратить сильно больше чем при собесе в бОльшую компанию.
Перейдем к типичной структуре интервью
Надеюсь, когда-нибудь дойдут руки до того, чтобы описать каждый тип собеса в подробностях с примерами.
🔄 Founder talk (30-45 минут).
На этой стадии вы можете поговорить с фаундером / ко-фаундером. Особенно если нанимаетесь на Founding роль (например, Founding ML Engineer). Здесь можно зарядиться энергетикой главного человека в компании и понять для себя стоит игра свеч или нет. По большому счету это разговорное интервью о вашем опыте и рассказ фаундера о компании. Вы просто присматриваетесь друг к другу. Вам рассказывают про виденье продукта и перспективы, а вы оцениваете насколько это откликается.
🔄 Tech Lead / CTO talk (30-45 минут).
Это еще один разговорный раунд. В этот раз уже с техническим человеком (часто это бывает очень опытный инженер из big tech-а с 5-10+ лет опыта - если нет, повод задуматься). Здесь уже гораздо больше фокус на вашем техническом бэкграунде и опыте прошлых проектов. Но и пространство для ваших вопросов очень много. Опять-таки, отличная стадия чтобы уловить, нравится вам то, что делает стартап в технологическом плане и как будет развиваться команда. Тут вы можете уловить техническую подкованность людей в компании и понимание, что вообще они делают.
🔄 Homework Assignment (4-6 часов минимум).
А дальше начинается жесть. Да, да, вам могут дать домашку на 4-6 часов (не верьте, хорошее выполнение, если хотите выделиться, займет 8+ часов). В домашке могут попросить реализовать статью, сервис, построить ML пайплайн - все зависит от роли. 4-6 часов - это уже большой коммитмент. На этой стадии реально проверяется ваш интерес к компании, готовы вы идти дальше или нет. Но так же это и уникальный шанс блеснуть скиллом и выделиться. Большие корпорации не могут позволить такие интервью, слишком затратно. А у стартапа такая возможность есть. И это можно использовать как преимущество.
🔄 Homework Review (1.5 - 2 часа).
Дальше с вами захотят поговорить вживую. Опять-таки шанс объяснить как и почему вы сделали что-то именно так, а не иначе. На встрече может быть 2-3 человека (включая CTO), чтобы позадовать глубокие вопросы и понять ваше мышление. Хороший шанс и свой навык убедительно продемнострировать, и понять вайб команды на практике.
... продолжение в посте ниже
Но почему так? Ранний стартап по определению не может нанять много людей. Поэтому они хотят поймать как можно больше сигнала от кандидата во время интервью. Эта дотошность дает лучшее представление всем членам компании о том, какой вы потенциально сотрудник. Ведь вам придется работать бок о бок каждый день.
Перейдем к типичной структуре интервью
Надеюсь, когда-нибудь дойдут руки до того, чтобы описать каждый тип собеса в подробностях с примерами.
На этой стадии вы можете поговорить с фаундером / ко-фаундером. Особенно если нанимаетесь на Founding роль (например, Founding ML Engineer). Здесь можно зарядиться энергетикой главного человека в компании и понять для себя стоит игра свеч или нет. По большому счету это разговорное интервью о вашем опыте и рассказ фаундера о компании. Вы просто присматриваетесь друг к другу. Вам рассказывают про виденье продукта и перспективы, а вы оцениваете насколько это откликается.
Это еще один разговорный раунд. В этот раз уже с техническим человеком (часто это бывает очень опытный инженер из big tech-а с 5-10+ лет опыта - если нет, повод задуматься). Здесь уже гораздо больше фокус на вашем техническом бэкграунде и опыте прошлых проектов. Но и пространство для ваших вопросов очень много. Опять-таки, отличная стадия чтобы уловить, нравится вам то, что делает стартап в технологическом плане и как будет развиваться команда. Тут вы можете уловить техническую подкованность людей в компании и понимание, что вообще они делают.
А дальше начинается жесть. Да, да, вам могут дать домашку на 4-6 часов (не верьте, хорошее выполнение, если хотите выделиться, займет 8+ часов). В домашке могут попросить реализовать статью, сервис, построить ML пайплайн - все зависит от роли. 4-6 часов - это уже большой коммитмент. На этой стадии реально проверяется ваш интерес к компании, готовы вы идти дальше или нет. Но так же это и уникальный шанс блеснуть скиллом и выделиться. Большие корпорации не могут позволить такие интервью, слишком затратно. А у стартапа такая возможность есть. И это можно использовать как преимущество.
Дальше с вами захотят поговорить вживую. Опять-таки шанс объяснить как и почему вы сделали что-то именно так, а не иначе. На встрече может быть 2-3 человека (включая CTO), чтобы позадовать глубокие вопросы и понять ваше мышление. Хороший шанс и свой навык убедительно продемнострировать, и понять вайб команды на практике.
... продолжение в посте ниже
Please open Telegram to view this post
VIEW IN TELEGRAM
✍7🆒4❤3👍3🍾2