Градиент обреченный
7.97K subscribers
835 photos
20 videos
8 files
454 links
Download Telegram
#asr #repo

Потоковое распознавание речи

👄 Если вы занимаетесь распознаванием речи, то знаете, что есть проект NeMo от NVIDIA, в котором реализованы плюс-минус все SOTA архитектуры (Conformer-CTC, Conformer-Transducer, etc.). Какое-то время назад я занимался ASR и смотрел это решение, — есть скрипты для обучения, качество распознавания получается хорошее. Особенно, если обучить и добавить LM (обычно это kenlm) для рескоринга гипотез акустической модели.

Так вот, можно было без проблем обучить отличную оффлайн модель. Но если попробовать сделать на ней стриминг (распознавание в realtime), то ничего хорошего не выйдет, — сильно упадет качество (мы хотим быстрый отклик, режем контекст, модели становится плохо).

Есть ряд статей о том как делать такие модели, например вот эта от Microsoft. В ней предлагается изменить не архитектуру, а процесс тренировки, — при помощи масок подавать на обучение ограниченный заданным параметром контекст. Мы такой подход не реализовали, но если долго сидеть у реки, то можно увидеть как плывет pull request.

👉 Недавно PR с этим подходом въехал в основную ветку NeMo. Что там по качеству надо смотреть, но появились скрипты и примеры для обучения online ASR. Кто будет пробовать, напишите как оно.

GitHub | код / примеры
👍11
Forwarded from Lingtrain
bradbury_den_ru_ru.pdf
1.9 MB
#nlp #parallelcorpora

Два перевода

📚 Выровнял два перевода рассказа Бредбери "The Picasso Summer" на русский. Первый от Норы Галь, второй от Арама Оганяна.

Можно видеть, что переводчик — птица вольная, особенно по части имён, хотя оба перевода хорошие.

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

В следующей версии Lingtrain Aligner, язык станет зависим от стороны выравнивания (левая/правая), чтобы выравнивать два текста на одном языке. Пока что я загружал один текст как русский, а второй как general язык.
🔥6👍21
Forwarded from AI для Всех
Андрей Карпати (ex Tesla AI) выложил новую лекцию

«!!!! Итак, я записал (новую!) 2h25m лекцию "The spelled-out intro to neural networks and backpropagation: building micrograd".
Это кульминация примерно 8 лет навязчивых мыслей о том, как лучше объяснить нейронные сети и обратное распространение.

Если вы знаете Python, смутно помните, как проходили производные в средней школе, посмотрите это видео и к концу не поймете обратное распространение и суть нейронных сетей, тогда я съем ботинок :D»

Смотреть
👍102
#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
🔥12👍31
#nlp #event #gen #big

Интересное NLP событие в этот четверг. Таня Шаврина расскажет про mGPT, — как и на чём тренировали.

〰️ Что это?

mGPT
— мультиязычная генеративная модель на 60 языков, среди которых есть языки России, в том числе и малые — башкирский, бурятский, калмыцкий, татарский, тувинский, чувашский и якутский языки.

Тренировать такие модели не просто по многим причинам, от подготовки данных (особенно для малоресурсных языков) до чисто технических нюансов обучения больших языковых моделей.

Веса в этом году выложили в открытый доступ и они доступны на 🤗, так что можете дообучить сеть генерировать анекдоты на якутском.

Ссылка на zoom появится перед встречей ( 25.08 18:00 мск) в канале https://t.me/sberlogabig

GitHub | Huggingface
👍6🔥2👏1
#work #робопёс

Тут взяли интервью у моего коллеги, про то как он стажировался параллельно с учебой и сам сделал несколько роботов (в рамках диплома).

У меня лично совмещать учебу с работой не очень получалось, так что тем, кто еще учится, будет полезно почитать.
Экскаватор и два робота: «джун» о том, как сделать крутой проект на стажировке и одновременно писать диплом.

Антон Подлегаев недавно окончил университет. В «Криптоните» он работает уже больше года — а начинал со стажировки. Расспросили его о том, сложно ли студенту получить оффер, как в этом помогает стажировка и возможно ли на ней приобрести реальные знания.
👍61
#nlp #video #gen #big

Обычный человек про пейпер от Google

Что будет, если подойти на улице к человеку и спросить про языковую модель PaLM на 540B параметров?

👉 В этом видео total stranger дает весьма развернутый ответ.

Ну и шутки шутками, а про PaLM почитать стоит, так как эта генеративная сеть умеет все, что и предшественники (Gopher, Chinchilla, etc.) только лучше. SOTA даже в исправлении ошибок компиляции на таске DeepFix.

Пост | Статья
👍2😁21
#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
🔥82👍1
#nlp #colab

⭐️ Сделал простой colab с визуализацией мультиязычного пословного выравнивания.

Выравнивание происходит при помощи mBERT эмбеддингов. Авторы статьи дообучили его на дополнительных задачах (objectives), чтобы улучшить качество (parallel sentence identification, consistency optimization, etc.).

В GitHub'е есть скрипты для дообучения на своем параллельном корпусе, так что можно расширить под ваш язык (в изначальном mBERT'е было 100+ языков).

Визуализацию сделал на graphviz.

👉 Colab | GitHub | Huggingface
🔥112👍2
Forwarded from Шрёдингер Кота (Dani El-Ayyass)
Друзья, всем привет) 👋

В канале @natural_language_processing появилась классная инициатива для членов сообщества - Random Coffee 🔥

Раз в неделю можно познакомится с новым собеседником, расширить свой нетворк, классно пообщеться и провести время, вместе подумать над решением той или иной проблемы 🚀

Я сам уже поучатсовал в одной встрече с автором данного канала и сообщества Александром Кукушкиным и могу сказать, что Random Coffee - это крутой формат, мы здорово пообщались и подискутировали на разные темы 💡

Всем рекомендую поучатсвовать 💪

P.S. Я планирую и дальше регулярно участвовать в данном мероприятии 🙈
🔥4👍31
Тоже участвую в этих встречах 👆, приятно общаемся на NLP и около-ML-ные темы.

👉 Кому интересно, тыкать сюда: @neludim_bot
🔥4👍21
🔺 Языковые модели на карте

Сделал небольшую интерактивную визуализацию мультиязыковых моделей на карте.

Видно, что языки BLOOM сосредоточены в Африке и Индии, mGPT покрывает многие языки России и СНГ, а mT5 тренировали на ста наиболее популярных языках мира.

Сделал на plotly, если кто не еще пробовал, то рекомендую. Есть удобная фича по экспорту графика в один статический html при помощи метода write_html(). Скрипт для генерации лежит на GitHub'е.

👉 Добавил самые известные модели. Можете расширить список, инструкция в репе со скриптом.

Карта | Скрипт
🔥153👍1
#nlp #lecture

🚀 Андрей Карпати запустил цикл классных лекций про сетки и, в частности, про языковые модели!

В новом видео он рассказывает что такое биграмная LM и как ее обучить, а также знакомит с torch'ом. Затем будет происходить постепенное усложнение, вплоть до GPT-подобной трансформерной модели. Её можно найти в его репозитории, про неё я недавно уже писал.

〰️ Кстати, в описании к видео на youTube Андрей оставил ссылки на полезные ресурсы.

👉 Материалы лекций | Видео | makemore
🔥172
strugatsky_doom_grad_en.pdf
3.8 MB
#pet #lingtrain

📚 Про пет-проект

На выходных дошли руки позаниматься Lingtrain'ом (пет-проектом для создания параллельных книжек), а заодно сделать русско-английскую версию романа Стругацких, обложку к которому я недавно выкладывал в канале.

〰️ Что это?

Параллельные книжки полезны при изучении иностранных языков. Бывают разные варианты: с чередованием абзацев на разных языках, разбиение на две колонки или текст с подстрочником.

〰️ Зачем?

Найти такие книжки себе по вкусу не так просто, особенно, если язык не английский. Гораздо проще найти тексты на разных языках по отдельности и выровнять их по предложениям. Сложность лишь в том, что люди-переводчики могут какие-то предложения разбивать на несколько, какие-то склеивать, а что-то выкидывать 🤷‍♂️.

Хотелось, чтобы любой желающий смог сделать себе такую книжку на любых языках.

👉 Lingtrain

С этим-то и может помочь мой скромный пет-проект.

• На основе эмбеддингов (векторных представлений) рассчитывается близость по смыслу и происходит выравнивание.
• Их исходных текстов сохраняется структура абзацев.
• При помощи разметки можно добавить различную метадату (заголовки, цитаты, картинки).
• В результате можно сверстать все это в pdf, либо скачать html, либо как параллельный корпус.
• Под капотом ряд мультиязыковых моделей (LABSE, sentence-transformers USE, rubert-tiny2), так что количество языков для выравнивания 100+.
• Можно дообучать на свой язык. Писал про это здесь.
• Все это собрано в docker, можно быстро запустить локально.
• Проект открытый и у него есть сообщество. Предложения и идеи приветствуются.

GitHub | Как пользоваться | Сообщество
👍12🔥83
#nlp #lecture

Андрей Карпати выложил продолжение лекции про создание языковых моделей.

Перейдя от n-gram'ной статистической модели к нейросетевой, продолжаем развиваться. Строим многослойную сеть (MLP), знакомимся с кросс-энтропией и основными понятиями при тренировке моделей, пишем цикл обучения (train loop).

👉 Материалы лекций | Видео | makemore
🔥62
#nlp #education

Перезапуск курса по NLP

🔺 И еще одна отличная новость для тех, кто хочет полюбить NLP. Запускается 🍁 осенний курс по Natural Language Processing, вести который будет Валентин Малых. Курс бесплатный, сам его я тоже проходил, поэтому могу порекомендовать.

Будут все ключевые темы + домашние задания, которые придется сделать, чтобы окончить курс. Валентин обладает богатым опытом, поэтому сможет ответить на возникшие вопросы. К концу курса нужно будет сделать свой nlp-проект (примеры с прошлых курсов тут).

👉 Курс и расписание | Канал курса
👍114🔥3
🔺 NLP Map

Добавил на нашу интерактивную карту XGLM (мультиязыковую модельку от Meta) и сделал, чтобы маркеры не накладывались друг на друга.

Сделано на plotly.

👉 Карта | GitHub
👍6🔥2
🌗 RuLeanALBERT

Коллеги из Яндекса выложили вторую языковую модель в 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 — собирай метрики, чтобы понять, что пошло не так.
🔥13👍9👏21