bugs ans letters – Telegram
bugs ans letters
18 subscribers
34 photos
3 videos
3 files
135 links
Мой канал для себя про NLP. В основном – помойка из ссылок.
Download Telegram
Forwarded from Илья А.
Как ты думаешь, учитывают ли анимации, которые демонстрируют разные методы оптимизации, адаптивность современных методов (раздельный подход к обновлению каждого параметра) по умолчанию, или же просто делается какая-то упрощённая математическая модель? http://www.denizyuret.com/2015/03/alec-radfords-animations-for.html
Тут даже есть код: https://habr.com/ru/articles/318970 Не зная питона, я скормил его бингу, и бинг (Creative mode) мне сказал, что там используется фиксированный коэффициент обучения для всех параметров, но я подумал денёк и как-то не доверяю)
Нашёл только один материал с визуализацией, где этот вопрос недвусмысленно обсуждается: https://towardsdatascience.com/a-visual-explanation-of-gradient-descent-methods-momentum-adagrad-rmsprop-adam-f898b102325c
Forwarded from Voice stuff
Наблюдаю тренд на вкручивание промпта в синтез речи. Все наверняка уже слышали про невероятную просодию (и слабые ударения в русском) в bark:

https://github.com/suno-ai/bark

Коки тоже на месте не стоят и тоже выкатили модель с промптами. Впрочем, пока не опен-сорс.

https://coqui.ai/blog/tts/prompt-to-voice

Хорошие новости:
Звучит всё очень вкусно. Натуральность речи просто нереальная.
Несмотря на то, что модель необычная и большая - уверен что её можно собрать и обучить самому на паре ГПУ. Главные компоненты: кодек и LLM там предобучены.

Так себе новости:
Под капотом модели используют нейрокодек для декодирования аудио. Так что если слышите шумы в записи - это оттуда, и будто бы это нелегко исправить.
Размер модели в 100М. Кажется, будто бы маленькие модели потихоньку отходят на второй план с появлением квантизаций, ЛЛАМа, и RTX 4090.
Некоммерческая лицензия и отстутствие кода для обучения.
Я настолько разленился, что мне проще держать эту ссылку под рукой, чем запоминать аккорды для Universal Hex Input 😕
#math #symbols #typography
Обзор на ту самую LLaMA и на ее fine-tune-ы: Alpaca, Vicuna, gpt4all🤩

После того, как как все поныли, что OpenAI так и не раскрыли подробности апгрейда GPT-4, выпущенной в марте, внимание многих обратилось на LLaMA, выпущенную на несколько недель раньше, и которую Meta AI реально сделали Open and Efficient Foundation Language Model.

Хотелось бы отдельно выделить очень крутой вывод от прошлых работ сообщества, которым руководствовались авторы: если раньше все гнались за количеством параметров модели, в работах Scaling Laws for Neural Language Models опять же от OpenAI были найдены неожиданные свойства. При увеличении количества данных, возникает прирост качества. Именно этот фактор позволил LLaMA-13B аутперформить GPT-3, несмотря на размер в 10!! Раз меньше

В статье ребята дают подробный рецепт сотворения модельки. Вот он:

👨‍🍳 Подготавливаем данные в размере 1.4T токенов:
1. English CommonCrawl – составляющее 67% данных. с использованием CCNet pipeline для удаления дубликатов, фильтрации неанглоязычного и низкокачественного контента, а также отбрасыванием страниц, не относящиеся к ссылкам в Википедии.
2. 15 % C4.
3. 4.5 % Git c вычещением низкокачетсвенных реп и удалением шаблонов с помощью регулярных выражений
4. 4.5% Wikipedia с удалением гиперссылок, комментариев и других элементов форматирования
5. 4.5% датасетов книг с удалением дубликатов
6. 2.5% ArXiv
7. 2% Stack Exchange – сайт вопросов и ответов высокого качества, охватывающий различные области знаний, от компьютерных наук до химии. С удалением HTML тегов и фильтрацией по рейтингу
👨‍🍳Потом обучаем BPE токенайзер с использованием реализации из библиотеки SentencePiece. Для токенизации числа разбиваются на отдельные цифры, а не обрабатываются как единое целое, а для декомпозиции неизвестных символов UTF-8 используются байты.
(при чем все данные прогоняются одну эпоху за исключением книг и википедии, там две)

Итак, за основу берется архитектура трансформера, но вот те самые уникальные ингридиенты успешной модели:
🎹Авторы нормализовали с RMSNorm входные данные для каждого подуровня трансформера. Подход заключается в делении каждого элемента входного вектора на квадратный корень из суммы квадратов всех элементов входного вектора.
🎹Заменили ReLU на SwiGLU
🎹Использовали Rotary positional embeddings. Этот метод заключается в добавлении дополнительных векторов с фиксированными значениями в векторное представление каждого элемента последовательности. Эти векторы имеют свойство поворота, что позволяет модели учитывать не только абсолютную позицию элементов, но и относительное положение друг к другу.
🎹В качесвте оптимайзера взяле AdamW с бетами 0.9 и 0.95.
🎹Добавляли штраф в функцию потерь сети, который пропорционален квадрату весовых коэффициентов каждого слоя сети с Weight decay в размере 0.1
🎹Добавляли gradient clipping – 1.0
🎹Использовали подход для эффективного multi-head attention, в котором мы разбиваем входную последовательность на блоки фиксированной длины и применяем механизм внимания только внутри каждого блока
🎹Для улучшения эффективности обучения уменьшается количество активаций, которые пересчитываются во время backward pass-а, для этого авторы реализуют обратную функцию для слоев трансформера вручную

Ну а теперь немного о ft этой прекрасной модели
Alpacaподход от ребят из Стенфорда. Находчивые люди нагенерировали дополнительного датасета для обучения с помощью ChatGPT, что позволило обучить ее на запросы в стиле instruct. Круто? круто

gpt4allневероятный подход!!! если в Alpaca было всего 54k затравок, то тут уже целых 437k

Ну и на закуску StableVicuna – все пытаются улучшить данные для обучения, и сделать их объем все больше. В связи с этим Stability AI предоставляют ft на их датасете, созданном на основе The Pile ,который содержит 1.5T токенов и является обширным датасетом под множество задач NLP

Ну и в за табличками апгрейда скора можно сходить поглазеть в саму статью, потому что в одно сообщение уже не помещается👏
Please open Telegram to view this post
VIEW IN TELEGRAM
#cv #offtop #image Статья про применение object segmentation прямо при обучении модели и запихивание этого процесса в механизм attention
Годная, с огромным приложением.
https://telegra.ph/Enhancing-ChatGPTs-Efficiency--The-Power-of-LangChain-and-Milvus-06-12
Статья про (вполне стандартные: галлюцинации, неумение держать факты, генерация правдоподобных, но битых ссылок) проблемы GPT-подобных моделей, которые пытаются применять в качестве генеративного чатбота и решение от одной из исследовательских групп
Ладно, раз я уж пытаюсь казаться MLOps-ом-самозванцем – придётся оправдываться.
- Базовая статья про системы управления версиями для программистов, которые полезли в данные
- Настройка DVC + MLFlow (нет, не надо так делать в реальности, через год убьётесь дальше мигрировать, за год наобучать пару терабайт данных – раз плюнуть)
#mlops #лытдыбр
Мне очень нравится подход Shazam: у них, по-видимому, есть две модели, онлайновая быстрая и точная медленная. Большинство запросов обрабатывает онлайновая, но если она не распознаёт трек – он отправляется в очередь медленной, которая когда-нибудь отдаёт результат и мы получаем We tried again and found…
Притом база для обучения обеих, кажется, одинаковая, но точная имеет больше информации на входе – вероятно, там меньше жёстких фильтров и больше магии со свёртками.
Любителям Generative Fill в Photoshop: Google зарелизил модель, очень достойно справляющуюся с этой задачей.
Обёрнута в JAX, посему завести локально – некоторая возня, впрочем, вполне предсказуемая и однотипная.
Forwarded from Dr. Boris
oxml.zip
61.1 MB
украл для вас презы с первых двух дней OxML
http://www.incompleteideas.net/IncIdeas/BitterLesson.html
https://horace.io/brrr_intro.html
#философия
tl;dr – не один и не два исследователя расстраиваются, что численные методы зачастую лучше работают на больших данных, чем эвристики. На примере NLP-задач – большая модель с правильным токенизатором уже лет десять работает лучше правил и эвристик от лингвистов.
Впрочем, это, возможно, не так плохо: до этого тысячи лет наука дробилась и рождала всё новые направления на стыке технологий, может быть, пора чуть прибраться?
Forwarded from Empires Burn
О цензуре в генеративных ИИ: интереснейший материал о том почему важно иметь неподцензурные модели и как удалять фильтры из существующих моделей


https://erichartford.com/uncensored-models
Огромная (до 16В) модель T5, разработанная для задач дополнения кода и, кажется, способная потягаться с DaVinci от OpenAI.
К вопросу о тестовых заданиях в Яндекс и производные.
https://academy.yandex.ru/dataschool/stepbystep
Forwarded from SIGSEGV DREC
О компиляторах

Тут в чате написали вопрос про тему, в которой я не профессионал, так что... Отвечу, но это будет самый субъективный мяу в истории канала.

Подборка от коллег в целом и Павла Советова в частности наверняка содержит рекомендации лучше, но... Мяу...

X. Курс Ильи Дединского. Который я до конца не прошёл, но по большей части выполнил. Возможно, расскажу потом о задачах подробнее. Но... Он эксклюзивно для МФТИ, теперь ещё не для всех факультетов.

Y. DragonBook. Произвела не самое лучше впечатление и коллегами не рекомендуется (о чём я узнал поздно). На мой взгляд читать можно, так как положения в ней достаточно общие, что позволяет им не стареть. Но КПД этого действия не всегда достаточно высок.

Z. Конструирование компиляторов, Никлаус Вирт. Читана полностью, что несложно ввиду размера. Достаточно похожий на пункт X подход, в котором основы показываются на компиляторе сравнительно реалистичного языка в код для языковой виртуальной RISC-машины. Главный минус — Оберон в качестве языка изложения. Сказать, что это отвратительно — ничего не сказать. Требует переработки или хотя бы дополнения листингами на языке вроде C.

Θ. Engineering a compiler. Читаю сейчас, довольно приятная книга с современным, но в то же время достаточно общим подходом. Из минусов только объём и отсутствие перевода, но мы можем смириться с таким положением дел.

В общих чертах мой опыт в теоретических основах таков.