Kitty Bytes AI – Telegram
Kitty Bytes AI
367 subscribers
25 photos
21 links
ML лонгриды для души🥰
Download Telegram
Channel created
Channel photo updated
TransformerFAM: Feedback attention is working memory

#transformer #rnn

Разобрал одну из новых архитектур трансформеров. Меня привлекла идея реализовать rnn через архитектуру attention и применение feedback токенов.

Работает все довольно просто - будем разбивать текст на блоки токенов и накапливать информацию каждого блока в обучаемых feedback токенах. А дальше каждый feedback токен помимо текстовой информации, будет брать значение предыдущего feedback токена (на этом моменте я вспомнил старые добрые лекции Andrew Ng о rnn 🚶‍♀️)

Заметил, что тема rnn становится популярна в последнее время (отсылка к новой статье xLSTM, которую я разберу позднее)

Читать больше в Teletype 🔄

Arxive 👦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
GPT-4o

#openai

1) Статьи нет
2) Параметров нет
3) Контекстное окно 128k - круто, но у Gemini 1.5 контекст 1M (а выпущена она в феврале этого года). *Поправка от 14.05.2024 - уже 2M
4) Кода (естественно) тоже нет🚬

Классный инструмент. В целом полезен для стартапов и прохождения собесов в Яндекс. А еще понравилось, что код генерит лучше, чем GPT-3.5

Конечно буду ждать подробности архитектуры, квантизации и оптимизации работы сетки, но сомневаюсь, что CloseAI OpenAI решит поделиться этим
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention

#transformer #optimization #memory #context

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

Очередной трансформер - авторы выделяют дополнительную память для итерационного сохранения векторов K и V по всем токенам текста в структуре Linear Attention, который работает параллельно оригинальному Multi-Head Attention (на выходе считают их взвешенную сумму с обучаемым параметром). Это позволяет не увеличивать сложность расчетов (которая и так O(N^2) в оригинальном Attention), а также запоминать сколь угодно много контекста. По результатам Infini-Transformer довольно хорошо справляется с задачей суммаризации (по бенчмаркам лучше, чем BART) и, очевидно👍, эфективнее работает с длинным контекстом.

Читать больше в Teletype 🔄

Arxive 👦
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Добавлю пару тезисов о GPT-4o

#openai

- Модель обучена и способна работать на трех модальностях одновременно: аудио, текст и изображение. Этим и обусловлена скорость ее работы (раньше было 3 разных модели, работающих по каждой модальности отдельно)
- Дешевизна модели обусловлена новым мультиязычным токенайзером (поддерживает >50 языков), который из входного текста генерит в ~3 раза меньше токенов, а значит и обработка промпта становится выгоднее
❤‍🔥4👍3
Forwarded from Душный NLP
⚗️ Что такое дистилляция и как она применяется в LLM — часть I

Чем больше модель, тем сложнее ее инферить и дороже обучать. Решить проблему призвана, в том числе, дистилляция — передача знаний от тяжёлой модели («учителя») более лёгкой («ученика»). Расскажем, какие типы дистилляции существуют и как их используют.

Классический способ предложил Джеффри Хинтон в статье 2015 года. Учёный выдвигает гипотезу, что распределение классов, которые модель предлагает в качестве ответа, само по себе содержит немало знаний. Поэтому имеет смысл тренировать «ученика» не на ответах, а на распределении классов «учителя», используя Softmax с температурой. В качестве лосса использовали кросс-энтропию между двумя распределениями — ответами учителя и ученика.

Одна из первых моделей, которую дистиллировали на претрейне, — DistilBERT. Результат получился впечатляющим: language understanding удалось сохранить на 97%, а скорость по заявлению авторов выросла на 60%. Интересно, что дистиллировали веса, а в архитектуре модели изначально было вдвое меньше энкодер-блоков, чем у базовой BERT — 6 против 12. В основе обучения — перекрестная энтропия ответов «учителя» и «ученика», MLM и L cos — косинусная близость между эмбеддингами на скрытых слоях. Идеи DistilBERT позднее применяли, например, в DistilGPT.

Самый простой из современных методов — имитация модели. Его суть — добиться, чтобы небольшая модель копировала поведение крупной. Для этого «учителя» просят генерировать ответы на разные запросы, а потом на них обучают «ученика».

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

Для дистилляции знаний в «младшую» модель можно использовать метод Chain-of-Thought Prompting. Суть: просить LLM давать не только ответ, но и описывать цепочку рассуждений, которые к нему привели. Как показывают исследования, такой подход существенно увеличивает качество ответов на некоторых датасетах.

К примеру, авторы статьи Distilling Step-by-Step! попросили «ученика» предсказывать не только ответы «учителя», но и обоснования, чередуя запросы. Так маленькая модель тренируется думать как большая LLM, а не просто копирует ответы и поведение — на некоторых датасетах этот подход даёт отличный результат.

Кроме того, можно использовать датасет, составленный по reward-модели. В этом случае «ученик» будет тренироваться не на всех ответах «учителя», а только на тех, которые reward-модель считает хорошими, что тоже может улучшить результаты.

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

На этом всё. Спасибо, что прочитали! Делитесь опытом и впечатлениями от поста в комментариях! А во второй части текста мы разберём другие методы дистилляции и, конечно, затронем MiniLLM. Оставайтесь на связи!

Разбор помог подготовить Сергей Воробьев

@stuffyNLP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3
Админ выпускается из универа и меняет работу, поэтому долго не было постов
Просьба понять и простить🤵
*звуки скрипки...

PS
Однако я не мог сидеть без дела, поэтому погрузился в RAG и его архитектуры. В итоге подготовил для вас обзорную документацию по его эффективным архитектурам
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4
Advanced RAG Pipelines

#rag #context

Исследования 2023 года показали, что длина контекста не сильно помогает LLM давать точные ответы:
- В этой статье показано, что при наличии нерелевантного (мусорного) контекста производительность модели резко снижается
- А вот здесь доказали, что LLM в основном фокусируется на начале контекста и его конце

Поэтому RAG, полагаю, еще некоторое время будет актуален.

Retrieval-Augmented Generation (RAG) помогает по запросу пользователя извлечь наиболее релевантный контекст документов из БД, чтобы подать их в виде контекста в LLM вместе с запросом пользователя. Это помогает модели отвечать на точные вопросы, такие как "Какое влияние оказали первые реформы Столыпина на экономику Российской Империи?".

Краткое содержание разобранных архитектур и когда они применяются:
- Document Hierarchies - когда необходима точность сравнения нескольких фактов из большой БД документов
- Knowledge Graphs - в случае семантических соединений объектов друг с другом в БД и когда одинаково важны сущности данных и их отношения с другими объектами
- Hypothetical Document Embeddings - подходит в случае "общих" запросов и «холодного старта» без первоначального контекста
- Contextual Compressors & Filters - используется при необходимости фильтрации лишнего контекста для входа в LLM
- Multi-Query Retrieval - когда пользователь ничего не знает о запрашиваемом объекте и составляет запрос общего характера
- RAG-Fusion - когда необходимо устранить разрыв между тем,
что пользователь явно задает в запросе и тем, что он собирается спрашивать
- Multimodal RAG - используется в мультимодальных LLM

Читать больше в Teletype 🔄
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥3
RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval

#rag

Сегодня продолжу развивать тему RAG, поэтому подготовил для вас разбор свежей статьи RAPTOR. Этот подход устраняет проблему, когда LLM задают тематические вопросы, требующие полного знания целого документа или даже нескольких. Примером такого запроса может быть "Как именно князь Гвидон достиг своего могущества?". Любая система RAG извлечет множество релевантных фрагментов текста по данному запросу, однако они не дадут полной картины, потому что для этого нужно знать все содержание книги. И мы получаем проблему - чем больше фрагментов текста вы включаете в запрос, тем меньше вам нужен RAG.

Что же делает RAPTOR?🦖

Вместо разделения документов на маленькие фрагменты и сохранения их в векторную БД для последующего извлечения, RAPTOR сначала их кластеризует, а после суммаризует каждый кластер с помощью LLM. Он повторяет этот процесс итерационно, пока не остается один, финальный фрагмент текста, в котором содержится вся информация документа. Все это извлекается в общих чертах с готовой суммаризированной информацией, а если необходимы факты, то можно опуститься на слой ниже и извлечь более детальное summary.

Читать больше в Teletype 🔄

Arxive 🤓
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥4👏1
xLSTM: Extended Long Short-Term Memory

#rnn

Как и обещал, подготовил для вас подробный разбор статьи xLSTM. Знаю, что за это время вышло уже несколько разборов этой архитектуры, но на русскоязычных ресурсах наиболее детального обзора xLSTM на данный момент я не видел (сам не похвалишь, никто не похвалит 😃).

В статье разработано улучшение сети LSTM с помощью двух архитектур - sLSTM и mLSTM. Каждая архитектура, направлена на решение проблем оригинальной сети. Добавлены параллельные вычисления в mLSTM, способность корректировать запоминание информации, а также введено матричное представление данных внутри сети. Эксперименты доказывают, что xLSTM сравнима с GPT моделями, а результаты предсказания лексем SlimPajama превосходят по точности Llama 1.3B.

Читать больше в Teletype 🔄

Arxive 🤓
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6🔥5👏2
Large Parallelism Post: Part I

#parallelism

Я долго ничего не публиковал, потому что решил сделать большой пост о параллелизме в нейросетях. Как оказалось, эта тема довольно обширная и с регулярными публикациями. Пришлось потратить много времени на сбор информации, структуризацию и написание текста. В конечном итоге материала оказалось так много, что я решил разбить его на серию постов.

В первой части собраны базовые методы параллелизма:
Data Parallel - самый простой метод параллелизма, в котором мы копируем модель на все GPU, и обучаем каждую ее копию, после чего аккумулируем градиенты🚬
Distributed Data Parallel - обновление метода Data Parallel с возможностью параллелизма модели на нескольких нодах💪
Model Parallelism - если у нас большая модель, то давайте просто порежем ее слои🔪
Pipeline Parallelism - улучшение Model Parallelism, который разработали ребята из Google, позволяющий избегать простоя GPU с помощью разделения данных на micro-batches📈

Читать больше в Teletype 🔄

Если чтиво вам покажется довольно простым, то советую дождаться разбора методов Tensor Parallelism и ZeRO😳
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👏32🔥1