Градиент обреченный – Telegram
🔺 Языковые модели на карте

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

Видно, что языки 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
Сходил за компанию на выставку Banksy. Понравилась одна вещь — работа "Destroy capitalism".

Ну и решил сгенерировать пару картинок в Stable Diffusion. Чтобы картинки были похожи, зафиксировал удачный seed. Можете тоже порисовать тут или скачать веса с 🤗 huggingface.
👍73🔥3👏1
#nlp #event

⚡️ Интересное NLP событие сегодня. Валентин Малых расскажет про машинный перевод на семинаре AIRI.

В этом году вышло две статьи — NLLB от Meta (перевод на 200 языков + выложили модели) и Towards the Next 1000 от Google (перевод на 1000 языков — пока только показывают). Вот про них и поговорим.

сегодня в 17:00 в zoom
👍62🔥2
#nlp #meetup

📅 Сходил на ML тренировку (трансляция тут) послушать доклад про RuCoLa.

〰️ Что это?

Это первый датасет для проверки адекватности генеративных языковых моделей (для русского), аналог CoLa. Состоит из ~13k предложений, размеченных как приемлемое/неприемлемое.

По степени приемлемости делить не стали, сказали, что сложно. Зато над датасетом поработали в том числе и лингвисты, так что включены разные категории (грамматическая, смысловая и т.д.). Вещь полезная, многим пригодится.

👉 GitHub | Проект
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥32
🔺 Woland-10

Сделал параллельный корпус на 10 языков (ru, be, uk, en, de, it, fr, es, hu, zh) из различных редакций романа Мастер и Маргарита. Всего получилось ~7.5k параллельных групп строк.

〰️ Выровнял при помощи своей выравнивалки Lingtrain (а это, напомню, проект открытый). Получилось довольно быстро, особенно с новой картой, — со своей GPU жизнь действительно заиграла новыми красками 😁

Сначала нашел и разметил 10 текстов на разных языках, потом выровнял каждую пару с оригиналом. Потом все выравнивания совместно. Могу описать подробней, если интересно.

Могут встречаться шероховатости, так как все равно надо дополнительно проверять качество, но в целом выглядит пристойно (если что — пишите), буду ещё улучшать.

🇷🇺 Вино какой страны предпочитаете в это время дня?
🇧🇾 Вiно з якое краiны вы любiце ў гэтую пару дня?
🇺🇦 Вино якої країни вам більше до вподоби цієї пори дня?
🇬🇧 What country's wine do you prefer at this time of day?'
🇩🇪 Den Wein welches Landes bevorzugen Sie zu dieser Tageszeit?"
🇫🇷 Du vin de quel pays préférez-vous, à cette heure de la journée ?
🇮🇹 Il vino di quale paese preferisce a quest'ora del giorno?
🇪🇸 ¿De qué país lo prefiere a esta hora del día?
🇭🇺 Milyen bort szeret a legjobban ilyenkor déltájban?
🇨🇳 平常在这个时间您喜欢喝哪国产的葡萄酒?


👉 GitHub

@doomgrad
🔥28👍115
#nlp #lecture

🚀 Третья лекция Карпати

Андрей выпустил следующее занятие о языковом моделировании и о сетках в целом. Как он сам говорит "Если вы не поймете моих объяснений, то я съем ботинок" 👞.

На пути к построению GPT-подобной модели мы уже рассмотрели статистические подходы, познакомились с pytorch и идеей backpropagation.

В этой лекции идем дальше и погружаемся в deep learning. Слушается легко, как и предыдущие лекции. Сейчас еще добавлю расшифровки лекций whisper'ом 👄.

👉 Материалы лекций | Видео | makemore
🔥6👍511
Forwarded from Шрёдингер Кота (Dani El-Ayyass)
Друзья, всем привет) 👋

Вчера наткнулся на статью, опубликованную в одном из самых престижных журналов Nature, которая меня очень сильно удивила и впечатлила 🚀

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

Проблема нахождения более быстрого алгоритма была открытой 50 лет 🤯

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

Интересно, стали ли мы ближе к решению вопроса о равенстве классов P и NP 🤔

Blog | Paper | GitHub
🔥20👍83🤯1
🔺 Мультиязычное распознавание речи с Whisper

Наконец дошли руки до ASR модели whisper от OpenAI. Она, по заверениям авторов, умеет распознавать с 90+ языков (хотя только для 5-ти языков из всех данных было более 100 тыс. часов, русский в том числе).

〰️ Качество хорошее, хотя иногда может зацикливаться, так как модель авторегрессионная. Еще она умеет генерировать субтитры и определять язык, так что модель полезная.

Написал про это статью на хабр с примерами и нюансами использования. Транскрибировал несколько выпусков Своей игры и лекции Карпати для примера.

👉 Статья | whisper
🔥10👍721🎉1