Machine Learning Research – Telegram
Machine Learning Research
955 subscribers
61 photos
7 videos
2 files
1.05K links
Download Telegram
Forwarded from Kali Novskaya (Tatiana Shavrina)
🌸Бесплатные курсы по LLM🌸
#nlp #про_nlp

Небольшое обновление поста про бесплатные курсы NLP/LLM, на этот раз добавлю англоязычных материалов. Всё разбила на две группы: посложнее и поприкладнее-попроще.

🌸Для MLE:
Для курсов требуется английский, требуется Python, основы машинного обучения, базовая теория вероятности и статистика, линейная алгебра.

🟣CS224N: Natural Language Processing with Deep Learning
https://web.stanford.edu/class/cs224n/
Крутой стэнфордский курс, идет каждый год с обновлениями. В этом году впервые лекции решили не выкладывать на youtube, хотя остались в публичном доступе все лекции 2023 — их очень советую.

🟣Chris Manning — конспекты
https://web.stanford.edu/class/cs224n/readings/cs224n-self-attention-transformers-2023_draft.pdf
Преподаватель курса выше и один из самых успешных ученых, авторов исследовательских работ без большого компьюта (DPO, Backpack language models), Крис Маннинг все материалы лекций выкладывает в открытый доступ. По датам обновлений видно, что обновленные материалы -- для курса 2024 года, пользуйтесь! https://web.stanford.edu/class/cs224n/readings/

🟣Dan Jurafsky — Speech and Language Processing (3rd ed. draft)
Автор основного за последние 20 лет учебника по NLP, и тоже из Стэнфорда, Дэн Журафски продолжает выкладывать в открытый доступ новые главы учебника, постоянно обновляя старые. Это вообще практически единственная книга, которую можно прочитать целиком и уже иметь ключи к пониманию 80% происходящего в индустрии.
Последнее обновление учебника – 5 января 2024:
https://web.stanford.edu/~jurafsky/slpdraft/

🟣Transformers United
https://web.stanford.edu/class/cs25/prev_years/2023_winter/index.html
Второй по важности курс, чтобы понимать, что происходит — с общей направленностью на NLP, CV и мультимодальные модели.


🌸Курсы попроще
Требуется только английский и Python

🟣HuggingFace NLP Course
https://huggingface.co/learn/nlp-course/
Верхнеуровневый курс прикладной направленности, научит запускать инференс и тюнинг основных моделей, позволит примерно понять, что происходит внутри и какие параметры ставить для каких задач.

🟣Cohere LLM University
https://docs.cohere.com/docs/llmu
Все настроено, конечно, чтобы вас научить работать именно с продуктами Cohere, но сами по себе обзорные материалы неплохие. Из плюсов — есть Discord сообщество курса.

🟣Learn Prompting
https://learnprompting.org/docs/intro
Хороший дополняемый сборник лучших практик по промпт-инжинирингу, построению chain-of-thought, reasoning, построению ансамблей и систем проверки пайплайнов с промптами.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Forwarded from Сиолошная
Обычно на День рождения подарки получают, но я люблю дарить, отдавать и делиться. Прошлой весной, пока сидел без работы, я получал предложения сделать курс по NLP/LLM. После анализа конкурентов, включая Stanford'ские курсы, я пришёл к выводу, что мне эта идея не кажется перспективной — я не видел, что можно ещё предложить и какую ценность добавить, да и кто будет целевой аудиторией. Но осенью ко мне пришли ребята из Deep Learning School при Физтехе и предложили заделать «пару лекций». Мало кто знает, но пост про GPT-4 с Пашей Комаровским в соавторстве начинался примерно с таких же слов: «не хочешь сделать на коленке мини-заметку?».

В итоге пара лекций превратилась... в мини-курс «Полная история семейства GPT» из 4 частей. На данный момент полностью готово 2 части, и сегодня я публикую первую. Она состоит из трёх видео, которые, как я считаю, будет полезно посмотреть всем — от начинающих свой путь в ML до суперсеньорных NLP'шников, которые вероятно пропустили или не знали предпосылок разработки GPT-1. Правда, курс предполагает, что вы представляете, что такое трансформер — какое счастье, что я и такую лекцию сделал!

В курс включено много тем и деталей, о которых либо говорят редко, либо они не указаны в статьях, либо всё и сразу. Какие-то топики, конечно, пересекаются, но думаю, что здоровая доля novelty тут есть.

1) youtu.be/l-l82uNwyu8 — лекция про сжатие как способ выработки понимания (что? а вот увидите!)
2) youtu.be/jKd_CdRh7U4 — лекция про обучение без учителя на текстовых данных, или почему мы обучаем языковые модели так, как обучаем
3) youtu.be/i3lkIJ82rNI — finally, лекция с разбором GPT-1

(но вообще я предлагаю просто подписаться на канал на YouTube, чтобы иметь удобную навигацию там и ничего не пропустить)

Вторая часть выйдет на следующей неделе, будет состоять из ПЯТИ видео и опишет прогресс от GPT-1 до GPT-3. Семинары и домашние задания к лекциям появятся весной и будут выложены на платформе курса — поэтому переходите на сайт школы, чтобы ничего не пропустить. Занятия в школе — БЕСПЛАТНЫЕ (и организованы на платформе Stepik)!
PatronusAI и HuggingFace опубликовали LLM Enterprise Scenarios Leaderboard

Это закрытый бенчмарк, который оценивает LLM модели на реальных задачах из корпоративного сектора:

- Finance Bench
- Legal Confidentiality
- Writing
- Customer Support
- Toxic Prompts
- Enterprise PII

Это выгодно отличает его от академических бенчмарков для LLM вроде MMLU, ARC и HellaSwag. Последние интересны, но достаточно бесполезны на практике. Так всегда бывает.

Почему бенчмарк закрытый? Чтобы команды не подгоняли свои модели под тесты.

Моделей у них пока не очень много, т.к. это достаточно непростая задача разрабатывать и вести такой бенчмарк. Они будут добавлять туда модели постепенно.

Почитать: Hugging Face Blog post | Leaderboard

А пока ждем - можно еще глянуть на Trustbit LLM Enterprise Leaderboard за январь. Мы ведем этот бенчмарк с июля прошлого года, и моделей там побольше 😉

Ваш, @llm_under_hood 🤗

PS: Спасибо Айгизу за наводку.
Forwarded from Сиолошная
Опубликовал на YouTube 4 новых лекции из мини-курса «Полная история семейства GPT». Обещал пять, но контента вышло больше, монтировать и делать правки, как следствие, дольше — поэтому последнее видео второго модуля выйдет к среде.

Привалило аж 2.5 часа контента:
1) https://youtu.be/WEsez1sYo2E — лекция про GPT-2
2) https://youtu.be/mFYFQELA-HU — описание происходящего в индустрии после (не)релиза GPT-2
3) https://youtu.be/UFE6rOC4640 — технические новшества и детали тренировки GPT-3
4) https://youtu.be/u1fnaML5bm8 — результаты GPT-3 на разных задачах, от классических до крайне необычных (по тем временам)

Смотреть по порядку, включая первый модуль, удобно тут — в специальном плейлисте.

Если вдруг пропустили анонс и первый модуль — бегом смотреть, получил очень хорошие отзывы на те лекции!
👍1
Классная новая лекция Саши Раша про историю языковых моделей.

Включает в себя:
- Очень понятный вывод перплексии и её влияния на остальные метрики
- Сравнение с древними n-граммными моделями
- Вывод механизма внимания как аппроксимацию key-value памяти
- Понятные переходы “n-граммная модель -> word2vec -> трансформеры”
- Объяснение важности иерархии памяти в GPU при матричном умножении
- Scaling law Шиншиллы
- RASP, довольно забавный язык программирования, основанный на механизме внимания. Язык этот используется для того, чтобы показать, как трансформеры могут делать те или иные операции.

Что я узнал нового? Только часть про RASP, которую я как-то пропустил года 2 назад.
Но всё равно лекция довольно интересная.

Видео: https://www.youtube.com/watch?v=KCXDr-UOb9A
Презентация: https://link.excalidraw.com/p/readonly/aBWlNjEckdUlrszwwo6V
Forwarded from black_samorez
Мы с коллегами из Yandex Research сделали новый метод квантизации LLM’ок - AQLM. Он позволяет сжимать модели вплоть до 2 бит на параметр, что открывает тонну возможностей от запуска Llama 2 70b на RTX 3090 до, потенциально, меньших моделей на мобилках. Статья доступна на arXiv, код лежит на GitHub.

Про качество: AQLM бьет по качеству все существующие методы в диапазоне 2-3 бит на параметр: AQLM 2 бита лучше чем QuIP# 2 бита и даже мощнее GPTQ 3 бита.

Про готовые модели: мы выложили готовые квантизованные модели на хаб. Лламы от 7b до 70b и Mixtral в разных конфигурациях. Для быстрого инференса мы написали несколько кернелов на CUDA, Triton и Numba. Они оптимизированы под различные сетапы квантизации, и либо немного уступают, либо заметно превосходят fp16 по скорости генерации.

Про использование: весь продвинутый код инференса завернут в одну либу, и устанавливается просто через pip install aqlm. После этого можно смело подгружать любые модели с хаба через .from_pretrained(..., trust_remote_code=True), и оптимальные кернелы будут выбираться и компилироваться на ходу за кулисами.

Про метод: мы применяем квантизацию групп соседних весов для эффективного использования их взаимной информации. Более конкретно, мы представляем все блоки весов (размером около 1x8) в матрице суммой некоторого количества векторов из небольшого обучаемого списка (Additive Quantization). Детали и бэкграунд подробно описаны в статье.
🔥5
Еще один плейлист про все эти LLM
https://www.youtube.com/playlist?list=PLK0DyPM1d8B2V3Yz65koC8KVc3TQ7iP2g
Forwarded from КПД
QuIP#: Even Better LLM Quantization with Hadamard Incoherence and Lattice Codebooks
[Статья][Код]

Только-только мы с коллегами выкатили AQLM , как конкуренты нанесли ответный удар)

LLM-ки становятся все круче, новые модели, датасеты с инструкциями выходят почти на ежедневной основе. Однако, самые сильные из опенсорсных моделей (Llama-2-70b с дохреналлионом файтьюнов, Микстраль и загадочное нечто под названием miqu) не влезают в колаб или условную RTX 3090/4090. Квантизация в 4 бита (до недавних пор бывшая Парето-оптимальная) недостаточна, чтобы позволить уместиться такой здоровенной модели на щупленькую видеокарту, а предыдущие методы квантизации в 2-3 бита ломают заметно модель и проще взять меньшую модель в большей точности. Но свежие работы открывают дорогу к инференсу оверсайзд моделей на хорошей геймерской GPU.

Метод

Quip# (решетка, потому что E8 решетка квантования) стоит на трех 🐳 :
1️⃣ Incoherence processing
2️⃣ E8 решеточная векторная квантизация
3️⃣ Дообучение неквантованных параметров

1) Как известно, веса больших языковых моделей обладают выбросами (outliers), плохо поддающимися квантованию, и в ряде прошлых работ было предложено их тем или иным образом изолировать. Здесь же, следуя своей прошлой работе QuIP авторы домножают веса на случайное ортогональное преобразование, благодаря которому величины и чувствительности параметров растекаются равномерно по матрице (incoherence processing). Отличие от прошлой работы в том, что вместо произведения кронекеровских матриц для параметризации ортогонального преобразования используется случайное Адамарово преобразование, более эффективное вычислительно и не уступающее по качеству.

2) Поэлементная квантизация не совсем оптимальна в том смысле, что оптимизирует ошибку в пределах некоторого гиперкуба (если рассматривать группы весов). А в действительности группы весов распределены в некотором шаре. А объем шара того же диаметра, что и сторона куба, в большой размерности много меньше описанного вокруг него куба. И при том же количестве кластеров (квантованных значений), можно добиться значительно меньшей ошибки. Для используемой в работе квантизации группами по 8 весов оптимальная решетка - E8, как было показано сравнительно недавно.

3) Чтобы уменьшить ошибку квантизации, можно потюнить модель воспроизводить выходы слоев исходной модели. Как и в AQLM авторы сначала дообучают неквантованные модели на уровне отдельных блоков трансформера. А на второй стадии обучают уже все неквантованные параметры на минизацию разницы между сжатой моделью и исходной fp16.

Для больших битностей (3-4 бита) используется Residual Vector Quantization, когда ошибка квантизации еще раз квантуется и конечный вес представляется в виде суммы квантованного веса и квантованной ошибки.
Forwarded from Записки MLEшника (Egor)
Там у Джереми Ховарда на Ютуб выходят лекции (1, 2) по программированию на CUDA (который fast.ai сделал и не последний человек в kaggle)

Сам я пока не смотрел, но другие его курсы и лекции очень нравятся. Должно быть годнотой
Forwarded from Сиолошная
Двухчасовая лекция от ex-Tesla ex-OpenAI инженера-менеджера Andrey Karpathy про токенизацию и все её тонкости 🙂

https://www.youtube.com/watch?v=zduSFxRajkE

Репозиторий с пошаговым и хорошо прокомментированным кодом как сопроводительный материал: https://github.com/karpathy/minbpe

Если вы хотели увидеть, как GPT "читает" ваш текст, какие единицы в нём выделяет — вам сюда.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AI[ex]Time (Александр Голубев)
Опять статья по эффективному тюнингу, уже формируется целая коллекция из LoRA, VeRA, и на этот раз DoRA: Weight-Decomposed Low-Rank Adaptation. Совсем недавняя статья, где получились уже интересные результаты: по экспам неплохо обгоняет лору при том же числе обучаемых параметров. На самом деле лора и дора очень похожи, за исключением одной маленькой технической детали.
Вспомним как работает LoRA — У нас есть замороженная матрица весов W, мы учим две новые A и B и получаем out = (W + AB) * in. После тюнинга можно все это смерджить, чтобы получить одну матрицу W’ = W + AB.

В DoRA предложили немного изменить процедуру обучения и отдельно выделить вектор, задающий величину (любой вектор можно представить как vector = m * unit_vector, то есть величину, умноженную на единичный вектор, отвечающий за направление). То же самое можно сделать и для матрицы: W = ||W||_c * W/||W||_c = m * V, где m — вектор с нормами матрицы по столбцам. В таком случае мы будем использовать ровно так же LoRA для V, но дополнительно обучаем и вектор m. Размер вектора m можно сказать о малое от остальных параметров, поэтому практически не увеличивает требования по памяти. Возможно картинка на первый взгляд не очень понятная, но если немного посмотреть, то достаточно хорошо видно, в чем заключается суть.

Выглядит кажется логично: после обычной лоры у нас может в ту или другую сторону поехать норма матрицы, а здесь мы дополнительно контролируем этот фактор. Прикрепил также сравнения для LLaMA-7/13B.
👍1
Помните, я рассказывал про эмбеддинги предложений SONAR?
Те самые, для которых есть текстовый энкодер (предложение=>вектор) и декодер (вектор=>предложение) для 200 языков, и ещё несколько десятков энкодеров речи, переводящих устные предложения в то же семантическое пространство, что и письменные.
На основе которых работает моделька BLASER 2.0, неплохо коррелирующая с человеческими оценками (XSTS) качества перевода текста и речи.
На основе которых мои коллеги недавно запилили самый мультиязычный классификатор токсичности, MuTox.
Ну и, конечно, на основе которых мои коллеги собрали датасет SeamlessAlign: собранные по интернетам и заматченные по смыслу пары предложений речь-текст (100К часов) и речь-речь (9К часов) на разных языках. Этот датасет использовался для обучения моделей Seamless, примерно лучших из того, что сегодня существует для перевода речи.

Так вот. SONAR сейчас понимает текст на 200 языках (те же самые, что NLLB), но энкодеры речи пока есть только для 57 языков.
Зачем эти энкодеры вообще нужны? В голову приходит несколько примеров применений:
1) Классификация и перевод устных предложений напрямую, минуя этап автоматической транскрипции. Для классификации можно использовать модели поверх эмбеддингов предложений (типа того же MuTox), а для перевода - имеющийся текстовый декодер.
2) Автоматический матчинг устных предложений с их переводами или транскрипцией - то, как мы собирали SeamlessAlign и несколько подобных датасетов.

Ну и поскольку польза от этого вроде как есть, то сообщество просит дать им рецепт обучения энкодера речи для ещё одного языка. А раз просит - я попробовал сделать. С минимальными данными (используя только CommonVoice) и вычислительными ресурсами (два дня обучения на Colab Pro). На примере грузинского языка, потому что для него ещё нет энкодера речи, но есть, на каких данных оценить его качество и с чем сравнить.
Рецепт - в этом блокноте. Качество мне не очень нравится, так что я его ещё буду дорабатывать. Но фидбек хочется получить уже сейчас, так что если вам есть, что сказать по поводу этого блокнота - не стесняйтесь писать в комменты)
Forwarded from Ирина Кикина
🔥СТАРТ КУРСА🔥
MLOps и production в DS исследованиях 3.0

18 марта 2024г
при поддержке Open Data Science стартует запуск, открытого онлайн курса MLOps и production в DS исследованиях 3.0!

Мы учли ваши пожелания и предложения, внесли доработки, дополнили контент, разнообразили домашние задания, а так же, пригласили новых спикеров!

В рамках курса вы:
🤓Познакомитесь с концепцией воспроизводимых исследований;
🤓Научитесь автоматизировать процесс проведения стандартизированных исследований;
🤓Узнаете о методах организации командной работы над ML-проектами;
🤓Получите практические рекомендации по работе с кодом в DS исследованиях;
🤓Изучите полезные инструменты для автоматизации и обеспечения воспроизводимости исследований.

Совсем скоро откроется регистрация, а пока, предлагаем ознакомиться с программой курса!

Следить за новостями, а так же, задавать любые вопросы, связанные с курсом, можно в нашем telegram чате для участников курса!
Forwarded from Dealer.AI
"Квантизируй меня полностью" или мануал по квантизации от Yandex.

Тут ML-разработчик Яндекса выкатил подробнейшую статью на Хабре о том, что такое квантизация и как она работает.
Отличный гайд, который достоин закрепа во вкладках.

В статье представленны различные методы для уменьшения точности после зпт, как на инференсе, так и для обучения. Затронуты вопросы выбросов в тензорах, а также послойный/весовой/блочный и др. подходы. Во времена LLM не обошли и вопросы связанные с особенностями их квантизации.

Еще отмечу, везде, где возможно указаны ссылки на референс статьи и код методов. Тем самым, обзор позволяет потрогать указанные методы руками и выбрать подходящий именно под свои задачи. В общем, читаем, пробуем, учимся.
Forwarded from Сиолошная
Google открыли для всех доступ к Gemini 1.5 Pro с 1М токенов контекста: https://aistudio.google.com/app/prompts/new_chat

Можно загрузить видео или целую папку с файлами для анализа

Го тестировать
Про проект Panlex.org, собравший перевод слов для тысяч языков, я узнал почти два года назад.
Но воспользоваться этими данными для машинного обучения никак не доходили руки, просто потому, что лень было скачивать и расковыривать дамп их базы данных.
Сейчас я таки расковырял его, разрезал на отдельные языки, и выложил на HF: https://huggingface.co/datasets/cointegrated/panlex-meanings.
Если вам внезапно понадобились словари для кучи малоресурсных языков в единообразном формате, может быть полезно.

Помимо этого ресурса, порекомендую ещё, пользуясь случаем, недавний датасет Gatitos с похожей мотивацией; там 4000 слов/фраз/коротких предложений, переведенные на 173 языка.
👍1