Forwarded from Душный NLP
ReDrafter — быстрый метод спекулятивного декодирования
Сегодняшняя статья посвящена Recurrent Drafter (ReDrafter) — новому подходу к спекулятивному декодированию. Авторы заявляют, что он позволяет значительно увеличить скорость моделей.
Само спекулятивное декодирование основано на использовании дополнительной «черновой» модели, которая предлагает варианты продолжения цепочек токенов. Основная модель проверяет эти варианты, выбирая один с помощью специальной процедуры верификации. Качество генераций остаётся таким же, как и без использования спекулятивного декодирования, потому что окончательное решение о принятии тех или иных токенов лежит на основной модели.
В ReDrafter в качестве черновой модели используется RNN. Благодаря рекуррентной структуре, учитывается зависимость между черновыми токенами. Кроме того, RNN, помимо последнего токена, также видит и скрытое состояние из последнего слоя LLM, что даёт ей возможность лучше следовать генерациям основной модели.
С помощью алгоритма динамического древа внимания (dynamic tree attention algorithm), в сгенерированных RNN кандидатах убираются повторяющиеся префиксы. Таким образом, в основную модель попадает меньше вариантов, а значит затраты вычислительных ресурсов становятся меньше. Далее основная модель оценивает предложенные варианты (при этом, сразу несколько), выбирает лучший и процесс повторяется снова.
RNN обучается с помощью дистилляции из основной модели. Это позволяет RNN предсказывать токены с вероятностями, максимально приближенными к ожиданиям LLM. Таким образом, «черновая» модель реже предлагает токены, которые будут отклонены.
Авторы отмечают, что использование дистилляции дает лучшие результаты, чем обучение «черновой» модели на исходном датасете, на котором тренировали LLM. Так, скорость генерации и число принятых токенов за один шаг на Vicuna 7B выросли примерно на 10%.
ReDrafter показал лучшие результаты по сравнению с методами Medusa и EAGLE на бенчмарках MT-Bench и AlpacaEval. При этом, по сравнению с жадной генерацией, генерация семплированием показывает ещё большее ускорение, чего обычно не показывают другие методы спекулятивного декодирования.
Разбор подготовил❣ Алексей Гликин
Душный NLP
Сегодняшняя статья посвящена Recurrent Drafter (ReDrafter) — новому подходу к спекулятивному декодированию. Авторы заявляют, что он позволяет значительно увеличить скорость моделей.
Само спекулятивное декодирование основано на использовании дополнительной «черновой» модели, которая предлагает варианты продолжения цепочек токенов. Основная модель проверяет эти варианты, выбирая один с помощью специальной процедуры верификации. Качество генераций остаётся таким же, как и без использования спекулятивного декодирования, потому что окончательное решение о принятии тех или иных токенов лежит на основной модели.
В ReDrafter в качестве черновой модели используется RNN. Благодаря рекуррентной структуре, учитывается зависимость между черновыми токенами. Кроме того, RNN, помимо последнего токена, также видит и скрытое состояние из последнего слоя LLM, что даёт ей возможность лучше следовать генерациям основной модели.
С помощью алгоритма динамического древа внимания (dynamic tree attention algorithm), в сгенерированных RNN кандидатах убираются повторяющиеся префиксы. Таким образом, в основную модель попадает меньше вариантов, а значит затраты вычислительных ресурсов становятся меньше. Далее основная модель оценивает предложенные варианты (при этом, сразу несколько), выбирает лучший и процесс повторяется снова.
RNN обучается с помощью дистилляции из основной модели. Это позволяет RNN предсказывать токены с вероятностями, максимально приближенными к ожиданиям LLM. Таким образом, «черновая» модель реже предлагает токены, которые будут отклонены.
Авторы отмечают, что использование дистилляции дает лучшие результаты, чем обучение «черновой» модели на исходном датасете, на котором тренировали LLM. Так, скорость генерации и число принятых токенов за один шаг на Vicuna 7B выросли примерно на 10%.
ReDrafter показал лучшие результаты по сравнению с методами Medusa и EAGLE на бенчмарках MT-Bench и AlpacaEval. При этом, по сравнению с жадной генерацией, генерация семплированием показывает ещё большее ускорение, чего обычно не показывают другие методы спекулятивного декодирования.
Разбор подготовил
Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from adapt compete evolve or die
Прочитал решение прошлой соревы от Jane Street. Интересно, что автор сейчас quant в JS, а его сокомандник занимает в новой сореве первое место 🧐
1 место удалось оторваться от деревянных преследователей на бустах за счет использования автоэнкодера к анонимизированным фичам. Идея понятна: нейронка лучше разберется, а если пережать bottleneck'ом, то уменьшим количество фичей, уберем лишний шум, получим более гладкие фичи. Автоэнкодер обучался не классическим unsupervised методом, а по фолдам, параллельно с mlp моделью. Суть в том, что автор тренировал дополнительную голову на таргеты, что позволило ему получить более подходящие фичи для его сети.
Если автоэнкодер можно считать аналогом PCA в мире DL, то такой подход с обучением на таргеты... это аналог LDA в каком-то смысле?
В новой сореве автоэнкодер не заводится у меня.
1 место удалось оторваться от деревянных преследователей на бустах за счет использования автоэнкодера к анонимизированным фичам. Идея понятна: нейронка лучше разберется, а если пережать bottleneck'ом, то уменьшим количество фичей, уберем лишний шум, получим более гладкие фичи. Автоэнкодер обучался не классическим unsupervised методом, а по фолдам, параллельно с mlp моделью. Суть в том, что автор тренировал дополнительную голову на таргеты, что позволило ему получить более подходящие фичи для его сети.
Если автоэнкодер можно считать аналогом PCA в мире DL, то такой подход с обучением на таргеты... это аналог LDA в каком-то смысле?
В новой сореве автоэнкодер не заводится у меня.
Please open Telegram to view this post
VIEW IN TELEGRAM
Kaggle
Yirun's Solution (1st place): Training Supervised Autoencoder with MLP | Kaggle
Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.
Forwarded from эйай ньюз
CS492(D): Diffusion Models and Their Applications
Курс по Диффузионным моделям от KAIST (Южная Корея) - если хочется поднять базу, не ходя в университет.
Читает леции вот этот чувак - Minhyuk Sung. На сайте есть записи всех лекций и слайды, плюс 2 гостевые лекции от крутых ученых.
Список лекций:
1 - Course Introduction
2 - Introduction to Generative Models / GAN / VAE
3 - DDPM 1
4 - DDPM 2
5 - DDIM 1
6 - DDIM 2 / CFG
7 - CFG / Latent Diffusion / ControlNet / LoRA
8 - Zero-Shot Applications
9 - Guest Lecture 1 by Or Patashnik
10 - DDIM Inversion / Score Distillation 1
11 - Score Distillation 2
12 - Diffusion Synchronization
13 - Inverse Problems 1
14 - Inverse Problems 2
15 - Probability Flow ODE / DPM-Solver
16 - Flow Matching 1
17 - Flow Matching 2
18 - Course Summary
19 - Guest Lecture 2 by Jiaming Song, Chief Scientist at Luma AI
https://mhsung.github.io/kaist-cs492d-fall-2024/
Ну а еще почитать про диффузию можно у меня :) Вот пара ссылок:
- Как ускорить диффузию часть 1, часть 2
- Моя любимая статья по диффузионным моделям (база)
- Разбор нашей статьи Cashe Me if You Can по ускорению диффузионок
- И ещё пара туториалов, вот первый и второй
#ликбез
@ai_newz
Курс по Диффузионным моделям от KAIST (Южная Корея) - если хочется поднять базу, не ходя в университет.
Читает леции вот этот чувак - Minhyuk Sung. На сайте есть записи всех лекций и слайды, плюс 2 гостевые лекции от крутых ученых.
Список лекций:
1 - Course Introduction
2 - Introduction to Generative Models / GAN / VAE
3 - DDPM 1
4 - DDPM 2
5 - DDIM 1
6 - DDIM 2 / CFG
7 - CFG / Latent Diffusion / ControlNet / LoRA
8 - Zero-Shot Applications
9 - Guest Lecture 1 by Or Patashnik
10 - DDIM Inversion / Score Distillation 1
11 - Score Distillation 2
12 - Diffusion Synchronization
13 - Inverse Problems 1
14 - Inverse Problems 2
15 - Probability Flow ODE / DPM-Solver
16 - Flow Matching 1
17 - Flow Matching 2
18 - Course Summary
19 - Guest Lecture 2 by Jiaming Song, Chief Scientist at Luma AI
https://mhsung.github.io/kaist-cs492d-fall-2024/
Ну а еще почитать про диффузию можно у меня :) Вот пара ссылок:
- Как ускорить диффузию часть 1, часть 2
- Моя любимая статья по диффузионным моделям (база)
- Разбор нашей статьи Cashe Me if You Can по ускорению диффузионок
- И ещё пара туториалов, вот первый и второй
#ликбез
@ai_newz
Forwarded from Artem Ryblov’s Data Science Weekly
Data Structures & Algorithms by Google
Familiarize yourself with common data structures and algorithms such as lists, trees, maps, graphs, Big-O analysis, and more!
Topics:
- Maps/Dictionaries
- Linked Lists
- Trees
- Stacks & Queues
- Heaps
- Graphs
- Runtime Analysis
- Searching & Sorting
- Recursion & DP
Link: Site
Navigational hashtags: #armknowledgesharing #armtutorials
General hashtags: #algorithms #leetcode #programming
Familiarize yourself with common data structures and algorithms such as lists, trees, maps, graphs, Big-O analysis, and more!
Topics:
- Maps/Dictionaries
- Linked Lists
- Trees
- Stacks & Queues
- Heaps
- Graphs
- Runtime Analysis
- Searching & Sorting
- Recursion & DP
Link: Site
Navigational hashtags: #armknowledgesharing #armtutorials
General hashtags: #algorithms #leetcode #programming
Forwarded from КПД
В процессе серфинга по тытрубе и подготовке к собственной защите наткнулся на защиту кандидатской диссертации Егор Захарова в Сколтехе.
Тема диссертации - синтез человеческих лиц и 3д фигур людей с помощью GANов. И данный рассказ - действительно очень интересный и увлекательный обзор техник по улучшению качества генерации, реализма, общаемости на произвольные аспекты и положения головы и тела.
Картинки просто конфетка и сам рассказ очень увлекательный и познавательный.
Нынче диффузия - всему голова, но многие идеи актуальны и до сих пор.
В общем, рекомендую.
Тема диссертации - синтез человеческих лиц и 3д фигур людей с помощью GANов. И данный рассказ - действительно очень интересный и увлекательный обзор техник по улучшению качества генерации, реализма, общаемости на произвольные аспекты и положения головы и тела.
Картинки просто конфетка и сам рассказ очень увлекательный и познавательный.
Нынче диффузия - всему голова, но многие идеи актуальны и до сих пор.
В общем, рекомендую.
Forwarded from КПД
Switti: Designing Scale-Wise Transformers for Text-to-Image Synthesis
📖Статья 🖥Код 📑Сайт проекта 🤗Демка
Введение
На текущий момент диффузионные модели уверенно занимают пьедестал почета в задаче генерации изображений по тексту. По заданному запросу, даже весьма нетривиальному, насыщенному нюансами и деталями, они способны генерировать разнообразные картинки хорошего качества. Однако, существенным и основным недостатком диффузионных моделей является их итеративная природа генерации: чтобы сгенерировать одно изображение, диффузионную модель приходится прогонять много раз, из-за чего приходится подождать некоторое время, прежде чем замечательная картинка явится на свет.
Наряду с диффузией существует альтернативная парадигма генерации - так называемые авторегрессионные модели, которые генерируют изображения последовательно патч за патчом (патч - маленький кусок изображения, скажем, 16x16 пикселей). Однако, они работают на практике еще медленнее для больших изображений, так как генерация каждого следующего патча требует прогона модели, а количество патчей может переваливать за тысячу. Кроме того, они уступают в качестве диффузионным моделям, поэтому долгое время считались неконкурентоспособными.
Однако, этой весной команда исследователей из ByteDance в работе VAR (Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction) предложила модификацию авторегрессионной парадигмы, где за один проход предсказывается не один патч, а все разрешение целиком. С помощью специальной аамодели - Residual Quantization VAE (вариационно кодировщика с остаточной квантизацией) - изображение разбивается на разные уровни: нижние уровни соответствуют общей семантике изображения, а верхние уровни - тонким деталям и текстурам. На нижних уровнях немного патчей, поэтому прогон модели на них дешев, и стоимость прогона возрастает с переходом на каждое следующее разрешение. На этапе генерации модель смотрит на все прошлые разрешения и генерируют текущее. Полученная картинка получается посредством суммирования всех разрешений.
Данная работа смогла добиться качества генерации, сопоставимого с хорошими современными диффузионными моделями, при этом будучи значительно быстрее их, в задаче генерации, обусловленной на класс объекта из ImageNet.
Увы, генерация из фиксированного набора (1000 классов) не так интересна пользователям, как генерация по произвольным и разнообразным текстовым запросам. Поэтому для верификации жизнеспособности идеи последовательной генерации изображений по разрешениям требовалась проверка в более сложном и интересном сценарии.
Некоторое время спустя после выхода работы VAR вышли STAR и HART, которые адаптировали вышеупомянутый подход для генерации изображений по тексту. В этих работах удалось добиться сносного качества генерации и следования текстовому запросу, но все же далеко позади современных диффузионных генеративных моделей (таких, как SDXL, PixArt, Lumina).
Поэтому мы, исследователи из Yandex Research, решили обучить свою генеративную text-2-image модель.
📖Статья 🖥Код 📑Сайт проекта 🤗Демка
Введение
На текущий момент диффузионные модели уверенно занимают пьедестал почета в задаче генерации изображений по тексту. По заданному запросу, даже весьма нетривиальному, насыщенному нюансами и деталями, они способны генерировать разнообразные картинки хорошего качества. Однако, существенным и основным недостатком диффузионных моделей является их итеративная природа генерации: чтобы сгенерировать одно изображение, диффузионную модель приходится прогонять много раз, из-за чего приходится подождать некоторое время, прежде чем замечательная картинка явится на свет.
Наряду с диффузией существует альтернативная парадигма генерации - так называемые авторегрессионные модели, которые генерируют изображения последовательно патч за патчом (патч - маленький кусок изображения, скажем, 16x16 пикселей). Однако, они работают на практике еще медленнее для больших изображений, так как генерация каждого следующего патча требует прогона модели, а количество патчей может переваливать за тысячу. Кроме того, они уступают в качестве диффузионным моделям, поэтому долгое время считались неконкурентоспособными.
Однако, этой весной команда исследователей из ByteDance в работе VAR (Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction) предложила модификацию авторегрессионной парадигмы, где за один проход предсказывается не один патч, а все разрешение целиком. С помощью специальной аамодели - Residual Quantization VAE (вариационно кодировщика с остаточной квантизацией) - изображение разбивается на разные уровни: нижние уровни соответствуют общей семантике изображения, а верхние уровни - тонким деталям и текстурам. На нижних уровнях немного патчей, поэтому прогон модели на них дешев, и стоимость прогона возрастает с переходом на каждое следующее разрешение. На этапе генерации модель смотрит на все прошлые разрешения и генерируют текущее. Полученная картинка получается посредством суммирования всех разрешений.
Данная работа смогла добиться качества генерации, сопоставимого с хорошими современными диффузионными моделями, при этом будучи значительно быстрее их, в задаче генерации, обусловленной на класс объекта из ImageNet.
Увы, генерация из фиксированного набора (1000 классов) не так интересна пользователям, как генерация по произвольным и разнообразным текстовым запросам. Поэтому для верификации жизнеспособности идеи последовательной генерации изображений по разрешениям требовалась проверка в более сложном и интересном сценарии.
Некоторое время спустя после выхода работы VAR вышли STAR и HART, которые адаптировали вышеупомянутый подход для генерации изображений по тексту. В этих работах удалось добиться сносного качества генерации и следования текстовому запросу, но все же далеко позади современных диффузионных генеративных моделей (таких, как SDXL, PixArt, Lumina).
Поэтому мы, исследователи из Yandex Research, решили обучить свою генеративную text-2-image модель.
Forwarded from Заскуль питона (Data Science)
Где практиковать SQL?
😮 Давно не было постов вообще про SQL. Не знаю даже почему, хотя самый важный инструмент в нашей работе. Представьте, что вы прошли какие-то курсы, примерно понимаете как все решать, знаете основные концепции, но хочется потрогать задачи реальных компаний. Помню, когда сам проходил различные курсы (в том числе всем известный sql-ex, который форсили постоянно), не хватало какой-то практической составляющей, возможно задач с собеседований компаний.
Какие платформы я советую?
1. StrataScratch - здесь представлены задачи различных зарубежных компаний по SQL и не только. Различные вариации оконных функций, подзапросы, сложные структуры и все это заправлено под задачи с собеседований. https://www.stratascratch.com
2. LeetCode - по SQL я встречал не так много задач, но тем не менее, были интересные над которыми можно подумать. Есть нетипичные, которые не решить просто оконкой и взять актуальное значение данных, надо реально подумать. https://leetcode.com/
Понятно, что есть какие-то курсы, про которые я писал выше. Хочу отметить, что я смотрел. Есть DataCamp, кому-то нравится, кому-то нет. Для меня проблема, что большая часть практики - это просто дополнение запроса из предыдущего шага (с нуля что-то ты можешь и не писать вовсе).
У меня был пост с роадмапом, где я затрагивал SQL, поэтому если вам интересно, тыкайте сюда
🍪 🍪 В скором времени я планирую выкладывать какие-то практические задачи сюда, с которыми реально может столкнуться каждый аналитик, поэтому, если наберется 100 🐳 , делаем! Retention, пенетрации, воронки, критерии для A/B тестов и др.
А чем пользовались вы, когда изучали SQL?
Какие платформы я советую?
1. StrataScratch - здесь представлены задачи различных зарубежных компаний по SQL и не только. Различные вариации оконных функций, подзапросы, сложные структуры и все это заправлено под задачи с собеседований. https://www.stratascratch.com
2. LeetCode - по SQL я встречал не так много задач, но тем не менее, были интересные над которыми можно подумать. Есть нетипичные, которые не решить просто оконкой и взять актуальное значение данных, надо реально подумать. https://leetcode.com/
Понятно, что есть какие-то курсы, про которые я писал выше. Хочу отметить, что я смотрел. Есть DataCamp, кому-то нравится, кому-то нет. Для меня проблема, что большая часть практики - это просто дополнение запроса из предыдущего шага (с нуля что-то ты можешь и не писать вовсе).
У меня был пост с роадмапом, где я затрагивал SQL, поэтому если вам интересно, тыкайте сюда
А чем пользовались вы, когда изучали SQL?
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dealer.AI
Создавай игры с GenAI и LLM.
Дядечка Ын продолжает радовать образовательным контентом. Курс про создание игр с ИИ.
Длительность курса 1 час. Можно использовать, кстати, как старт для вката в игровых агентов.
Дядечка Ын продолжает радовать образовательным контентом. Курс про создание игр с ИИ.
Длительность курса 1 час. Можно использовать, кстати, как старт для вката в игровых агентов.
DeepLearning.AI - Learning Platform
Building an AI-Powered Game - DeepLearning.AI
Learn to build with LLMs by creating a fun interactive game from scratch.
Forwarded from Записки MLEшника
Наткнулся на плейлист Multimodal Weekly
Ребята раз в неделю разбирают статьи с мультимодальными сетками. Темы, действительно, разнообразные - Text, Video, Speech
#playlist
Ребята раз в неделю разбирают статьи с мультимодальными сетками. Темы, действительно, разнообразные - Text, Video, Speech
#playlist
Forwarded from Борис опять
https://github.com/google/langfun
Глазам не верится, но выглядит как действительно нормальная либа а-ля лангчейн
Глазам не верится, но выглядит как действительно нормальная либа а-ля лангчейн
GitHub
GitHub - google/langfun: OO for LLMs
OO for LLMs. Contribute to google/langfun development by creating an account on GitHub.