This media is not supported in your browser
VIEW IN TELEGRAM
Новый крутой пейпер про дистилляцию RL-алгоритмов от DeepMind. Их Algorithm Distillation позволяет модели во время инференса улучшать свою стратегию решения, самостоятельно исследовать окружающий мир, и это без промтинга и без файнтюна под конкретную задачу. И в целом генерализация гораздо выше, чем у предыдущих методов
Попыток скрестить RL и трансформеры уже было достаточно (например, Gato и Decision Transformer), но это не RL в полном смысле слова. Такие модели могут предсказывать следующее действие актора, но для этого им нужен промт с предыдущими состояниями, действиями и reward’ами, сами они не могут в explore and exploit, а также они не могут самостоятельно на инференсе обучиться под новые задачи. Также они учатся сразу на лучшей стратегии, поэтому не могут ее сами итеративно улучшать
Для обучения Algorithm Distillation брали learning histories RL-алгоритмов (например, DQN) на отдельных задачах. При чем, историю делали достаточно длинной, чтобы в нее попадало несколько эпизодов, и можно было пронаблюдать, как улучшается стратагия –> благодаря этому, AD учится не только предсказывать текущую стратегию, но и сразу улучшенную. Что прикольно, в некоторых задачах был еще и partial observation, то есть когда передается не все состояние игры, а только какая-то его часть, известная игроку
На инференсе AD находит лучшую стратегию даже быстрее, чем исходные алгоритмы, которые были дистилированны (! хотя не побивает их перфоманс в целом), сам исследует пространство и сам генерирует себе контекст. Способность исследовать, кстати, оценивали на задаче Dark Room, где большая часть действий и состояний дают reward = 0, то есть без исследования решить ее не получится
📝 Тред от одного из авторов про модель
Попыток скрестить RL и трансформеры уже было достаточно (например, Gato и Decision Transformer), но это не RL в полном смысле слова. Такие модели могут предсказывать следующее действие актора, но для этого им нужен промт с предыдущими состояниями, действиями и reward’ами, сами они не могут в explore and exploit, а также они не могут самостоятельно на инференсе обучиться под новые задачи. Также они учатся сразу на лучшей стратегии, поэтому не могут ее сами итеративно улучшать
Для обучения Algorithm Distillation брали learning histories RL-алгоритмов (например, DQN) на отдельных задачах. При чем, историю делали достаточно длинной, чтобы в нее попадало несколько эпизодов, и можно было пронаблюдать, как улучшается стратагия –> благодаря этому, AD учится не только предсказывать текущую стратегию, но и сразу улучшенную. Что прикольно, в некоторых задачах был еще и partial observation, то есть когда передается не все состояние игры, а только какая-то его часть, известная игроку
На инференсе AD находит лучшую стратегию даже быстрее, чем исходные алгоритмы, которые были дистилированны (! хотя не побивает их перфоманс в целом), сам исследует пространство и сам генерирует себе контекст. Способность исследовать, кстати, оценивали на задаче Dark Room, где большая часть действий и состояний дают reward = 0, то есть без исследования решить ее не получится
📝 Тред от одного из авторов про модель
👍5
Еще одно из внезапных умений новой Midjourney V4 – очень крутой пиксель-арт
🔥42❤7❤🔥1👍1
я обучала одну модель
Интересный папирус, в котором авторы воспроизводят увиденное человеком изображание по сканам активности мозга • Сначала людям показывают видео нескольких категорий (абстрактные геометрические фигуры, лица людей, эктремальный спорт и тд) • Проводят…
А вот и логичное продолжение идеи про реконструкцию изображений по мозговой активности, про которую тут давно был пост. В статье 2019 года брали сканы ЭЭГ, получали эмбеддинг с помощью LSTM и разворачивали его в картинку с помощью convolutional сетки, а в 2022 для декодинга картинки используют диффьюжн модель
https://t.me/abstractDL/176
https://t.me/abstractDL/176
Telegram
AbstractDL
MinD-Vis: диффузия для чтения мыслей
Представлена диффузионная модель, которая умеет декодировать то, что видит человек по его мозговой активности (fMRI).
Сначала авторы обучили self-supervised модель для получения универсальных эмбеддингов мозговой активности…
Представлена диффузионная модель, которая умеет декодировать то, что видит человек по его мозговой активности (fMRI).
Сначала авторы обучили self-supervised модель для получения универсальных эмбеддингов мозговой активности…
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Papers with code x Meta внезапно выпустили свою модель под названием Galactica – LLM, но с уклоном в академию и науку
Она может саммаризировать статьи, генерировать обзоры литературы и выжимки лекций, предлагать цитирования и писать сниппеты кода (и много чего еще)
Секрет успеха, как это часто бывает, в датасете: 48M статей, 2M файлов с кодом, и много энциклопедий, учебников, баз знаний и т.д. Авторы утверждают, что гораздо тщательнее фильтровали и отбирали данные для датасета по сравнению с предыдущими scientific LLM
Одна интересная новация, которую они предалагают в сопровождающей статье, – токен <work> для создания working memory. Чтобы обеспечить возможность chain-of-thought для решений сложных примеров (где нужны промежуточные вычисления для ответа на вопрос) обычно используют промтинг по типу ‘Let’s think step by step’, чтобы модель расписывала свои шаги. Здесь же авторы помещают все входные данные и последовательность вычислений между <work>-токенами, что больше заточено под математические операции, чем описание словами после промта
Потыкать демо можно тут – https://galactica.org/
Только кажется, что там выставлен сильный лимит на длину генерации, и так же впечатляюще, как на их демонстрации, не получится🤡 зато веса публичные!
Она может саммаризировать статьи, генерировать обзоры литературы и выжимки лекций, предлагать цитирования и писать сниппеты кода (и много чего еще)
Секрет успеха, как это часто бывает, в датасете: 48M статей, 2M файлов с кодом, и много энциклопедий, учебников, баз знаний и т.д. Авторы утверждают, что гораздо тщательнее фильтровали и отбирали данные для датасета по сравнению с предыдущими scientific LLM
Одна интересная новация, которую они предалагают в сопровождающей статье, – токен <work> для создания working memory. Чтобы обеспечить возможность chain-of-thought для решений сложных примеров (где нужны промежуточные вычисления для ответа на вопрос) обычно используют промтинг по типу ‘Let’s think step by step’, чтобы модель расписывала свои шаги. Здесь же авторы помещают все входные данные и последовательность вычислений между <work>-токенами, что больше заточено под математические операции, чем описание словами после промта
Потыкать демо можно тут – https://galactica.org/
Только кажется, что там выставлен сильный лимит на длину генерации, и так же впечатляюще, как на их демонстрации, не получится
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👏2
Forwarded from настенька и графики
This media is not supported in your browser
VIEW IN TELEGRAM
PivotTableJS – библиотека для быстрого исследования данных в Jupyter Notebook. Все с drag-n-drop, дата саентисты советуют.
❤16👍5
Как заставить LLM использовать внешние инструменты (например, поиск в гугле, калькулятор, Википедию) при генерации текста
Известная проблема LM в том, что вместо точной информации они зачастую генерят полную отсебятину. Как было и со скоропостижно скончавшейся Galactica, которая выдумывала цитирования или факты. Понятно, что хочется сделать так, чтобы модель ходила за точной инфой в базу данных, поисковый движок или python script
Для этого нужно несколько шагов:
1. Специфичный промтинг (как всегда). Про это был пост в канале DL in NLP. Модели на вход подается большой промт, где объясняется, что она может инициировать IPython session (чтобы в том числе импортировать модуль Википедии), чтобы ответить на вопрос. Выглядит промт примерно так:
«If you can answer directly, use this format:
Question: ${Question}
Answer: ${Answer}
You are unable to directly answer any question <…>
In these cases, consult Python. Use this format:
Question: ${Question}
IPython session:
${IPython commands and output needed to find answer}»
+ далее сам вопрос
Важно заметить, что в этом случае никакой код не прогоняется – модель его только генерирует, но это тем не менее уже немного повышает ее фактологичность и способность к вычислениям.
2. Self-ask. Логичное продолжение идеи «let’s think step by step» из этой статьи. Для ответа на сложные вопросы, нужно заставить модель здавать сначала промежуточные. Пример промта выглядит примерно так:
«Question: When was the founder of craigslist born?
Are follow up questions needed here: Yes.
Follow up: Who was the founder of craigslist?
Intermediate answer: Craigslist was founded by Craig Newmark.
Follow up: When was Craig Newmark born?
Intermediate answer: Craig Newmark was born on December 6, 1952.
So the final answer is: December 6, 1952»
+ далее сам вопрос
При ответе на новый вопрос, модель будет имитировать такую структуру ответа, и снова окажется более фактологичной.
3. Почему бы в предыдущем примере вместо того, чтобы дать модели самой отвечать на промежуточные ответы, не отправлять этот запрос в поисковый движок гугла? Или для вычислений – почему бы действительно не прогнать сгенерированный код, подставив в дальнейшую генерацию модели результат его исполнения?
Эту задачу из коробки сейчас стали решать LangChainAI. Вообще их либа в целом помогает строить пайплайны для промтинга, но киллер-фича – это как раз возможность передать задачу поиска и/или вычисления соответствующему агенту, который ее выполнит.
Работает это так, что модель генерирует follow-up вопросы, и для ответа на них может быть выбрано то или иное действие (Search/Calculate). Результат этого действия подставляется как ответ на этот промежуточный вопрос («Intermediate answer»), и с его учетом модель продолжает дальше свою генерацию. Например, после этого она может вызвать какое-то другое следующее действие, как в задании на скрине. Весь тяжелый промтинг, нужный для того, что это работало, происходит на стороне LangChain, и руками это прописывать не нужно (удобно!).
В целом исполнение идеи пока сырое, но безумно радостно видеть, что этот очевидный пробел начали закрывать. Очень много функционала сюда можно накрутить; как уже показывали примеры, с помощью jupyter сессии модель может сделать аналитику по реально существующему датасету; можно подтягивать базы цитирований и предлагать хорошие списки литературы; можно генерить отчеты с реальными показателями фирм, которые можно нагуглить.
Possibilities are endless короче🌈
Известная проблема LM в том, что вместо точной информации они зачастую генерят полную отсебятину. Как было и со скоропостижно скончавшейся Galactica, которая выдумывала цитирования или факты. Понятно, что хочется сделать так, чтобы модель ходила за точной инфой в базу данных, поисковый движок или python script
Для этого нужно несколько шагов:
1. Специфичный промтинг (как всегда). Про это был пост в канале DL in NLP. Модели на вход подается большой промт, где объясняется, что она может инициировать IPython session (чтобы в том числе импортировать модуль Википедии), чтобы ответить на вопрос. Выглядит промт примерно так:
«If you can answer directly, use this format:
Question: ${Question}
Answer: ${Answer}
You are unable to directly answer any question <…>
In these cases, consult Python. Use this format:
Question: ${Question}
IPython session:
${IPython commands and output needed to find answer}»
+ далее сам вопрос
Важно заметить, что в этом случае никакой код не прогоняется – модель его только генерирует, но это тем не менее уже немного повышает ее фактологичность и способность к вычислениям.
2. Self-ask. Логичное продолжение идеи «let’s think step by step» из этой статьи. Для ответа на сложные вопросы, нужно заставить модель здавать сначала промежуточные. Пример промта выглядит примерно так:
«Question: When was the founder of craigslist born?
Are follow up questions needed here: Yes.
Follow up: Who was the founder of craigslist?
Intermediate answer: Craigslist was founded by Craig Newmark.
Follow up: When was Craig Newmark born?
Intermediate answer: Craig Newmark was born on December 6, 1952.
So the final answer is: December 6, 1952»
+ далее сам вопрос
При ответе на новый вопрос, модель будет имитировать такую структуру ответа, и снова окажется более фактологичной.
3. Почему бы в предыдущем примере вместо того, чтобы дать модели самой отвечать на промежуточные ответы, не отправлять этот запрос в поисковый движок гугла? Или для вычислений – почему бы действительно не прогнать сгенерированный код, подставив в дальнейшую генерацию модели результат его исполнения?
Эту задачу из коробки сейчас стали решать LangChainAI. Вообще их либа в целом помогает строить пайплайны для промтинга, но киллер-фича – это как раз возможность передать задачу поиска и/или вычисления соответствующему агенту, который ее выполнит.
Работает это так, что модель генерирует follow-up вопросы, и для ответа на них может быть выбрано то или иное действие (Search/Calculate). Результат этого действия подставляется как ответ на этот промежуточный вопрос («Intermediate answer»), и с его учетом модель продолжает дальше свою генерацию. Например, после этого она может вызвать какое-то другое следующее действие, как в задании на скрине. Весь тяжелый промтинг, нужный для того, что это работало, происходит на стороне LangChain, и руками это прописывать не нужно (удобно!).
В целом исполнение идеи пока сырое, но безумно радостно видеть, что этот очевидный пробел начали закрывать. Очень много функционала сюда можно накрутить; как уже показывали примеры, с помощью jupyter сессии модель может сделать аналитику по реально существующему датасету; можно подтягивать базы цитирований и предлагать хорошие списки литературы; можно генерить отчеты с реальными показателями фирм, которые можно нагуглить.
Possibilities are endless короче
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🥰5❤2🥱1
Превратится ли этот канал в постинг мемов из chatgpt? Да, на время
👍14🥴8👏1
К опросу не прикрепился пост, ну что поделать он будет отдельно
У меня лично первая волна интереса и восторга сменилась какой-то апатией довольно быстро. В плане, вообще не понятно, что теперь делать в NLP, и в коммерческой разработке, и в ресерче. Кажется, что самая главная проблема (убедительный и похожий на человеческий fluent текст + фактологичность) была решена, ну и что теперь дальше? Хотя понятно, что это временное, и новые ниши для исследований и улучшений появятся довольно быстро
При этом, я сама юзаю теперь ChatGPT для разных задач, которые я не очень люблю делать, например, для написания длинных и хорошо связанных текстов, так что нельзя отрицать, что в жизни эта штука помогает сильно
Пишите ваши опиньонс вне рамок опроса сюда в коменты😘
У меня лично первая волна интереса и восторга сменилась какой-то апатией довольно быстро. В плане, вообще не понятно, что теперь делать в NLP, и в коммерческой разработке, и в ресерче. Кажется, что самая главная проблема (убедительный и похожий на человеческий fluent текст + фактологичность) была решена, ну и что теперь дальше? Хотя понятно, что это временное, и новые ниши для исследований и улучшений появятся довольно быстро
При этом, я сама юзаю теперь ChatGPT для разных задач, которые я не очень люблю делать, например, для написания длинных и хорошо связанных текстов, так что нельзя отрицать, что в жизни эта штука помогает сильно
Пишите ваши опиньонс вне рамок опроса сюда в коменты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍1😢1
Forwarded from DL in NLP (Vlad Lialin)
Deep Learning был одним из немногих источников хороших новостей в 2022 году, поэтому хотелось составить список статей которые запомнились и сильно на меня повлияли (лучше поздно чем никогда):
1. Latent Diffusion — он же Stable Diffusion, который сделал text2image доступным для обычных людей
1. OPT: Open Pre-trained Transformer — неожиданный и очень приятный релиз целой линейки 0.1B-175B языковых моделей от фейсбука (пост)
1. 🌸 BLOOM — результат работы BigScience, показавший, что DL сообщество может коллабораровать at scale (пост)
1. 8-bit Matrix Multiplication for Transformers at Scale — квантизованные трансформеры которые позволяют впихать невпихуемое и комфортно рабоать с 15B моделями на одной 3090. Абсолютный game changer для меня и для всей индустрии.
1. 🦩 Flamingo — статья которая показала что склеивать замороженые предтренированные модели это хорошо, а также дала рецепт к огромным мультимодальным датасетам через использование структуры HTML.
1. LAION-5B — image-text датасет примерно бесконечного размера. Думаю мы увидим много интересных статей на его основе в 2023.
Демократизация больших моделей была сильным трендом, мы получили не одну а две 175B+ оперсонсных модели. И с помощью int8 обычные рисёчеры даже могут инферить их на одной машине с ~8GPU. Или даже не своей картошке с помощью petals.
Добавим в список ещё пару менее попсовых статей:
1. Training a Helpful and Harmless Assistant with RLHF — предвесник ChatGPT от Anthropic который остался незаслуженно незамеченым
1. Simple Local Attentions Remain Competitive for Long-Context Tasks — мы либо всё ещё не придумали хороший long attention, либо ничего лучше local window + a few global tokens и не надо (пост)
Кроме этого я был приятно удивлён Neural Networks: Zero to Hero от Andrej Karpathy, очень рекомендую.
И воспользуясь случаем сделаю shameless plug моих статей, вдруг кому будет интересно:
1. Large scale probing of pre-trained langauge models
1. Learning to Ask Like a Physician
1. Pseudolabeling for video captioning pre-training works better than existing video-text datasets
1. Latent Diffusion — он же Stable Diffusion, который сделал text2image доступным для обычных людей
1. OPT: Open Pre-trained Transformer — неожиданный и очень приятный релиз целой линейки 0.1B-175B языковых моделей от фейсбука (пост)
1. 🌸 BLOOM — результат работы BigScience, показавший, что DL сообщество может коллабораровать at scale (пост)
1. 8-bit Matrix Multiplication for Transformers at Scale — квантизованные трансформеры которые позволяют впихать невпихуемое и комфортно рабоать с 15B моделями на одной 3090. Абсолютный game changer для меня и для всей индустрии.
1. 🦩 Flamingo — статья которая показала что склеивать замороженые предтренированные модели это хорошо, а также дала рецепт к огромным мультимодальным датасетам через использование структуры HTML.
1. LAION-5B — image-text датасет примерно бесконечного размера. Думаю мы увидим много интересных статей на его основе в 2023.
Демократизация больших моделей была сильным трендом, мы получили не одну а две 175B+ оперсонсных модели. И с помощью int8 обычные рисёчеры даже могут инферить их на одной машине с ~8GPU. Или даже не своей картошке с помощью petals.
Добавим в список ещё пару менее попсовых статей:
1. Training a Helpful and Harmless Assistant with RLHF — предвесник ChatGPT от Anthropic который остался незаслуженно незамеченым
1. Simple Local Attentions Remain Competitive for Long-Context Tasks — мы либо всё ещё не придумали хороший long attention, либо ничего лучше local window + a few global tokens и не надо (пост)
Кроме этого я был приятно удивлён Neural Networks: Zero to Hero от Andrej Karpathy, очень рекомендую.
И воспользуясь случаем сделаю shameless plug моих статей, вдруг кому будет интересно:
1. Large scale probing of pre-trained langauge models
1. Learning to Ask Like a Physician
1. Pseudolabeling for video captioning pre-training works better than existing video-text datasets
❤8👍3