NLP · 8 у порівнянні
Transformer family
Кожна модель тут — той самий блок з Attention Is All You Need, складений у стек. Читайте перший стовпець: на що дозволено дивитися кожній позиції, визначає ціль, задачу й усе подальше.
Порівняння
| Назва Що змінює | Увага | Попереднє навчання | Заточена під | Мета |
|---|---|---|---|---|
| BERT 2018 Маскує 15% токенів і прогнозує їх з обох боків, що робить правий контекст законним. Потім один додатковий вихідний шар пристосовує модель до будь-якої задачі. Повна сторінка → | двонаправлена | масковане LM і прогнозування наступного речення | розуміння | нова здатність |
| RoBERTa 2019 Та сама архітектура з кращим рецептом — довше, більші батчі, більше даних, без цілі наступного речення і з маскою, що змінюється щоепохи. BERT був недонавчений. | двонаправлена | масковане LM, динамічне маскування | розуміння | точність |
| ALBERT 2019 Дві техніки зменшення параметрів плюс втрата зв’язності між реченнями, тож модель із меншою кількістю параметрів, ніж BERT-large, перемагає її. Ваги спільні, а не прибрані. | двонаправлена | масковане LM, зв’язність між реченнями | розуміння | пам’ять |
| DistilBERT 2019 Дистилює під час попереднього навчання, а не під кожну задачу, тож один учень служить кожній задачі нижнього рівня — на 40% менший, на 60% швидший, 97% оцінки розуміння мови збережено. | двонаправлена | дистиляція з BERT | розуміння | вартість висновування |
| T5 2019 Зводить переклад, класифікацію, реферування й відповіді на запитання до «текст на вході, текст на виході», тож один енкодер–декодер і одна втрата покривають кожну задачу дослідження. | енкодер плюс декодер | псування фрагментів | текст у текст | загальність |
| ELECTRA 2020 Замінює маскування розпізнаванням токенів, які замінив малий генератор. Задачу визначено на кожній позиції, а не на замаскованих 15%, і саме звідси ефективність. | двонаправлена | виявлення замінених токенів | розуміння | обчислення |
| GPT-3 2020 Масштабує авторегресійний декодер до 175 мільярдів параметрів і відмовляється від донавчання — задачу описують у промпті, без жодних оновлень градієнта. | каузальна | наступний токен | генерація | масштаб |
| ViT 2020 Ріже зображення на патчі й подає їх звичайному енкодеру трансформера, показуючи, що залежність від згортки ніколи не була необхідною за достатньої кількості даних для попереднього навчання. | двонаправлена | масштабне попереднє навчання на зображеннях | зір | новий домен |
Родовід
- 2018BERT Повна сторінка → Маскує 15% токенів і прогнозує їх з обох боків, що робить правий контекст законним. Потім один додатковий вихідний шар пристосовує модель до будь-якої задачі. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding привела до RoBERTa
- 2019RoBERTa Та сама архітектура з кращим рецептом — довше, більші батчі, більше даних, без цілі наступного речення і з маскою, що змінюється щоепохи. BERT був недонавчений. RoBERTa: A Robustly Optimized BERT Pretraining Approach лінія завершується тут
- 2019ALBERT Дві техніки зменшення параметрів плюс втрата зв’язності між реченнями, тож модель із меншою кількістю параметрів, ніж BERT-large, перемагає її. Ваги спільні, а не прибрані. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations лінія завершується тут
- 2019DistilBERT Дистилює під час попереднього навчання, а не під кожну задачу, тож один учень служить кожній задачі нижнього рівня — на 40% менший, на 60% швидший, 97% оцінки розуміння мови збережено. DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter лінія завершується тут
- 2019T5 Зводить переклад, класифікацію, реферування й відповіді на запитання до «текст на вході, текст на виході», тож один енкодер–декодер і одна втрата покривають кожну задачу дослідження. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer лінія завершується тут
- 2020ELECTRA Замінює маскування розпізнаванням токенів, які замінив малий генератор. Задачу визначено на кожній позиції, а не на замаскованих 15%, і саме звідси ефективність. ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators лінія завершується тут
- 2020GPT-3 Масштабує авторегресійний декодер до 175 мільярдів параметрів і відмовляється від донавчання — задачу описують у промпті, без жодних оновлень градієнта. Language Models are Few-Shot Learners лінія завершується тут
- 2020ViT Ріже зображення на патчі й подає їх звичайному енкодеру трансформера, показуючи, що залежність від згортки ніколи не була необхідною за достатньої кількості даних для попереднього навчання. An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale лінія завершується тут
Спершу прочитайте стовпець Увага, бо решта три з нього випливають.
Двонаправлена означає, що кожна позиція бачить усю послідовність, а це можливо, лише якщо навчальна ціль щось приховує. BERT приховує маскуванням, і стаття прямо каже, що це не стилістичний вибір: стандартні мовні моделі «можна навчати лише зліва направо чи справа наліво, бо двонаправлене обумовлювання дозволило б кожному слову опосередковано “бачити себе”» [1, §3.1]. Приберіть маску — і задача стає тривіальною.
Каузальна означає, що кожна позиція бачить лише те, що перед нею, а це саме те, чого вимагає генерація, і саме те, що погіршує модель в оцінюванні тексту, який уже є, — абляція є на сторінці BERT.
Енкодер плюс декодер тримає обидва, ціною двох стеків.
Усе інше в таблиці похідне. Двонаправлена модель заточена під розуміння, каузальна — під генерацію, а ціль — яка завгодно задача, що її патерн уваги робить нетривіальною.
Після BERT майже ніхто не додав нової здатності
Подивіться вниз по стовпцю Мета. BERT купив нову здатність; майже кожна модель під ним відкуповувала назад ресурс.
RoBERTa купила точність самим лише рецептом. Її зміни перелічено прямо — «(1) навчати модель довше, більшими батчами, на більшій кількості даних; (2) прибрати ціль прогнозування наступного речення; (3) навчати на довших послідовностях; (4) динамічно змінювати патерн маскування» [2, §1], — а висновок такий: «BERT був суттєво недонавчений і може зрівнятися з кожною моделлю, опублікованою після нього, або перевершити її» [2, abstract]. Рік архітектурного прогресу почасти виявився артефактом бюджету навчання, і це найкорисніший результат у цій таблиці.
ALBERT і DistilBERT відкупили розмір протилежними засобами. ALBERT застосовує «дві техніки зменшення кількості параметрів, щоб знизити споживання пам’яті й підвищити швидкість навчання BERT», досягаючи найкращого результату «за меншої кількості параметрів порівняно з BERT-large» [3, abstract], — мережа не менша, її ваги спільні. DistilBERT натомість навчає справді меншого учня й переносить дистиляцію в попереднє навчання: «тоді як більшість попередніх робіт досліджували дистиляцію для побудови моделей під конкретні задачі, ми використовуємо дистиляцію знань на етапі попереднього навчання», що «зменшує розмір моделі BERT на 40%, зберігаючи 97% її здатностей до розуміння мови й будучи на 60% швидшою» [4, abstract]. Одну дешевше навчати, іншу — запускати.
ELECTRA відкупила обчислення, виправивши неефективність маскування. Її ціль псує вхід, «замінюючи деякі токени правдоподібними альтернативами, вибраними з невеликої мережі-генератора», а потім прогнозує, які саме замінено; причину, чому це швидше, названо точно: «задачу визначено на всіх вхідних токенах, а не лише на невеликій замаскованій підмножині» [5, abstract]. Це арифметика зі сторінки BERT, перетворена на конструкцію. Виграш достатньо великий, щоб його процитувати: модель, навчена «на одному GPU за 4 дні», перевершує GPT, навчену «з у 30 разів більшими обчисленнями» [5, abstract].
Дві, що пішли вбік
T5 атакувала інтерфейс, а не модель. Її хід — перетворити «всі текстові мовні задачі на формат “текст у текст”» [6, abstract], через що класифікація, переклад і реферування стають тією самою задачею з різними рядками. Її ціль попереднього навчання вийшла із систематичного порівняння, а не з аргументу: псування фрагментів, що псує 15% послідовності суцільними відрізками, із середньою довжиною фрагмента 3 трохи перевершує незалежно обрані токени [6, §3.3.4].
GPT-3 атакувала сам крок донавчання. Скарга в тому, що попереднє навчання «досі потребує специфічних для задачі наборів даних для донавчання на тисячі чи десятки тисяч прикладів», тоді як «люди зазвичай можуть виконати нову мовну задачу лише з кількох прикладів чи з простих інструкцій» [7, abstract]. Відповідь — масштаб: «175 мільярдів параметрів, у 10 разів більше, ніж у будь-якої попередньої нерозрідженої мовної моделі», — застосований так, що «для всіх задач GPT-3 застосовують без жодних оновлень градієнта чи донавчання параметрів, а задачі й демонстрації з кількома прикладами задають суто текстовою взаємодією» [7, abstract]. Донавчання перестає бути кроком навчання і стає частиною промпту.
А ViT вийшов за межі галузі. Твердження заперечне, і саме цим цікаве: «ця залежність від CNN не є необхідною, і чистий трансформер, застосований безпосередньо до послідовностей патчів зображення, може дуже добре працювати на задачах класифікації зображень» [8, abstract]. Умова важить не менше за твердження: результат справджується, «коли модель попередньо навчено на великих обсягах даних» [8, abstract], а це та сама угода зі слабким індуктивним зміщенням, яку описує сторінка трансформер, оплачена зображеннями.
Що обрати
Класифікуєте, розмічаєте чи видобуваєте з тексту, який уже маєте? Енкодер. Починайте з чекпойнта родини RoBERTa, а не з оригінального BERT, — з причини, яку встановила RoBERTa [2, abstract].
Генеруєте текст? Декодер. Каузальна маска — це вимога, а не обмеження, яке треба обходити.
Перетворюєте один текст на інший — реферуєте, перекладаєте, переписуєте? Енкодер–декодер або декодер із входом у промпті. Аргумент T5 — відмінність між цими задачами менша, ніж здається [6, abstract].
Обмежені затримкою чи пам’яттю? Дистиляція і спільні параметри — дві усталені відповіді, і вони обмінюють різне: DistilBERT менший під час висновування [4, abstract], ALBERT легший у навчанні [3, abstract].
Одне застереження для всієї таблиці. Кожен рядок звітує результати на бенчмарках, і кожен рядок попередньо навчено на корпусі вебтексту, зміст якого автори не обирали слово за словом. Числа — це результати на конкретних наборах даних, а не твердження про мову, і зміщення корпусу успадковує представлення, хоч яку ціль використовували.
Джерела
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (2019)paperhttps://ar5iv.labs.arxiv.org/html/1810.04805
- RoBERTa: A Robustly Optimized BERT Pretraining Approach (2019)paperhttps://ar5iv.labs.arxiv.org/html/1907.11692
- ALBERT: A Lite BERT for Self-supervised Learning of Language Representations (2019)paperhttps://ar5iv.labs.arxiv.org/html/1909.11942
- DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter (2019)paperhttps://ar5iv.labs.arxiv.org/html/1910.01108
- ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators (2020)paperhttps://ar5iv.labs.arxiv.org/html/2003.10555
- Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer (2020)paperhttps://ar5iv.labs.arxiv.org/html/1910.10683
- Language Models are Few-Shot Learners (2020)paperhttps://ar5iv.labs.arxiv.org/html/2005.14165
- An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (2021)paperhttps://ar5iv.labs.arxiv.org/html/2010.11929