GPT тайно файнтюнит себя через attention во время инференса (by Microsoft)
Авторы немного поколдовали над формулами этэншна и смогли свести их к SGD — оказалось, что трансформеры сами осуществляют внутри себя градиентный спуск и используют механизм внимания в качестве неявного оптимизатора!
Теперь понятно, почему few-shot learning так круто работает, ведь модели полноценно учат себя пока смотрят на контекст. К тому же эксперименты показали, что активации при файнтюнинге и при few-shot демонстрации примеров обновляются примерно одинаково.
А раз attention ≈ SGD, то почему бы не попробовать добавить в него momentum? И это действительно помогло! Модель стала обучаться быстрее, тестовая перплексия получилась ниже, а few-shot заработал ещё лучше.
Статья
Авторы немного поколдовали над формулами этэншна и смогли свести их к SGD — оказалось, что трансформеры сами осуществляют внутри себя градиентный спуск и используют механизм внимания в качестве неявного оптимизатора!
Теперь понятно, почему few-shot learning так круто работает, ведь модели полноценно учат себя пока смотрят на контекст. К тому же эксперименты показали, что активации при файнтюнинге и при few-shot демонстрации примеров обновляются примерно одинаково.
А раз attention ≈ SGD, то почему бы не попробовать добавить в него momentum? И это действительно помогло! Модель стала обучаться быстрее, тестовая перплексия получилась ниже, а few-shot заработал ещё лучше.
Статья
👍118
А вы знали, что GPT-3 токенизирует русский язык просто отвратительно? Тут токенов больше чем букв! Я конечно очень люблю byte-level BPE, но не ожидал такой подставы.
👍72👎4
This media is not supported in your browser
VIEW IN TELEGRAM
CALM: как простые слова генерировать быстрее (by Google)
Оказывается, можно пропускать часть слоёв трансформера на «простых» словах и ускорять таким образом генерацию текста в ~3 раза!
А если правильно выбрать критерий преждевременной остановки, то качество генерации совсем не падает. Исследователи из гугл предложили 3 таких критерия:
1. Косинус эмбеддингов с двух последовательных слоёв.
2. Разность топ двух значений софтмакса.
3. Обученная линейная регрессия.
P.S. Все эксперименты были для T5, но думаю, что всё без проблем переносится и на GPT.
Статья, GitHub, блог
Оказывается, можно пропускать часть слоёв трансформера на «простых» словах и ускорять таким образом генерацию текста в ~3 раза!
А если правильно выбрать критерий преждевременной остановки, то качество генерации совсем не падает. Исследователи из гугл предложили 3 таких критерия:
1. Косинус эмбеддингов с двух последовательных слоёв.
2. Разность топ двух значений софтмакса.
3. Обученная линейная регрессия.
P.S. Все эксперименты были для T5, но думаю, что всё без проблем переносится и на GPT.
Статья, GitHub, блог
👍65
Forwarded from Градиент обреченный (Sergei Averkiev)
🔺 Let's build (chat)GPT
Новое видео от Андрея Карпати. На этот раз с нуля собираем GPT (генеративную языковую модель) в colab'е. Также на пальцах рассказывается, что такое ChatGPT.
Как обычно, все объясняется с самых основ. Причем, если что-то непонятно, то Андрей уже записал и выложил ряд крутых лекций под общим названием "Neural Nets. From zero to hero". Очень полезный образовательный контент.
👉 Видео | nanoGPT | Код из занятия
Новое видео от Андрея Карпати. На этот раз с нуля собираем GPT (генеративную языковую модель) в colab'е. Также на пальцах рассказывается, что такое ChatGPT.
Как обычно, все объясняется с самых основ. Причем, если что-то непонятно, то Андрей уже записал и выложил ряд крутых лекций под общим названием "Neural Nets. From zero to hero". Очень полезный образовательный контент.
👉 Видео | nanoGPT | Код из занятия
👍97
🤗Illustrated Reinforcement Learning from Human Feedback (RLHF)
Отличный блог-пост от HuggingFace с разбором RL для файнтюна языковых моделей (webGPT, instructGPT, chatGPT).
А ещё, RLHF теперь официально поддерживается в
P.S. Сейчас все побегут учить свою mini-chatGPT в колабе)
Блог, GitHub
Отличный блог-пост от HuggingFace с разбором RL для файнтюна языковых моделей (webGPT, instructGPT, chatGPT).
А ещё, RLHF теперь официально поддерживается в
transformers
через библиотеку trl
!P.S. Сейчас все побегут учить свою mini-chatGPT в колабе)
Блог, GitHub
👍60
This media is not supported in your browser
VIEW IN TELEGRAM
FROMAGe: самый простой способ сделать мультимодального чатбота
Авторам потребовалось всего 24 часа чтобы на 1 GPU обучить это чудо! Идея очень похожа на Flamingo, но ещё проще и не требует больших датасетов.
За основу взяли замороженные ViT и OPT, а чтобы склеить их вместе — добавляют два обучаемых линейных слоя для отображения эмбеддингов (text2image и image2text). Затем визуальные эмбеддинги картинок подаются вместо псевдо-текстовых токенов. Для поиска и вывода картинок добавляется новый спец-токен [RET].
Для обучения используют общедоступный датасет CC3M из пар картинка-текст. В качестве лосса: CrossEntropy по тексту + контрастив лосс для токена [RET] (поиск картинок).
Код и чекпоинты выложены в открытый доступ, прям все 11 мегабайтов весов залиты на гитхаб 😂
P.S. Думаю, что если в GPT-4 добавят поддержку картинок, то это будет именно так.
Статья, GitHub, блог, демо
Авторам потребовалось всего 24 часа чтобы на 1 GPU обучить это чудо! Идея очень похожа на Flamingo, но ещё проще и не требует больших датасетов.
За основу взяли замороженные ViT и OPT, а чтобы склеить их вместе — добавляют два обучаемых линейных слоя для отображения эмбеддингов (text2image и image2text). Затем визуальные эмбеддинги картинок подаются вместо псевдо-текстовых токенов. Для поиска и вывода картинок добавляется новый спец-токен [RET].
Для обучения используют общедоступный датасет CC3M из пар картинка-текст. В качестве лосса: CrossEntropy по тексту + контрастив лосс для токена [RET] (поиск картинок).
Код и чекпоинты выложены в открытый доступ, прям все 11 мегабайтов весов залиты на гитхаб 😂
P.S. Думаю, что если в GPT-4 добавят поддержку картинок, то это будет именно так.
Статья, GitHub, блог, демо
👍86
🔥FlexGen: как запустить OPT-175B на своём ноутбуке
Просто восторг! Самую большую открытую языковую модель теперь можно запустить на одной 16GB GPU и при этом не ждать генерацию целую вечность — скорость 1 токен в секунду!
Причём ускорение и сжатие модели делается очень просто:
P.S. В их репозитории даже есть пример чатбота на основе OPT-66B
Статья, GitHub
Просто восторг! Самую большую открытую языковую модель теперь можно запустить на одной 16GB GPU и при этом не ждать генерацию целую вечность — скорость 1 токен в секунду!
Причём ускорение и сжатие модели делается очень просто:
model = OptLM(model)
P.S. В их репозитории даже есть пример чатбота на основе OPT-66B
Статья, GitHub
👍77👎1
GPT теперь принимает на вход эмбеддинги
Наконец! В
За последние годы вышло много работ, которые предлагают использовать этот механизм для таких штук как мультимодальный диалог и p-tuning, но приходилось сильно извращаться чтобы совместить эти подходы с генерацией текста. А теперь это можно сделать в одну строчку! Cоединять текст, картинки и звук теперь будет ещё проще!
Поддержка уже есть для GPT-2, GPT-j, BLOOM, BioGPT, но надо будет установить версию
GitHub
Наконец! В
transformers
добавлена поддержка эмбеддингов в качестве инпута для полноценной генерации в GPT-like моделях.За последние годы вышло много работ, которые предлагают использовать этот механизм для таких штук как мультимодальный диалог и p-tuning, но приходилось сильно извращаться чтобы совместить эти подходы с генерацией текста. А теперь это можно сделать в одну строчку! Cоединять текст, картинки и звук теперь будет ещё проще!
Поддержка уже есть для GPT-2, GPT-j, BLOOM, BioGPT, но надо будет установить версию
4.27.0
.GitHub
👍60
ESDx: Как заставить диффузию забыть порно? (by MIT)
Представлен метод, который позволяет удалять память про концепты, объекты и даже целые стили из диффузионных моделей без последствий для качества генерации.
Авторы предлагают адаптировать идеи classifier guidance для файнтюнинга весов cross-attention в диффузии. Суть метода очень простая — нужно задать текстом концепт (например
«женская грудь») и оценить градиенты для условного и безусловного шага диффузии, а разность этих градиентов использовать в качестве «очищающего» апдейта весов. То есть не нужно ни датасетов, ни дополнительных моделей, только текстовое описание того что надо забыть.
P.S. Теперь ждём когда по решению суда придётся удалять объекты авторского права из обученных моделей 🤷♂️
Статья, GitHub, блог
Представлен метод, который позволяет удалять память про концепты, объекты и даже целые стили из диффузионных моделей без последствий для качества генерации.
Авторы предлагают адаптировать идеи classifier guidance для файнтюнинга весов cross-attention в диффузии. Суть метода очень простая — нужно задать текстом концепт (например
«женская грудь») и оценить градиенты для условного и безусловного шага диффузии, а разность этих градиентов использовать в качестве «очищающего» апдейта весов. То есть не нужно ни датасетов, ни дополнительных моделей, только текстовое описание того что надо забыть.
P.S. Теперь ждём когда по решению суда придётся удалять объекты авторского права из обученных моделей 🤷♂️
Статья, GitHub, блог
👍56👎23
🔥GPT-4 вышла! И она мультимодальная!
Модель принимает на вход картинки и текст, причём визуальную информацию энкодят как-то очень хитро, ведь GPT-4 понимает даже мелкий pdf шрифт (см картинку).
К сожалению, в статье только общие слова и результаты тестов (на целых 98 страниц), но нет никаких технических деталей — даже количество параметров не дают. Прямо говорят, что не хотят, чтобы кто-то воспроизвёл и выпустил это на волю (safety implications).
Блог, статья, трансляция
Модель принимает на вход картинки и текст, причём визуальную информацию энкодят как-то очень хитро, ведь GPT-4 понимает даже мелкий pdf шрифт (см картинку).
К сожалению, в статье только общие слова и результаты тестов (на целых 98 страниц), но нет никаких технических деталей — даже количество параметров не дают. Прямо говорят, что не хотят, чтобы кто-то воспроизвёл и выпустил это на волю (safety implications).
Блог, статья, трансляция
👍58👎5
Саммари техрепорта про GPT-4
Если отложить в сторону шутки про отсутствие архитектурных деталей — в статье всё равно есть несколько интересных моментов.
Модель училась в два этапа: претрейнинг + RLHF, причём второй этап не улучшил перформанс на большинстве бенчмарков и даже испортил калибровку вероятностей (уверенности в ответах), но зато сделал модель менее токсичной и опасной.
Перед тем как обучать финальную «большую» версию GPT-4, все эксперименты и подбор гиперпараметров осуществялись на маленьких моделях, причём scaling low просчитали так точно, что получилось идеально предсказать итоговый лосс. Таким образом OpenAI сэкономили кучу денег на экспериментах.
Модель понимает очень много языков, причём даже на самых редких из них всё равно бьёт все предыдущие соты на MMLU. Также она обходит большинство экспертов на экзаменационных задачах (даже по юриспруденции и физике).
Ребята из ARC (это которые следят чтобы AI не убил человеков) проверили, что модель не сможет само-воспроизводиться и распространяться по интернету даже если ей дать такую возможность. Авторы предполагают, что файнтюнинг сможет это исправить 🌚
А ещё GPT-4, до того как её кастрировали с помощью RLHF, умела генерировать рецепты запрещённых веществ на основе того, что можно купить в аптеках.
P.S. Помните inverse scaling prize? Это где крупные LM работают хуже, чем маленькие — GPT-4 там всех победила! (может потому что она всё-таки маленькая? 😂)
Статья, блог, YouTube
Если отложить в сторону шутки про отсутствие архитектурных деталей — в статье всё равно есть несколько интересных моментов.
Модель училась в два этапа: претрейнинг + RLHF, причём второй этап не улучшил перформанс на большинстве бенчмарков и даже испортил калибровку вероятностей (уверенности в ответах), но зато сделал модель менее токсичной и опасной.
Перед тем как обучать финальную «большую» версию GPT-4, все эксперименты и подбор гиперпараметров осуществялись на маленьких моделях, причём scaling low просчитали так точно, что получилось идеально предсказать итоговый лосс. Таким образом OpenAI сэкономили кучу денег на экспериментах.
Модель понимает очень много языков, причём даже на самых редких из них всё равно бьёт все предыдущие соты на MMLU. Также она обходит большинство экспертов на экзаменационных задачах (даже по юриспруденции и физике).
Ребята из ARC (это которые следят чтобы AI не убил человеков) проверили, что модель не сможет само-воспроизводиться и распространяться по интернету даже если ей дать такую возможность. Авторы предполагают, что файнтюнинг сможет это исправить 🌚
А ещё GPT-4, до того как её кастрировали с помощью RLHF, умела генерировать рецепты запрещённых веществ на основе того, что можно купить в аптеках.
P.S. Помните inverse scaling prize? Это где крупные LM работают хуже, чем маленькие — GPT-4 там всех победила! (может потому что она всё-таки маленькая? 😂)
Статья, блог, YouTube
👍66
Forwarded from DL in NLP (Vlad Lialin)
PyTorch 2.0 release
Блог
Github release notes
Сегодня pytorch 2.0 вышел с nightly на релиз. Вот его новые фичи, часть всё ещё в бете:
1. Полная backward compatibility и никаких серьёзных изменений стандарнтых API типа torch.nn — всё ещё наш любимый торч
1. Быстрее чем 1.X благодаря тому что куски переписали на Triton и C++
1. Accelerated Transformers (i.e. Better Transformers) — фичи для быстрого и эффективного exact attention, такие как Flash attention.
1. Лучшая поддержка MPS на MacOS и оптимизации для AWS Graviton3
1. Jax-like torch.func
Главная фича:
Но по-настоящему самая главная фича (потому что её я написал) это что
Блог
Github release notes
Сегодня pytorch 2.0 вышел с nightly на релиз. Вот его новые фичи, часть всё ещё в бете:
1. Полная backward compatibility и никаких серьёзных изменений стандарнтых API типа torch.nn — всё ещё наш любимый торч
1. Быстрее чем 1.X благодаря тому что куски переписали на Triton и C++
1. Accelerated Transformers (i.e. Better Transformers) — фичи для быстрого и эффективного exact attention, такие как Flash attention.
1. Лучшая поддержка MPS на MacOS и оптимизации для AWS Graviton3
1. Jax-like torch.func
Главная фича:
torch.compile
, который заменяет старые torchscript и jit. Обещает быть более user-friendly.Но по-настоящему самая главная фича (потому что её я написал) это что
__repr__
ModuleList теперь выглядит компактно когда модули повторяются.👍91
Forwarded from Complete AI (Andrey Kuznetsov)
⚡️⚡️⚡️VideoFusion
Вышла первая open source диффузионная модель для синтеза видео по текстовому описанию на 1.7B параметров (CVPR 2023).
Авторы предлагают рассматривать диффузионный процесс как некоторый декомпозируемый процесс: базовый шум (base), общий для всех кадров, и шум остаточный (residual), который изменяется во времени. Две модели учатся совместно и приводят к результату, по качеству превосходящему существующие GAN-based и диффузионные модели синтеза видео.
Статья
HuggingFace
Вышла первая open source диффузионная модель для синтеза видео по текстовому описанию на 1.7B параметров (CVPR 2023).
Авторы предлагают рассматривать диффузионный процесс как некоторый декомпозируемый процесс: базовый шум (base), общий для всех кадров, и шум остаточный (residual), который изменяется во времени. Две модели учатся совместно и приводят к результату, по качеству превосходящему существующие GAN-based и диффузионные модели синтеза видео.
Статья
HuggingFace
👍55👎1
Memorizing Transformers: как добавить в GPT долговременную память (by Google)
Вы думали, что 260 000 токенов это что-то невозможное для этэншна? А вот и нет, оказывается, если приделать approximate KNN внутрь механизма внимания и складировать Keys и Values в отдельном буфере, то можно засунуть в GPT целые книги!
Авторы показывают, что такое внимание помогает модели вспоминать сложные теоремы и леммы, которые были описаны десятки страниц назад! А самое крутое — это можно приделать к любому предобученному трансформеру, нужно лишь немного потюнить его на длинных текстах, что не очень сложно, так как градиенты через память не идут.
Статья
Вы думали, что 260 000 токенов это что-то невозможное для этэншна? А вот и нет, оказывается, если приделать approximate KNN внутрь механизма внимания и складировать Keys и Values в отдельном буфере, то можно засунуть в GPT целые книги!
Авторы показывают, что такое внимание помогает модели вспоминать сложные теоремы и леммы, которые были описаны десятки страниц назад! А самое крутое — это можно приделать к любому предобученному трансформеру, нужно лишь немного потюнить его на длинных текстах, что не очень сложно, так как градиенты через память не идут.
Статья
👍115
IQ GPT-4 равен 111
Проверил IQ у chatGPT (GPT-4) на psychtests.com (и заплатил за это 7 долларов). Я не использовал никаких специальных промптов, few-shot или CoT, просто копировал вопрос как есть и вбивал ответ модели. Оказалось, что GPT-4 умнее 79% людей, и её IQ равен 111!
Ссылка на отчёт
Проверил IQ у chatGPT (GPT-4) на psychtests.com (и заплатил за это 7 долларов). Я не использовал никаких специальных промптов, few-shot или CoT, просто копировал вопрос как есть и вбивал ответ модели. Оказалось, что GPT-4 умнее 79% людей, и её IQ равен 111!
Ссылка на отчёт
👍109👎8
Forwarded from Градиент обреченный (Sergei Averkiev)
🔺 Transformer models: an introduction and catalog
Если путаетесь в обилии трансформерных моделей, то вот вам обзор.
🔸 Для каждой модели есть описание, отражающее её суть. Например, ALBERT — это сжатая версия BERT'а, использующая sharing весов.
🔸 Также есть описание основных деталей архитектуры и информация по задачам, на которых модель обучалась (objective).
🔸 У каждой модели есть ссылка на оригинальную статью, если захочется погрузиться в детали.
👉 Читать
Если путаетесь в обилии трансформерных моделей, то вот вам обзор.
🔸 Для каждой модели есть описание, отражающее её суть. Например, ALBERT — это сжатая версия BERT'а, использующая sharing весов.
🔸 Также есть описание основных деталей архитектуры и информация по задачам, на которых модель обучалась (objective).
🔸 У каждой модели есть ссылка на оригинальную статью, если захочется погрузиться в детали.
👉 Читать
👍79