заглушки NLP Rise with Transformer Models | Комплексний аналіз T5, BERT і GPT - Unite.AI
Зв'язатися з нами

Штучний Інтелект

NLP Rise with Transformer Models | Комплексний аналіз T5, BERT і GPT

mm

опублікований

 on

Керівництво по НЛП

За останні роки обробка природної мови (NLP) стала одним із найвпливовіших проривів, головним чином завдяки трансформаторній архітектурі. Ці прориви не тільки розширили можливості машин для розуміння та генерування людської мови, але також переосмислили ландшафт численних програм, від пошукових систем до розмовного ШІ.

Щоб повною мірою оцінити значення трансформаторів, ми повинні спочатку озирнутися на попередників і будівельні блоки, які заклали основу цієї революційної архітектури.

Ранні техніки НЛП: Основи до Трансформерів

Вбудовування Word: від One-Hot до Word2Vec

У традиційних підходах до НЛП подання слів часто було буквальним і не було жодної форми семантичного чи синтаксичного розуміння. Одночасне кодування є яскравим прикладом цього обмеження.

Одночасне кодування — це процес, за допомогою якого категоріальні змінні перетворюються на двійкове векторне представлення, де лише один біт є «гарячим» (встановлюється на 1), а всі інші є «холодними» (встановлюється на 0). У контексті НЛП кожне слово в словнику представлено векторами, де кожен вектор відповідає розміру словника, а кожне слово представлено вектором з усіма нулями та однією 0 в індексі, що відповідає цьому слову в словниковий список.

Приклад One-Hot кодування

Припустімо, що ми маємо крихітний словниковий запас із лише п’яти слів: [«король», «королева», «чоловік», «жінка», «дитина»]. Вектори одноразового кодування для кожного слова виглядатимуть так:

  • «король» -> [1, 0, 0, 0, 0]
  • «Королева» -> [0, 1, 0, 0, 0]
  • «чоловік» -> [0, 0, 1, 0, 0]
  • «жінка» -> [0, 0, 0, 1, 0]
  • «дитина» -> [0, 0, 0, 0, 1]

Математичне подання

Якщо позначити як розмір нашого словникового запасу та як одноразове векторне представлення i-го слова в словнику, математичне представлення було б:

де i-та позиція дорівнює 1, а всі інші позиції дорівнюють 0.

Основним недоліком одноразового кодування є те, що воно розглядає кожне слово як ізольовану сутність, не пов’язану з іншими словами. Це призводить до розріджених і багатовимірних векторів, які не фіксують жодної семантичної чи синтаксичної інформації про слова.

Впровадження вбудованих слів, особливо Word2Vec, стало ключовим моментом у НЛП. Word2013Vec, розроблений командою Google на чолі з Томасом Міколовим у 2 році, представляв слова в щільному векторному просторі, фіксуючи синтаксичні та семантичні зв’язки слів на основі їхнього контексту у великих корпусах тексту.

На відміну від одноразового кодування, Word2Vec створює щільні вектори, зазвичай із сотнями вимірів. Слова, що з’являються в схожих контекстах, наприклад «король» і «королева», матимуть векторні представлення, які ближче одне до одного у векторному просторі.

Для ілюстрації припустімо, що ми навчили модель Word2Vec і тепер представляємо слова в гіпотетичному тривимірному просторі. Вбудовування (які зазвичай є більш ніж 3D, але зменшені тут для простоти) можуть виглядати приблизно так:

  • «король» -> [0.2, 0.1, 0.9]
  • «Королева» -> [0.21, 0.13, 0.85]
  • «людина» -> [0.4, 0.3, 0.2]
  • «жінка» -> [0.41, 0.33, 0.27]
  • «дитина» -> [0.5, 0.5, 0.1]

Хоча ці числа вигадані, вони ілюструють, як подібні слова мають схожі вектори.

Математичне подання

Якщо ми представимо вбудовування Word2Vec слова як , і наш простір для вбудовування має розміри, то можна представити як:

Семантичні зв'язки

Word2Vec може навіть фіксувати складні зв’язки, такі як аналогії. Наприклад, відомий зв’язок, який фіксується вбудовуваннями Word2Vec:

вектор(«король») – вектор(«чоловік») + вектор(«жінка»)≈вектор(«королева»)

Це можливо, оскільки Word2Vec налаштовує вектори слів під час навчання так, щоб слова, які мають спільний контекст у корпусі, розташовувалися близько у векторному просторі.

Word2Vec використовує дві основні архітектури для створення розподіленого представлення слів: Continuous Bag-of-Words (CBOW) і Skip-Gram. CBOW передбачає цільове слово на основі навколишніх контекстних слів, тоді як Skip-Gram робить зворотне, прогнозуючи контекстні слова на основі цільового слова. Це дозволило машинам почати розуміти вживання слів і значення більш детально.

Моделювання послідовності: RNN і LSTM

У міру розвитку галузі фокус змістився на розуміння послідовності тексту, що було вирішальним для таких завдань, як машинний переклад, узагальнення тексту та аналіз настроїв. Рекурентні нейронні мережі (RNN) стали наріжним каменем для цих програм завдяки їхній здатності обробляти послідовні дані, зберігаючи форму пам’яті.

Однак РНМ не були позбавлені обмежень. Вони боролися з довгостроковими залежностями через проблему зникаючого градієнта, коли інформація втрачається протягом довгих послідовностей, що ускладнює вивчення кореляції між віддаленими подіями.

Мережі довгострокової короткочасної пам’яті (LSTM), представлені Зепп Хохрайтер і Юрген Шмідгубер у 1997 році, вирішив цю проблему за допомогою більш складної архітектури. LSTM мають шлюзи, які контролюють потік інформації: шлюз введення, шлюз забуття та вихідний шлюз. Ці ворота визначають, яка інформація зберігається, оновлюється чи відкидається, дозволяючи мережі зберігати довгострокові залежності та значно покращуючи продуктивність широкого спектру завдань NLP.

Архітектура трансформатора

Ландшафт НЛП зазнав кардинальних змін із введенням моделі трансформатора в епохальній статті «Увага — це все, що вам потрібно» Васвані та ін. у 2017 році. Архітектура трансформатора відходить від послідовної обробки RNN і LSTM і замість цього використовує механізм під назвою «самоувага» для зважування впливу різних частин вхідних даних.

Основна ідея трансформатора полягає в тому, що він може обробляти всі вхідні дані одночасно, а не послідовно. Це дозволяє значно більше розпаралелювати і, як наслідок, значно збільшити швидкість навчання. Механізм самоуважності дозволяє моделі зосереджуватися на різних частинах тексту під час його обробки, що має вирішальне значення для розуміння контексту та зв’язків між словами, незалежно від їхньої позиції в тексті.

Кодер і декодер в Transformers:

В оригінальній моделі Transformer, як описано в статті "Увага – це все, що вам потрібно” Vaswani та ін., архітектура розділена на дві основні частини: кодер і декодер. Обидві частини складаються з шарів, які мають однакову загальну структуру, але служать різним цілям.

Кодер:

  • Роль: Роль кодера полягає в обробці вхідних даних і створенні представлення, яке фіксує зв’язки між елементами (як слова в реченні). Ця частина трансформатора не створює нового вмісту; він просто перетворює вхідні дані в стан, який може використовувати декодер.
  • Функціональність: Кожен рівень кодера має механізми самоконтролю та нейронні мережі прямого зв’язку. Механізм самоконтролю дозволяє кожній позиції кодера звертати увагу на всі позиції на попередньому рівні кодера, таким чином, він може вивчати контекст навколо кожного слова.
  • Контекстні вбудовування: вихід кодера — це ряд векторів, які представляють вхідну послідовність у просторі великої розмірності. Ці вектори часто називають контекстними вкладеннями, оскільки вони кодують не лише окремі слова, але й їхній контекст у реченні.

Декодер:

  • Роль: Роль декодера полягає в тому, щоб генерувати вихідні дані послідовно, одну частину за раз, на основі вхідних даних, які він отримує від кодера, і того, що він згенерував до цього часу. Він призначений для таких завдань, як генерація тексту, де порядок генерації є вирішальним.
  • Функціональність: Рівні декодера також містять механізми самоконтролю, але вони замасковані, щоб запобігти переходу позицій до наступних позицій. Це гарантує, що прогноз для певної позиції може залежати лише від відомих результатів на позиціях перед нею. Крім того, рівні декодера включають другий механізм уваги, який звертає увагу на вихід кодера, інтегруючи контекст із вхідних даних у процес генерації.
  • Можливості послідовної генерації: це стосується здатності декодера генерувати послідовність по одному елементу за раз, спираючись на те, що він уже створив. Наприклад, під час генерації тексту декодер передбачає наступне слово на основі контексту, наданого кодувальником, і послідовності слів, які він уже згенерував.

Кожен із цих підрівнів кодера та декодера має вирішальне значення для здатності моделі обробляти складні завдання NLP. Механізм уваги з кількома головами, зокрема, дозволяє моделі вибірково зосереджуватися на різних частинах послідовності, забезпечуючи повне розуміння контексту.

Популярні моделі з використанням трансформерів

Після початкового успіху моделі трансформатора стався вибух нових моделей, побудованих на її архітектурі, кожна з власними інноваціями та оптимізацією для різних завдань:

BERT (Подання двонаправленого кодера від трансформаторів): BERT, представлений Google у 2018 році, революціонізував спосіб інтеграції контекстної інформації в мовні представлення. Завдяки попередньому навчанню на великому корпусі тексту з маскованою мовною моделлю та передбаченням наступного речення, BERT захоплює багаті двонаправлені контексти та досягнув найсучасніших результатів у широкому спектрі завдань НЛП.

БЕРТ

БЕРТ

T5 (Трансформатор передачі тексту в текст): Уступ Google у 2020 році, T5 переформатовує всі завдання НЛП як задачу перетворення тексту в текст, використовуючи уніфікований текстовий формат. Такий підхід спрощує процес застосування моделі до різноманітних завдань, включаючи переклад, узагальнення та відповіді на запитання.

t5 Архітектура

Архітектура T5

GPT (генеративний попередньо навчений трансформатор): Розроб OpenAI, лінійка моделей GPT почалася з GPT-1 і досягла GPT-4 до 2023 року. Ці моделі проходять попереднє навчання за допомогою неконтрольованого навчання величезних обсягів текстових даних і налаштовані для виконання різних завдань. Їхня здатність генерувати зв’язний і релевантний контексту текст зробила їх дуже впливовими як в академічних, так і в комерційних програмах ШІ.

GPT

Архітектура GPT

Ось більш детальне порівняння моделей T5, BERT і GPT за різними вимірами:

1. Токенізація та словниковий запас

  • БЕРТ: використовує токенізацію WordPiece із розміром словника близько 30,000 XNUMX токенів.
  • GPT: Використовує кодування пари байтів (BPE) із великим розміром словника (наприклад, GPT-3 має розмір словника 175,000 XNUMX).
  • T5: використовує токенізацію SentencePiece, яка розглядає текст як необроблений і не потребує попередньо сегментованих слів.

2. Цілі попередньої підготовки

  • БЕРТ: моделювання замаскованої мови (MLM) і передбачення наступного речення (NSP).
  • GPT: моделювання причинно-наслідкової мови (CLM), де кожен маркер передбачає наступний маркер у послідовності.
  • T5: Використовує ціль усунення шуму, де випадкові фрагменти тексту замінюються дозорним маркером, а модель вчиться реконструювати вихідний текст.

3. Вхідне представлення

  • БЕРТ: маркери, сегменти та позиційні вбудовування поєднуються для представлення вхідних даних.
  • GPT: Вбудовування токенів і позицій поєднується (без вбудовування сегментів, оскільки це не розроблено для завдань із парами речень).
  • T5: лише вбудовані маркери з доданими відносними позиційними кодуваннями під час операцій звернення уваги.

4. Механізм уваги

  • БЕРТ: Використовує абсолютне позиційне кодування та дозволяє кожному маркеру звертати увагу на всі маркери ліворуч і праворуч (двостороння увага).
  • GPT: також використовує абсолютне позиційне кодування, але обмежує увагу лише попередніми маркерами (односпрямована увага).
  • T5: Реалізує варіант трансформатора, який використовує відносні зміщення позиції замість позиційного вбудовування.

5. Архітектура моделі

  • БЕРТ: архітектура лише кодера з декількома шарами трансформаторних блоків.
  • GPT: Архітектура лише декодера, також із кількома рівнями, але призначена для генеративних завдань.
  • T5: архітектура кодера-декодера, де і кодер, і декодер складаються з трансформаторних рівнів.

6. Підхід до тонкого налаштування

  • БЕРТ: адаптує остаточні приховані стани попередньо навченої моделі для подальших завдань із додатковими вихідними рівнями за потреби.
  • GPT: додає лінійний шар поверх трансформатора та точно налаштовує наступне завдання, використовуючи ту саму ціль моделювання причинно-наслідкової мови.
  • T5: перетворює всі завдання у формат тексту в текст, де модель точно налаштовується для генерації цільової послідовності з вхідної послідовності.

7. Навчальні дані та масштаб

  • БЕРТ: Навчання на BooksCorpus та англійській Вікіпедії.
  • GPT: GPT-2 і GPT-3 навчалися на різних наборах даних, отриманих з Інтернету, а GPT-3 навчався на ще більшому корпусі під назвою Common Crawl.
  • T5: навчався на «Colossal Clean Crawled Corpus», який є великою та чистою версією Common Crawl.

8. Обробка контексту та двонаправленості

  • БЕРТ: призначений для розуміння контексту в обох напрямках одночасно.
  • GPT: навчений розуміти контекст у прямому напрямку (зліва направо).
  • T5: може моделювати двонаправлений контекст у кодері та односпрямований у декодері, що підходить для завдань послідовності.

9. Можливість адаптації до подальших завдань

  • БЕРТ: Вимагає рівнів заголовка для конкретного завдання та тонкого налаштування для кожного подальшого завдання.
  • GPT: має генеративний характер і його можна спонукати виконувати завдання з мінімальними змінами його структури.
  • T5: розглядає кожне завдання як проблему «тексту в текст», що робить його за своєю суттю гнучким і адаптованим до нових завдань.

10. Можливість інтерпретації та пояснення

  • БЕРТ: Двонаправлений характер забезпечує багаті контекстні вбудовування, але може бути важчим для інтерпретації.
  • GPT: односпрямований контекст може бути більш зрозумілим, але йому бракує глибини двонаправленого контексту.
  • T5: структура кодера-декодера забезпечує чіткий розподіл етапів обробки, але може бути складною для аналізу через її генеративну природу.

Вплив трансформерів на НЛП

Трансформери зробили революцію в галузі НЛП, дозволивши моделям паралельно обробляти послідовності даних, що значно підвищило швидкість і ефективність навчання великих нейронних мереж. Вони представили механізм самоуважності, що дозволяє моделям зважувати значущість кожної частини вхідних даних, незалежно від відстані всередині послідовності. Це призвело до безпрецедентних покращень у широкому спектрі завдань НЛП, включаючи, але не обмежуючись, переклад, відповіді на запитання та резюмування тексту.

Дослідження продовжують розширювати межі можливостей моделей на основі трансформаторів. GPT-4 і його сучасні моделі не тільки більші за масштабом, але й більш ефективні та потужні завдяки прогресу в архітектурі та методах навчання. Такі методи, як поодиноке навчання, коли моделі виконують завдання з мінімальною кількістю прикладів, і методи для більш ефективного перенесення навчання знаходяться в авангарді сучасних досліджень.

Мовні моделі, подібні до тих, що базуються на трансформаторах, вивчають дані, які можуть містити упередження. Дослідники та практики активно працюють над виявленням, розумінням і пом’якшенням цих упереджень. Техніки варіюються від підібраних навчальних наборів даних до коригувань після навчання, спрямованих на справедливість і нейтральність.

Останні п’ять років я провів, занурюючись у захоплюючий світ машинного та глибокого навчання. Моя пристрасть і досвід допомогли мені внести свій внесок у понад 50 різноманітних проектів розробки програмного забезпечення, зосередивши особливу увагу на ШІ/ML. Моя постійна цікавість також привела мене до обробки природної мови, галузі, яку я хочу досліджувати далі.