Що таке трансформер ML




Що таке трансформер ML



Трансформери: архітектура, що змінила світ NLP

Трансформери здійснили справжню революцію у світі штучного інтелекту та обробки природної мови (NLP). Поява цієї інноваційної архітектури у 2017 році ознаменувала переломний момент у розвитку технологій:

  • вони відкрили абсолютно нові горизонти в розумінні та генерації людської мови
  • кардинально змінили ландшафт машинного навчання

Що вміють робити трансформери:

  • перекладати тексти з безпрецедентною точністю
  • створювати поезію
  • писати код
  • вести осмислені діалоги

Все це стало можливим завдяки трансформерам. Але що робить цю архітектуру настільки особливої?

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

На відміну від своїх попередників, рекурентних нейронних мереж (RNN), трансформери не залежать від порядку обробки інформації. Це дозволяє їм уловлювати складні взаємозв'язки у тексті, незалежно від відстані між словами.

Ключ до успіху трансформерів у механізмі уваги (attention mechanism). Уявіть, що ви читаєте довгу пропозицію. Ваш мозок автоматично фокусується на найважливіших словах, встановлюючи зв'язки між ними. Трансформери працюють за подібним принципом, але роблять це з блискавичною швидкістю і для великих обсягів тексту.

Ця інноваційна архітектура швидко здобула світ NLP. Моделі на основі трансформерів, такі як BERT від Google та GPT від OpenAI, справили справжній фурор, встановлюючи нові рекорди у різних мовних задачах.Від машинного перекладу до відповіді питання – трансформери демонструють вражаючі результати, часто перевершують людський рівень.

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

Ми стоїмо на порозі нової ери, де мова більше не є бар'єром для спілкування та творчості.

У той самий час, як і будь-яка революційна технологія, трансформери ставлять важливі питання перед суспільством. Як зміниться роль людини у створенні контенту? Як забезпечити етичне використання цих потужних мовних моделей? Ці теми докладніше розглянемо в наступних розділах нашої статті.

Трансформери відкрили новий розділ історії штучного інтелекту. Вони не просто покращили існуючі методи обробки мови – вони змінили уявлення про те, на що здатні машини в розумінні та генерації тексту.

У наступних розділах ми глибше поринемо в принципи роботи цієї дивовижної архітектури та розглянемо її вплив на різні аспекти нашого життя.

Ключові компоненти архітектури трансформерів

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

  • Серце трансформера – це алгоритм контекстної уваги. (Self-attention). Уявіть, що кожне слово у реченні може «подивитися» на решту слів і визначити, наскільки вони важливі для його інтерпретації.Саме це робить даний алгоритм, дозволяючи моделі вловити складні залежності навіть у довгих текстах.
  • Інший важливий елемент – позиційне кодування. Як трансформер розуміє порядок слів, якщо обробляє їх паралельно? Відповідь у спеціальних позиційних векторах, які додаються до подання кожного слова. Це дозволяє моделі враховувати структуру речення, зберігаючи при цьому переваги паралельної обробки.
  • Важливо і концепцію множинного аналізу (multi-head attention). Ця техніка дозволяє трансформеру одночасно розглядати інформацію під різними кутами. Уявіть, що ви читаєте текст та аналізуєте його з погляду граматики, сенсу та стилю – приблизно так працює цей механізм у трансформерах.

Завдяки такому підходу модель може вловити різні нюанси та взаємозв'язки в тексті, які могли б вислизнути при односторонньому аналізі. Це особливо корисно під час роботи зі складними літературними творами чи науковими текстами, де важливо враховувати безліч аспектів.

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

Революційність трансформерів стає очевидною порівняно з попередніми технологіями. Рекурентні нейронні мережі (RNN), які тривалий час домінували в NLP, страждали від проблеми «забуття» контексту в довгих послідовностях. Трансформери елегантно вирішили цю проблему, опрацьовуючи весь текст одночасно.

Більше того, архітектура трансформерів чудово підходить для одночасної обробки даних на безлічі обчислювальних пристроїв. Вони ефективно навчаються на величезних обсягах інформації, використовуючи сучасні графічні процесори (GPU) та спеціалізовані чіпи для машинного навчання (TPU).

Ще одна ключова перевага – універсальність. Базова архітектура трансформера може бути адаптована для широкого спектра задач NLP, від машинного перекладу до створення тексту.

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

Застосування трансформерів у різних завданнях NLP

Вплив трансформерів на світ NLP важко переоцінити. Вони зробили революцію практично у всіх галузях обробки природної мови.

У машинному перекладі трансформери встановили нові стандарти якості. Моделі, такі як T5 (Text-to-Text Transfer Transformer), здатні не тільки точно передавати зміст, а й зберігати стилістичні нюанси оригіналу. Це наближає нас до ідеалу невидимого перекладу, де бар'єри між мовами практично зникають.

У сфері аналізу тексту трансформери демонструють разючу здатність до розуміння контексту. Вони успішно справляються з такими завданнями, як визначення тональності, виділення іменників та класифікація текстів. Це знаходить застосування в різних сферах: від аналізу соціальних медіа до автоматизації бізнес-процесів.

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

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

Відомі моделі на основі трансформерів

Успіх трансформерів втілився у ряді знакових моделей, кожна з яких зробила свій внесок у розвиток NLP. BERT (Bidirectional Encoder Representations from Transformers) від Google викликала фурор своєю здатністю розуміти контекст слів в обох напрямках. Ця модель стала основою для багатьох програм, від пошукових систем до аналізу настроїв.

GPT (Generative Pre-trained Transformer) від OpenAI, особливо його остання версія GPT-4, вразила світ своїми здібностями до створення тексту. Від написання статей до створення коду – GPT демонструє дивовижну універсальність, змушуючи задуматися про межі між людською та машинною творчістю.

Не можна не згадати і про T5 (Text-to-Text Transfer Transformer) від Google AI, яка уніфікувала підхід до різних завдань NLP, представляючи їх усі як перетворення тексту на текст. Це відкрило нові можливості для багатозадачного навчання та трансферу знань між різними галузями знань.

Вплив трансформерів на розвиток ІІ та суспільства

Трансформери не просто покращили технічні показники у NLP – вони змінили наше уявлення про можливості штучного інтелекту. Вперше ми побачили системи, здатні генерувати тексти, які практично не відрізняються від людських.

Переваги трансформерів очевидні:

  • У сфері освіти вони відкривають нові можливості для персоналізованого навчання та автоматичної оцінки робіт.
  • У бізнесі революціонізують клієнтський сервіс та аналітику.
  • У науці – допомагають у аналізі наукової літератури та генерації гіпотез.

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

Майбутнє трансформерів та NLP

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

Один із перспективних напрямів – створення мультимодальних трансформерів, здатних працювати не лише з текстом, а й із зображеннями, відео та звуком. Це може призвести до появи ІІ систем з більш цілісним розумінням світу.

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

Висновок

Трансформери здійснили справжню революцію у світі NLP, відкривши нову еру у розвитку штучного інтелекту:

Вони не просто покращили існуючі методи обробки мови – вони змінили саме уявлення про можливості машин у розумінні та генерації людської мови.

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

Трансформери відкрили новий розділ історії штучного інтелекту. Засновані на них технології стають невід'ємною частиною нашого життя. І нам важливо не втратити контроль за їх розвитком. Ми починаємо розуміти повний потенціал цих технологій. Вони кардинально змінять наше технологічне майбутнє!

Пояснюємо простою мовою, що таке трансформери

Хмара пропонує багато можливостей для розвитку ІІ. За допомогою хмарних обчислень простіше масштабувати ML-моделі, підвищувати точність навчання та надавати дані віддалено користувачам. Проте масштабне розгортання ML-моделей потребує розуміння архітектури нейронних мереж. Один із найважливіших інструментів машинного навчання – трансформери. Популярність трансформерів злетіла до небес у зв'язку з появою великих мовних моделей, таких як ChatGPT, GPT-4 і LLama. Ці моделі створені на основі трансформерної архітектури та демонструють відмінну продуктивність у розумінні та синтезі природних мов. Хоча в мережі вже є хороші статті, в яких розібраний принцип дії трансформерів, більшість матеріалів рясніє заплутаними термінами. Ми підготували переклад статті, в якій без коду та складної математики пояснюють сучасну трансформерну архітектуру.

Що таке трансформер?

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

Що надходить у трансформер?

Перш ніж подати дані в трансформер, потрібно спочатку перетворити їх на послідовність токенів - набір цілих чисел, що представляють вхідні дані. Оскільки трансформери вперше використовували для обробки природної мови, спочатку розглянемо цей сценарій. Найпростіше перетворити послідовність у серії токенів можна за допомогою словника, який працюватиме як таблиця пошуку. У ньому слова мають бути зіставлені з числами. Можна зарезервувати певну кількість для представлення будь-якого слова, якого немає у словнику, тому ми зможемо завжди оперувати цілими числами. Але це примітивний спосіб кодування тексту, тому що слова начебто cat і cats кодуватимуться різними токенами, хоча це єдина і множина однієї тварини. Тому придумали різні способи токенізації (на зразок кодування парами байтів), у яких слова перед індексуванням розбиваються на фрагменти.Крім того, часто буває корисно додавати спеціальні токени для позначення характеристик на кшталт початку та кінця речення, щоб дати моделі більше контексту. Розглянемо токенізацію на прикладі такої пропозиції: “Hello there, isn’t the weather nice today in Drosval?” Drosval — ця назва згенерована GPT-4 за промптом: «Можеш створити назву вигаданого місця, яке звучить так, наче воно зі світу Drenai Девіда Геммеля?» (Чи може ви створювати fictional place name, що звуки можуть бути довкола David Gemmell's Drenai universe?), і обраний варіант, якого немає у словниках будь-яких навчених моделей. За допомогою токенизатора bert-base-uncased з бібліотеки transformers library перетворимо пропозицію на послідовність токенів: Числа, що представляють слова, зміняться залежно від конкретного навчання моделі та способу токенізації. А після декодування можна побачити слова, які репрезентують токени: Цікаво, ми отримали не те, що подали на вхід. Були додані спеціальні токени, скорочення розділене на кілька токенів, а вигадана назва представлена ​​кількома фрагментами. І оскільки ми використовували модель, яка не використовує великі літери, ми їх також втратили. Хоча як приклад ми використовували пропозицію, трансформери обробляють не лише текст. Ця архітектура показала хороші результати у візуальних завданнях. Перш ніж передати зображення в модель, автори ViT перетворили її на послідовність: розрізали картинку на фрагменти, що не перетинаються, розміром 16 на 16 пікселів і конкатенували їх у довгий вектор. Якби ми використовували в рекомендаційній системі трансформер, на вхід моделі можна було б подати ідентифікатори останніх N об'єктів, які подивився користувач.Якщо нашої тематичної області можна створити осмислене уявлення вхідних токенів, їх можна згодувати трансформеру.

Ембеддінг токенів

Отримавши послідовність цілих чисел, які мають вхідні дані, ми можемо перетворити в ембеддинги — це спосіб представлення інформації, що полегшує її обробку алгоритмами машинного навчання. Ембеддінги передають сенс токенів у стислому форматі, представляючи інформацію у вигляді послідовності чисел. Спочатку вони синтезуються як випадкова послідовність, а значне уявлення формується під час навчання. Проте ембеддинги мають спадкове обмеження: вони не враховують контекст, в якому синтезувалися токени. Причин дві. Залежно від завдання, при перетворенні токенів на ембеддінги нам може знадобитися зберегти порядок токенів. Це особливо важливо у обробці природних мов, інакше ми прийдемо до методу «мішка слів». Щоб цього не допустити, ми застосовуємо до ембеддінгів позиційне кодування. Є різні способи це зробити, але основна ідея в тому, що у нас є ще один набір ембеддингів, що становлять положення кожного токена у вхідній послідовності. Цей другий набір комбінується з ембедінгами токенів. Інша складність у тому, що токени можуть мати різні значення залежно від сусідніх токенів. Подивіться на дві пропозиції: It’s dark, who turned off the light? Wow, це місце є дійсно світло! Тут слово light використовується у двох різних контекстах, і тому має зовсім різні значення. Але найімовірніше, що, залежно від методу токенізації, ембеддінги будуть однакові. У трансформерах це вирішується за допомогою механізму уваги.

По суті, що така увага?

Мабуть, найважливіший механізм трансформованої архітектури — це увага.Він дозволяє нейромережі зрозуміти, яка частина вхідної послідовності найбільш релевантна задачі. Механізм уваги визначає кожному токена послідовності, які інші токени необхідні його розуміння у цьому контексті. Перш ніж ми перейдемо тому, як це реалізовано в трансформері, давайте спочатку розберемося, чого намагається досягти механізму уваги. Цей механізм можна представити як метод, який замінює кожен ембеддинг токена на ембеддинг, що містить інформацію про сусідні токена замість використання однакового ембеддингу для кожного токена незалежно від контексту. Якби ми знали, які токени релевантні поточному, то дізнатися про його контекст можна за допомогою середньозваженого — чи, загалом, лінійної комбінації — цих ембеддингів. Давайте подивимося, як це може виглядати для однієї з наших пропозицій. До застосування механізму уваги ембеддинги в послідовності не мають контексту їхніх сусідів. Тому ми можемо візуалізувати ембединг для слова light як лінійну комбінацію: Тут наші ваги – це матриця тотожності. А застосувавши механізм уваги, ми хочемо дізнатися матрицю терезів, яка дозволить нам подібним чином висловити ембеддинг для слова. light: Цього разу ембеддінгам, відповідним найбільш релевантним для обраного токена частинам послідовності, присвоєно ваги більшого розміру. Це має забезпечити розміщення у новому векторі ембеддингу найважливішого контексту. Ембеддінги, що містять інформацію про їхній поточний контекст, іноді називають контекстуалізованимиі саме такі ми хочемо створити. Ми поверхово розглянули, що намагається домогтися механізму уваги.Давайте тепер розберемося, як це реалізовано.

Як обчислюється увага?

Є різні варіанти цього механізму, і головна відмінність між ними полягає у способі обчислення ваги для лінійної комбінації. Тут ми розглянемо scaled dot-product attention (механізм на основі скалярного твору), оскільки сьогодні це найпопулярніший спосіб. Вважатимемо, що всі наші ембеддінги позиційно закодовані. Нагадаю, що наша мета — створити контекстуалізовані ембеддінги за допомогою лінійних комбінацій вихідних ембеддингів. Спочатку припустимо, що ми можемо закодувати всю необхідну інформацію в наших вивчених векторах, і залишилося лише обчислити ваги. Для цього потрібно визначити, які токени є релевантними один одному. Задамо поняття подібності між двома ембедінгами. Один із способів його уявлення – скалярний твір. Тобто ми хочемо вивчити такі ембеддінги, при яких чим більший твір, тим більша схожість двох слів. Оскільки для кожного токена потрібно обчислити його взаємозв'язок з кожним іншим токеном послідовності, ми можемо узагальнити завдання до матричного множення та отримаємо матрицю ваг, яку часто називають attention scores (оцінка уваги). Щоб переконатися, що сума ваги дорівнює одиниці, ми також застосуємо багатозмінну логістичну функцію (МЛФ). Але оскільки матричне множення може давати довільні великі числа, МЛФ повертатиме дуже маленькі градієнти для оцінок уваги. А це може спричинити проблему зникаючого градієнта під час навчання. Для боротьби з цим помножимо оцінки уваги на поправочний коефіцієнт перед застосуванням МЛФ.Тепер для отримання матриці контекстуалізованих ембеддингів можна помножити оцінки уваги матрицю вихідних ембеддингів. Це рівнозначно взяття лінійних комбінацій наших ембедінгів.

Спрощене обчислення уваги. Передбачається, що ембеддінги позиційно закодовані.

Хоча модель може вивчити досить складні ембеддінги для синтезу оцінки уваги та контекстуальних ембеддингів, ми намагаємося вмістити в них надто багато інформації. Тому для полегшення навчання моделі замість прямого використання матриці ембеддингів давайте передавати її через три незалежні лінійні шари (матричні множення). Це дозволить моделі зосередитися на різних частинах ембеддингів:

Масштабоване обчислення уваги (self-attention) на основі скалярного твору. Передбачається, що ембеддінги позиційно закодовані.

На лінійні проекції позначені як Q, K та V. У початковій науковій роботі вони названі Query, Key і ValueЙмовірно, автори надихалися процесом вилучення інформації. Особисто мені така аналогія ніколи не допомагала, так що не на цьому зупинятимуся. Я зберіг термінологію задля узгодженості з літературними джерелами і щоб підкреслити роздільність цих лінійних верств. Ми розібралися в роботі процесу, і тепер обчислення уваги можна представити як блок із трьома входами, які подаються в Q, K та V. Коли ми подаємо одну матрицю в Q, K та V, це називається self-attention - Виявлення закономірностей тільки між вхідними даними.

Що таке multi-head attention?

На практиці ми часто паралельно запускаємо декілька блоків self-attention, щоб трансформер одночасно обробляв різні частини вхідної послідовності – це називають multi-head attention. Ідея проста: виходи кількох незалежних блоків self-attention конкатенуються і передаються через лінійний шар. Він дозволяє моделі комбінувати контекстуальну інформацію кожного блоку уваги. На практиці прихований розмір виміру в кожному блоці self-attention зазвичай вибирається як розмір вихідного ембеддінга, поділений на кількість блоків уваги, щоб зберегти структуру матриці ембеддингів.

Що ще входить до складу трансформера?

  • Нейросітка з прямим зв'язком (Feedforward Neural Network, FFN): двошарова нейромережа, яка застосовується незалежно до кожного ембеддингу токена в пакеті та послідовності. Її завдання — внести в трансформер додаткові параметри, що вивчаються, що дозволяють переконатися, що контекстуальні ембеддінги розділені і розподілені. У початковій роботі використана функція активації GeLU, але компоненти FFN можуть змінюватися в залежності від архітектури.
  • Нормалізація шарів (Layer Normalization): допомагає стабілізувати навчання нейромереж, у тому числі трансформерів. Він нормалізує активації для кожної послідовності, не дозволяючи їм стати занадто великими або маленькими під час навчання, що може призводити до проблем на кшталт градієнта, що зникає або вибухає. Така стабільність є вкрай важливою для ефективного навчання дуже глибоких моделей-трансформерів.
  • Зв'язки з перепустками (Skip connections): як і в архітектурі ResNet, для боротьби з проблемою зникаючого градієнта та підвищення стабільності навчання використовуються залишкові підключення.

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

Сьогодні найчастіше блоки нормалізації розміщуються до self-attention та FFN, усередині зв'язку з перепустками — це називається pre-layer norm:

Які бувають трансформери?

Існує багато різних трансформерних архітектур, і більшість можна поділити на три типи.

Енкодери

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

Передавши дані через один або кілька блоків-трансформерів, ми отримуємо складну матрицю контекстуалізованих ембеддингів, яка містить ембеддінг на кожен токен послідовності. Але щоб використовувати ці дані для наступних завдань на кшталт класифікації, потрібно зробити одне передбачення. Зазвичай беруть перший токен і передають через класифікатор, де є шари Dropout і Linear. Результат роботи цих шарів можна пропустити через МЛФ для перетворення на ймовірність класів. Наприклад, так:

Декодери

Цей тип архітектур майже ідентичний попередньому, головна відмінність у тому, що декодери використовують маскований (або причинний) шар self-attentionТому механізм уваги може приймати тільки поточний і попередні елементи вхідної послідовності. Тобто контекстуальні ембеддінги враховують лише попередній контекст. До популярних моделей-декодерів належить сімейство GPT.

Зазвичай цього домагаються за допомогою маскування оцінок уваги за допомогою двійкової нижньотрикутної матриці та заміни немаскованих елементів негативною нескінченністю (потім при прогоні через МЛФ отримують для цих позицій оцінки уваги рівні нулю).Давайте оновимо нашу схему з self-attention з урахуванням сказаного:

Масковане обчислення self-attention. Передбачається, що ембеддінги позиційно закодовані.

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

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

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

  • Регулювання температури: температура — це параметр, який застосовується в операції МЛФ.
  • Вибірка топ-P: кількість потенційних кандидатів для наступного токена фільтрується на основі заданого порога ймовірності та змінює розподіл ймовірностей залежно від кандидатів, що перевищили поріг.
  • Вибірка топ-K: кількість потенційних кандидатів обмежується кількістю найімовірніших токенів До на основі їх логітів чи значення ймовірності (залежно від реалізації).

Докладніше про ці методи можна почитати тут.

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

Енкодери-декодери

Спочатку трансформери були представлені як архітектура для машинного перекладу та використовували і енкодери, і декодери. За допомогою енкодерів створюється проміжне уявлення, перш ніж за допомогою декодера переводити в бажаний формат. Хоча енкодери-декодери сьогодні менш поширені, архітектури на кшталт T5 показують, що завдання на кшталт відповіді питання, підбиття підсумків і класифікації можна у вигляді перетворення послідовності на послідовність і вирішити з допомогою описаного підходу.

Головна відмінність архітектур типу енкодер-декодер полягає в тому, що декодер використовує енкодер-декодерна увага: при обчисленні уваги використовується результат енкодера (K та V) та вхідні дані декодера (Q). Порівняйте з self-attention, коли для всіх вхідних даних використовується та сама вхідна матриця ембеддингов. У цьому загальний процес синтезу дуже схожий процес у архітектурах декодерів.

Нижче схема архітектури енкодера-декодера. Для її спрощення я показав варіант post-layer norm з вихідної наукової статті, у якому шар нормалізації розташований після блоків уваги.

Посилання

  • [1706.03762] Attention Is All You Need (arxiv.org)
  • Recent Advances in Google Translate — Google Research Blog
  • How GitHub Copilot is getting better at understanding your code — The GitHub Blog
  • Introducing ChatGPT (openai.com)
  • gpt-4.pdf (openai.com)
  • Introducing LLaMA: A foundational, 65-billion-parameter language model (meta.com)
  • Illustrated Transformer - Jay Alammar - Visualizing machine learning one concept at a time. (jalammar.github.io)
  • Byte-Pair Encoding tokenization - Hugging Face NLP Course
  • Drenai series | David Gemmell Wiki | Fandom
  • bert-base-uncased · Hugging Face
  • Transformers (huggingface.co)
  • [2010.11929v2] Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (arxiv.org)
  • Getting Started With Embeddings (huggingface.co)
  • A Gentle Introduction to The Bag-of-Words Model - MachineLearningMastery.com
  • [2104.09864] RoFormer: Додатковий Transformer з Rotary Position Embedding (arxiv.org)
  • Scaled Dot-Product Attention Explained | Papers With Code
  • Softmax function - Wikipedia
  • [1607.06450] Layer Normalization (arxiv.org)
  • Vanishing gradient problem - Wikipedia
  • [1512.03385] Deep Residual Learning for Image Recognition (arxiv.org)
  • [1810.04805] BERT: Pre-training Deep Bidirectional Transformers for Language Understanding (arxiv.org)
  • [2005.14165] Language Models є Few-Shot Learners (arxiv.org)
  • Token selection strategies: Top-K, Top-P, та Temperature (peterchng.com)
  • Multinomial distribution - Wikipedia
  • [1910.10683] Exploring Limits of Transfer Learning with Unified Text-to-Text Transformer (arxiv.org)

Схожі статті

  • Що таке Ципру
  • Що таке режим Atti для дронів Drones Cameras
  • Що таке Адамове яблуко у чоловіків
  • Що таке добори на міжкімнатні
  • Що таке дека на газонокосарці
  • Що таке код помилки 601
  • Що таке Жилка яловича
  • Що таке фонетична норма
  • Недавні статті

  • Як бродить зернова брага
  • Що робити якщо не засмагаєш на сонці чому засмага погано лягає на шкіру або перестає прилипати
  • Як швидко зняти гель лак без апарату
  • Як робиться Каті голови
  • Яка гребінець краще для об'єму
  • Чим роблять м'яку покрівлю
  • Чи можна залишати крем для обличчя на ніч
  • Де знаходиться датчик селектора
  • географія нашої діяльності
    вулиця Драгоманова, 27
    вул. Курчатова 1Б
    вул. Міцкевича 130
    вул. Лабунського, 1
    вул. Макарова-Пржевальського
    вул. Толстого 10
    вул. Грушевського 28
    вул. Перший промінь (Черняхівського)
    напишіть нам

    сообщение успешно отправлено
    x