Forwarded from Knowledge Accumulator
Tree of Thoughts [2023] - заставляем GPT исследовать чертоги своего разума
Поговорим о разных видах взаимодействия с LLM.
1) Базовый - составляем запрос с задачей в модель, получаем ответ на выходе
2) Chain of Thoughts - просим модель описывать пошагово ход решения задачи и рассуждения, и в конце ответ.
3) Iterative refinement - В течение нескольких запросов, просим модель критиковать и улучшать решение.
4) В случае, если нам нужен ответ на задачу, в которой применимо ансамблирование ответов, можно запускать предыдущие методы несколько раз и потом комбинировать их ответы в один финальный
В статье авторы изобретают ещё более хитрый способ заставить модель анализировать. Мы генерируем дерево мыслей. Корень - это изначальная задача, а дети любой вершины - это добавление к рассуждению какой-то мысли. Данное дерево можно растить, посылая в LLM запрос вида "придумай следующий шаг к решению", и подавая текущее состояние на вход.
Как оценивать качество вершины? Используем саму же LLM, веря, что модель с оценкой мыслей справляется лучше, чем с их генерацией. Таким образом, мы можем каким-нибудь алгоритмом обхода дерева с эвристиками искать в нём решение, в котором шаги решения будут высоко оценены моделью. Я думаю, что детали тут слишком быстро устареют и конкретный алгоритм нам не важен.
Что по результатам? Они не радикально выше, но, видимо, схема помогает решать некоторые задачи, в которых такое "поисковое мышление" уместно. Например, большой буст наблюдается в решении мини-кроссвордов, т.е. заполнении буквами сетку 5 на 5 согласно вопросам. Классический способ решения подразумевает как раз поиск по дереву, так что прирост от подхода ожидаем.
Возможно, что со временем мы придём к какой-то black-box абстракции над LLM, где схема промптинга станет частью скрытой от пользователя реализации, и подобные алгоритмы конструирования ответа станут весьма сложными. А вы как думали, сверхсильный-ИИ-GPT возьмёт и расскажет всё просто так?
Получасовой обзор статьи
@knowledge_accumulator
Поговорим о разных видах взаимодействия с LLM.
1) Базовый - составляем запрос с задачей в модель, получаем ответ на выходе
2) Chain of Thoughts - просим модель описывать пошагово ход решения задачи и рассуждения, и в конце ответ.
3) Iterative refinement - В течение нескольких запросов, просим модель критиковать и улучшать решение.
4) В случае, если нам нужен ответ на задачу, в которой применимо ансамблирование ответов, можно запускать предыдущие методы несколько раз и потом комбинировать их ответы в один финальный
В статье авторы изобретают ещё более хитрый способ заставить модель анализировать. Мы генерируем дерево мыслей. Корень - это изначальная задача, а дети любой вершины - это добавление к рассуждению какой-то мысли. Данное дерево можно растить, посылая в LLM запрос вида "придумай следующий шаг к решению", и подавая текущее состояние на вход.
Как оценивать качество вершины? Используем саму же LLM, веря, что модель с оценкой мыслей справляется лучше, чем с их генерацией. Таким образом, мы можем каким-нибудь алгоритмом обхода дерева с эвристиками искать в нём решение, в котором шаги решения будут высоко оценены моделью. Я думаю, что детали тут слишком быстро устареют и конкретный алгоритм нам не важен.
Что по результатам? Они не радикально выше, но, видимо, схема помогает решать некоторые задачи, в которых такое "поисковое мышление" уместно. Например, большой буст наблюдается в решении мини-кроссвордов, т.е. заполнении буквами сетку 5 на 5 согласно вопросам. Классический способ решения подразумевает как раз поиск по дереву, так что прирост от подхода ожидаем.
Возможно, что со временем мы придём к какой-то black-box абстракции над LLM, где схема промптинга станет частью скрытой от пользователя реализации, и подобные алгоритмы конструирования ответа станут весьма сложными. А вы как думали, сверхсильный-ИИ-GPT возьмёт и расскажет всё просто так?
Получасовой обзор статьи
@knowledge_accumulator
👍5👌1
Помоги LLM выбрать лучшие ответы.
На kaggle завезли соревку по задаче реранкинга генераций GPT-3.5. Нужно из топ-5 генераций выбрать топ-3 лучших в ранжированном виде. Метрика MAP@3, что логично. Домен "сложный научный". В обучении 200 пар)
В общем расчехляйте свои пайпы по созданию reward моделек. И вперёд за медальками.
На kaggle завезли соревку по задаче реранкинга генераций GPT-3.5. Нужно из топ-5 генераций выбрать топ-3 лучших в ранжированном виде. Метрика MAP@3, что логично. Домен "сложный научный". В обучении 200 пар)
В общем расчехляйте свои пайпы по созданию reward моделек. И вперёд за медальками.
Kaggle
Kaggle - LLM Science Exam
Use LLMs to answer difficult science questions
🔥13🏆2
Heroes of NLP and Magic... Или объявлена неделя NLP соревнований...
Теперь придётся дублировать себя почкованием и тп, что успеть в две соревки...
CommonLit Challenge уже был когда-то на просторах kaggle, нужно оценивать работы студентов по некоторой шкале оценок, выделяя детали, идею и беглость языка.
Оценка естественно раз по баллам, то и метрика MCRMSE (среднее корней MSE по шкалам) уже предвкушаю биас на редкие оценки)
Обязательно советую посмотреть лучшие решения прошлого соревнования:
-сперва конечно мастера необычных и простых решений https://youtu.be/nof28KMutAk,
-потом уже более привычный космолет https://www.kaggle.com/competitions/commonlitreadabilityprize/discussion/258554
Удачи!
Теперь придётся дублировать себя почкованием и тп, что успеть в две соревки...
CommonLit Challenge уже был когда-то на просторах kaggle, нужно оценивать работы студентов по некоторой шкале оценок, выделяя детали, идею и беглость языка.
Оценка естественно раз по баллам, то и метрика MCRMSE (среднее корней MSE по шкалам) уже предвкушаю биас на редкие оценки)
Обязательно советую посмотреть лучшие решения прошлого соревнования:
-сперва конечно мастера необычных и простых решений https://youtu.be/nof28KMutAk,
-потом уже более привычный космолет https://www.kaggle.com/competitions/commonlitreadabilityprize/discussion/258554
Удачи!
Kaggle
CommonLit - Evaluate Student Summaries
Automatically assess summaries written by students in grades 3-12
👍8
Мы строили, строили и наконец построили.
🔺 ruGPT-3.5. Открытая русскоязычная LLM от Сбера
Друзья, мы выложили в open source нашу языковую модель (pretrain), на основе которой обучали GigaChat!
🔸 Претрейн довольно большой — 13B (13 миллиардов параметров). Модель видела много разнообразного текста (книги, статьи, чаты и т.д.), в основном на русском языке, а также на английском (около10%). Дополнительно дообучали на коде.
🔸 ruGPT-3.5 13B можно дообучать на инструктивных датасетах и получать свои версии ChatGPT, которые бы хорошо понимали русский язык.
🔸 Решили выложить с открытой лицензией (MIT), так что каких-либо ограничений в этом плане в отличии от LLaMA нет.
Написали небольшой пост про это, прошу поддержать, кому интересно.
👉 Хабр | Hugging Face
🔺 ruGPT-3.5. Открытая русскоязычная LLM от Сбера
Друзья, мы выложили в open source нашу языковую модель (pretrain), на основе которой обучали GigaChat!
🔸 Претрейн довольно большой — 13B (13 миллиардов параметров). Модель видела много разнообразного текста (книги, статьи, чаты и т.д.), в основном на русском языке, а также на английском (около10%). Дополнительно дообучали на коде.
🔸 ruGPT-3.5 13B можно дообучать на инструктивных датасетах и получать свои версии ChatGPT, которые бы хорошо понимали русский язык.
🔸 Решили выложить с открытой лицензией (MIT), так что каких-либо ограничений в этом плане в отличии от LLaMA нет.
Написали небольшой пост про это, прошу поддержать, кому интересно.
👉 Хабр | Hugging Face
Хабр
Сбер открывает доступ к нейросетевой модели ruGPT-3.5
? Upd. Добавили пример запуска в Colab'е. Друзья, свершилось. Сегодня мы рады сообщить вам о релизе в открытый доступ нейросетевой модели, которая лежит в основе сервиса GigaChat. Про то, что такое...
🔥57👍8❤5
Други хотели примеры с файнтюном и квантизацией. Их есть у нас, от Вас. Спасибо, комьюнити! 🦾🤖👇
https://t.me/complete_ai/205
https://t.me/complete_ai/205
Telegram
Complete AI
⚡️Запускаем ruGPT-3.5 в Colab'е
Сообщество не дремлет и накидало в личку квантованных версий вышедшей вчера модели (ребята, вы молодцы 🚀).
Ужимали при помощи AutoGPTQ в 4bit, так же как делает TheBloke. Качество, само собой, при квантизации в 4bit проседает…
Сообщество не дремлет и накидало в личку квантованных версий вышедшей вчера модели (ребята, вы молодцы 🚀).
Ужимали при помощи AutoGPTQ в 4bit, так же как делает TheBloke. Качество, само собой, при квантизации в 4bit проседает…
🔥14❤2
Продолжаем серию шуток про метавëрс от Шолле по вопросу объединения PyTorch, TF, JAX под Keras.
https://t.me/dealerAI/214,
https://t.me/dealerAI/215
https://t.me/dealerAI/214,
https://t.me/dealerAI/215
😁6🥴1
Твоя кроличья LAPCA.
(может и на удачу...)
В семействе Language Agnostic энкодеров прибыло. Напомню, что уже существует LABSE .
Идея у LABSE простая: давайте возьмём некоторую multi-lingual модельку и помимо MLM, NSP таски на pre-train или на дотюн вкинем ещё одну. Будем сводить эмбеды фраз на разных языках, но имеющих один перевод. Такой вот мой любимый contrastive learning.
Что же нового досыпали разработчики из Huawei + Николенко на LAPCA(у) ? :)
На самом деле, идея вполне на поверхности. Используются две задачи. Первая-сводим пары запрос/ответ или запрос/документ в рамках одного языка, решая классическую задачу information retrieval. Вторая же задача призвана, как я считаю, якорить или арканить для того же ответа/запроса его перевод. Тут указано, что для ответа/документа происходит матч с его переводом или текстом на другом языке схожим по смыслу.
Также выделяют ребята три подхода:
- Параллельный майнинг тех самых переводов.
- Hard negative майнинг. Тут по классике ищем сложные негативы с помощью самой же модели.
- Третий пункт они зовут self-training, но по мне - это по аналогии с п.2 сэмплинг позитивов при помощи самой обучаемой модели и topK KNN, но на домене QA.
Далее, всё это учится с помощью encoder с shared weights. Т.е. по сути сиамская сетка. И имеет два лосса: L-self и L-IR.
Их объединяют классически как joint-loss= a*L-IR+(1-a)*L-self.
Также авторы советуют претрейнить сначала с a=0 для параллельного сета и с a=1 для QA + IR дата-сета. И, видимо, далее уже jointly.
В общем взяли всё лучшее и соединили.
Остаются два вопроса:
- Сравнения с LaBSE , казалось бы логичным, нет в таблицах.
- Почему нельзя всё зарядить в триплеты (и парафразы и фразу перевод)?
Скрины прилагаются.
(может и на удачу...)
В семействе Language Agnostic энкодеров прибыло. Напомню, что уже существует LABSE .
Идея у LABSE простая: давайте возьмём некоторую multi-lingual модельку и помимо MLM, NSP таски на pre-train или на дотюн вкинем ещё одну. Будем сводить эмбеды фраз на разных языках, но имеющих один перевод. Такой вот мой любимый contrastive learning.
Что же нового досыпали разработчики из Huawei + Николенко на LAPCA(у) ? :)
На самом деле, идея вполне на поверхности. Используются две задачи. Первая-сводим пары запрос/ответ или запрос/документ в рамках одного языка, решая классическую задачу information retrieval. Вторая же задача призвана, как я считаю, якорить или арканить для того же ответа/запроса его перевод. Тут указано, что для ответа/документа происходит матч с его переводом или текстом на другом языке схожим по смыслу.
Также выделяют ребята три подхода:
- Параллельный майнинг тех самых переводов.
- Hard negative майнинг. Тут по классике ищем сложные негативы с помощью самой же модели.
- Третий пункт они зовут self-training, но по мне - это по аналогии с п.2 сэмплинг позитивов при помощи самой обучаемой модели и topK KNN, но на домене QA.
Далее, всё это учится с помощью encoder с shared weights. Т.е. по сути сиамская сетка. И имеет два лосса: L-self и L-IR.
Их объединяют классически как joint-loss= a*L-IR+(1-a)*L-self.
Также авторы советуют претрейнить сначала с a=0 для параллельного сета и с a=1 для QA + IR дата-сета. И, видимо, далее уже jointly.
В общем взяли всё лучшее и соединили.
Остаются два вопроса:
- Сравнения с LaBSE , казалось бы логичным, нет в таблицах.
- Почему нельзя всё зарядить в триплеты (и парафразы и фразу перевод)?
Скрины прилагаются.
ACM Conferences
LAPCA: Language-Agnostic Pretraining with Cross-Lingual Alignment | Proceedings of the 46th International ACM SIGIR Conference…
👍13🔥4
Forwarded from Жёлтый AI
ICML День #2: Туториалы
(Прим. редакции – @vkurenkov ушел спать прежде чем выдал нам впечатления о втором дне, видимо очень устал тусить на ICML. Поэтому пост с запозданием. Он предупредил нас, что на третий день пойдет кутить на вечеринку WandB, поэтому третий день конференции тоже ждем завтра).
Основная часть конференции с постерными сессиями начинается завтра (самое интересное!), а сегодня был день туториалов. Это в целом мало чем отличается от первого дня, только вместо того, что приходят компании и рассказывают про то как они применяют крутые технологии у себя, тут приходят рисерчеры и инженеры и делают интро в какую-то конкретную хайповую технологию.
В этот раз были — RLHF от HuggingFace + доклад по сбору данных от Toloka AI; графовые нейронные сети на TensorFlow (туда я не пошел); последние достижения в теории нейронных сетей; и обучение agent-centric латентных репрезентаций динамики в RL’e (сюда я пошел).
Скажу честно, если хоть сколько-то читали про эти штуки, то на докладе будет турбо-скучно, потому что никаких деталей там особо не раскрывается, но из плюсов — можно задать сразу интересующие вопросы. Вот, например, что Nathan Lambert из HuggingFace рассказывал про RLHF:
(1) Модель награды не тренируют больше одной эпохи, потому что оно дико оверфитится.
(2) Существующие трюки из RL’я далеко не всегда переносятся на RLHF, поэтому выдумывают новые.
(3) Хороший бейзлайн — вместо PPO использовать Best-of-N или Rejection Sampling.
P.S. в нулевой день мне понравилось больше, там я постучал в гонг и увидел 5 морских черепах на берегу — лучше всяких RLHF 🤙️️
(Прим. редакции – @vkurenkov ушел спать прежде чем выдал нам впечатления о втором дне, видимо очень устал тусить на ICML. Поэтому пост с запозданием. Он предупредил нас, что на третий день пойдет кутить на вечеринку WandB, поэтому третий день конференции тоже ждем завтра).
Основная часть конференции с постерными сессиями начинается завтра (самое интересное!), а сегодня был день туториалов. Это в целом мало чем отличается от первого дня, только вместо того, что приходят компании и рассказывают про то как они применяют крутые технологии у себя, тут приходят рисерчеры и инженеры и делают интро в какую-то конкретную хайповую технологию.
В этот раз были — RLHF от HuggingFace + доклад по сбору данных от Toloka AI; графовые нейронные сети на TensorFlow (туда я не пошел); последние достижения в теории нейронных сетей; и обучение agent-centric латентных репрезентаций динамики в RL’e (сюда я пошел).
Скажу честно, если хоть сколько-то читали про эти штуки, то на докладе будет турбо-скучно, потому что никаких деталей там особо не раскрывается, но из плюсов — можно задать сразу интересующие вопросы. Вот, например, что Nathan Lambert из HuggingFace рассказывал про RLHF:
(1) Модель награды не тренируют больше одной эпохи, потому что оно дико оверфитится.
(2) Существующие трюки из RL’я далеко не всегда переносятся на RLHF, поэтому выдумывают новые.
(3) Хороший бейзлайн — вместо PPO использовать Best-of-N или Rejection Sampling.
P.S. в нулевой день мне понравилось больше, там я постучал в гонг и увидел 5 морских черепах на берегу — лучше всяких RLHF 🤙️️
👍8
Forwarded from ds girl
через неделю после релиза я полезла читать технический репорт по второй ламе 👍 много уже было сказано в первые 10 минут с момента ее публикации, но самое интересное кмк не осветили, а именно, как получилось завести рлхф в чатбот версии. в отличие от папиры OpenAI, где все легко и просто, у команды GenAI было примерно 5 версий RLHF с разными конфигурациями (под конец они как будто уже все, что можно закидывали в пайплайн лишь бы работало). мои заметки:
🥖 при сборе данных для reward модели было использовано несколько вариантов лламы с разными параметрами температуры. далее в репорте они также говорят, что на самом деле нет доказательств, что нужно семплить только от текущей модели, потенциально можно брать другие пригодные чекпоинты, а можно и открытые preference датасеты.
🥖 дополнительно в разметке preference датасета использовалась шкала, насколько ответ лучше (significantly, better, slightly, negligibly, unsure). из-за ее введения немного модифицировалась функция потерь для ранжирования - из награды за выбранный ответ вычитается награда отклоненного ответа (как обычно) и дополнительная погрешность в зависимости от близости этих ответов по шкале (большая погрешность для значительно разных ответов и маленькая для похожих).
🥖 reward модели на самом деле было две - Helpfulness и Safety. обучались они на разных данных, где-то могли быть пересечения (т. к. датасеты миксовались в разных пропорциях). далее результаты этих моделей объединялись
🥖 на этапе непосредственного RLHF использовали сразу два алгоритма - сначала Rejection Sampling, затем PPO. с помощью RS выбирали лучшего кандидата из K примеров, затем применяли РРО
🥖 как научить модель не забывать промпт (веди себя как …, отвечай только эмодзи и тд)? к уже имеющимся диалогам добавляем системный промпт в виде инструкции, как модель должна себя вести, к каждой реплике. затем с помощью полиси модели (из последнего шага RLHF) генерируем ответы, опять же, к каждой реплике. а теперь убираем системный промпт везде, кроме самого первого запроса пользователя. на всякий случай, дообучая модель в режиме sft, лосс на все предыдущие токены (включая системный промпт), кроме текущей реплики, зануляется. идея одолжена из context distillation и называется ghost attention
🥖 ну и самое важное, если не хотите часто упоминать своих конкурентов, ссылайтесь на них как closed-source models
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍3❤2