Спонсор ночных кошмаров на сегодня – попытка потюнить StyleGAN-NADA на скетчи
Forwarded from Brodetskyi. Tech, VC, Startups
В четвер на аукцион Сотби выставят одну из немногих уцелевших копий первой Конституции США. Американское криптосообщество создало вокруг этого аукциона мощный хайп: группа энтузиастов объединилась с целью купить этот экземпляр Конституции.
Для координации сформировали децентрализированную автономную организацию ConstitutionDAO (DAO — онлайн-сообщество с определенной целью и правилами, прописанными в блокчейне).
За три дня уже собрали $3 млн в эфире. По оценке Сотби, лот может уйти за $20 млн.
Если криптогики выкупят лот, судьбу Конституции решат демократическим голосованием среди членов DAO. Среди предложений — выпустить NFT (куда же без этого), а саму копию отдать в национальный музей или институт.
Но судьба листа бумаги здесь не так важна, как красивая история. Если у ConstitutionDAO все получится, это станет крутой рекламой криптосообщества, DAO и технологий web3.
Символизм здесь на всех уровнях. Свобода является главной ценностью и для Америки, и для криптосообщества; криптогики хотят передать Конституцию из частных рук в собственность "народа", а сам процесс покупки станет масштабной иллюстрацией возможностей современной онлайн-демократии.
https://www.notboring.co/p/lets-buy-the-us-constitution
Для координации сформировали децентрализированную автономную организацию ConstitutionDAO (DAO — онлайн-сообщество с определенной целью и правилами, прописанными в блокчейне).
За три дня уже собрали $3 млн в эфире. По оценке Сотби, лот может уйти за $20 млн.
Если криптогики выкупят лот, судьбу Конституции решат демократическим голосованием среди членов DAO. Среди предложений — выпустить NFT (куда же без этого), а саму копию отдать в национальный музей или институт.
Но судьба листа бумаги здесь не так важна, как красивая история. Если у ConstitutionDAO все получится, это станет крутой рекламой криптосообщества, DAO и технологий web3.
Символизм здесь на всех уровнях. Свобода является главной ценностью и для Америки, и для криптосообщества; криптогики хотят передать Конституцию из частных рук в собственность "народа", а сам процесс покупки станет масштабной иллюстрацией возможностей современной онлайн-демократии.
https://www.notboring.co/p/lets-buy-the-us-constitution
www.notboring.co
Let's Buy the US Constitution
ConstitutionDAO, web3, and America
Forwarded from DL in NLP (nlpcontroller_bot)
⚡️OpenAI’s API Now Available with No Waitlist
Наконец-то OpenAI открыли публичный доступ к GPT-3. За время закрытого теста к нему добавили небольшие улучшения, такие как Instruct series models, которые лучше реагируют на промты. Кроме этого добавили в документацию safety best practices, которые рассказывают как сделать такую систему, которую нельзя будет атаковать очевидными способами.
Цена пока что кажется неплохой, по крайней мере ниже чем я ожидал. Самая большая модель стоит 6 центов за тысячу токенов. После регистрации вам дают $18, чего хватит для генерации 300 тысяч токенов.
Заходите на openai.com/api, регистрируйтесь и играйтесь с GPT-3 или Codex. Пишите что получается в чат, будет интересно узнать какие у людей в среднем впечатления.
Наконец-то OpenAI открыли публичный доступ к GPT-3. За время закрытого теста к нему добавили небольшие улучшения, такие как Instruct series models, которые лучше реагируют на промты. Кроме этого добавили в документацию safety best practices, которые рассказывают как сделать такую систему, которую нельзя будет атаковать очевидными способами.
Цена пока что кажется неплохой, по крайней мере ниже чем я ожидал. Самая большая модель стоит 6 центов за тысячу токенов. После регистрации вам дают $18, чего хватит для генерации 300 тысяч токенов.
Заходите на openai.com/api, регистрируйтесь и играйтесь с GPT-3 или Codex. Пишите что получается в чат, будет интересно узнать какие у людей в среднем впечатления.
Openai
API Platform
Our API platform offers our latest models and guides for safety best practices.
Помимо того, что OpenAI рестриктят доступ к GPT-3 по странам (для России доступа нет, ожидаемо), у них еще очень интересные guidelines насчет того, что нельзя генерить моделью
Очень интересно, как собираются это мониторить с +- открытым API (вспоминается кейс Project December, которым отрубили доступ после того, как мужчина создал чат-бот погибшей невесты). К тому же, поскольку GPT учится на довольно шумных данных, она может выдасть стремные ответы даже на довольно невинные промты – и кто будет виноват в таком случае? Насчет malware впоминается как Copilot при запуске начинал генерить прям в коде рандомные токены для доступа и сикреты : ))))
Очень интересно, как собираются это мониторить с +- открытым API (вспоминается кейс Project December, которым отрубили доступ после того, как мужчина создал чат-бот погибшей невесты). К тому же, поскольку GPT учится на довольно шумных данных, она может выдасть стремные ответы даже на довольно невинные промты – и кто будет виноват в таком случае? Насчет malware впоминается как Copilot при запуске начинал генерить прям в коде рандомные токены для доступа и сикреты : ))))
Forwarded from AbstractDL
This media is not supported in your browser
VIEW IN TELEGRAM
GradInit: перебор гиперпараметров оптимизатора и warmup больше не нужны (by Google)
В гугл предложили супер крутой универсальный architecture-agnostic метод инициализации весов моделей.
Идея очень простая: добавить множители перед каждым блоком параметров и запустить по ним несколько итераций оптимизации лосса. Дальше эти множители фиксируем и учим модель как обычно. Такая инициализация не зависит от глубины и типа архитектуры (работает и на резнетах и на трансформерах) и почти полностью решает проблему взрывающихся\затухающих градиентов.
В итоге отпадает необходимость в переборе гиперпараметров оптимизатора, а трансформер вообще получилось обучить без warmup’a, что считалось практически невозможным. Как бонус, такая инициализация даёт небольшой буст на многих бенчмарках (и картиночных и текстовых).
Статья, GitHub
В гугл предложили супер крутой универсальный architecture-agnostic метод инициализации весов моделей.
Идея очень простая: добавить множители перед каждым блоком параметров и запустить по ним несколько итераций оптимизации лосса. Дальше эти множители фиксируем и учим модель как обычно. Такая инициализация не зависит от глубины и типа архитектуры (работает и на резнетах и на трансформерах) и почти полностью решает проблему взрывающихся\затухающих градиентов.
В итоге отпадает необходимость в переборе гиперпараметров оптимизатора, а трансформер вообще получилось обучить без warmup’a, что считалось практически невозможным. Как бонус, такая инициализация даёт небольшой буст на многих бенчмарках (и картиночных и текстовых).
Статья, GitHub
Forwarded from эйай ньюз
This media is not supported in your browser
VIEW IN TELEGRAM
Отвал башки! Тут пацаны из гугла обучили NERF на RAW фотках. Получается просто башенного качества рендеринг HDR изображений. Можно менять экспозицию, фокус. Вы только посмотрите на получаемый эффект боке в ночных сценах!
Дополнительное преимущество этого метода перед обычным нерфом - это то, что он хорошо работает на шумных снимках с малым освещением. За счет того, что информация агрегируется с нескольких фотографий, метод хорошо справляется с шумом и недостатком освещения, превосходя специализированные single-photo denoising модели.
Статью ознаменовали как NeRF in the Dark: High Dynamic Range View Synthesis from Noisy Raw Images. Ну, разве что кода еще нет.
Сайт проекта | Arxiv
Дополнительное преимущество этого метода перед обычным нерфом - это то, что он хорошо работает на шумных снимках с малым освещением. За счет того, что информация агрегируется с нескольких фотографий, метод хорошо справляется с шумом и недостатком освещения, превосходя специализированные single-photo denoising модели.
Статью ознаменовали как NeRF in the Dark: High Dynamic Range View Synthesis from Noisy Raw Images. Ну, разве что кода еще нет.
Сайт проекта | Arxiv
Forwarded from Говорит AI (Artem R)
Привет! Я ушел из Реплики (проработал там почти 7 лет и построил один из лучших в мире Conversational AI для десятков миллионов пользователей), поднял инвестиции от Питера Тиля, Давида Яна, кофаундеров Тиндера и запустил новый AI стартап.
Сегодня релизим наш апп Botify на Product Hunt! Botify позволяет создавать фотореалистичные говорящие аватары. Аватар моргает, улыбается, шевелит губами и орно чатится. Более того, у каждого аватара можно настроить характер и интересы, и таким образом получить какую угодно персону. Хотели поговорить с Маском про колонизацию Марса? Может у Иисуса спросить про NFT хайп? Или загрузить фотку своей бывшей и 😏. По сути Botify - это микс дипфейков и чатботов, интерактивные Digital humans.
Из тех жира - под капотом диалоговая GPT-Neo на 2.7B параметров, разные BERT'ы, first-order-motion, Wav2Lip, Super Resolution, face restoration, Stylegan, WaveNet, etc. Мы используем мультимодальный подход комбинируя генеративный текст, аудио и видео для создания интерактивных Digital Humans. Все работает около риал-тайм, чек ит аут.
Нам очень важна ваша поддержка на продакт-ханте и ваш честный фидбек 🙏 Заценить и поддержать апвоутом/комментом можно тут - https://www.producthunt.com/posts/botify-ai
Сегодня релизим наш апп Botify на Product Hunt! Botify позволяет создавать фотореалистичные говорящие аватары. Аватар моргает, улыбается, шевелит губами и орно чатится. Более того, у каждого аватара можно настроить характер и интересы, и таким образом получить какую угодно персону. Хотели поговорить с Маском про колонизацию Марса? Может у Иисуса спросить про NFT хайп? Или загрузить фотку своей бывшей и 😏. По сути Botify - это микс дипфейков и чатботов, интерактивные Digital humans.
Из тех жира - под капотом диалоговая GPT-Neo на 2.7B параметров, разные BERT'ы, first-order-motion, Wav2Lip, Super Resolution, face restoration, Stylegan, WaveNet, etc. Мы используем мультимодальный подход комбинируя генеративный текст, аудио и видео для создания интерактивных Digital Humans. Все работает около риал-тайм, чек ит аут.
Нам очень важна ваша поддержка на продакт-ханте и ваш честный фидбек 🙏 Заценить и поддержать апвоутом/комментом можно тут - https://www.producthunt.com/posts/botify-ai
Product Hunt
Botify AI Product Information and Latest Updates (2025) | Product Hunt
Create photorealistic avatars for engaging conversations. Have fun interacting with your Digital Human.
Говорит AI
Привет! Я ушел из Реплики (проработал там почти 7 лет и построил один из лучших в мире Conversational AI для десятков миллионов пользователей), поднял инвестиции от Питера Тиля, Давида Яна, кофаундеров Тиндера и запустил новый AI стартап. Сегодня релизим…
^У меня, разумеется, баес, так как я участвую тут в разработке диалогового ИИ, но зато могу ручаться, что с технической точки зрения продукт получился мега-крутой : ) и да, фидбек очень важен, если потыкаете, то напишите, как вам и где можно лучше 🖤
This media is not supported in your browser
VIEW IN TELEGRAM
Image-to-Image Translation with Low Resolution conditioning
arxiv | git
В пейпере авторы довольно успешно делают перенос стиля с очень низкокачественных (8x8) изображений. У них довольно интересная архитектурая: берут обычный GAN и меняют в нем генератор на U-shaped сетку.
Сначала в энкодере исходная картинка даунскейлится (и пробрасываются skip connections в декодер). Потом в декодере она апскейлится, и к ней несколько раз подмешивают информацию из низкокачественного таргета. Плюс, там есть отдельный ход с изменением среднего и вариации исходной картинки и коэффициентов при них на основе таргета
Кажется, что с такой U-сеткой в целом можно подмешивать кондишены меньшей размерности, чем сама картинка
arxiv | git
В пейпере авторы довольно успешно делают перенос стиля с очень низкокачественных (8x8) изображений. У них довольно интересная архитектурая: берут обычный GAN и меняют в нем генератор на U-shaped сетку.
Сначала в энкодере исходная картинка даунскейлится (и пробрасываются skip connections в декодер). Потом в декодере она апскейлится, и к ней несколько раз подмешивают информацию из низкокачественного таргета. Плюс, там есть отдельный ход с изменением среднего и вариации исходной картинки и коэффициентов при них на основе таргета
Кажется, что с такой U-сеткой в целом можно подмешивать кондишены меньшей размерности, чем сама картинка
Understanding by Understanding Not: Modeling Negation in Language Models
git | arxiv
У языковых моделей есть одна общая проблема – они не особенно понимают отрицания, поэтому предложения типа 'I am a communist' и 'I am not a communist' в плане эмбеддингов почти идентичны. Тут авторы пытаются это исправить через unlikelihood training – заставить модель с как можно меньшей вероятностью предсказывать исходное слово в предложении, если оно следует за no/not. Делается это через пары предложений: если предложение А: humans have a rational soul, то в предложении B: humans do not have a rational [MASK] вместо MASK слово soul должно появляться как можно менее вероятно. Если же предложения A и B идентичны, то модель себя должна вести как обычно (то есть как будто ее не дотюнивали)
Авторы показывают, что после такого тюнинга повышается качество в целом на NLI задачах. Но все же, это BERT, а круто было бы увидеть, как знания о негациях пробрасывать в GPT-like модели, например, чтоб была менее противоречивая генерация
git | arxiv
У языковых моделей есть одна общая проблема – они не особенно понимают отрицания, поэтому предложения типа 'I am a communist' и 'I am not a communist' в плане эмбеддингов почти идентичны. Тут авторы пытаются это исправить через unlikelihood training – заставить модель с как можно меньшей вероятностью предсказывать исходное слово в предложении, если оно следует за no/not. Делается это через пары предложений: если предложение А: humans have a rational soul, то в предложении B: humans do not have a rational [MASK] вместо MASK слово soul должно появляться как можно менее вероятно. Если же предложения A и B идентичны, то модель себя должна вести как обычно (то есть как будто ее не дотюнивали)
Авторы показывают, что после такого тюнинга повышается качество в целом на NLI задачах. Но все же, это BERT, а круто было бы увидеть, как знания о негациях пробрасывать в GPT-like модели, например, чтоб была менее противоречивая генерация
Пример с коммунистом вообще взят из вот этого треда в твиттере, где GPT-3 от Open AI пытались заставить сказать хоть что-то о Китае, но она не смогла... Потом автор попробовал экплицитно задать генерацию как диалог с анти-коммунистом, но GPT-3 все равно отказывалась говорить что-то плохое о великом лидере Xi
DeepMind вчера выпустили сетку Gopher на 280 миллиардов параметров (что впечатляет). Судя по их же примерам в релизе, Gopher очень хорошо может отвечать на фактологические вопросы ('Who won Womes's US Open in 2021', 'What can you tell me about cell biology'). Если заглянуть в статью с описанием архитектуры модели окажется, что это достигается не за счет числа параметров, а скорее за счет доступа к огромной базе знаний, то есть сетка частично retrieval based. Для сопоставления с базой данных берут замороженный BERT, получают эмбеддинги входного текста и эмбеддинги из базы знаний, находят ближайших соседей (и потом их используют на этапе аттеншена). Для базы данных используют MassiveText (5 триллионов токенов)
Еще для эффективности обучения используют chunked cross-attention, но под модификацию аттеншенов уже пора отдельный жанр на архиве заводить
Еще для эффективности обучения используют chunked cross-attention, но под модификацию аттеншенов уже пора отдельный жанр на архиве заводить
Goal-Directed Story Generation: Augmenting Generative Language
Models with Reinforcement Learning
arxiv
Еще одна статья про попытку сделать генерацию текста более управляемой и связной, только здесь авторы пытаются привести последовательность к какому-то заданному финалу/цели рассказа
Сначала берется GPT-2, генерятся несколько предожений-кандидатов как продолжение промта. Дальше включается RL – для каждого предложения определяется, к какой смысловой группе относится сказуемое (группы вроде discovery/admiration/saying и так далее, то есть что по сути означает глагол), и сколько на обучающих данных в среднем предложений находится между этой смысловой группой желаемым таргетом (к чему история должна прийти). В зависимости от этой дистанции считается reward и пробрасываются градиенты. В финальной версии модели строятся даже такие ‘цепочки’ смысловых групп, чтобы сетка не прыгала сразу к окончанию, а постепенно переходила от одной смысловой группы к другой.
Потом авторы подключают еще knowledge graph – из каждого предложения-кандидата вытаскивается связка <субъект, отношение, объект> (по сути все отношения и поступки между действующими лицами истории), это становится своего рода state в Deep Q-Network модели. Эти связки вместе с rewards с предыдущего шага сохраняются в граф, и DQN оценивает полезность действия, то есть каждого предложения-кандидата, с учетом получившегося графа, выбирая таким образом те, что двигают историю к нужному завершению
Очень конечно сложная архитектура для такой задачи, но графы + GPT как мне кажется сила и классно помогают кондишенить и ограничивать бредовость больших моделей, помогают им лучше придерживаться фактологии (вроде нужного списка имен персонажей) и так далее
Models with Reinforcement Learning
arxiv
Еще одна статья про попытку сделать генерацию текста более управляемой и связной, только здесь авторы пытаются привести последовательность к какому-то заданному финалу/цели рассказа
Сначала берется GPT-2, генерятся несколько предожений-кандидатов как продолжение промта. Дальше включается RL – для каждого предложения определяется, к какой смысловой группе относится сказуемое (группы вроде discovery/admiration/saying и так далее, то есть что по сути означает глагол), и сколько на обучающих данных в среднем предложений находится между этой смысловой группой желаемым таргетом (к чему история должна прийти). В зависимости от этой дистанции считается reward и пробрасываются градиенты. В финальной версии модели строятся даже такие ‘цепочки’ смысловых групп, чтобы сетка не прыгала сразу к окончанию, а постепенно переходила от одной смысловой группы к другой.
Потом авторы подключают еще knowledge graph – из каждого предложения-кандидата вытаскивается связка <субъект, отношение, объект> (по сути все отношения и поступки между действующими лицами истории), это становится своего рода state в Deep Q-Network модели. Эти связки вместе с rewards с предыдущего шага сохраняются в граф, и DQN оценивает полезность действия, то есть каждого предложения-кандидата, с учетом получившегося графа, выбирая таким образом те, что двигают историю к нужному завершению
Очень конечно сложная архитектура для такой задачи, но графы + GPT как мне кажется сила и классно помогают кондишенить и ограничивать бредовость больших моделей, помогают им лучше придерживаться фактологии (вроде нужного списка имен персонажей) и так далее
Forwarded from DL in NLP (Vlad Lialin)
Scalable Second Order Optimization for Deep Learning
arxiv.org/abs/2002.09018
На обзор статьи меня навёл вот этот трэд в твиттере. Главный его момент был в том, что авторы DALLE-mini столкнулись с тем, что большие версии модели склонны внезапно расходиться посреди тренировки. Перепробовав кучу оптимизаторов и lr они обнаружили что некий Distributed Shampoo сходится гораздо быстрее и стабильнее Adam и Adafactor.
Главное отличие Dist Shampoo от Adam в том, что это метод оптимизации второго порядка, типа метода Ньютона, LBFGS или KFAC. Для апдейта Shampoo использует не только градиент G, но и матрицы ковариации градиента G G^T и G^T G, которые нужно ещё и возвести в степень 1/4 (возводить матрицы в степень это боль, а когда степень < 1 это боль в кубе).
Dist Shampoo добавляет кучу хаков, чтобы ускорить Shampoo. Первый хак: для матриц эмбеддингов, размер которых [vocab_size, hidden] используют только G G^T, тк вычислять произведение [vocab_size, hidden] @ [hidden, vocab_size] относительно дешево, а [hidden, vocab_size] @ [vocab_size, hidden] - безумно долго, тк vocab_size обычно раз в 50 больше hidden. Второй хак: в любом матричном произведении, если hidden очень большой, матрицу разбивают на N блоков размера hidden/N и вычисляют ковариации только этих блоков. Третий хак уже более хитрый: матрицы ковариации пересчитывают не на каждом шаге оптимизации, а только каждые ~100 шагов. Идея в том, что их рассчёт происходит на отдельной GPU/TPU параллельно обучению сети.
В оригинальной статье показали, что с помощью Dist Shampoo можно обучать трансформеры размером в 100M параметров за примерно в полтора раза меньшее время, чем Adam.
Подробнее про Distributed Shampoo:
1. WandB Report с DALLE mini
1. Имплементация на Jax
arxiv.org/abs/2002.09018
На обзор статьи меня навёл вот этот трэд в твиттере. Главный его момент был в том, что авторы DALLE-mini столкнулись с тем, что большие версии модели склонны внезапно расходиться посреди тренировки. Перепробовав кучу оптимизаторов и lr они обнаружили что некий Distributed Shampoo сходится гораздо быстрее и стабильнее Adam и Adafactor.
Главное отличие Dist Shampoo от Adam в том, что это метод оптимизации второго порядка, типа метода Ньютона, LBFGS или KFAC. Для апдейта Shampoo использует не только градиент G, но и матрицы ковариации градиента G G^T и G^T G, которые нужно ещё и возвести в степень 1/4 (возводить матрицы в степень это боль, а когда степень < 1 это боль в кубе).
Dist Shampoo добавляет кучу хаков, чтобы ускорить Shampoo. Первый хак: для матриц эмбеддингов, размер которых [vocab_size, hidden] используют только G G^T, тк вычислять произведение [vocab_size, hidden] @ [hidden, vocab_size] относительно дешево, а [hidden, vocab_size] @ [vocab_size, hidden] - безумно долго, тк vocab_size обычно раз в 50 больше hidden. Второй хак: в любом матричном произведении, если hidden очень большой, матрицу разбивают на N блоков размера hidden/N и вычисляют ковариации только этих блоков. Третий хак уже более хитрый: матрицы ковариации пересчитывают не на каждом шаге оптимизации, а только каждые ~100 шагов. Идея в том, что их рассчёт происходит на отдельной GPU/TPU параллельно обучению сети.
В оригинальной статье показали, что с помощью Dist Shampoo можно обучать трансформеры размером в 100M параметров за примерно в полтора раза меньшее время, чем Adam.
Подробнее про Distributed Shampoo:
1. WandB Report с DALLE mini
1. Имплементация на Jax
Twitter
Boris Dayma 🥑
We just finished comparing Adam, Adafactor & Distributed Shampoo (thanks to @_arohan_) for dalle-mini training 🥳 TLDR: Distributed Shampoo is 🔥 and will become the new default for dalle-mini 🥑
На Distill есть очень хорошая вводная статья в Graph Neural Networks (можно погонять там простые симуляции), и статья сильно сложнее про свертки на графах. Вторая статья прекрасна, во-первых, тем, что там очень много интерактивных графиков и визуализаций, а во-вторых, там можно на простом примере посмотреть, как считаются коэффициенты в разных типах GNN. Для того, чтобы понять, что такое спектральные свертки, нужно вспомнить довольно много матеши, но авторы приводят в ссылках кучу полезных материалов для этого, которые тоже советую просмотреть
👍2
OpenAI релизнули (и вроде даже можно дергать через API) InstructGPT – сетку, которая должна лучше считывать интент пользователя, то есть генерировать что-то более специфичное вроде объяснения/саммари/парафраза/что попросят. До это уже можно было колдовать с промтами, но авторы приводят графики с доказательствами, что качество тут все же выше
Как Jan Leike сам пишет в твиттере, там не чтобы новые методы или модель: через краудсорс куча человек написало ответы к промтам, на это натюнили GPT-3, потом ответы GPT-3 также краудсорсеров попросили проранжировать. Дальше с помощью этих размеченных данных учат модель с помощью RL, кокретно через Proximal Policy Optimization (PPO). Если кратко суть PPO в том, чтобы повышать вероятность выбора действий, которые дают больше выгоды (reward), чем изначально ожидалось (такие изначальные оценки полезности получаются из отдельной MLP сетки), и понижать для тех, что оказались хуже. Но при этом нужно учитывать, что это действие приносит такую большую (или наоборот такую отрицательную) пользу только на этом участке игры, поэтому сильно уходить от текущей стратегии может быть глупо, и вообще можно так вылететь в плохой стейт, где все действия нас особо никуда не ведут, и в нем застрять, – поэтому выше и ниже определенного порога веса апдейтнуть нельзя. Если хочется подробнее, вот отличное и математичное объяснение интуиции за PPO
В целом конечно underwhelming ситуэйшн так как основной понт тут в краудсорсе, но как утверждает все тот же Jan Leike, модель научилась хорошо генерализироваться – например, выполнять задачи на других языках помимо английского или объяснять код, хотя код и тексты на других языках составляют очень небольшой процент тренировочных данных. Это как будто круто для генерализации для всяких не-conversational чатботов, от которых требуются конкретные действия/ответы, и как будто отсюда легко натюнить бота под конкретные задачи, чтобы он был не совсем retrieval-based, то есть не просто дергал ответы из базы знаний. Но все равно ы
Как Jan Leike сам пишет в твиттере, там не чтобы новые методы или модель: через краудсорс куча человек написало ответы к промтам, на это натюнили GPT-3, потом ответы GPT-3 также краудсорсеров попросили проранжировать. Дальше с помощью этих размеченных данных учат модель с помощью RL, кокретно через Proximal Policy Optimization (PPO). Если кратко суть PPO в том, чтобы повышать вероятность выбора действий, которые дают больше выгоды (reward), чем изначально ожидалось (такие изначальные оценки полезности получаются из отдельной MLP сетки), и понижать для тех, что оказались хуже. Но при этом нужно учитывать, что это действие приносит такую большую (или наоборот такую отрицательную) пользу только на этом участке игры, поэтому сильно уходить от текущей стратегии может быть глупо, и вообще можно так вылететь в плохой стейт, где все действия нас особо никуда не ведут, и в нем застрять, – поэтому выше и ниже определенного порога веса апдейтнуть нельзя. Если хочется подробнее, вот отличное и математичное объяснение интуиции за PPO
В целом конечно underwhelming ситуэйшн так как основной понт тут в краудсорсе, но как утверждает все тот же Jan Leike, модель научилась хорошо генерализироваться – например, выполнять задачи на других языках помимо английского или объяснять код, хотя код и тексты на других языках составляют очень небольшой процент тренировочных данных. Это как будто круто для генерализации для всяких не-conversational чатботов, от которых требуются конкретные действия/ответы, и как будто отсюда легко натюнить бота под конкретные задачи, чтобы он был не совсем retrieval-based, то есть не просто дергал ответы из базы знаний. Но все равно ы
Openai
Aligning language models to follow instructions
We’ve trained language models that are much better at following user intentions than GPT-3 while also making them more truthful and less toxic, using techniques developed through our alignment research. These InstructGPT models, which are trained with humans…
я обучала одну модель
OpenAI релизнули (и вроде даже можно дергать через API) InstructGPT – сетку, которая должна лучше считывать интент пользователя, то есть генерировать что-то более специфичное вроде объяснения/саммари/парафраза/что попросят. До это уже можно было колдовать…
но примеры в статье забавные есть
Forwarded from DL in NLP (Vlad Lialin)
DeepMind выпустил AlphaCode, который прогает лучше половины твоих знакомых.
Во многом похож на Codex, но есть отличия.
Основной подход:
1. Encoder-decoder, 41B параметров
1. Декодер обучается предсказывать следующее слово, а энкодер делает MLM. Всё end2end.
1. Заскрапили датасет задачек с Codeforces и зафайнтюнили на нём модель
1. Во время тестирования семплили очень большое количество решения (до миллиона) и потом выбирали из них с помощью кластеризации, эвристик и, самое главное, проходят ли они открытые тесты которые приложены к задачке. Сабмитили на финальную проверку только топ-10.
По результатам: AlphaCode решает задачки лучше, чем 54% пользовалетей Codeforces (не очень альфа пока что, но стремится туда).
Небольшие технические отличия от Codex:
1. Максимальная длина для энкодера 1536, для декодера 768
1. Использовали Multi-query attention, модификацию attention, которая использует одни и те же K и V для разныех голов – позволило улучшить потребление памяти и скорость декодирования
1. Очень маленький словарь токенизатора, 8К.
1. Во время файтнюнинга использовали температуру 0.2, которая делает распределение более острым. При тесте температура не использовалась, назвали это tempering.
1. Файнтюнились и на правильных и на неправильных решениях, при этом моделе заранее сообщается сигнал корректное ли это решения.
1. Для файнтюнинга использовали лосс, который называется GOLD. По сути это взвешенная кросс-энтропия, несмотря на то, что выглядит как RL.
Вот тут можно посмотреть на визуализацию attention, а ещё есть популярно написанный блогпост
Во многом похож на Codex, но есть отличия.
Основной подход:
1. Encoder-decoder, 41B параметров
1. Декодер обучается предсказывать следующее слово, а энкодер делает MLM. Всё end2end.
1. Заскрапили датасет задачек с Codeforces и зафайнтюнили на нём модель
1. Во время тестирования семплили очень большое количество решения (до миллиона) и потом выбирали из них с помощью кластеризации, эвристик и, самое главное, проходят ли они открытые тесты которые приложены к задачке. Сабмитили на финальную проверку только топ-10.
По результатам: AlphaCode решает задачки лучше, чем 54% пользовалетей Codeforces (не очень альфа пока что, но стремится туда).
Небольшие технические отличия от Codex:
1. Максимальная длина для энкодера 1536, для декодера 768
1. Использовали Multi-query attention, модификацию attention, которая использует одни и те же K и V для разныех голов – позволило улучшить потребление памяти и скорость декодирования
1. Очень маленький словарь токенизатора, 8К.
1. Во время файтнюнинга использовали температуру 0.2, которая делает распределение более острым. При тесте температура не использовалась, назвали это tempering.
1. Файнтюнились и на правильных и на неправильных решениях, при этом моделе заранее сообщается сигнал корректное ли это решения.
1. Для файнтюнинга использовали лосс, который называется GOLD. По сути это взвешенная кросс-энтропия, несмотря на то, что выглядит как RL.
Вот тут можно посмотреть на визуализацию attention, а ещё есть популярно написанный блогпост
Вышла интересная модель MIDI-DDSP для контролируемой генерации музыки. Если вы не следите за этой темой, то в области генерации музыки все пока не очень радужно, и даже jukebox от OpenAI иногда выдает звуки из ада
Тут сетка продуцирует MIDI-дорожки, то есть последовательность разных нот в исполнении разных инструментов. Дальше для каждой ноты отдельно устанавливается Synthesis, то есть тембр и высота звука, и Expression – параметры того, как звук играется, например, его громкость, ‘зашумленность’, вибрато и так далее. В colab demo вам дают огромную таблицу со всеми этими параметрами, чтобы можно потвикать, как на синтезаторе
Учили это с помощью human-in-the-loop, то есть сначала более простая сетка генерировала последовательности звуков на основе тренировочных данных, а далее эксперты уже так или иначе ее меняли, например, повышая октавы в каких-то местах, или делая более резкий переход, и на таких размеченных измененных данных учили уже MIDI-DDSP
Вообще я не видела пока похожих экспериментов в плане настолько контролируемого звучания. Конечно, такая сетка может генерить только классику или в теории джаз, возможно что-то электронное, – так или иначе жанры, где инструменты относительно легко разложить. И, конечно, она не может в осмысленный текст. Очень интересно было бы увидеть, можно ли пофьюзить языковые модели с моделями для генерации музыки, чтобы с этим стало лучше
🤗spaces | git | blogpost
Тут сетка продуцирует MIDI-дорожки, то есть последовательность разных нот в исполнении разных инструментов. Дальше для каждой ноты отдельно устанавливается Synthesis, то есть тембр и высота звука, и Expression – параметры того, как звук играется, например, его громкость, ‘зашумленность’, вибрато и так далее. В colab demo вам дают огромную таблицу со всеми этими параметрами, чтобы можно потвикать, как на синтезаторе
Учили это с помощью human-in-the-loop, то есть сначала более простая сетка генерировала последовательности звуков на основе тренировочных данных, а далее эксперты уже так или иначе ее меняли, например, повышая октавы в каких-то местах, или делая более резкий переход, и на таких размеченных измененных данных учили уже MIDI-DDSP
Вообще я не видела пока похожих экспериментов в плане настолько контролируемого звучания. Конечно, такая сетка может генерить только классику или в теории джаз, возможно что-то электронное, – так или иначе жанры, где инструменты относительно легко разложить. И, конечно, она не может в осмысленный текст. Очень интересно было бы увидеть, можно ли пофьюзить языковые модели с моделями для генерации музыки, чтобы с этим стало лучше
🤗spaces | git | blogpost