Очень прикольный проект который генерирует цветовые палитры с помощью предобученных трансформеров / диффузионных моделей. Непонятно насколько это лучше эвристик, но выглядит интересно.
huemint.com
Вот тут описание их подхода: https://huemint.com/about/
huemint.com
Вот тут описание их подхода: https://huemint.com/about/
🤩6👍4
Forwarded from Стать специалистом по машинному обучению
Я уже как-то писал об учебнике по машинному обучению от Школы Анализа Данных Яндекса. Но тогда в доступе было всего несколько глав. С того времени много чего изменилось и теперь в пособии есть разделы про:
- классические методы обучения с учителем;
- оценку качества моделей;
- основы глубинного обучения.
В учебнике будут и другие главы: про вероятностный подход к ML, обучение представлений и решения сложных задач Data Science, поэтому крайне рекомендую сохранить ссылку, чтобы не пропустить обновления!
- классические методы обучения с учителем;
- оценку качества моделей;
- основы глубинного обучения.
В учебнике будут и другие главы: про вероятностный подход к ML, обучение представлений и решения сложных задач Data Science, поэтому крайне рекомендую сохранить ссылку, чтобы не пропустить обновления!
👍22
Forwarded from AI для Всех
Открываем жанр History porn.
Андрей Карпати из Tesla решил повторить ту самую сетку Яна ЛеКа(у)на из 1989 года и написал об этом пост (🔥), который читается как смесь исторического детектива и стендап для гиков одновременно.
Короткие выводы основанные на путешествии во времени на 33 года назад: Что бы подумал путешественник во времени из 2055 года о производительности современных сетей?
Нейронные сети 2055 года на макроуровне практически не отличаются от нейронных сетей 2022 года, разве что они больше.
Наши сегодняшние наборы данных и модели выглядят как шутка. И то, и другое где-то в 10 000 000 000 раз больше.
Современные модели 2022 года можно обучить за ~1 минуту, обучаясь на своем персональном вычислительном устройстве в качестве развлекательного проекта на выходных.
Наши наборы данных слишком малы, и скромный выигрыш можно получить только за счет расширения набора данных.
🔥Пост
Андрей Карпати из Tesla решил повторить ту самую сетку Яна ЛеКа(у)на из 1989 года и написал об этом пост (🔥), который читается как смесь исторического детектива и стендап для гиков одновременно.
Короткие выводы основанные на путешествии во времени на 33 года назад: Что бы подумал путешественник во времени из 2055 года о производительности современных сетей?
Нейронные сети 2055 года на макроуровне практически не отличаются от нейронных сетей 2022 года, разве что они больше.
Наши сегодняшние наборы данных и модели выглядят как шутка. И то, и другое где-то в 10 000 000 000 раз больше.
Современные модели 2022 года можно обучить за ~1 минуту, обучаясь на своем персональном вычислительном устройстве в качестве развлекательного проекта на выходных.
Наши наборы данных слишком малы, и скромный выигрыш можно получить только за счет расширения набора данных.
🔥Пост
👍41
Making Deep Learning Go Brrrr From First Principles
horace.io/brrr_intro.html
Очень классный пост о том как работают GPU. Начинается с того что если вам не хватает скорости, то скорее всего вы залочены по одному из
1. Compute: Time spent on your GPU computing actual floating point operations (FLOPS)
1. Memory: Time spent transferring tensors within a GPU
1. Overhead: Everything else
Наглядно иллюстрирует почему для DL скорость памяти сейчас важна больше чем скорость самого чипа.
horace.io/brrr_intro.html
Очень классный пост о том как работают GPU. Начинается с того что если вам не хватает скорости, то скорее всего вы залочены по одному из
1. Compute: Time spent on your GPU computing actual floating point operations (FLOPS)
1. Memory: Time spent transferring tensors within a GPU
1. Overhead: Everything else
Наглядно иллюстрирует почему для DL скорость памяти сейчас важна больше чем скорость самого чипа.
👍15
Block-reccurrent transformers
Hutchins, Schlag, et al.
arxiv.org/abs/2203.07852
Возьмите трансформер и поверните его на бок. Сделайте немного рекуррентным и получите новую SOTA на длинном языковом моделировании (ну почти).
Идея это некоторая комбинация LSTM и TransformerXL. Текст чанкают на куски длины 512 и к каждому из них применяется трансформер. Но на вход он берёт не только токены текста, но и стйт-хиддены предыдущего чанка. Выдаёт два вида хидденов — одни как у обычного трансформера, которые дают представления токенов, а вторые — стейт-хиддены которые будет использовать следующий рекуррентный шаг.
Архитектурно моделька состоит из двух трансформеров (часть весов зашерена): вертикальный и горизонтальный.
Вертикальный это обычный TransformerDecoder который на вход принимает последовательность тоенов, а в качестве контекста берёт стейт-хидден предыдушего шага. Выдаёт этот трансформер вектора тоенов. Горизонтальный делает наоборот, вход: стейт хидден, контекст: последовательность слов. Кроме этого в нём есть дополнительный гейт аналогичный LSTM.
Дальше больше странностей: заменяют только один слой трансформера на рекуррентный. Конкретно 10 из 12. Всё остальное обычный трансформер.
По результатам: на языковом моделировании обходят TransformerXL, Memorizing Transformer, Compressive Transformer и Routing Transformer.
Выглядит очень забавно. Такой RNN strikes back. Хотелось бы увидеть больше подобных подходов.
Hutchins, Schlag, et al.
arxiv.org/abs/2203.07852
Возьмите трансформер и поверните его на бок. Сделайте немного рекуррентным и получите новую SOTA на длинном языковом моделировании (ну почти).
Идея это некоторая комбинация LSTM и TransformerXL. Текст чанкают на куски длины 512 и к каждому из них применяется трансформер. Но на вход он берёт не только токены текста, но и стйт-хиддены предыдущего чанка. Выдаёт два вида хидденов — одни как у обычного трансформера, которые дают представления токенов, а вторые — стейт-хиддены которые будет использовать следующий рекуррентный шаг.
Архитектурно моделька состоит из двух трансформеров (часть весов зашерена): вертикальный и горизонтальный.
Вертикальный это обычный TransformerDecoder который на вход принимает последовательность тоенов, а в качестве контекста берёт стейт-хидден предыдушего шага. Выдаёт этот трансформер вектора тоенов. Горизонтальный делает наоборот, вход: стейт хидден, контекст: последовательность слов. Кроме этого в нём есть дополнительный гейт аналогичный LSTM.
Дальше больше странностей: заменяют только один слой трансформера на рекуррентный. Конкретно 10 из 12. Всё остальное обычный трансформер.
По результатам: на языковом моделировании обходят TransformerXL, Memorizing Transformer, Compressive Transformer и Routing Transformer.
Выглядит очень забавно. Такой RNN strikes back. Хотелось бы увидеть больше подобных подходов.
🔥12👍7
Building games and apps entirely through natural language using OpenAI’s code-davinci model
Тык
В посте рассказывают о том, как заставили Codex написать несколько визуализаций/игр на JS. Они все выглядят очень простыми, но все написаны по сути на естественнном языке, без каких-либо ручных корекций кода. Одна из них даже VR.
Все конечно выглядят очень просто, но интересно что в принципе можно сделать чисто на кодексе. Хотелось бы увидеть некий challenge, где люди пытаются написать какой-то проект полностью в режиме "кодекс напиши".
Тык
В посте рассказывают о том, как заставили Codex написать несколько визуализаций/игр на JS. Они все выглядят очень простыми, но все написаны по сути на естественнном языке, без каких-либо ручных корекций кода. Одна из них даже VR.
Все конечно выглядят очень просто, но интересно что в принципе можно сделать чисто на кодексе. Хотелось бы увидеть некий challenge, где люди пытаются написать какой-то проект полностью в режиме "кодекс напиши".
🤔2🔥1
Быстрая подборка NLP новостей
1. Недавно BigScience начал тренировку 176B мультиязычной модели. Код и модель будут публично доступны всем. Модель тренируется на 416 A100 80Gb GPU и тренировка займёт больше месяца. Вот тут можно увидеть tensorboard модели, а вот тут подробнее почитать про неё и посмотреть на код.
2. Аннотированный RETRO (просто статья с заметками) от labml.ai
3. Статья-рецепт о zero-shot адаптации моделей на родственные языки (например с немецкого на шведский немецкий). Очень важным трюком оказалось добавлять посимвольный шум во время тренировки.
4. Новый запуск MIT 6.S191 Intro to Deep Learning. Первые две лекции уже доступны на YouTube.
5. DeepMind Gopher зафайнюнили так, чтобы модель отвечала на вопросы цитируя источники. Подход очень похож на WebGPT, но в отличие от него Gopher напрямую напрявляет запрос пользователя в поисковик, а потом работает с сырыми текстами которые нашлись вместо того чтобы интерактивно пытаться найти ответ.
1. Недавно BigScience начал тренировку 176B мультиязычной модели. Код и модель будут публично доступны всем. Модель тренируется на 416 A100 80Gb GPU и тренировка займёт больше месяца. Вот тут можно увидеть tensorboard модели, а вот тут подробнее почитать про неё и посмотреть на код.
2. Аннотированный RETRO (просто статья с заметками) от labml.ai
3. Статья-рецепт о zero-shot адаптации моделей на родственные языки (например с немецкого на шведский немецкий). Очень важным трюком оказалось добавлять посимвольный шум во время тренировки.
4. Новый запуск MIT 6.S191 Intro to Deep Learning. Первые две лекции уже доступны на YouTube.
5. DeepMind Gopher зафайнюнили так, чтобы модель отвечала на вопросы цитируя источники. Подход очень похож на WebGPT, но в отличие от него Gopher напрямую напрявляет запрос пользователя в поисковик, а потом работает с сырыми текстами которые нашлись вместо того чтобы интерактивно пытаться найти ответ.
huggingface.co
bigscience/tr11-176B-logs · Training metrics
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
🔥13👍5
Завтра в 6 вечера по Москве выступаю в сберлоге, будем обсуждать RETRO и модели с памятью. Подключайтесь.
Forwarded from (sci)Berloga Всех Наук и Технологий
🚀 @SBERLOGABIG online seminar on machine learning:
👨🔬 Vlad Lialin «Современные модели с памятью. Начало новой парадигмы? »
⌚️ Четверг 24 марта, 18.00 по Москве
О докладчике: Влад - автор одного из лучших каналов в телеграмме по Natural Language Processing - "DL in NLP" (@dlinnlp) - подписывайтесь !
В 2019 GPT-2 изменил NLP навсегда. Впервые подход "больше данных, больше слоёв" начал работать для языка. 2020 принёс GPT-3, который поражал нас своими размерами ещё больше. Постепенно гигантские модели стали практически повседневными - у каждой большой компании есть одна или две - но тренировать их становится всё сложнее.
Всего несколько месяцев назад DeepMind выпустил модель RETRO. Её особенность заключается в том, что несмотря на небольшой по современным меркам размер (7B), она обходит GPT-3 (175B) и Gopher (280B) на большом числе задач. Каким образом? Кроме информации заключенной в параметрах нейросети, RETRO обращается к огромному текстовому корпусу в котором ищет похожие тексты. Эти похожие тексты подаются в языковую модель вместе с обычным входом, который языковая модель должна продолжить. Таким образом RETRO может "подсмотреть" какую-то информацию которую никогда не видела или не запомнила из этой внешней базы данных.
На встрече мы разберём предшествовавшие модели, такие как KNN-LM, подробно разберём саму RETRO и как она работает и пофантазируем как такой подход может потенциально изменить NLP в 2022.
Ссылка на зум будет доступна в этом канале: https://t.iss.one/sberlogabig ближе к началу доклада.
Подписывайтесь на канал https://t.iss.one/sberlogabig ! Интересные материалы и увлекательные доклады.👍
👨🔬 Vlad Lialin «Современные модели с памятью. Начало новой парадигмы? »
⌚️ Четверг 24 марта, 18.00 по Москве
О докладчике: Влад - автор одного из лучших каналов в телеграмме по Natural Language Processing - "DL in NLP" (@dlinnlp) - подписывайтесь !
В 2019 GPT-2 изменил NLP навсегда. Впервые подход "больше данных, больше слоёв" начал работать для языка. 2020 принёс GPT-3, который поражал нас своими размерами ещё больше. Постепенно гигантские модели стали практически повседневными - у каждой большой компании есть одна или две - но тренировать их становится всё сложнее.
Всего несколько месяцев назад DeepMind выпустил модель RETRO. Её особенность заключается в том, что несмотря на небольшой по современным меркам размер (7B), она обходит GPT-3 (175B) и Gopher (280B) на большом числе задач. Каким образом? Кроме информации заключенной в параметрах нейросети, RETRO обращается к огромному текстовому корпусу в котором ищет похожие тексты. Эти похожие тексты подаются в языковую модель вместе с обычным входом, который языковая модель должна продолжить. Таким образом RETRO может "подсмотреть" какую-то информацию которую никогда не видела или не запомнила из этой внешней базы данных.
На встрече мы разберём предшествовавшие модели, такие как KNN-LM, подробно разберём саму RETRO и как она работает и пофантазируем как такой подход может потенциально изменить NLP в 2022.
Ссылка на зум будет доступна в этом канале: https://t.iss.one/sberlogabig ближе к началу доклада.
Подписывайтесь на канал https://t.iss.one/sberlogabig ! Интересные материалы и увлекательные доклады.👍
👍12🔥6
Наша презентация в сберлоге закончилась, а тем временем идёт Ask Me Anything от BigScience на реддите. Можно зайти почитать ответы на вопросы или задать свои.
Reddit
r/MachineLearning on Reddit: [Announcement] HuggingFace BigScience AMA Thursday, March 24th from 5pm CET
Posted by u/cavedave - 104 votes and 183 comments
Forwarded from я обучала одну модель
This media is not supported in your browser
VIEW IN TELEGRAM
У Майкрософт какое-то время назад вышла статья про µTransfer – эффективную технику подбора гиперпараметров для гигантских нейросетей
In a nutshell, сначала они придумали, как более эффективно скейлить веса моделей при инициализации и апдейте, так, чтобы не взрывались и не затухали градиенты. Потом оказалось, что при такой параметризации можно ‘переносить’ гиперпараметры – сначала найти наилучшие значения для тренировки модели поменьше, и потом перенести их на большую модель. И теоретически, и эмпирически оказывается, что оптимальные значения гиперпараметров для обучения будут +- близки при таком скейлинге, то есть, например, оптимальные значения learning rate для большой и маленькой модели будут совпадать. В частности это хорошо работает при увеличении width сетки (числа нейронов в одном слое), но и для глубины, батчсайза и sequence length работает тоже
Авторы так перенесли параметры обучения GPT 40M на GPT 6B, и их модель побила качество модели такого же размера на NLU задачах
In a nutshell, сначала они придумали, как более эффективно скейлить веса моделей при инициализации и апдейте, так, чтобы не взрывались и не затухали градиенты. Потом оказалось, что при такой параметризации можно ‘переносить’ гиперпараметры – сначала найти наилучшие значения для тренировки модели поменьше, и потом перенести их на большую модель. И теоретически, и эмпирически оказывается, что оптимальные значения гиперпараметров для обучения будут +- близки при таком скейлинге, то есть, например, оптимальные значения learning rate для большой и маленькой модели будут совпадать. В частности это хорошо работает при увеличении width сетки (числа нейронов в одном слое), но и для глубины, батчсайза и sequence length работает тоже
Авторы так перенесли параметры обучения GPT 40M на GPT 6B, и их модель побила качество модели такого же размера на NLU задачах
👍30
Интересно видеть много новых работ в которых пытаются предсказать гиперпараметры и перфоманс больших моделей. Постфактум абсолютно очевидно, что сейчас многие беспокоятся об этом, тк хотелось бы скейлить моедли эффективно.
Статья про µTransfer даёт нам очень интересный и теоретически подкреплённый взгляд на то как выбирать lr, beta1, beta2 и параметры инициализации (к сожалению только эти гиперпараметры) для моделей. С учётом того что метод очень легко имплементировать (см картинку), ожидаю что через пару лет он будет дефолтом во всех фреймворках.
В пару дней назад DeepMind опубликовал статью, где они исследовали tradeoff между размером модели, датасета и FLOPS. Главное их заключение в том, что вообще говоря при фиксированном компьюте мы должны делать модели чуть-чуть поменьше и давать им больше данных, чем мы делаем сейчас. Для того чтобы это продемонстировать они тренируют модель Chinchilla 70B, которая показывает себя лучше чем Gopher 280B. Однако тут все не так чисто, тк сетап заметно отличается от Gopher: используют AdamW, другую токенизацию и float32 для параметров оптимизатора.
Вангую что в этом году будет 2-3 статьи-ревью исследований по скейлингу моделей.
Статья про µTransfer даёт нам очень интересный и теоретически подкреплённый взгляд на то как выбирать lr, beta1, beta2 и параметры инициализации (к сожалению только эти гиперпараметры) для моделей. С учётом того что метод очень легко имплементировать (см картинку), ожидаю что через пару лет он будет дефолтом во всех фреймворках.
В пару дней назад DeepMind опубликовал статью, где они исследовали tradeoff между размером модели, датасета и FLOPS. Главное их заключение в том, что вообще говоря при фиксированном компьюте мы должны делать модели чуть-чуть поменьше и давать им больше данных, чем мы делаем сейчас. Для того чтобы это продемонстировать они тренируют модель Chinchilla 70B, которая показывает себя лучше чем Gopher 280B. Однако тут все не так чисто, тк сетап заметно отличается от Gopher: используют AdamW, другую токенизацию и float32 для параметров оптимизатора.
Вангую что в этом году будет 2-3 статьи-ревью исследований по скейлингу моделей.
👍2
OpenAI выпустил DALL-E 2
openai.com/dall-e-2
vimeo.com/692375454
Основная идея: использовать эмбеддинги CLIP для генерации вектора текста, обсуславливаться на этот эмбеддинг при генерации изображения. Для генерации используют не языковую модель на VAE-токенах а диффузию (GLIDE).
Судя по промо-материалам, модель будет доступна по API.
openai.com/dall-e-2
vimeo.com/692375454
Основная идея: использовать эмбеддинги CLIP для генерации вектора текста, обсуславливаться на этот эмбеддинг при генерации изображения. Для генерации используют не языковую модель на VAE-токенах а диффузию (GLIDE).
Судя по промо-материалам, модель будет доступна по API.
Openai
DALL·E 2
DALL·E 2 is an AI system that can create realistic images and art from a description in natural language.
👍5
Advances toward ubiquitous neural information retrieval
ai.facebook.com/blog/-advances-toward-ubiquitous-neural-information-retrieval
Кажется что до сих пор все продакшн-системы поиска (IR) используют вариацию BM25 как первый шаг ранжирования. Причин много: неплохое качество поиска, много инфраструктуры заточенно под разреженные представления текстов, а также они довольно хорошо ищут редкие термины.
Нейронные системы поиска при этом могут гораздо лучше понимать смысл текста, синонымы, парафразы итд. Принципиально, нейронный IR может очень сильно изменить то как мы ищем информацию и, самое главное — формируем запросы. Сейчас как правило нейросети используют уже после BM25 для того чтобы переранжировать условные несколько сотен найденных документов, но до замены BM25 ещё далеко.
Meta AI активно движется в эту сторону. Пару лет назад мы увидели DPR, который заменил BM25 в QA системах (по крайней мере для рисёчеров). А сейчас можно увидеть как такие подходы всё ближе движутся в сторону прода.
Например DrBoost (реверанс в сторону DrQa и бустинга) обучает целый ансамбль ранжирующих моделей, где каждая следующая модель пытается исправить ошибки предыдущей. При инференсе все представления этих моделей конкатенируются в один вектор. Зачем это надо? Позволяет сделать размеры векторов в 4 раза меньше, а также делает их более устойчивыми для квантизации, что позволяет уменьшить latency поиска ещё в 4 раза.
Multi-task retreival заметно улучшает генерализацию на узкие домены и редкие термины без какого-либо domain-specific и task-specific файнтюнинга. Основная идея подхода проста: мы обучаем модель одновременно на различных IR задачах: QA, fact checking, entity linking, dialogue, ... Для улучшения качества использовали несколько фаз получения hard negatives — в начале от BM25, а потом от предыдущей натренированной модели.
И ещё одна интересная статья рассказывает о том, что почему-то увеличение размера IR датасетов не сильно помогает получить более хорошие модели, что очень нетипично для диплёрнинга. В качетсве решения они предлагают сделать новый метод претренинга IR систем, где автоматическая система генерации вопросов делает огромный датасет (65 миллионов QA-пар) на котором ранжировщик и обучается.
ai.facebook.com/blog/-advances-toward-ubiquitous-neural-information-retrieval
Кажется что до сих пор все продакшн-системы поиска (IR) используют вариацию BM25 как первый шаг ранжирования. Причин много: неплохое качество поиска, много инфраструктуры заточенно под разреженные представления текстов, а также они довольно хорошо ищут редкие термины.
Нейронные системы поиска при этом могут гораздо лучше понимать смысл текста, синонымы, парафразы итд. Принципиально, нейронный IR может очень сильно изменить то как мы ищем информацию и, самое главное — формируем запросы. Сейчас как правило нейросети используют уже после BM25 для того чтобы переранжировать условные несколько сотен найденных документов, но до замены BM25 ещё далеко.
Meta AI активно движется в эту сторону. Пару лет назад мы увидели DPR, который заменил BM25 в QA системах (по крайней мере для рисёчеров). А сейчас можно увидеть как такие подходы всё ближе движутся в сторону прода.
Например DrBoost (реверанс в сторону DrQa и бустинга) обучает целый ансамбль ранжирующих моделей, где каждая следующая модель пытается исправить ошибки предыдущей. При инференсе все представления этих моделей конкатенируются в один вектор. Зачем это надо? Позволяет сделать размеры векторов в 4 раза меньше, а также делает их более устойчивыми для квантизации, что позволяет уменьшить latency поиска ещё в 4 раза.
Multi-task retreival заметно улучшает генерализацию на узкие домены и редкие термины без какого-либо domain-specific и task-specific файнтюнинга. Основная идея подхода проста: мы обучаем модель одновременно на различных IR задачах: QA, fact checking, entity linking, dialogue, ... Для улучшения качества использовали несколько фаз получения hard negatives — в начале от BM25, а потом от предыдущей натренированной модели.
И ещё одна интересная статья рассказывает о том, что почему-то увеличение размера IR датасетов не сильно помогает получить более хорошие модели, что очень нетипично для диплёрнинга. В качетсве решения они предлагают сделать новый метод претренинга IR систем, где автоматическая система генерации вопросов делает огромный датасет (65 миллионов QA-пар) на котором ранжировщик и обучается.
Facebook
Advances toward ubiquitous neural information retrieval
Today, we’re sharing cutting-edge dense retrieval models that will help pave the way for ubiquitous neural information retrieval. This work will not only improve search as we currently use it, but also enable smarter AI agents of the future.
🔥7👍3
The evolution of API for running cutting edge AI:
- run it on your own machine
- run it in the cloud
- apply pay for and query an api endpoint
- pretty please ask one of the authors to run it for you on Twitter
🥲
Какая же это жиза
twitter.com/karpathy/status/1512117132716355590
- run it on your own machine
- run it in the cloud
- apply pay for and query an api endpoint
- pretty please ask one of the authors to run it for you on Twitter
🥲
Какая же это жиза
twitter.com/karpathy/status/1512117132716355590
Twitter
Andrej Karpathy
The evolution of API for running cutting edge AI: - run it on your own machine - run it in the cloud - apply pay for and query an api endpoint - pretty please ask one of the authors to run it for you on Twitter 🥲
😢8👏2😁1