Личный покемон карманный, твой..
UPRISE: Universal Prompt Retrieval для улучшения оценки с нулевым результатом.
Предыстория. В целом я уже говорил, и всё ещё топлю за это, что будущее небольших команд состоит не в том, чтобы повторить успех OpenAI с instruct/chat GPT или GPT-4. А в том, чтобы делать свои прокси модельки которые улучшают выдачу с GPT-like.
В таком случае у вас останется лишь три пути:
1. Улучшить ретривер для in context (не забывайте RAG)
2. Улучшить ретривер для out context (помните о RETRO)
3. Делать прокси маленький декодер, который также может генерить более интересные инструкции ( да да инструктор будет улучшать инструктор) .
При этом, о каждом подходе и их миксте я уже рассуждал тут.
И вот теперь, ребятки из Microsoft выкатили как раз концепцию прокси тюнинга легкого ретривера. Который в zero-shot режиме может апать свои поисковые свойства, которые коррелируют с выхлопом LLM.
Как это происходит?
1. Используем датасет FLAN. Из него берём инструкции для каждой таски и создаём условные шаблоны: p+x, где X описание таски и Р затравка инструкции к ней.
2. Далее учим ретривер на contrastive таске сводить релевантные p и x (шаблоны и описания из одной таски) и разводить нерелевантные.
3. Обстукиваем это end2end об прокси "small" LM класса GPT-Neo-2.7B. Ведь мы уже умеем её запускать в инференс режиме даже наутюге вашей игровой пекарне.
4. При обращении к proxy LM мы закидываем в неё тройки : prompt, input task caption и label of task. Т.е. ретривер по входу таски Xi вытаскивает лучшую для описания таски затравку Pji, к таски знаем лейбл таски Yi и далее отправляет Хi+Рji в LM-ку с конкатенкцией условно через "\n". Сравниваем её Y(Xi+Pji) с реальным Yi.
5. Далее proxy LM возвращает оценку качества каждой таски с учётом такого инпута, а так же мы можем посчитать ошибку. Эта ошибка end2end передаётся в contrastive таску ретривера, заставляя его лучше искать пару к описанию таски.
В качестве базовой модели для ретривера берут модель класса BERT-base и обучают это в режиме bi-encoder. Учат всю эту красоту end2end на протяжении 3 эпох, ориентируясь на конечную точность поиска в этом пайпе.
Важно proxy GPT зафрижена и учится только ретривер!
Вопрос для чего нужна proxy-LM?
Всё просто - она помогает оценить "читаемость" и понимание decoder-like моделями таких шаблонов, а если уж "маленькая" GPT поняла, то и LLM тем более поймёт, что от неё хотят.
Какие плюшки получаем:
1. Быстрый тюн и трансфер знаний на мультитаске для ретривера.
2. Возможность через прокси LM оценивать понимания декодер like моделями таких шаблонов, которые порождает ретривер. Но тратить на это меньше времени и ресурсов, тк обе модели легче чем downstream.
3. Возможность отбросить прокси LM-ку и быть уверенным, что и на LLM наш ретривер не подведёт. По крайней мере, исследования в статье указывают на это.
Статья arxiv, код github
UPRISE: Universal Prompt Retrieval для улучшения оценки с нулевым результатом.
Предыстория. В целом я уже говорил, и всё ещё топлю за это, что будущее небольших команд состоит не в том, чтобы повторить успех OpenAI с instruct/chat GPT или GPT-4. А в том, чтобы делать свои прокси модельки которые улучшают выдачу с GPT-like.
В таком случае у вас останется лишь три пути:
1. Улучшить ретривер для in context (не забывайте RAG)
2. Улучшить ретривер для out context (помните о RETRO)
3. Делать прокси маленький декодер, который также может генерить более интересные инструкции ( да да инструктор будет улучшать инструктор) .
При этом, о каждом подходе и их миксте я уже рассуждал тут.
И вот теперь, ребятки из Microsoft выкатили как раз концепцию прокси тюнинга легкого ретривера. Который в zero-shot режиме может апать свои поисковые свойства, которые коррелируют с выхлопом LLM.
Как это происходит?
1. Используем датасет FLAN. Из него берём инструкции для каждой таски и создаём условные шаблоны: p+x, где X описание таски и Р затравка инструкции к ней.
2. Далее учим ретривер на contrastive таске сводить релевантные p и x (шаблоны и описания из одной таски) и разводить нерелевантные.
3. Обстукиваем это end2end об прокси "small" LM класса GPT-Neo-2.7B. Ведь мы уже умеем её запускать в инференс режиме даже на
4. При обращении к proxy LM мы закидываем в неё тройки : prompt, input task caption и label of task. Т.е. ретривер по входу таски Xi вытаскивает лучшую для описания таски затравку Pji, к таски знаем лейбл таски Yi и далее отправляет Хi+Рji в LM-ку с конкатенкцией условно через "\n". Сравниваем её Y(Xi+Pji) с реальным Yi.
5. Далее proxy LM возвращает оценку качества каждой таски с учётом такого инпута, а так же мы можем посчитать ошибку. Эта ошибка end2end передаётся в contrastive таску ретривера, заставляя его лучше искать пару к описанию таски.
В качестве базовой модели для ретривера берут модель класса BERT-base и обучают это в режиме bi-encoder. Учат всю эту красоту end2end на протяжении 3 эпох, ориентируясь на конечную точность поиска в этом пайпе.
Важно proxy GPT зафрижена и учится только ретривер!
Вопрос для чего нужна proxy-LM?
Всё просто - она помогает оценить "читаемость" и понимание decoder-like моделями таких шаблонов, а если уж "маленькая" GPT поняла, то и LLM тем более поймёт, что от неё хотят.
Какие плюшки получаем:
1. Быстрый тюн и трансфер знаний на мультитаске для ретривера.
2. Возможность через прокси LM оценивать понимания декодер like моделями таких шаблонов, которые порождает ретривер. Но тратить на это меньше времени и ресурсов, тк обе модели легче чем downstream.
3. Возможность отбросить прокси LM-ку и быть уверенным, что и на LLM наш ретривер не подведёт. По крайней мере, исследования в статье указывают на это.
Статья arxiv, код github
Telegram
Dealer.AI
После прочтения статьи об InstructOR остаётся закономерный вопрос. А как всё это дело масштабировать? Ведь в самой статье написано, что нам нужны инструкции как к запросу так и к документу ответу (за исключением задач классификации). Никаких сил нашим дорогим…
👍12❤3
Пользователь @pakhandrin из Twitter написал при помощи ChatGPT приложение Курсор, при этом самостоятельно не придумал ни строчки кода.
За наводку спасибо @belozersky
История: https://twitter.com/pakhandrin/status/1640397012502822938?t=odzklZ3B5z7v7V_poXKEVg&s=19
За наводку спасибо @belozersky
История: https://twitter.com/pakhandrin/status/1640397012502822938?t=odzklZ3B5z7v7V_poXKEVg&s=19
🔥10❤3⚡2👏1
Forwarded from Ilya Gusev
Привет.
Мы тут экспериментируем с instruct-моделями для русского. Вот их список:
instruct_rugptlarge
rugpt_medium_turbo_instructed
rugpt_large_turbo_instructed
rut5_large_turbo_instructed
mt0_xxl_ru_turbo_alpaca_lora
llama_7b_ru_turbo_alpaca_lora
Последняя - русский аналог Стенфордской Альпаки. Изначально я думал, что это не будет работать из-за того, что в обучении из русского там была только ru-wiki, но кажется я ошибся. Работает приемлемо. Насколько приемлемо будем ещё измерять. В карточке есть ссылка на Колаб, а также Spaces (он будет жить ещё 24 часа).
Код обучения и сборки датасета: https://github.com/IlyaGusev/rulm/tree/master/self_instruct.
Что касается датасета, он увеличился до 30к, там добавилась разметка для 3.5к примеров (спасибо всем разметчикам!), а также колонка с альтернативными ответами от ChatGPT, когда её спрашивают каждое задание по отдельности.
Теперь о деньгах. Суммарно 70$ ушло на ChatGPT API для сборки датасета, и 120$ на вычислительные ресурсы для всех экспериментов. Хотите помочь деньгами?
Ссылка для тех, кто не в России: PayPal
Для тех кто в России: Cloudtips
P.S.: "мы" это @alexkuk, @alexnikolich, @YallenGusev, @chckdskeasfsd, @dno5iq
Мы тут экспериментируем с instruct-моделями для русского. Вот их список:
instruct_rugptlarge
rugpt_medium_turbo_instructed
rugpt_large_turbo_instructed
rut5_large_turbo_instructed
mt0_xxl_ru_turbo_alpaca_lora
llama_7b_ru_turbo_alpaca_lora
Последняя - русский аналог Стенфордской Альпаки. Изначально я думал, что это не будет работать из-за того, что в обучении из русского там была только ru-wiki, но кажется я ошибся. Работает приемлемо. Насколько приемлемо будем ещё измерять. В карточке есть ссылка на Колаб, а также Spaces (он будет жить ещё 24 часа).
Код обучения и сборки датасета: https://github.com/IlyaGusev/rulm/tree/master/self_instruct.
Что касается датасета, он увеличился до 30к, там добавилась разметка для 3.5к примеров (спасибо всем разметчикам!), а также колонка с альтернативными ответами от ChatGPT, когда её спрашивают каждое задание по отдельности.
Теперь о деньгах. Суммарно 70$ ушло на ChatGPT API для сборки датасета, и 120$ на вычислительные ресурсы для всех экспериментов. Хотите помочь деньгами?
Ссылка для тех, кто не в России: PayPal
Для тех кто в России: Cloudtips
P.S.: "мы" это @alexkuk, @alexnikolich, @YallenGusev, @chckdskeasfsd, @dno5iq
❤21👍3
Предвыходное чтиво
Рубрика LLAMA в каждый дом
Тут ребята предлагают возможность тюнить на инструкциях свою ламу за 1 час. А всё благодаря, всеми любимыми адаптерам.
На мой взгляд вполне логичное продолжение темы. Заведи свою Ламу у себя на тапке. Обещают не только быструю адаптацию, но и поддержку мультимодальности (текст, картинки и вот это всё).
Го, го, го тестить!
Всем доброй ночи и пятницы развратницы!
Рубрика LLAMA в каждый дом
Тут ребята предлагают возможность тюнить на инструкциях свою ламу за 1 час. А всё благодаря, всеми любимыми адаптерам.
На мой взгляд вполне логичное продолжение темы. Заведи свою Ламу у себя на тапке. Обещают не только быструю адаптацию, но и поддержку мультимодальности (текст, картинки и вот это всё).
Го, го, го тестить!
Всем доброй ночи и пятницы развратницы!
GitHub
GitHub - ZrrSkywalker/LLaMA-Adapter: Fine-tuning LLaMA to follow Instructions within 1 Hour and 1.2M Parameters
Fine-tuning LLaMA to follow Instructions within 1 Hour and 1.2M Parameters - ZrrSkywalker/LLaMA-Adapter
🔥13
Тут ребзя нашли курс по RL , говорят совместно с deep mind.
Давайте проходите и пилите свой PPO super pro max pluse RLHF
https://youtube.com/playlist?list=PLqYmG7hTraZDVH599EItlEWsUOsJbAodm
Давайте проходите и пилите свой PPO super pro max pluse RLHF
https://youtube.com/playlist?list=PLqYmG7hTraZDVH599EItlEWsUOsJbAodm
👍8
ru-reward model.
Наши коллеги по цеху ведут public активность по открытым LLM, дообученным на инструкциях.
Но думаю, для полного сетапа RLHF+LLM не хватает reward модельки. Поэтому, Ваш покорный слуга, вооружился kaggle kernels и обучил для Вас ru-Bert-base reward.
В качестве основы взяты переводы сетов:
-Антропик
-WebGPT
-GPT-j
Основная информация по сетам, лоссу и архитектуре на обнимашках.
UPD. Важно. Сохранять формат ввода:
Человек: ... Ассистент: .... Человек:... Ассистент:...
Модель работает НЕ только для пар, но и для более длинных контекстов из 2+ пар реплик человек - модель, при этом скорится контекст vs последний ответ модели ассистента.
https://huggingface.co/Andrilko/ruBert-base-reward
Наши коллеги по цеху ведут public активность по открытым LLM, дообученным на инструкциях.
Но думаю, для полного сетапа RLHF+LLM не хватает reward модельки. Поэтому, Ваш покорный слуга, вооружился kaggle kernels и обучил для Вас ru-Bert-base reward.
В качестве основы взяты переводы сетов:
-Антропик
-WebGPT
-GPT-j
Основная информация по сетам, лоссу и архитектуре на обнимашках.
UPD. Важно. Сохранять формат ввода:
Человек: ... Ассистент: .... Человек:... Ассистент:...
Модель работает НЕ только для пар, но и для более длинных контекстов из 2+ пар реплик человек - модель, при этом скорится контекст vs последний ответ модели ассистента.
https://huggingface.co/Andrilko/ruBert-base-reward
huggingface.co
Andrilko/ruBert-base-reward · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
👍25❤6
Внезапно лента выдала мне интересное.
Говорят, что скоро NVIDIA будет не нужОн, AMD решения в тч Radeon взяли в оборот на Pytorch2 🤔
Говорят, что скоро NVIDIA будет не нужОн, AMD решения в тч Radeon взяли в оборот на Pytorch2 🤔
PyTorch
Experience the power of PyTorch 2.0 on AMD Solutions
PyTorch 2.0 represents a significant step forward for the PyTorch machine learning framework. The stable release of PyTorch 2.0 brings new features that unlock even higher performance, while remaining backward compatible with prior releases and retaining…
🔥16❤3
Мои хорошие други, заононсили наконец-то Kandinsky 2.1!!!!
Если что, это не аналог ru Mid journey, это чисто решение ребят на диффузиях с хаками своими.
Налетай!!!
https://t.me/complete_ai/108
Если что, это не аналог ru Mid journey, это чисто решение ребят на диффузиях с хаками своими.
Налетай!!!
https://t.me/complete_ai/108
Telegram
Complete AI
🚀Kandinsky 2.1🚀
Наступил день, которого ждала вся команда (вовсе не тот, который стал всплывать в разных каналах на прошлой неделе😂). Сегодня мы официально выпускаем новую лучшую версию нашей диффузионной генеративной модели, которая претерпела существенные…
Наступил день, которого ждала вся команда (вовсе не тот, который стал всплывать в разных каналах на прошлой неделе😂). Сегодня мы официально выпускаем новую лучшую версию нашей диффузионной генеративной модели, которая претерпела существенные…
❤4
сгенерил тут себе с ходу 4 варианта для новой Авы канала. Выбрал пару.
Генератор туть: @kandinsky21_bot
Генератор туть: @kandinsky21_bot
Тут все разом принялись щемить OpenAI за её GPT like решения.
Среди стран : Италия, Германия, Нидерланды и др.
А ещё тут Канада движ начинает
https://www.priv.gc.ca/en/opc-news/news-and-announcements/2023/an_230404/
И тут, неожиданно, OpenAI решила рассказать о своих решениях и теме безопасности в них. Думаю, что такая паблик активность поможет им отстоять в тч себя перед госами.
https://openai.com/blog/our-approach-to-ai-safety
Среди стран : Италия, Германия, Нидерланды и др.
А ещё тут Канада движ начинает
https://www.priv.gc.ca/en/opc-news/news-and-announcements/2023/an_230404/
И тут, неожиданно, OpenAI решила рассказать о своих решениях и теме безопасности в них. Думаю, что такая паблик активность поможет им отстоять в тч себя перед госами.
https://openai.com/blog/our-approach-to-ai-safety
Openai
Our approach to AI safety
Ensuring that AI systems are built, deployed, and used safely is critical to our mission.