#asr #repo
Потоковое распознавание речи
👄 Если вы занимаетесь распознаванием речи, то знаете, что есть проект NeMo от NVIDIA, в котором реализованы плюс-минус все SOTA архитектуры (Conformer-CTC, Conformer-Transducer, etc.). Какое-то время назад я занимался ASR и смотрел это решение, — есть скрипты для обучения, качество распознавания получается хорошее. Особенно, если обучить и добавить LM (обычно это kenlm) для рескоринга гипотез акустической модели.
Так вот, можно было без проблем обучить отличную оффлайн модель. Но если попробовать сделать на ней стриминг (распознавание в realtime), то ничего хорошего не выйдет, — сильно упадет качество (мы хотим быстрый отклик, режем контекст, модели становится плохо).
Есть ряд статей о том как делать такие модели, например вот эта от Microsoft. В ней предлагается изменить не архитектуру, а процесс тренировки, — при помощи масок подавать на обучение ограниченный заданным параметром контекст. Мы такой подход не реализовали, но если долго сидеть у реки, то можно увидеть как плывет pull request.
👉 Недавно PR с этим подходом въехал в основную ветку NeMo. Что там по качеству надо смотреть, но появились скрипты и примеры для обучения online ASR. Кто будет пробовать, напишите как оно.
GitHub | код / примеры
Потоковое распознавание речи
👄 Если вы занимаетесь распознаванием речи, то знаете, что есть проект NeMo от NVIDIA, в котором реализованы плюс-минус все SOTA архитектуры (Conformer-CTC, Conformer-Transducer, etc.). Какое-то время назад я занимался ASR и смотрел это решение, — есть скрипты для обучения, качество распознавания получается хорошее. Особенно, если обучить и добавить LM (обычно это kenlm) для рескоринга гипотез акустической модели.
Так вот, можно было без проблем обучить отличную оффлайн модель. Но если попробовать сделать на ней стриминг (распознавание в realtime), то ничего хорошего не выйдет, — сильно упадет качество (мы хотим быстрый отклик, режем контекст, модели становится плохо).
Есть ряд статей о том как делать такие модели, например вот эта от Microsoft. В ней предлагается изменить не архитектуру, а процесс тренировки, — при помощи масок подавать на обучение ограниченный заданным параметром контекст. Мы такой подход не реализовали, но если долго сидеть у реки, то можно увидеть как плывет pull request.
👉 Недавно PR с этим подходом въехал в основную ветку NeMo. Что там по качеству надо смотреть, но появились скрипты и примеры для обучения online ASR. Кто будет пробовать, напишите как оно.
GitHub | код / примеры
GitHub
Adding cache-aware streaming Conformer with look-ahead support by VahidooX · Pull Request #3888 · NVIDIA/NeMo
What does this PR do ?
Adding cache-aware streaming Conformer training and inference with look-ahead support. It is achieved by training a model with limited effective right context and then perfor...
Adding cache-aware streaming Conformer training and inference with look-ahead support. It is achieved by training a model with limited effective right context and then perfor...
👍11
Forwarded from Lingtrain
bradbury_den_ru_ru.pdf
1.9 MB
#nlp #parallelcorpora
Два перевода
📚 Выровнял два перевода рассказа Бредбери "The Picasso Summer" на русский. Первый от Норы Галь, второй от Арама Оганяна.
Можно видеть, что переводчик — птица вольная, особенно по части имён, хотя оба перевода хорошие.
💡 Так же видно, что это по сути корпус парафраз, который можно использовать для различных целей машинного обучения.
В следующей версии Lingtrain Aligner, язык станет зависим от стороны выравнивания (левая/правая), чтобы выравнивать два текста на одном языке. Пока что я загружал один текст как русский, а второй как general язык.
Два перевода
📚 Выровнял два перевода рассказа Бредбери "The Picasso Summer" на русский. Первый от Норы Галь, второй от Арама Оганяна.
Можно видеть, что переводчик — птица вольная, особенно по части имён, хотя оба перевода хорошие.
💡 Так же видно, что это по сути корпус парафраз, который можно использовать для различных целей машинного обучения.
В следующей версии Lingtrain Aligner, язык станет зависим от стороны выравнивания (левая/правая), чтобы выравнивать два текста на одном языке. Пока что я загружал один текст как русский, а второй как general язык.
🔥6👍2❤1
Forwarded from AI для Всех
Андрей Карпати (ex Tesla AI) выложил новую лекцию
«!!!! Итак, я записал (новую!) 2h25m лекцию "The spelled-out intro to neural networks and backpropagation: building micrograd".
Это кульминация примерно 8 лет навязчивых мыслей о том, как лучше объяснить нейронные сети и обратное распространение.
Если вы знаете Python, смутно помните, как проходили производные в средней школе, посмотрите это видео и к концу не поймете обратное распространение и суть нейронных сетей, тогда я съем ботинок :D»
Смотреть
«!!!! Итак, я записал (новую!) 2h25m лекцию "The spelled-out intro to neural networks and backpropagation: building micrograd".
Это кульминация примерно 8 лет навязчивых мыслей о том, как лучше объяснить нейронные сети и обратное распространение.
Если вы знаете Python, смутно помните, как проходили производные в средней школе, посмотрите это видео и к концу не поймете обратное распространение и суть нейронных сетей, тогда я съем ботинок :D»
Смотреть
👍10❤2
#nlp #big #optimization
LLM.int8() → Слон в colab'е
⚡️В transformers добавили новый механизим квантизации (приведения весов к int8) без потери качества при инференсе.
Evaluation сделали на OPT-175B, Bloom 176B, T5-11B и T5-3B. На бенчмарках сжатые модели показали отсутствие деградации по качеству. По скорости инференса Bloom-int8 стал на 15-23% медленнее.
〰️ Зачем?
Чем больше модель, тем больше нужно вычислительных ресурсов, чтобы ее запустить (вспомните про YaLM 100B). Наиболее точные значения весов хранятся в FP32 (4 байта на число → 3B параметров ≈ 11Gb). Соответственно int8 занимает в 4 раза меньше (3B параметров ≈ 2.8Gb). В качестве примера авторы дают colab, в котором запускают модель T5 на 11B (42Gb FP32) весов.
Но ведь мы и раньше умели квантизавать, скажете вы. Потеря точности растет с увеличением модели. 🤗 определили, что обычная квантизация не годится для трансформеров больше чем 6B параметров (пишут об этом в статье).
👉 Сделан еще один шаг по укрощению больших нейросетей (всплывает аналогия со статуями Клодта, надо бы порисовать на эту тему).
Пост | Статья | Colab
LLM.int8() → Слон в colab'е
⚡️В transformers добавили новый механизим квантизации (приведения весов к int8) без потери качества при инференсе.
Evaluation сделали на OPT-175B, Bloom 176B, T5-11B и T5-3B. На бенчмарках сжатые модели показали отсутствие деградации по качеству. По скорости инференса Bloom-int8 стал на 15-23% медленнее.
〰️ Зачем?
Чем больше модель, тем больше нужно вычислительных ресурсов, чтобы ее запустить (вспомните про YaLM 100B). Наиболее точные значения весов хранятся в FP32 (4 байта на число → 3B параметров ≈ 11Gb). Соответственно int8 занимает в 4 раза меньше (3B параметров ≈ 2.8Gb). В качестве примера авторы дают colab, в котором запускают модель T5 на 11B (42Gb FP32) весов.
Но ведь мы и раньше умели квантизавать, скажете вы. Потеря точности растет с увеличением модели. 🤗 определили, что обычная квантизация не годится для трансформеров больше чем 6B параметров (пишут об этом в статье).
👉 Сделан еще один шаг по укрощению больших нейросетей (всплывает аналогия со статуями Клодта, надо бы порисовать на эту тему).
Пост | Статья | Colab
🔥12👍3❤1
#nlp #event #gen #big
Интересное NLP событие в этот четверг. Таня Шаврина расскажет про mGPT, — как и на чём тренировали.
〰️ Что это?
mGPT — мультиязычная генеративная модель на 60 языков, среди которых есть языки России, в том числе и малые — башкирский, бурятский, калмыцкий, татарский, тувинский, чувашский и якутский языки.
Тренировать такие модели не просто по многим причинам, от подготовки данных (особенно для малоресурсных языков) до чисто технических нюансов обучения больших языковых моделей.
Веса в этом году выложили в открытый доступ и они доступны на 🤗, так что можете дообучить сеть генерировать анекдоты на якутском.
Ссылка на zoom появится перед встречей (⏰ 25.08 18:00 мск) в канале https://t.me/sberlogabig
GitHub | Huggingface
Интересное NLP событие в этот четверг. Таня Шаврина расскажет про mGPT, — как и на чём тренировали.
〰️ Что это?
mGPT — мультиязычная генеративная модель на 60 языков, среди которых есть языки России, в том числе и малые — башкирский, бурятский, калмыцкий, татарский, тувинский, чувашский и якутский языки.
Тренировать такие модели не просто по многим причинам, от подготовки данных (особенно для малоресурсных языков) до чисто технических нюансов обучения больших языковых моделей.
Веса в этом году выложили в открытый доступ и они доступны на 🤗, так что можете дообучить сеть генерировать анекдоты на якутском.
Ссылка на zoom появится перед встречей (⏰ 25.08 18:00 мск) в канале https://t.me/sberlogabig
GitHub | Huggingface
👍6🔥2👏1
Forwarded from Криптонит. Разработка, наука, шифрование
Экскаватор и два робота: «джун» о том, как сделать крутой проект на стажировке и одновременно писать диплом.
Антон Подлегаев недавно окончил университет. В «Криптоните» он работает уже больше года — а начинал со стажировки. Расспросили его о том, сложно ли студенту получить оффер, как в этом помогает стажировка и возможно ли на ней приобрести реальные знания.
Антон Подлегаев недавно окончил университет. В «Криптоните» он работает уже больше года — а начинал со стажировки. Расспросили его о том, сложно ли студенту получить оффер, как в этом помогает стажировка и возможно ли на ней приобрести реальные знания.
Telegraph
Экскаватор и два робота: «джун» о том, как сделать крутой проект на стажировке и одновременно писать диплом
«Ищем молодого сотрудника, но с опытом 10 лет». Студенты и выпускники понимают боль этой фразы: хочешь попасть в компанию, но тебя не берут, потому что нет опыта. А опыта нет, потому что никуда не берут. Стажировка — чуть ли не единственный выход из этого…
👍6❤1
#nlp #video #gen #big
Обычный человек про пейпер от Google
Что будет, если подойти на улице к человеку и спросить про языковую модель PaLM на 540B параметров?
👉 В этом видео total stranger дает весьма развернутый ответ.
Ну и шутки шутками, а про PaLM почитать стоит, так как эта генеративная сеть умеет все, что и предшественники (Gopher, Chinchilla, etc.) только лучше. SOTA даже в исправлении ошибок компиляции на таске DeepFix.
Пост | Статья
Обычный человек про пейпер от Google
Что будет, если подойти на улице к человеку и спросить про языковую модель PaLM на 540B параметров?
👉 В этом видео total stranger дает весьма развернутый ответ.
Ну и шутки шутками, а про PaLM почитать стоит, так как эта генеративная сеть умеет все, что и предшественники (Gopher, Chinchilla, etc.) только лучше. SOTA даже в исправлении ошибок компиляции на таске DeepFix.
Пост | Статья
👍2😁2❤1
#cv #gen #colab
🧨 Colab для image2image
Как вы знаете, на днях Stable Diffusion выложили в открытый доступ. Они доступны на 🤗 huggingface для всех бесплатно.
Но пробовали ли вы генерировать картинки не только с текстовой подсказкой а с картинкой? В дискорд-интерфейсе такого не было, но теперь есть в colab'е.
🔥 Картинки можно модифицировать при помощи текста, можно задавать уровень похожести, можно из скетча сделать картину и т.д.
Картинка = логотип канала + промпт "A portrait of a sad girl, watercolor style, hyperrealistic, by rutkowski, light colors, trending on artstation"
Вперед к новым веяниям в нейро-искусстве!
👉 Colab
🧨 Colab для image2image
Как вы знаете, на днях Stable Diffusion выложили в открытый доступ. Они доступны на 🤗 huggingface для всех бесплатно.
Но пробовали ли вы генерировать картинки не только с текстовой подсказкой а с картинкой? В дискорд-интерфейсе такого не было, но теперь есть в colab'е.
🔥 Картинки можно модифицировать при помощи текста, можно задавать уровень похожести, можно из скетча сделать картину и т.д.
Картинка = логотип канала + промпт "A portrait of a sad girl, watercolor style, hyperrealistic, by rutkowski, light colors, trending on artstation"
Вперед к новым веяниям в нейро-искусстве!
👉 Colab
🔥8❤2👍1
#nlp #colab
⭐️ Сделал простой colab с визуализацией мультиязычного пословного выравнивания.
Выравнивание происходит при помощи mBERT эмбеддингов. Авторы статьи дообучили его на дополнительных задачах (objectives), чтобы улучшить качество (parallel sentence identification, consistency optimization, etc.).
В GitHub'е есть скрипты для дообучения на своем параллельном корпусе, так что можно расширить под ваш язык (в изначальном mBERT'е было 100+ языков).
Визуализацию сделал на graphviz.
👉 Colab | GitHub | Huggingface
⭐️ Сделал простой colab с визуализацией мультиязычного пословного выравнивания.
Выравнивание происходит при помощи mBERT эмбеддингов. Авторы статьи дообучили его на дополнительных задачах (objectives), чтобы улучшить качество (parallel sentence identification, consistency optimization, etc.).
В GitHub'е есть скрипты для дообучения на своем параллельном корпусе, так что можно расширить под ваш язык (в изначальном mBERT'е было 100+ языков).
Визуализацию сделал на graphviz.
👉 Colab | GitHub | Huggingface
🔥11❤2👍2
Forwarded from Шрёдингер Кота (Dani El-Ayyass)
Друзья, всем привет) 👋
В канале @natural_language_processing появилась классная инициатива для членов сообщества - Random Coffee 🔥
Раз в неделю можно познакомится с новым собеседником, расширить свой нетворк, классно пообщеться и провести время, вместе подумать над решением той или иной проблемы 🚀
Я сам уже поучатсовал в одной встрече с автором данного канала и сообщества Александром Кукушкиным и могу сказать, что Random Coffee - это крутой формат, мы здорово пообщались и подискутировали на разные темы 💡
Всем рекомендую поучатсвовать 💪
P.S. Я планирую и дальше регулярно участвовать в данном мероприятии 🙈
В канале @natural_language_processing появилась классная инициатива для членов сообщества - Random Coffee 🔥
Раз в неделю можно познакомится с новым собеседником, расширить свой нетворк, классно пообщеться и провести время, вместе подумать над решением той или иной проблемы 🚀
Я сам уже поучатсовал в одной встрече с автором данного канала и сообщества Александром Кукушкиным и могу сказать, что Random Coffee - это крутой формат, мы здорово пообщались и подискутировали на разные темы 💡
Всем рекомендую поучатсвовать 💪
P.S. Я планирую и дальше регулярно участвовать в данном мероприятии 🙈
🔥4👍3❤1
Тоже участвую в этих встречах 👆, приятно общаемся на NLP и около-ML-ные темы.
👉 Кому интересно, тыкать сюда: @neludim_bot
👉 Кому интересно, тыкать сюда: @neludim_bot
🔥4👍2❤1
🔺 Языковые модели на карте
Сделал небольшую интерактивную визуализацию мультиязыковых моделей на карте.
Видно, что языки BLOOM сосредоточены в Африке и Индии, mGPT покрывает многие языки России и СНГ, а mT5 тренировали на ста наиболее популярных языках мира.
Сделал на plotly, если кто не еще пробовал, то рекомендую. Есть удобная фича по экспорту графика в один статический html при помощи метода write_html(). Скрипт для генерации лежит на GitHub'е.
👉 Добавил самые известные модели. Можете расширить список, инструкция в репе со скриптом.
Карта | Скрипт
Сделал небольшую интерактивную визуализацию мультиязыковых моделей на карте.
Видно, что языки BLOOM сосредоточены в Африке и Индии, mGPT покрывает многие языки России и СНГ, а mT5 тренировали на ста наиболее популярных языках мира.
Сделал на plotly, если кто не еще пробовал, то рекомендую. Есть удобная фича по экспорту графика в один статический html при помощи метода write_html(). Скрипт для генерации лежит на GitHub'е.
👉 Добавил самые известные модели. Можете расширить список, инструкция в репе со скриптом.
Карта | Скрипт
🔥15❤3👍1
#nlp #lecture
🚀 Андрей Карпати запустил цикл классных лекций про сетки и, в частности, про языковые модели!
В новом видео он рассказывает что такое биграмная LM и как ее обучить, а также знакомит с torch'ом. Затем будет происходить постепенное усложнение, вплоть до GPT-подобной трансформерной модели. Её можно найти в его репозитории, про неё я недавно уже писал.
〰️ Кстати, в описании к видео на youTube Андрей оставил ссылки на полезные ресурсы.
👉 Материалы лекций | Видео | makemore
🚀 Андрей Карпати запустил цикл классных лекций про сетки и, в частности, про языковые модели!
В новом видео он рассказывает что такое биграмная LM и как ее обучить, а также знакомит с torch'ом. Затем будет происходить постепенное усложнение, вплоть до GPT-подобной трансформерной модели. Её можно найти в его репозитории, про неё я недавно уже писал.
〰️ Кстати, в описании к видео на youTube Андрей оставил ссылки на полезные ресурсы.
👉 Материалы лекций | Видео | makemore
🔥17❤2
strugatsky_doom_grad_en.pdf
3.8 MB
#pet #lingtrain
📚 Про пет-проект
На выходных дошли руки позаниматься Lingtrain'ом (пет-проектом для создания параллельных книжек), а заодно сделать русско-английскую версию романа Стругацких, обложку к которому я недавно выкладывал в канале.
〰️ Что это?
Параллельные книжки полезны при изучении иностранных языков. Бывают разные варианты: с чередованием абзацев на разных языках, разбиение на две колонки или текст с подстрочником.
〰️ Зачем?
Найти такие книжки себе по вкусу не так просто, особенно, если язык не английский. Гораздо проще найти тексты на разных языках по отдельности и выровнять их по предложениям. Сложность лишь в том, что люди-переводчики могут какие-то предложения разбивать на несколько, какие-то склеивать, а что-то выкидывать 🤷♂️.
Хотелось, чтобы любой желающий смог сделать себе такую книжку на любых языках.
👉 Lingtrain
С этим-то и может помочь мой скромный пет-проект.
• На основе эмбеддингов (векторных представлений) рассчитывается близость по смыслу и происходит выравнивание.
• Их исходных текстов сохраняется структура абзацев.
• При помощи разметки можно добавить различную метадату (заголовки, цитаты, картинки).
• В результате можно сверстать все это в pdf, либо скачать html, либо как параллельный корпус.
• Под капотом ряд мультиязыковых моделей (LABSE, sentence-transformers USE, rubert-tiny2), так что количество языков для выравнивания 100+.
• Можно дообучать на свой язык. Писал про это здесь.
• Все это собрано в docker, можно быстро запустить локально.
• Проект открытый и у него есть сообщество. Предложения и идеи приветствуются.
GitHub | Как пользоваться | Сообщество
📚 Про пет-проект
На выходных дошли руки позаниматься Lingtrain'ом (пет-проектом для создания параллельных книжек), а заодно сделать русско-английскую версию романа Стругацких, обложку к которому я недавно выкладывал в канале.
〰️ Что это?
Параллельные книжки полезны при изучении иностранных языков. Бывают разные варианты: с чередованием абзацев на разных языках, разбиение на две колонки или текст с подстрочником.
〰️ Зачем?
Найти такие книжки себе по вкусу не так просто, особенно, если язык не английский. Гораздо проще найти тексты на разных языках по отдельности и выровнять их по предложениям. Сложность лишь в том, что люди-переводчики могут какие-то предложения разбивать на несколько, какие-то склеивать, а что-то выкидывать 🤷♂️.
Хотелось, чтобы любой желающий смог сделать себе такую книжку на любых языках.
👉 Lingtrain
С этим-то и может помочь мой скромный пет-проект.
• На основе эмбеддингов (векторных представлений) рассчитывается близость по смыслу и происходит выравнивание.
• Их исходных текстов сохраняется структура абзацев.
• При помощи разметки можно добавить различную метадату (заголовки, цитаты, картинки).
• В результате можно сверстать все это в pdf, либо скачать html, либо как параллельный корпус.
• Под капотом ряд мультиязыковых моделей (LABSE, sentence-transformers USE, rubert-tiny2), так что количество языков для выравнивания 100+.
• Можно дообучать на свой язык. Писал про это здесь.
• Все это собрано в docker, можно быстро запустить локально.
• Проект открытый и у него есть сообщество. Предложения и идеи приветствуются.
GitHub | Как пользоваться | Сообщество
👍12🔥8❤3
#nlp #lecture
Андрей Карпати выложил продолжение лекции про создание языковых моделей.
Перейдя от n-gram'ной статистической модели к нейросетевой, продолжаем развиваться. Строим многослойную сеть (MLP), знакомимся с кросс-энтропией и основными понятиями при тренировке моделей, пишем цикл обучения (train loop).
👉 Материалы лекций | Видео | makemore
Андрей Карпати выложил продолжение лекции про создание языковых моделей.
Перейдя от n-gram'ной статистической модели к нейросетевой, продолжаем развиваться. Строим многослойную сеть (MLP), знакомимся с кросс-энтропией и основными понятиями при тренировке моделей, пишем цикл обучения (train loop).
👉 Материалы лекций | Видео | makemore
🔥6❤2
#nlp #education
Перезапуск курса по NLP
🔺 И еще одна отличная новость для тех, кто хочет полюбить NLP. Запускается 🍁 осенний курс по Natural Language Processing, вести который будет Валентин Малых. Курс бесплатный, сам его я тоже проходил, поэтому могу порекомендовать.
Будут все ключевые темы + домашние задания, которые придется сделать, чтобы окончить курс. Валентин обладает богатым опытом, поэтому сможет ответить на возникшие вопросы. К концу курса нужно будет сделать свой nlp-проект (примеры с прошлых курсов тут).
👉 Курс и расписание | Канал курса
Перезапуск курса по NLP
🔺 И еще одна отличная новость для тех, кто хочет полюбить NLP. Запускается 🍁 осенний курс по Natural Language Processing, вести который будет Валентин Малых. Курс бесплатный, сам его я тоже проходил, поэтому могу порекомендовать.
Будут все ключевые темы + домашние задания, которые придется сделать, чтобы окончить курс. Валентин обладает богатым опытом, поэтому сможет ответить на возникшие вопросы. К концу курса нужно будет сделать свой nlp-проект (примеры с прошлых курсов тут).
👉 Курс и расписание | Канал курса
👍11❤4🔥3
🔺 NLP Map
Добавил на нашу интерактивную карту XGLM (мультиязыковую модельку от Meta) и сделал, чтобы маркеры не накладывались друг на друга.
Сделано на plotly.
👉 Карта | GitHub
Добавил на нашу интерактивную карту XGLM (мультиязыковую модельку от Meta) и сделал, чтобы маркеры не накладывались друг на друга.
Сделано на plotly.
👉 Карта | GitHub
👍6🔥2
🌗 RuLeanALBERT
Коллеги из Яндекса выложили вторую языковую модель в open source и на этот раз все смогут её запустить.
Назвали модель RuLeanALBERT, так как в ней использовали идею расшаривания весов между слоями из оригинальной статьи ALBERT (A Lite BERT). Такой прием на порядок понижает вес модели (пишет про уменьшение в 32 раза). Модель обучали с нуля, поэтому применили другие улучшения типа PreNorm и GEGLU активаций. Обучали как MLM (masked language model).
〰️ Зачем?
Этот кейс скорее не про архитектуру и качество модели, а про то, что ее получилось обучить на нестабильном железе. Это когда вы не бронируете себе N карт на кластере, а имеете разнородную инфраструктуру, причем текущие карты могут отваливаться, а новые подключаться (что видно на картинке). Хороший кейс, подробнее про него написали на хабре.
Код для обучения, к слову, тоже выложили.
Статья | GitHub
Коллеги из Яндекса выложили вторую языковую модель в open source и на этот раз все смогут её запустить.
Назвали модель RuLeanALBERT, так как в ней использовали идею расшаривания весов между слоями из оригинальной статьи ALBERT (A Lite BERT). Такой прием на порядок понижает вес модели (пишет про уменьшение в 32 раза). Модель обучали с нуля, поэтому применили другие улучшения типа PreNorm и GEGLU активаций. Обучали как MLM (masked language model).
〰️ Зачем?
Этот кейс скорее не про архитектуру и качество модели, а про то, что ее получилось обучить на нестабильном железе. Это когда вы не бронируете себе N карт на кластере, а имеете разнородную инфраструктуру, причем текущие карты могут отваливаться, а новые подключаться (что видно на картинке). Хороший кейс, подробнее про него написали на хабре.
Код для обучения, к слову, тоже выложили.
Статья | GitHub
🔥14👍1🎉1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍4🎉2🍾1
#ml #prod
🔺 ML System Design
Материалы по внешней стороне машинного обучения (за внутреннюю считаем research / исследования) — проектирование того, как это все будет работать, поддерживаться и обновляться (system design).
Тема важная и начать в нее погружаться можно из актуального курса Стэнфорда cs 329s (содержание курса). Все это похоже на системное программирование, только в контексте ML. Сами лекции в виде текста, есть слайды и пара ноутбуков. Лекции прикольные, можно читать как книжку. Сам курс не очень длинный, так что будут шансы пройти до конца 😁.
👉 Лекции и TLDR;
1️⃣ Отличия ML для продакшена. tldr; Данные — сырые и меняются во времени. Приоритеты — быстрый инференс, важна интерпретируемость. Много заказчиков и требований от них.
2️⃣ Основы проектирования. tldr; Понимаем проблему (нужен ли тут вообще ML?). Источники и формат данных. ETL (процессинг и хранение данных).
3️⃣ Тренировочные данные. tldr; Тут довольно понятная тема — что делать с сырыми данными, как собрать из них хороший датасет, нехватка разметки, active learning и т.д.
4️⃣ Feature Engineering. tldr; Данные есть, как будем подавать их в модель? Аугментации (делаем данные разнообразней), придумываем новые признаки. И внезапно про позиционные эмбеддинги.
5️⃣ Model Development. tldr; Six tips for model selection. Важная мысль — не надо сразу брать SOTA, топовый результат на статическом датасете не обязательно будет лучше для вас, начните с простого. kaggle хаки/подходы — bagging, boosting, stacking.
6️⃣ Распределенное обучение и оценка модели. tldr; Про обучение на кластере и виды параллелизма. Сделай бейзлайн (рандомный, эвристики, человеческий, готовые решения). Советы по оценке моделей.
7️⃣ Деплой модели. tldr; Онлайн / оффлайн предсказания. Оптимизация модели — дистилляция, прунинг, квантизация. ML в облаке.
8️⃣ Мониторинг и дрифт данных. tldr; Хьюстон, у нас дрифт данных. Про feedback loop. Различные виды дрифта (covariate, label, concept drifts). Observability — собирай метрики, чтобы понять, что пошло не так.
🔺 ML System Design
Материалы по внешней стороне машинного обучения (за внутреннюю считаем research / исследования) — проектирование того, как это все будет работать, поддерживаться и обновляться (system design).
Тема важная и начать в нее погружаться можно из актуального курса Стэнфорда cs 329s (содержание курса). Все это похоже на системное программирование, только в контексте ML. Сами лекции в виде текста, есть слайды и пара ноутбуков. Лекции прикольные, можно читать как книжку. Сам курс не очень длинный, так что будут шансы пройти до конца 😁.
👉 Лекции и TLDR;
1️⃣ Отличия ML для продакшена. tldr; Данные — сырые и меняются во времени. Приоритеты — быстрый инференс, важна интерпретируемость. Много заказчиков и требований от них.
2️⃣ Основы проектирования. tldr; Понимаем проблему (нужен ли тут вообще ML?). Источники и формат данных. ETL (процессинг и хранение данных).
3️⃣ Тренировочные данные. tldr; Тут довольно понятная тема — что делать с сырыми данными, как собрать из них хороший датасет, нехватка разметки, active learning и т.д.
4️⃣ Feature Engineering. tldr; Данные есть, как будем подавать их в модель? Аугментации (делаем данные разнообразней), придумываем новые признаки. И внезапно про позиционные эмбеддинги.
5️⃣ Model Development. tldr; Six tips for model selection. Важная мысль — не надо сразу брать SOTA, топовый результат на статическом датасете не обязательно будет лучше для вас, начните с простого. kaggle хаки/подходы — bagging, boosting, stacking.
6️⃣ Распределенное обучение и оценка модели. tldr; Про обучение на кластере и виды параллелизма. Сделай бейзлайн (рандомный, эвристики, человеческий, готовые решения). Советы по оценке моделей.
7️⃣ Деплой модели. tldr; Онлайн / оффлайн предсказания. Оптимизация модели — дистилляция, прунинг, квантизация. ML в облаке.
8️⃣ Мониторинг и дрифт данных. tldr; Хьюстон, у нас дрифт данных. Про feedback loop. Различные виды дрифта (covariate, label, concept drifts). Observability — собирай метрики, чтобы понять, что пошло не так.
🔥13👍9👏2⚡1