Size: a a a

2021 November 11
DL in NLP
GPT-3 for all .... available to selected customers 🤡
источник
2021 November 12
DL in NLP
Иногда видишь статью и в голове примерно такие мысли "Все кому не лень пробовали это 5 лет назад, почему сейчас заработало? Может быть у них какой-то умный лосс? Нет. Они просто воткнули туда трансформер и оно заработало? Да."

DL странный, DL рисёч ещё более странный
источник
DL in NLP
Masked Autoencoders Are Scalable Vision Learners

Ещё одна идея, которая казалось бы была на поверхности, and yet… Берём картиночный автоэнкодер, делим картинку на патчи, прячем их в случайном порядке, и просим декодер восстановить изображение (в режиме self-supervised).

Авторы (Facebook/Meta AI), обнаружили, что скрытие большой части входного изображения, например, 75%, дает нетривиальную и осмысленную задачу для self-supervised обучения. Оказалось, что в такой формулировке, автоэнкодер обучается в ~3 раза быстрее (чем если бы мы учили на изображениях без масок).

Более того, оказалось, что если к такому обученному автоэнкодеру прикрутить голову на классификацию (например), то она будет показывать SOTA результаты. Так же, авторы показывают, что при масштабировании датасета, результаты только улучшаются.

📎 Статья

#selfSupervised #autoencoders #images
источник
2021 November 14
DL in NLP
A Survey of Document Understanding Models
pragmatic.ml/a-survey-of-document-understanding-models

Сегодня как-то случайно наткнулся на Pragmatic.ml и вспомнил насколько мне нравится этот блог своей... прагрматичностью 🥁. Так вот последний блогпост обозревает свежие модельки для анализа целых документов. У меня довольно много знакомых, которые заниаются подобными задачами, тема кажется очень интересной и прикладной.

Блогпост сам по себе уже сжат, поэтому рекомендую прочитать его полностю, но основные интересные для меня моменты такие:

1. Много кто не выкладывает веса моделей. Это немного грустно, но ожидаемо, тк очень прикладной домен, плюс тут происходит комбинация моделек, как минимум с OCR, что усложняет шеринг кода.
1. Всё ещё много архитектурной работы, но видно много упрощения. Кажется волна "просто бери большой трансформер и учи его как языковую модель" почти дошла до этой области. Думаю в следующем году будет совсем жесть, когда есть A100 с 80Гб памяти.
1. ROI для визуальных фич 🤮, столько вьетнамских флешбеков с этого. Но часть моделек переходит к более простым фичам
источник
2021 November 18
DL in NLP
⚡️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 пока только по инвайтам). Пишите что получается в чат, будет интересно узнать какие у людей в среднем впечатления.
источник
DL in NLP
Тут товарищ Nikita Kiselov потестил Apple М1 в tensorflow.
tl;dr:
M1 Pro в два раза быстрее Tesla K80 (colab free), и в два раза медленнее Tesla P100 (colab pro)
M1 Max где-то быстрее P100, где-то на ее уровне.
Лонгрид тут
источник
DL in NLP
GPT-3 с хотдог детектором справился 💪
источник
DL in NLP
источник
DL in NLP
источник
2021 November 24
DL in NLP
​​Hidden Technical Debt in Machine Learning Systems
Sculley et al., [Google], 2015

Несмотря на возраст, статья точно описывает кучу проблем в современных системах. В отличие от обычного софта, когда технический долг весь сидит в коде или документации, в ML есть много альтернативных способов накосячить. Вот некоторые примеры, которые авторы разбирают в статье на основе своего опыта в Google:

1. Старые гиперпараметры, которые непонятно откуда взялись, и не меняются уже N лет, несмотря на то, что и данные и модель уже сильно другие
1. Частный случай предыдущего пункта — трешхолды, которые были потюнены лишь один раз во время первичного деплоя. Это может быть особенно опасно, если ваша система принимает важные для бизнеса или безопасности окружающих решения.
1. Feedback loops — данные для тренировки модели, которые вы коллектите с задеплоеной системы, зависят от модели. Про это нужно помнить и адресовать заранее.
1. Высокоуровневые абстракции над моделями, которые заставляют писать кучу glue code (бывает так что > 90% всего вашего кода это glue code)
1. Рipeline jungles, когда никто не понимает data flow и коммуникация между кусками системы превращается в макароны
1. Предыдущие два пункта зачастую появляются из-за того, что код модели написан рисечерами и его абстракции не подходят для реального мира. Чаще всего лучший способ этого избежать — переписать код модели с нуля.
1. Ещё одно следствие — куча экспериментального кода внутри задеплоеного кода
1. Под конец касаются интересной вещи, которую называют cultural debt. Хорошие ML команды состоят из смеси исследователей и инжереров, которые активно взаимодействуют друг с другом, готовы выкидывать старые куски кода для упрощения системы, обращать столько же внимания на стабильность и мониторинг системы, сколько и на accuracy. Если в команде нету такой культуры, она может быть склонна быстро аккумулировать и преувеличивать существующий техдолг.

Советую почитать оригинальную статью. В ней очень много полезной информации, которую не сжать в пост в телеге.
источник
2021 November 26
DL in NLP
NLP всё. AI зима пришла, можно расходиться ❄️

twitter.com/ryandcotterell/status/1464005569635930130
источник
DL in NLP
What is Automatic Differentiation?
youtube.com/watch?v=wG_nF1awSSY

Наверное самая хитрая и непонятная тема для тех, кто только погружается в DL — это бэкпроп. Для меня в своё время совершенно знаковой была задачка написания бэкпропа для BatchNorm на нумпае (кстати рекомендую). Но если вместо жёсткого погружения в код вы хотите посмотреть хороший видос по автоматическому дифференцированию, который лежит в основе бэкпропа, я очень рекомендую вот этот видос. В нём рассказывают об отличии численного дифференцирования от аналитического от автоматического. В том числе рассказывают про разницу между forward-mode и backward-mode дифференцированием. А также как их можно комбинировать для эффективного рассчёта hessian-vector product, который вам например нужен в MAML. В общем рекомендую к просмотру.
источник
2021 November 30
DL in NLP
GradInit: перебор гиперпараметров оптимизатора и warmup больше не нужны (by Google)

В гугл предложили супер крутой универсальный architecture-agnostic метод инициализации весов моделей.

Идея очень простая: добавить множители перед каждым блоком параметров и запустить по ним несколько итераций оптимизации лосса. Дальше эти множители фиксируем и учим модель как обычно. Такая инициализация не зависит от глубины и типа архитектуры (работает и на резнетах и на трансформерах) и почти полностью решает проблему взрывающихся\затухающих градиентов.

В итоге отпадает необходимость в переборе гиперпараметров оптимизатора, а трансформер вообще получилось обучить без warmup’a, что считалось практически невозможным. Как бонус, такая инициализация даёт небольшой буст на многих бенчмарках (и картиночных и текстовых).

Статья, GitHub
источник