DL in NLP
12.5K subscribers
547 photos
13 videos
27 files
1.1K links
Новости и обзоры статей на тему обработки естественного языка, нейросетей и всего такого.

Связь: @dropout05 (рекламы нет)
Download Telegram
Howto 2.0
Github

Я тут вчера сел и переписал почти весь howto. Для тех кто не знает: это простая CLI тулза на OpenAI API гененирующая shell из вопроса на естественном языке.

Главная фича: минимум интерфейса. В отличие от ChatGPT вам не надо покидать терминал. В отличие от Github Copilot CLI тут нет красивого TUI и диалога с пользователем. Вы просто вводите howto install conda single line и получаете команду в ответ.

Новые фичи:
1. gpt-3.5-turbo и gpt-4
1. Более удобный конфиг
1. Кастомизируемый system message
1. Follow-up вопросы

Я использую howto постоянно и фича с follow-up пришла в голову когда понял что иногда команда сгененирована почти правильно, но надо немного подправить и не хочется этого делать руками. Теперь вы можете попросить howto сделать это за вас.
🔥68👍1911🌚1
🔥102🤡16🤪15❤‍🔥3🥴3💋1
Я люблю слушать подкасты на фоне делания чего-нибудь нерабочего. Когда еду в транспорте, бегаю, гуляю, или просто ем. Например постоянно слушаю Radio-T уже лет 10 и @zavtracast уже лет 5.

Долго не мог понять почему мне не заходят подкасты на английском. Иногда могу послушать Lex Fridman, если к нему пришел кто-нибудь интересный типа Sam Altman (OpenAI) или Robert Playter (Boston Dynamics). Но именно эпизодически. Ещё сюда же можно добавить подскасты от The Gradient, Microsoft Research, talkRL, и LatentSpace. Те подкасты которые хорошо и дорого срежисированы и качественно записаны, например подкаст DeepMind мне как-то совсем не заходят.

Но сегодня я понял что мне просто не получается расслабиться слушая их и я хочу что-то типа Завтракаста, где народ рассказывает новости и несёт дичь, но более техническое про ML, DL, AI.

И кажется я его нашёл. This Day in AI оказался для меня идеальным сочетанием новостей, техничности (несмотря на попсовое название), и — главное — дичи. Я понял что мы сойдёмся на фразе "and you have Anthropic, which is some weird futuristic safety sex cult." В общем будем слушать на прогулках.

P.S.
Сейчас пройду собеседования, запущу ReLoRA-1B и надеюсь что смогу вернуться к чуть-чуть более частым постам и обзорам. А то что-то раз в неделю это совсем некрасиво. Ну либо хотя бы найду время заменить себя на GPT4.
👍4115🔥6💩3
Universal-NER
https://universal-ner.github.io

Named Entity Recognition — это очень типичная и полезная задачка NLP. Вам надо заэкстрактить адреса, даты, названия компаний итд. Последний раз я был впечатлён моделью NER.... наверное никогда. А тут Microsoft выложил универсальную NER-модель. Вы просто даёте ей описание каждой entity что вам нужно и запускаете.

Вот как модельку обучили: насемплили коротких (256tok) текстов из The Pile и попросили ChatGPT-3.5 сгенерировать ответы на основе описаний сущностей, повторяем этот процесс ещё 45,888 раз и получаем наш датасет. После чего добавили negative samples и немного high-quality человеческой разметки. Дальше на основе этого датасета обучили модель.

Обходит обычные чат-модели вроде Викуньи и ChatGPT-3.5 (сравнения с GPT-4 нет), а также обходит BERT based когда зафайтюнено на тех же данных

Модели доступны на huggingface. Выглядят очень полезно для рабочего использования (в качестве учителя, тк модель 7B). Если кто-нибудь применит, пишите в чат опыт использования
👍47🔥203
🥴43👍52💯2🔥1😁1🥱1
GPT-3.5 Turbo fine-tuning and API updates
openai.com/blog/gpt-3-5-turbo-fine-tuning-and-api-updates

Теперь GPT-3.5 можно файнтюнить!

Чуть больше подробностей:
1. Все тренировочные данные пропускают через OpenAI Moderation API и через дополнительную систему модерации на GPT4. Кстати если вы не знали про Moderation API — он публично доступен и бесплатен если вы его используете вместе с обычным Chat API.
1. В общем это все детали 🤷‍♂️

Цена:
Training: $0.008 / 1K Tokens
Usage input: $0.012 / 1K Tokens
Usage output: $0.016 / 1K Tokens

Это была очень ожидаемая фича, интересно как пользователи будут её применять.
👍29😁32👎1
Do Batch Sizes Actually Need To Be Powers of 2?
Wandb fully-connected

Много кто из вас наверняка слышал что хороший batch size должен быть степенью двойки. Может быть кто-то слышал, что на самом деле батч сайз должен быть разделим на warp size вашей GPU (обычно 32 или 64). Но насколько это вообще правда?

Для современных нейронок (>100M парметров) делимость батч сайза на 2 (или даже 64) не решает вообще ничего. GPU и так занята полностью так как у таких сеток большие hidden size и seq len (вокруг которых и можно параллелить). А ещё вероятно что ваша GPU просто большую часть своего времени ждёт того как из HBM памяти веса и хиддены перегонятся в SM2 (a.k.a GPU is memory speed bounded).

В статье это вещи проверяют на практике с красивыми графиками в wandb. Оч рекомендую к прочтению, статья короткая.

Однако, от себя добавлю, что шейпы тензоров и правда должны быть кратны 32 (V100) или 64 (A100 и H100) хотя бы по hidden чтобы эффективно использовать CUDA Cores. Так как если кусок вашего тензора не делится на warp, низкоуровневый код на GPU всё равно превратит ваш 65x65 в четыре тензора: 64x64, 1x64, 64x1, 1x1 и потом западит их все до 64x64. PyTorch и CUDA стараются сделать автоматические оптимизации чтобы избежать таких плохих случаев, но не всегда получается. Если я где-то продолбался — пишите в комментариях!

💡Measuring the actual effect on training speed, accuracy and memory consumption when choosing a batch size should be preferred instead of focusing on powers of 2.
🔥44👍205🤔1
Teaching with AI
openai.com/blog/teaching-with-ai

OpenAI выпустил новый пост с гайдом о применении ChatGPT в образовании. Мне кажется что это одна из областей которую до неузнаваемости уже может изменить AI в его текущем проявлении.

В посте рассказывают про текущие успешные кейсы:
1. Role playing challenging conversations - например попросить chatgpt играть интервьюира или критика вашей работы
1. Building quizzes, tests, and lesson plans - составление материалов это очень тяжелая часть преподавания и держать их up to date может быть тяжело. С chatgpt вы же можете просто загрузить вашу лекцию и попросить сделать для неё квиз, ещё и в заданном стиле
1. Reducing friction for non-English speakers - на моём опыте GPT4 сильно обходит google translate в качестве перевода тк вы можете дать ему дополнительный контекст. Например попросить не переводить термины.

Дальше они приводят несколько примеров промптов. Вообще хотелось бы увидеть побольше в посте, но хотя бы мы видим что эта область OpenAI небезынтересна.
31👍6
Пример того о чём я говорил про качество перевода chatgpt / google translate. Для идиом или очень контекстуального перевода обычные переводчики всегда будут хуже языковых моделей.
26
👍69🤔73😁1
🤨255🤣3💩1
ChatGPT be like
🔥88😁443💩3👎2💯2
I can see this conversation at Adept:
AAA: we need to beat LLAMA7b, how do we do it?
BBB: Train an 8B model?
AAA: you’re a genius!

https://www.adept.ai/blog/persimmon-8b
😁47💋2
Flash Attention 2 завезли прямо в 🤗 трансформеры 🔥🔥

Коротко, это мегаэффективный cuda kernel для рассчета attention, который делает ваше потребление памяти линейным вместо квадратичного, да и в принципе работает в несколько раз быстрее наивной имплементации к которой мы все привыкли.

Flash Attention 1 был в 🤗 Optimum и мой опыт с ним... такой себе. Теперь же Flash 2 встроен в основную библиотеку и чтобы его использовать надо просто указать use flash attention 2 в from pretrained.

https://x.com/younesbelkada/status/1705258148045750343
🔥106👍63
🤡156🔥10🥴7🫡5👍1😁1
Дорогие читатели!
Сегодня я сделала шпаргалку по самым известным научным конференциям уровня A* (по CORE2023), связанным с машинным обучением. Большими сойджеками выделены конференции с более высоким h5-индексом в Google Scholar, а маленькими - с h5-индексом поменьше. Забирайте на стену, чтобы не забыть, куда подавать статьи, чтобы потом делать самое сойджековское лицо в своем офисе!

#ML_в_мемах
👍339🤮2
Image input в ChatGPT начали раскатывать на обычных пользователей 🔥

(по крайней мере я получил)

Если бы не дедлайны, провёл бы весь день с этим делая всякие интересные и полезные штуки, пока что лучше держите мем.
👍62🔥14😱125
Effective Long-Context Scaling of Foundation Models
Xiong, Liu, et al., [FAIR]
arxiv.org/abs/2309.16039

Команда LLaMA взяла датасет с длинными текстами, (400B токенов в сумме), и увеличили контекст LLaMA2 с 4K до 32K токенов. Важный трюк: увеличить период RoPE embeddings с 10K до 50K.

Что интересно, выяснилось что предобучать модели на длинных контекстах с самого начала смысла нет. Для этого предобучили несколько LLaMA7B с нуля. Один из них всё время тренировался c 32K-len, другие модели первые 20/40/80% обучения тренировались с 4K, после чего прееключались на 32K. Разница получилась минимальной.

Кроме этого показали scaling law с длинной контекста (см. картинку). Это удобно тем что можно наперёд предсказывать лосс и использовать это как sanity check того что ваша тренировка идёт хорошо.

Финальные модельки обходят всё что есть в опенсорсе (на тот момент Mistral ещё не было). По метрикам в статье, включая human eval, LLaMA2 Long 70B работает так же хорошо как и chatgpt-3.5-16k.
43🤯9🔥3
Новый дайджест из мира NLP

1. Лекции MIT по эффективному DL
1. Гайд по distributed training и PEFT
1. Deep Neural Networks Tend to Extrapolate Predictably — чем более OOD инпут тем больше решение сходится к среднему ответу (лучшему input-independent ответу)
1. Ring Attention with Blockwise Transformers for Near-Infinite Context — эффективная коммуникация для параллелизации attention между разными GPU
1. Value-Guided Monte-Carlo Tree Search decoding — MCTS применили к NLP и получилось отлично

Надеюсь что у вас все хорошо
🇮🇱
🔥4010👍7😁1
Google закроет и этот продукт #293

Когда конкуренты в виде WandB и CometML начали давить на Tensorboard, гугл решил что их проблема не ненадёжный интерфейс, не невозможность строить графики с любыми X и Y уже после того как вы всё залогали, или очень убогий логгинг гиперпараметров. Гугл решили что проблема в том что у них нету своего облака для лога экспериментов и сделали tensorboard.dev

Сегодня это облако закрывается. Если вы храните на нём что-то полезное, в имеиле описано как это скачать.

Но серьёзно, кто-то ещё пользуется tensorboard вместо wandb/clearml?
😁28👍2😢21