что-то на DL-ском
4.17K subscribers
389 photos
17 videos
2 files
254 links
Авторка активно хочет зашарить все на свете и делится в этом канале.
NLP ⊂ AI → NLP/CV/speech ⊂ AI
Связаться со мной @nadlsskom
Тг буст канала: https://xn--r1a.website/nadlskom?boost
Реклама очень дорого.
Download Telegram
Сбой ChatGPT ощущается опасным для психического состояния человечества.

Сбой инсты или вк на ее фоне шутка какая-то...
😁9😱2
Кажется из-за хайпа ИИ сейчас, ты можешь навешать на уши людям любую лапшу, добавив, что-то про ИИ. И они тебе радостные поверят🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7😁2🤡1
Короче, я наконец добралась до этой статьи, дабы понять за счет чего child-tuning дает прирост скора на реальных экспериментах 🤔

Рассказываю: чем больше модель, тем очевидно дает лучшие результаты ее промтинг. Она тупо много знает и выигрывает за счет этого. Авторы статьи задаются вопросом, почему именно за счет vanilla fine-tuning живет NLP, и можно ли дообучать ее «умнее», то есть тратя меньше ресурсов, но добиваясь результатов не хуже 🤔

Начало их экспериментов положили следующее наблюдение прошлых лет: если на обучении использовалась некая умная регуляризация (L2, mixout), которая штрафует за удаление градиентов ft модели относительно pretrained версии, то такой подход оказывается эффективнее

Получается следующее: можно выделить некую дочернюю модель, в которой backprop будет проходить лишь по части параметров. Но за счет того, что мы оставим только «важные» градиенты, мы добьемся результатов не хуже, чем обучая жирную модельку

Звучит многообещающе, но возникает логичный вопрос: каким способом выделять градиенты. И тут на помощь приходят 2 подхода child- tuning f и child-tuning d

Child-tuning f:
с помощью распределения Бернулли определяется маска градиентов, где 0 – градиент меньше вероятности, заданной гиперпараметром, а 1 – больше.

Child-tuning d: с помощью критерия Фишера определяется ковариация градиента log likelihood относительно параметров

По традиции апгрейд скора метода во вложениях ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2
Да нет, я не душная

Также я, которая довела чатгпт до базовой реплики, консультируясь изначально по коду:
🤡7🖕3👍21
Я завел свой телеграм канал про datascience starter pack 2023
🔥1
Хотела эпично вернуться спустя месяц депрессии в 0 лет со статьей на Хабр расширенной от этого обзора, который писала в btc , но она не прошла модерацию. Плак🥲. В связи с этим есть ли у кого-нибудь приглашение на Хабр или идеи почему обзор мог не пройти модерацию?))

А еще ставьте реакции, и ждите обзор на LoRa в ближайшее время!!
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1
Обзор на ту самую 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
🔥6👍41
Гугл представили PaLM 2. И более того встроили ее во все свои сервисы, включая поисковик, таблицы и тд. PaLM 2 будет доступен в четырех размерах с именами, вдохновленными животными опять (Gecko, Otter, Bison и Unicorn).

В частности, Gecko может обрабатывать 20 токенов в секунду и был протестирован на последних телефонах, хотя Google не уточнил, какие именно устройства.

Выглядит впечатляюще. Но никакой папирки пока нет upd – PaLM 2 Technical Report
😢21👍1
Forwarded from Градиент обреченный (Sergei Averkiev)
🔺 Transformers Agent

В только вышедшей версии transformers (4.29.0) добавили новый способ вызова моделей — через запрос на естественном языке.

🔸 Для выполнения задачи нужно создать агента, который сам решит какую из моделей нужно вызвать в данный момент. Например,

agent.run("Caption the following image", image=image)

или

agent.run("Read the following text out loud", text=text)

🔸 Работать можно в режиме одного независимого вызова (метод run()), или в режиме чата (chat()), чтобы иметь контекст.

🔸 Можно создать агента OpenAiAgent или HfAgent, первый пойдет в API OpenAI с вашим токеном, последний — на API Huggingface, которое пока что бесплатное. Модель нужна для того, чтобы выбрать один из инструментов (tool) для выполнения самой задачи.

🔸 Инструментов (это просто упрощенный вызов какой-то модели), встроенных в transformers, пока что 10 (ответы на вопросы, озвучка, рисование картинок, перевод и т.д.), список будет расширяться.

По-моему, классная вещь получается. Можно попробовать в Colab'е.

👉 Colab | Документация
👍13🔥32
#ПолезныеСсылочки

На просторах интернетика, а конкретнее всеми любимого HuggingFace🤗 появился Leaderboard моделей с открытым исходным кодом.

Измеряли на 4 бенчмарках. Так что, если у кого-то будут сомнения, что брать на ft. Вот вам полезная ссылочка🤪:

https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥1🥴1
Мы тут с @lovedeathtransformers подсобрали датасетик с диалогами из жизни.

Мотивация следующая: стало чет очень много инструктивных и Мега-helpful сетов на просторах hf. Но при попытке докинуть чуть человечности в модельку, оказалось, что все сеты диалоговые не такие уж и чистые((. Поэтому вдохновившись генерацией датасетов для ft на LLaMA, мы побежали к API ChatGPT генерировать затравки, а к ним диалоги, их суммаризацию и персону.

🧹После почистили регулярными выражениями и проверили на верность формата данных каждого столбца. Персона содержит в себе «первый собеседник», чтобы было понятно чья именно, всегда можете заменить или удалить при желании.

Хотелось сделать multi task dataset, опираясь на диалоги, надеюсь у нас это получилось. Если у вас есть предложения, какие бы задачи еще можно было докинуть, welcome в комментарии

А вот и сама репа 🤗
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤‍🔥3🖕1
Математика в датасаенс би лайк:
🥴7👍2😁2
Этично ли указывать моделям на их ошибки в процессе обучения?
🥴11🤡4
Уже неделю идет DataFest. Кто еще не слышал, Data Fest - крупнейшая в Евразии бесплатная конференция, объединяющая исследователей, инженеров и разработчиков, связанных с data science.

Сегодня супер насыщеннная программа в spatial.chat ODS:
👁 Computer Vision: с 11:30 до 13:00
💪️️️️️️ Practical ML Yandex: с 12:00 до 15:45
💸️️️️️️ Career: с 12:30 до 18:00 (с перерывом на On-site-test)
📚 DS Talks: с 13:00 до 14:00
⚙️ MLOps: с 14:00 до 16:30
🤗️️️️️️ On-site-test aka Собеседования в никуда: c 14:00 до 16:00
🤖️️️️️️ Instruct Models: с 18:00 до 22:00
Полная программа доступна на сайте здесь.

Мой доклад будет последний (начнется в 21:00), я расскажу про LLaMA и мы сравним 100500 ее fine-tune ов, надеюсь, что после этого доклада у многих закроется гештальт с вопросами рода: блинб, а что из этого всего, мне выбрать на свою задачу🥺

Также передо мной выступают мои коллеги из Sberdevices и Яндекса, которые расскажут подробнее про GigaChat, а также опыт RLHF в их корпорациях. Еще я убедительно советую пересмотреть трансляцию со вторника по нашей же секции Instruct Models. Ребята сделали качественные доклады, которые по моему мнению дают очень устойчивую базу понимая RLHF и прочих хайповых решений для LM-ок в 2023🤘

Трансляция на ютубе ODS AI
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6
Собрали в одно сообщение темы докладов, которые идут сейчас секции Instruct models + RLHF
https://www.youtube.com/watch?v=pgIH51zc0l4

Сегодняшняя программа:

18:00 - Сергей Аверкиев. А внутре у ней NeONKA. Как мы делаем GigaChat в Сбере.

19:00 - Александр Абрамов. RLHF for retrieval based NLP system.

20:00 - Николай Зинов. RLHF в Яндексе.

21:00 - Карина Романова. LLAMA, 100500 вариантов её файнтюнинга

Выбирай своего бойца и залетай))
4👍2🔥2😱1
Так, обещала обзор на адаптеры, делаю на весь зоопарк PEFT

В общем-то недавно, все резко вспомнили о существовании параметрической эффективной настройки, ну а чтобы было привычно для слуха, про PEFT. (Тык по ссылочке🥁)

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

В приложении предлагаю посмотреть👀 на целый зоопарк таких методов. Увидеть, что на самом деле их большое множество. Они делятся на группы. Можно наверняка уже заприметить знакомые слуху сокращения

Давайте рассмотрим по группам:

Adapters
Идея очень проста: наверняка все слышали о способе transfer learning, когда мы замораживаем слои, добавляем новые, и дообучаем только [добавленные нами]/[добавленные и те, что мы не заморозили в сетке]. Вот тут идея такая же, мы добавляем отдельные слои в разные части сетки, которых в целом может быть сколько угодно. И так обучаемся. В чем проблема? Сеть становится слишком глубокой, это накладывает ограничение при ее инференсе

Selective methods
Теперь представьте, что мы можем не бездумно выбирать/добавлять слои для обучения, а указывать модели какие именно параметры стоит учить на основе, например, статистических методов

Soft promts
Теперь отойдем от добавляемых слоев, и подумаем, что аналогично вышеперечисленному можно оптимизировать, чтобы заморозить все остальные веса? Я бы не придумала, а умные люди поняли, что можно подать вместе с запросом, еще некоторую подсказку и оптимизировать только эту подсказку. Соответсвенно остальные веса входной последовательности заморозить. Тем самым мы уменьшаем количество параметров во время тренировки и тратим меньше ресурсов

Вот именно методы soft prompts и adapters на самом деле представляли изначально общую группу под названием additive methods. Название говорит само за себя. И, как можно было уже догадаться, суть этой группы в том, чтобы добавить что-то новое, что будет пересчитываться во время ft, а остальное будет заморожено

Ну и на десерт Reparametrization-based methods
Работают они за счет изменения параметров модели таким образом, чтобы можно было получить новые выборки из распределения путем нахождения низкорангового приближения матрицы.

Данные представлены в виде матрицы, где строки представляют объекты, а столбцы представляют признаки объектов. В некоторых случаях, матрицы данных могут быть очень большими и содержать много шумовых признаков. Низкоранговые методы позволяют сократить размерность матрицы, оставив только наиболее информативные признаки.

Го марафон разбора каждого метода в отдельности? Пишите в комментах с чего начать🤓

#PEFT
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤‍🔥1👍1
Ну блин, опять NLP инженеры в баре до пика Балмера доходили
8
#ПолезныеСсылочки
Нашла прикольную репу (тык сюда), которая дает возможность потыкать весь зоопарк чатботов ft на LM

Так как у каждой модельки свой формат prompt-response, автор внедрил свою библиотеку Ping-pong для упрощения взаимодействия context и reply.

Кроме приятного интерфейса отдельно заинтересовало изучения поведения каждой модели и комбинация со встроенной либой (см. chats folder)
7👍3
Тут не так давно вышла новая decoder-only моделька Falcon, и ее finetune на инструкции неплохо так обновил leaderboard huggingface 🤗

Paper еще нет, но есть один значительный минус, в датасетах модели не было русских текстов: English, German, Spanish, French (and limited capabilities in Italian, Portuguese, Polish, Dutch, Romanian, Czech, Swedish)

Если вас не пугает этот факт, кажется, что модель более чем достойна внимания. Хотя бы потому что ее права, наконец позволяют использовать ft даже в коммерции (Apache 2.0 license)

Что по деталям:
🤗Roraty positionnal embeddings
🤗Multiquery and FlashAttention
🤗Decoder-block: parallel attention/MLP with a two layer norms
Please open Telegram to view this post
VIEW IN TELEGRAM
4
😁14👏1