Кстати я тут пару недель назад попытался перейти с iTerm на Warp.
Очень забавный терминал и к идее блоков команд привыкаешь очень быстро. Хорошо работает с bash и zsh, но oh-my-zsh игнорирует почти полностью. Блоки работают как локально так и через ssh (разрабы говорят это было нелегко сделать). Если бы была поддержка tmux, аналогичная той что в iTerm думаю я на нём бы и остался.
Из прикольных фишек:
1. Есть command pallet вызываемая по
1. Можно попросить Codex написать за вас команду. Для этого тыкаете
1. Ещё есть какая-то коллекция сниппетов, но ни разу ей не пользовался.
Codex оказался на удивление полезным. Например я постоянно забываю как удалить conda env и на скриншоте можно увидеть как это работает. Или например узнать размеры всех скрытых директорий. Обычно такие штуки бы пытался вспомнить/угадать, потом шёл бы в гугл, а Codex позволяет устранить несколько шагов.
Очень забавный терминал и к идее блоков команд привыкаешь очень быстро. Хорошо работает с bash и zsh, но oh-my-zsh игнорирует почти полностью. Блоки работают как локально так и через ssh (разрабы говорят это было нелегко сделать). Если бы была поддержка tmux, аналогичная той что в iTerm думаю я на нём бы и остался.
Из прикольных фишек:
1. Есть command pallet вызываемая по
CMD+P
, аналогичная такой в VSCode и других редакторах1. Можно попросить Codex написать за вас команду. Для этого тыкаете
ALT+`
и пишете что хотите сделать на естественном языке.1. Ещё есть какая-то коллекция сниппетов, но ни разу ей не пользовался.
Codex оказался на удивление полезным. Например я постоянно забываю как удалить conda env и на скриншоте можно увидеть как это работает. Или например узнать размеры всех скрытых директорий. Обычно такие штуки бы пытался вспомнить/угадать, потом шёл бы в гугл, а Codex позволяет устранить несколько шагов.
👍20🔥7💩2
Learning to Prompt for Continual Learning
Wang et al, [Google]
arxiv.org/abs/2112.08654
блогпост: тык
Интересная идея использовать continuous prompt для задач continual learning, где тебе нужно последовательно учить несколько тасок.
Основная проблема CL это catastrophic forgetting — то, что модель забывает старые задачи, когда мы её учим новым задачам. Чтобы разрешить её, LTP не обновляет параметры модели вообще, а обучает только векторы промтов и их ключи. Работает это так: на основе входных данных строится query которая сравнивается с обучаемыми ключами промтов и top-k найденных промтов присоединяются ко входу в трансформер.
Почему это полезно — очень простая и эффективная по памяти имплементация по сравнению со стандартными методами CL типа EWC.
Wang et al, [Google]
arxiv.org/abs/2112.08654
блогпост: тык
Интересная идея использовать continuous prompt для задач continual learning, где тебе нужно последовательно учить несколько тасок.
Основная проблема CL это catastrophic forgetting — то, что модель забывает старые задачи, когда мы её учим новым задачам. Чтобы разрешить её, LTP не обновляет параметры модели вообще, а обучает только векторы промтов и их ключи. Работает это так: на основе входных данных строится query которая сравнивается с обучаемыми ключами промтов и top-k найденных промтов присоединяются ко входу в трансформер.
Почему это полезно — очень простая и эффективная по памяти имплементация по сравнению со стандартными методами CL типа EWC.
👍7
🤗 запускает курс по RL
Syllabus: https://github.com/huggingface/deep-rl-class
Регистрация: тык
Обещают научить работать со stable baselines, RLlib, RL Baselines3 Zoo. Также будут не только заезженные Space Invaders но и новые environments, включая работающие на Unity.
Кроме классических топиков (Q learning, policy gradients, PPO) будут также offline RL и decision transformers.
Заучит классно, мне давно пора подтянуть свои RL скилы.
Syllabus: https://github.com/huggingface/deep-rl-class
Регистрация: тык
Обещают научить работать со stable baselines, RLlib, RL Baselines3 Zoo. Также будут не только заезженные Space Invaders но и новые environments, включая работающие на Unity.
Кроме классических топиков (Q learning, policy gradients, PPO) будут также offline RL и decision transformers.
Заучит классно, мне давно пора подтянуть свои RL скилы.
GitHub
GitHub - huggingface/deep-rl-class: This repo contains the Hugging Face Deep Reinforcement Learning Course.
This repo contains the Hugging Face Deep Reinforcement Learning Course. - huggingface/deep-rl-class
🔥22👍19
Forwarded from Градиент обреченный
MASSIVE — новый мультиязыковой NLU датасет от Amazon
🌗 Amazon запустил соревнование по NLU (natural language understanding) и, в связи с этим, расшарил параллельный датасет.
• 51 язык
• Всего порядка 1 миллиона строк.
🌗 Посмотрел на него, — похоже, что это всё команды для голосового помощника alex'ы.
• Есть разметка типа "можешь создать событие [time : в ночь] на [date : пятницу] с [person : аллой пугачёвой] и [person : киркоровым]"
• Почти все тексты короткие, до 20 слов.
• Попадаются различия в переводе названий. Русский — "включи игру танки онлайн", немецкий "lass uns ein trivia spiel spielen".
Что ж, появился новый параллельный корпус на 51 язык, хотя и немного специфичный. И то хорошо.
GitHub
🌗 Amazon запустил соревнование по NLU (natural language understanding) и, в связи с этим, расшарил параллельный датасет.
• 51 язык
• Всего порядка 1 миллиона строк.
🌗 Посмотрел на него, — похоже, что это всё команды для голосового помощника alex'ы.
• Есть разметка типа "можешь создать событие [time : в ночь] на [date : пятницу] с [person : аллой пугачёвой] и [person : киркоровым]"
• Почти все тексты короткие, до 20 слов.
• Попадаются различия в переводе названий. Русский — "включи игру танки онлайн", немецкий "lass uns ein trivia spiel spielen".
Что ж, появился новый параллельный корпус на 51 язык, хотя и немного специфичный. И то хорошо.
GitHub
🔥19👍5
Так как понедельник день тяжёлый (как и любой другой день), давайте просто почитаем популярные новости и бомбёж рисёчеров на эти новости.
New York Times A.I. Is Mastering Language. Should We Trust What It Says?
Реакция Emiliy Bender на эту статью: Resist the Urge to be Impressed
New York Times A.I. Is Mastering Language. Should We Trust What It Says?
Реакция Emiliy Bender на эту статью: Resist the Urge to be Impressed
NY Times
A.I. Is Mastering Language. Should We Trust What It Says?
OpenAI’s GPT-3 and other neural nets can now write original prose with mind-boggling fluency — a development that could have profound implications for the future.
👍6
Стенфорд выложил все видосы cs224n Winter 2021 Natural Language Processing. 🔥🔥
Это один из лучших курсов по nlp в мире, и теперь доступна его более свежая версия. Есть нормальная лекция по трансформерам, T5, low resource MT.
Всем смотреть.
https://youtube.com/playlist?list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ
Это один из лучших курсов по nlp в мире, и теперь доступна его более свежая версия. Есть нормальная лекция по трансформерам, T5, low resource MT.
Всем смотреть.
https://youtube.com/playlist?list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ
YouTube
Stanford CS224N: Natural Language Processing with Deep Learning | Winter 2021
For more information about Stanford’s Artificial Intelligence professional and graduate programs, visit: https://stanford.io/ai
🔥82👍1
AI Alignment and the Long-Term Future Speaker Series
harvardea.org/agathon
Когда мы всё чаще используем огромные модели натренированные на террабайтах данных, контролировать их становится всё сложнее. Но при этом мы не хотим, чтобы чатботы которых мы сделали на основе GPT3 или T5 были токсичными и в принципе генерировали всякую дичь. Мы хотим чтобы они отражали какие-то наши базовые моральны ценности, и данные из интернета — не лучший пример этих ценностей. Для того, чтобы научить модели хорошему сейчас есть зарождающаяся область исследований model alignment, которая пытается align AI values to that of human values. В Гарварде и MIT недавно прошла speaker series на эту тему, рекомендую посмотреть записи / слайды.
harvardea.org/agathon
Когда мы всё чаще используем огромные модели натренированные на террабайтах данных, контролировать их становится всё сложнее. Но при этом мы не хотим, чтобы чатботы которых мы сделали на основе GPT3 или T5 были токсичными и в принципе генерировали всякую дичь. Мы хотим чтобы они отражали какие-то наши базовые моральны ценности, и данные из интернета — не лучший пример этих ценностей. Для того, чтобы научить модели хорошему сейчас есть зарождающаяся область исследований model alignment, которая пытается align AI values to that of human values. В Гарварде и MIT недавно прошла speaker series на эту тему, рекомендую посмотреть записи / слайды.
👍12
Forwarded from Градиентное погружение
Про прогрессбары
Недавно понадобилось отслеживать состояние обучения модельки(переводчика) в реалтайме, но я работаю в save & run all кагла, что довольно неудобно и накладывает ограничения
Соответственно появились мысли о всяких MLOps инструментах типо wandb, neptune, tensorboard и тд
Но они тоже не сказать что супер удобные, ведь что есть удобнее мессенджеров?
Тут я начал гуглить на эту тему что-то для тг. Нашел штуку HF, которая тупо отправляет сообщение в мессенджер. Нормально, но хочется большего, большего реалтайма без флуда
Написал другу об этом всём, а в ответ:
Сделать TQDM вывод красивый, вытащить выходной поток, прогнать через какую-нить либу, которая по любому есть, это-ж питон. И в одно сообщение красиво скидывать с таймаутом в минуту, не шля новые, а изменяя старое
(хотя скорее всего есть более удобные инструменты юпитера)
Как ни странно он был прав, при этом настолько, что изменить в коде нужно было всего две строчки:
Недавно понадобилось отслеживать состояние обучения модельки(переводчика) в реалтайме, но я работаю в save & run all кагла, что довольно неудобно и накладывает ограничения
Соответственно появились мысли о всяких MLOps инструментах типо wandb, neptune, tensorboard и тд
Но они тоже не сказать что супер удобные, ведь что есть удобнее мессенджеров?
Тут я начал гуглить на эту тему что-то для тг. Нашел штуку HF, которая тупо отправляет сообщение в мессенджер. Нормально, но хочется большего, большего реалтайма без флуда
Написал другу об этом всём, а в ответ:
Сделать TQDM вывод красивый, вытащить выходной поток, прогнать через какую-нить либу, которая по любому есть, это-ж питон. И в одно сообщение красиво скидывать с таймаутом в минуту, не шля новые, а изменяя старое
(хотя скорее всего есть более удобные инструменты юпитера)
Как ни странно он был прав, при этом настолько, что изменить в коде нужно было всего две строчки:
from tqdm.contrib.telegram import tqdmВ конечном итоге я остановился на комбинации tqdm telegram + wandb (полный вывод консоли + использование ресурсов) и пока что меня это устраивает
for i in tqdm(iterable, token='{token}', chat_id='{chat_id}'):
...
👍45😱21🔥6
«Сколково» при поддержке ВТБ провели конференцию по анализу данных. Среди самых популярных сессий:
🔹 MLOps. Как использовать DevOps для внедрения систем ИИ и настроить непрерывный релиз моделей ML
🔹 ДНК дата-сайентиста. Как меняются требования к ds специалистам, почему им могут отказать на собеседовании и как выстраивать образовательный трек
🔹 От научной статьи до MVP. Как довести идею до конкретного продукта и какие сложности с R&D в области искусственного интеллекта есть в России.
Смотрите сессии об этом на конференции Data Fusion 2022, записи доступны на сайте или в VK.
Также среди тем: федеративные модели, экономичные нейросети, графовая аналитика, распределенные методы оптимизации, диффузионные модели, робастность глубоких нейросетей и многое другое.
Ищите запись выступлений экспертов по ссылке
#промо
🔹 MLOps. Как использовать DevOps для внедрения систем ИИ и настроить непрерывный релиз моделей ML
🔹 ДНК дата-сайентиста. Как меняются требования к ds специалистам, почему им могут отказать на собеседовании и как выстраивать образовательный трек
🔹 От научной статьи до MVP. Как довести идею до конкретного продукта и какие сложности с R&D в области искусственного интеллекта есть в России.
Смотрите сессии об этом на конференции Data Fusion 2022, записи доступны на сайте или в VK.
Также среди тем: федеративные модели, экономичные нейросети, графовая аналитика, распределенные методы оптимизации, диффузионные модели, робастность глубоких нейросетей и многое другое.
Ищите запись выступлений экспертов по ссылке
#промо
Data Fusion 2022
Live
Программа конференции. Трек 1 Трек 1 первый деньТрек 2 первый деньТрек 1 второй деньТрек 2 второй день Чат. Трек 1
👍16🤮12💩3
Одной строкой:
1. NormFormer - новая модификация трансформера, которая позволяет использовать большие LR стабильно обходит трансформер на языковом моделировании (тестировали вплоть до 3B параметров)
1. surgeon-pytorch - библиотека, которая позволяет легко инспектировать различные слои любых моделей pytorch без необходимости ковыраться в исходниках
1. Language Contamination Explains the Cross-lingual Capabilities of English Pretrained Models - в статье утверждают, что частично успех мультиязычности языковых моделей объясняется тем что английские корпуса содержат много неанглийского текста (0.26% в С4, 1.5% в CCNews). Нашли статистически значимую корреляцию между этими цифрами и "мультиязычностью" модели.
1. 🦩 Flamingo - думаю скоро в каждом канале будет обзор этой мультиязычной модели от DeepMind, которая отлично умеет в visual question answering и в диалоги с картинками и всё это с помощью промптинга, zero-shot
1. Advanced Topics in Multimodal ML — новая неделя курса, теперь разбирают Explainability & Interpretability
1. PolyLoss - интересный заход на cross-entropy loss. В него добавляют квадратичные члены (в смысле разложения likelihood в ряд Тейлора) и обучаемый параметр. В задачах CV обходит обычную cross-entropy и focal loss.
1. NormFormer - новая модификация трансформера, которая позволяет использовать большие LR стабильно обходит трансформер на языковом моделировании (тестировали вплоть до 3B параметров)
1. surgeon-pytorch - библиотека, которая позволяет легко инспектировать различные слои любых моделей pytorch без необходимости ковыраться в исходниках
1. Language Contamination Explains the Cross-lingual Capabilities of English Pretrained Models - в статье утверждают, что частично успех мультиязычности языковых моделей объясняется тем что английские корпуса содержат много неанглийского текста (0.26% в С4, 1.5% в CCNews). Нашли статистически значимую корреляцию между этими цифрами и "мультиязычностью" модели.
1. 🦩 Flamingo - думаю скоро в каждом канале будет обзор этой мультиязычной модели от DeepMind, которая отлично умеет в visual question answering и в диалоги с картинками и всё это с помощью промптинга, zero-shot
1. Advanced Topics in Multimodal ML — новая неделя курса, теперь разбирают Explainability & Interpretability
1. PolyLoss - интересный заход на cross-entropy loss. В него добавляют квадратичные члены (в смысле разложения likelihood в ряд Тейлора) и обучаемый параметр. В задачах CV обходит обычную cross-entropy и focal loss.
GitHub
GitHub - archinetai/surgeon-pytorch: A library to inspect and extract intermediate layers of PyTorch models.
A library to inspect and extract intermediate layers of PyTorch models. - archinetai/surgeon-pytorch
❤20👎1
Forwarded from эйай ньюз
🔥Meta AI публикует код и веса языковой модели с 175B параметров, сравнимой с GPT-3
(!) Беспрецедентный случай. Это будет самая большая модель с предобученными весами в публичном доступе.
Мои коллеги из Meta AI скоро зарелизят библиотеку Open OPT, которая включает набор предварительно обученных трансформеров (от 125M до 175B параметров), которые работают сравнимо с GPT-3 на 14 языковых бенчмарках. При этом авторы улучшили эффективность тренировки, что позволило сократить количество требуемых ресурсов. Это всего лишь какие-то 992 видеокарты A100 с 80GB VRAM. Круто, что цикл тренировки OPT-175B оставляет в 7 раз меньше углеродного следа (75 тонн CO2) за время обучения, чем GPT-3 (500 тонн).
В библиотеке будет код со всеми трюками для обучения всех моделей, а также предобученные веса. Правда веса самой большой модели OPT-175B можно будет скачать только по запросу и с research-only лицензией.
❱❱ OPT: Open Pre-trained Transformer Language Models
❱❱❱ Код на GitHub (скоро будет)
(!) Беспрецедентный случай. Это будет самая большая модель с предобученными весами в публичном доступе.
Мои коллеги из Meta AI скоро зарелизят библиотеку Open OPT, которая включает набор предварительно обученных трансформеров (от 125M до 175B параметров), которые работают сравнимо с GPT-3 на 14 языковых бенчмарках. При этом авторы улучшили эффективность тренировки, что позволило сократить количество требуемых ресурсов. Это всего лишь какие-то 992 видеокарты A100 с 80GB VRAM. Круто, что цикл тренировки OPT-175B оставляет в 7 раз меньше углеродного следа (75 тонн CO2) за время обучения, чем GPT-3 (500 тонн).
В библиотеке будет код со всеми трюками для обучения всех моделей, а также предобученные веса. Правда веса самой большой модели OPT-175B можно будет скачать только по запросу и с research-only лицензией.
❱❱ OPT: Open Pre-trained Transformer Language Models
❱❱❱ Код на GitHub (скоро будет)
🔥31👍3
Подробнее о тренировке OPT — огромной языковой модели с 175B параметров от Meta AI
Чем глубже погружаешься в методы тренировки больших моделей, тем больше понимаешь насколько там боли. С одной стороны у тебя может быть 1000 GPU, но как заставить их работать вместе и что делать когда модель начинает расходиться?
Для обучения OPT использовали коктейль из
1. MegatronDeepSpeed — эффективный tensor parallel
1. NVIDIA Apex — mixed precision
1. Fairscale — fully-sharded data parallel и элистичность тренировки, т.е. чтобы когда умирала какая-то GPU вся тренировка не останавливалась
Модель максимально близка к GPT3. Та же максимальная длина в 2048 токенов, тот же токенизатор от GPT2, ReLU. Pre-norm или post-norm в статье на написано, но предполагаю что pre-norm. Использовали обычный fp16 для весов модели, а ADAM был в fp32.
Данные это смесь данных RoBERTa (BookCorpus, Stories, CCNews), часть The Pile, и PushShift.io Reddit. Дедуплицировали документы с помощью Min-hashLSH, сказали что в The Pile очень много дубликатов. В конце-концов получилось 180B токенов.
Самое весёлое: процесс тренировки. Тренировали самую большую модель 2 месяца, её приходилось вручную перезапускать 35 раз. Автоматически она перезапустилась ещё 70. То есть в среднем чаще чем раз в день с тренировкой что-то происходило. При ручном перезапуске делали диагностику hardware и выключали сломанные ноды. Когда лосс начинал резко расти, модель откатывали до последнего чекпоинта и уменьшали LR. Кроме этого в начале тренировки использовали очень маленький gradient clipping в 0.3.
Вот когда я разчувствовался при чтении статьи это на секции где авторы описывают что во время тренировки они пытались менять оптимизатор в ADAMW на SGD (не помогло, вернули обратно), ресетить скейлинг лосса (это когда мы лосс умножаем на некоторое число, чтобы подсчёт градиентов был более численно стабильным, важно для fp16) и даже менять версию Megatron. У кого-то были напряжённые недели.
Кажется 2022 запомнится демократизацией доступа к большим моделям, что может привести к куче ноывых интересных статей как эти модели применять на практике и какие у них есть косяки. Stay tuned.
Чем глубже погружаешься в методы тренировки больших моделей, тем больше понимаешь насколько там боли. С одной стороны у тебя может быть 1000 GPU, но как заставить их работать вместе и что делать когда модель начинает расходиться?
Для обучения OPT использовали коктейль из
1. MegatronDeepSpeed — эффективный tensor parallel
1. NVIDIA Apex — mixed precision
1. Fairscale — fully-sharded data parallel и элистичность тренировки, т.е. чтобы когда умирала какая-то GPU вся тренировка не останавливалась
Модель максимально близка к GPT3. Та же максимальная длина в 2048 токенов, тот же токенизатор от GPT2, ReLU. Pre-norm или post-norm в статье на написано, но предполагаю что pre-norm. Использовали обычный fp16 для весов модели, а ADAM был в fp32.
Данные это смесь данных RoBERTa (BookCorpus, Stories, CCNews), часть The Pile, и PushShift.io Reddit. Дедуплицировали документы с помощью Min-hashLSH, сказали что в The Pile очень много дубликатов. В конце-концов получилось 180B токенов.
Самое весёлое: процесс тренировки. Тренировали самую большую модель 2 месяца, её приходилось вручную перезапускать 35 раз. Автоматически она перезапустилась ещё 70. То есть в среднем чаще чем раз в день с тренировкой что-то происходило. При ручном перезапуске делали диагностику hardware и выключали сломанные ноды. Когда лосс начинал резко расти, модель откатывали до последнего чекпоинта и уменьшали LR. Кроме этого в начале тренировки использовали очень маленький gradient clipping в 0.3.
Вот когда я разчувствовался при чтении статьи это на секции где авторы описывают что во время тренировки они пытались менять оптимизатор в ADAMW на SGD (не помогло, вернули обратно), ресетить скейлинг лосса (это когда мы лосс умножаем на некоторое число, чтобы подсчёт градиентов был более численно стабильным, важно для fp16) и даже менять версию Megatron. У кого-то были напряжённые недели.
Кажется 2022 запомнится демократизацией доступа к большим моделям, что может привести к куче ноывых интересных статей как эти модели применять на практике и какие у них есть косяки. Stay tuned.
👍29🔥9❤2
The Unreliability of Explanations in Few-Shot In-Context Learning
Ye and Durrett
arxiv.org/abs/2205.03401
Тут говорят что chain of thought reasoning, то есть когда ты тренируешь модель предсказывать не только финальный класс но и делать какое-то текстовое рассуждение перед этим, на самом деле не помогает интерпретируемости.
Вернее говоря, то что генерирует модель может не опираться на текст (внезапно, лол) и даже противоречить ему.
Как по мне, наоборот хорошо что когда модель ошибается, можно увидеть где именно в chain of thought произошла ошибка, и в статье говорят что корректность сгенерированных рассуждений хорошо коррелирует с корректностью финального предсказания, так что пока не расходимся.
Ye and Durrett
arxiv.org/abs/2205.03401
Тут говорят что chain of thought reasoning, то есть когда ты тренируешь модель предсказывать не только финальный класс но и делать какое-то текстовое рассуждение перед этим, на самом деле не помогает интерпретируемости.
Вернее говоря, то что генерирует модель может не опираться на текст (внезапно, лол) и даже противоречить ему.
Как по мне, наоборот хорошо что когда модель ошибается, можно увидеть где именно в chain of thought произошла ошибка, и в статье говорят что корректность сгенерированных рассуждений хорошо коррелирует с корректностью финального предсказания, так что пока не расходимся.
👍13🔥1