Accelerate your NLP pipelines using Hugging Face Transformers and ONNX Runtime
🤗 + ONNX = ❤️
🤗 + ONNX = ❤️
You can now use ONNX Runtime and Hugging Face Transformers together to improve the experience of training and deploying NLP models. Medium
Accelerate your NLP pipelines using Hugging Face Transformers and ONNX Runtime
This post was written by Morgan Funtowicz from Hugging Face and Tianlei Wu from Microsoft
Интересные штуки
1. Movement Pruning - метод прунинга в pretrain-finetute-парадигме, вместо того, чтобы убирать веса с маленькими значениями даавайте убирать веса, которые меньше всего изменились при файнтюнинге (статья). А ещё я удивился, что Rush теперь в 🤗
1. Выпуск подкаста twiml.ai на тему Is Linguistics Missing from NLP Research
Раздел для самых маленьких:
1. Learn Git and GitHub in 20 Minutes - не перестаю удивляться как мало людей в research-community умеют в гитхаб
1. DeepMind рекомендует учить линейную алгебру
1. Movement Pruning - метод прунинга в pretrain-finetute-парадигме, вместо того, чтобы убирать веса с маленькими значениями даавайте убирать веса, которые меньше всего изменились при файнтюнинге (статья). А ещё я удивился, что Rush теперь в 🤗
1. Выпуск подкаста twiml.ai на тему Is Linguistics Missing from NLP Research
Раздел для самых маленьких:
1. Learn Git and GitHub in 20 Minutes - не перестаю удивляться как мало людей в research-community умеют в гитхаб
1. DeepMind рекомендует учить линейную алгебру
Twitter
Victor Sanh
Excited to share our latest work on extreme pruning in the context of transfer learning 🧀 95% of the original perf with only ~5% of remaining weights in the encoder💪 Paper: https://t.co/3V7gkQQmeL With amazing collaborators @Thom_Wolf & @srush_nlp at @huggingface…
Forwarded from Ivan Shishov
На Datacamp’е (datacamp.com) ещё 10 часов открыта регистрация на бесплатную неделю (есть несколько курсов по NLP, но формат - добавь несколько строчек кода - тут не очень работает, на мой взгляд, зато очень много других вкусняшек)
Тут в дружественном канале довольно подробно описали соврменные неавторегрессионные модели. Советуем к прочтению.
Forwarded from gonzo-обзоры ML статей
В нескольких последующих постах выложу обзор статей о современных неавторегрессионных моделях генерации текста -- т.е. моделей, предлагающих генерировать текст не по одному токену слева направо, а как-то иначе, более хитрым образом. Подробно опишу пять статей на этот счёт, ещё пару упомяну. Изложение будет в хронологической последовательности, и сложность моделей будет постепенно нарастать.
Реформер в 🤗 , дождались.
тык
тык
Twitter
Hugging Face
Long-range sequence modeling meets 🤗 transformers! We are happy to officially release Reformer, a transformer that can process sequences as long as 500.000 tokens from @GoogleAI. Thanks a million, Nikita Kitaev and @lukaszkaiser! Try it out here: https:/…
О штуках, которые заинтересовали в начале этой недели
1. Критика использования beam search для машинного перевода. Показывают, что он искривляет распределение n-gram и возможно именно он - причина артефактов машинного перевода которые мы уже затрагивали (e.g. мультиязычные датасаты). Также предлагают байесовский метод семплирования, который получает и высокий BLEU (как beam search) и сохраняет распределения (как обычное семплирование).
1. Parallax - Immutable Torch Modules for JAX
Если вы не знаете что такое JAX, возможно и не узнаете. Потому что несмотря на интересные идеи, где в numpy-like синтаксисе вы пишете код, который просто работает на CPU/GPU/TPU, в нём нету удобного и привичного интерфейса а-ля nn.Module. Parallax - это попытка на коленке сделать его.
И для самых маленьких:
1. Как организовывать рисёч-код
1. Критика использования beam search для машинного перевода. Показывают, что он искривляет распределение n-gram и возможно именно он - причина артефактов машинного перевода которые мы уже затрагивали (e.g. мультиязычные датасаты). Также предлагают байесовский метод семплирования, который получает и высокий BLEU (как beam search) и сохраняет распределения (как обычное семплирование).
1. Parallax - Immutable Torch Modules for JAX
Если вы не знаете что такое JAX, возможно и не узнаете. Потому что несмотря на интересные идеи, где в numpy-like синтаксисе вы пишете код, который просто работает на CPU/GPU/TPU, в нём нету удобного и привичного интерфейса а-ля nn.Module. Parallax - это попытка на коленке сделать его.
И для самых маленьких:
1. Как организовывать рисёч-код
GitHub
GitHub - srush/parallax
Contribute to srush/parallax development by creating an account on GitHub.
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
Lewis et al. [Facebook]
arxiv.org/abs/2005.11401
Новая open domain question answering моделька от фейсбука мёржит seq2seq подход (T5/BART) с графами знаний. Мне почему-то такой подход кажется одновременно и очень практически полезным и несколько тупиковым, но всё равно интересным.
Основная идея: (предтренированный) attention учится искать по индексу документов, а (предтренированный) генератор обуславливается на то, что нашли. Всё файнтюнится end-to-end.
Lewis et al. [Facebook]
arxiv.org/abs/2005.11401
Новая open domain question answering моделька от фейсбука мёржит seq2seq подход (T5/BART) с графами знаний. Мне почему-то такой подход кажется одновременно и очень практически полезным и несколько тупиковым, но всё равно интересным.
Основная идея: (предтренированный) attention учится искать по индексу документов, а (предтренированный) генератор обуславливается на то, что нашли. Всё файнтюнится end-to-end.
Подвезли GPT-3
175 B параметров!
завтра подробно разберём
twitter.com/arankomatsuzaki/status/1266172138773307392
175 B параметров!
завтра подробно разберём
twitter.com/arankomatsuzaki/status/1266172138773307392
Twitter
Aran Komatsuzaki
Language Models are Few-Shot Learners - GPT 3 (175B params) causal LM - matches with sota fine-tuned performance with few-shot learning on various tasks - can write indistinguishable news articles https://t.co/0wZ036lnMn
Language Models are Few-Shot Learners
Brown, Mann, Ryder, Subbiah et al. [OpenAI]
arxiv.org/abs/2005.14165
Очевидный результат, про который все и так будут говорить - натренировали модель в 175B параметров. Для сравнения, в BERT large 340M, а в GPT2 - 1.5B. Генерит ещё более правдоподобные тексты, которые люди уже не могут отличить от настоящих (accuracy 52%), даже не смотря на то, что они тратят больше времени на ответ, чем с маленькими моделями (на ~20% больше относительно 1B).
А теперь про неочевидные результаты. Мы знаем, что языковые модели могут решать прикладные задачи без обучения. Однако для адекватного качества нужны очень большие модели (возможно, в тысячи раз больше GPT-3). Новые результаты показывают, что в few-shot сеттинге метрика от размера модели растёт несколько быстрее. Получается, LM с увеличеннием размера (модели и датасета) не только учат common sence, но и учатся быстрее генерализовывать по нескольким примерам. Также интересно то, что в статье имеется в виду под few-shot - это не обучение/файнтюнинг модели, в том виде, как мы привыкли. Это просто подача текста вида "x1 : y1, x2:y2, x3: ", где вся небольшая "обучающая выборка" подаётся на вход модели и она должна продолжить её. Такой подход позволил получить SOTA на TriviaQA (настоящий SOTA, в сравнении с моделями обученными на всём датасете) и в срееднем результаты не хуже зафайтнюненого BERT Large.
Но есть одно но. 175B параметров - это 700Гб (350Гб в fp16), так что скорее всего она не поместится в твою *080Ti ещё лет так 5.
Статья очень большая и интересная, советую заглянуть в секцию results, чтобы посмотреть на них подробнее или хотя бы глянуть графики.
Также зарилизили репозиторий, но в нём ничего полезного нет
Brown, Mann, Ryder, Subbiah et al. [OpenAI]
arxiv.org/abs/2005.14165
Очевидный результат, про который все и так будут говорить - натренировали модель в 175B параметров. Для сравнения, в BERT large 340M, а в GPT2 - 1.5B. Генерит ещё более правдоподобные тексты, которые люди уже не могут отличить от настоящих (accuracy 52%), даже не смотря на то, что они тратят больше времени на ответ, чем с маленькими моделями (на ~20% больше относительно 1B).
А теперь про неочевидные результаты. Мы знаем, что языковые модели могут решать прикладные задачи без обучения. Однако для адекватного качества нужны очень большие модели (возможно, в тысячи раз больше GPT-3). Новые результаты показывают, что в few-shot сеттинге метрика от размера модели растёт несколько быстрее. Получается, LM с увеличеннием размера (модели и датасета) не только учат common sence, но и учатся быстрее генерализовывать по нескольким примерам. Также интересно то, что в статье имеется в виду под few-shot - это не обучение/файнтюнинг модели, в том виде, как мы привыкли. Это просто подача текста вида "x1 : y1, x2:y2, x3: ", где вся небольшая "обучающая выборка" подаётся на вход модели и она должна продолжить её. Такой подход позволил получить SOTA на TriviaQA (настоящий SOTA, в сравнении с моделями обученными на всём датасете) и в срееднем результаты не хуже зафайтнюненого BERT Large.
Но есть одно но. 175B параметров - это 700Гб (350Гб в fp16), так что скорее всего она не поместится в твою *080Ti ещё лет так 5.
Статья очень большая и интересная, советую заглянуть в секцию results, чтобы посмотреть на них подробнее или хотя бы глянуть графики.
Также зарилизили репозиторий, но в нём ничего полезного нет
GitHub
GitHub - openai/gpt-3: GPT-3: Language Models are Few-Shot Learners
GPT-3: Language Models are Few-Shot Learners. Contribute to openai/gpt-3 development by creating an account on GitHub.
Новый релиз 🤗, теперь с лонгформером
https://github.com/huggingface/transformers/releases/tag/v2.11.0
https://github.com/huggingface/transformers/releases/tag/v2.11.0
GitHub
Release Longformer · huggingface/transformers
Longformer
Longformer (@ibeltagy)
Longformer for QA (@patil-suraj + @patrickvonplaten)
Longformer fast tokenizer (@patil-suraj)
Longformer for sequence classification (@patil-suraj)
Longformer for...
Longformer (@ibeltagy)
Longformer for QA (@patil-suraj + @patrickvonplaten)
Longformer fast tokenizer (@patil-suraj)
Longformer for sequence classification (@patil-suraj)
Longformer for...