Як працюють великі моделі популярної деконструйованої мови

Компіляція: OneFlow

作宇|Tim Lee、Sean Trott

Джерело зображення: створено Unbounded AI

Як саме велика модель мови працює всередині? Ця стаття пояснює з мінімальною математикою та термінологією.

Автор цієї статті Тім Лі, який раніше працював у технологічному ЗМІ Ars Technica, нещодавно запустив інформаційний бюлетень «Розуміння штучного інтелекту», в якому в основному обговорюється принцип роботи штучного інтелекту. Шон Тротт є доцентом Каліфорнійського університету в Сан-Дієго, де він вивчає розуміння людської мови та мовні моделі. (Цей вміст зібрано та опубліковано OneFlow після авторизації, зв’яжіться з OneFlow, щоб отримати дозвіл на передрук. Оригінальний текст:

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

Сьогодні майже всі чули про LLM, і десятки мільйонів людей користувалися ними, але мало хто розуміє, як вони працюють. Можливо, ви чули, що LLM навчені «передбачати наступне слово», і для цього їм потрібно багато тексту. Однак на цьому пояснення зазвичай закінчуються. Деталі того, як вони передбачають наступне слово, часто розглядаються як езотерична головоломка.

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

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

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

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

вектор слів

Щоб зрозуміти, як працюють мовні моделі, спочатку потрібно зрозуміти, як вони представляють слова. Люди використовують послідовності літер для представлення англійських слів, наприклад CAT для кішок. Мовні моделі використовують довгий список чисел, які називаються векторами слів. Наприклад, ось один із способів представити кота як вектор:

[0,0074, 0,0030, -0,0105, 0,0742, 0,0765, -0,0011, 0,0265, 0,0106, 0,0191, 0,0038, -0,0468, -0,0212, 0,0091, 0,0030, -0,0563, -0 0,0396, -0,0998, -0,0796, …, 0,0002]

(примітка: повна довжина вектора насправді становить 300 чисел)

Навіщо використовувати таке складне позначення? Ось аналогія: Вашингтон, округ Колумбія, розташований на 38,9 градусах північної широти та 77 градусах західної довготи, що ми можемо представити у векторній нотації:

• Координати Вашингтона [38.9, 77]

• Координати Нью-Йорка [40.7, 74]

• Координати Лондона [51.5, 0.1]

• Координати Парижа [48.9, -2.4]

Це корисно для міркування про просторові відносини. Ви бачите, що Нью-Йорк дуже близький до Вашингтона, округ Колумбія, оскільки 38,9 ближче до 40,7, а 77 ближче до 74 у координатах. Так само Париж знаходиться дуже близько до Лондона. Але Париж далеко від Вашингтона, округ Колумбія.

Мовні моделі використовують подібний підхід: кожен вектор слова представляє точку в «просторі слів», де слова зі схожим значенням розташовані ближче одне до одного. Наприклад, найближчі слова до кішок у векторному просторі включають dog, kitten і pet. Головною перевагою представлення слів як векторів дійсних чисел (на відміну від рядків літер, таких як "CAT") є те, що числа можуть виконувати операції, які не можуть літери.

Слова надто складні, щоб їх можна було представити лише у двох вимірах, тому мовні моделі використовують векторні простори із сотнями чи навіть тисячами вимірів. Люди не можуть уявити простори з такими великими розмірами, але комп’ютери можуть міркувати про них і давати корисні результати.

Дослідники десятиліттями вивчали вектори слів, але ця концепція дійсно набула популярності в 2013 році, коли Google оголосила про проект word2vec. Google проаналізував мільйони документів, зібраних із Новин Google, щоб з’ясувати, які слова зазвичай зустрічаються в схожих реченнях. З часом навчена нейронна мережа вчиться розміщувати слова подібних категорій (наприклад, собака та кіт) поруч у векторному просторі.

Вектори слів від Google також мають ще одну цікаву функцію: ви можете використовувати векторні операції для «виведення» слів. Наприклад, дослідники Google беруть найбільший (найбільший) вектор, віднімають великий (великий) вектор і додають малий (маленький) вектор. Слово, найближче до результуючого вектора, є найменшим (найменшим) вектором.

Ви можете використовувати векторні операції для аналогії! У цьому прикладі відношення між великим і найбільшим подібне до відношення між малим і найменшим. Вектори слів Google охоплюють багато інших зв’язків:

• Швейцарський для Швейцарії, як камбоджійський для Камбоджі. (Громадянство)

• Париж і Франція схожі на Берлін і Німеччину. (капітал)

• Аморальне і моральне схоже на можливе і неможливе. (антонім)

• Миша (щури) і миші (множина мишей) схожі на долари (долари) і долари (множина доларів). (форма множини)

• Чоловіки та жінки – як королі та королеви. (статева роль)

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

Тим не менш, вбудовування слів є корисною основою для мовних моделей, оскільки вони кодують тонку, але важливу реляційну інформацію між словами. Якщо мовна модель дізнається щось про кішок (наприклад, іноді йде до ветеринара), те саме стосуватиметься й кошенят чи собак. Якщо модель дізналася про стосунки між Парижем і Францією (наприклад, що у них спільна мова), то ймовірно, що стосунки між Берліном і Німеччиною та Римом та Італією будуть такими ж.

Значення слова залежить від контексту

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

Наприклад, слово «банк» може стосуватися фінансової установи або берега річки. Або розгляньте такі речення:

• John picks up a magazine (Джон бере журнал).

• Susan works for a magazine (Сьюзен працює в журналі).

У цих реченнях значення слова «журнал» споріднене, але різне. Джон взяв друкований журнал, а Сьюзен працювала в агентстві, яке видавало друковані журнали.

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

Мовні моделі, такі як ChatGPT, здатні представляти те саме слово різними векторами залежно від контексту, у якому воно зустрічається. Є вектор для «банк (фінансова установа)» і вектор для «банк (берег річки)». Існує вектор для «журналу (публікації юридичної особи)» та вектор для «журналу (публікаційної установи)». Як і слід було очікувати, мовна модель використовує вектори, які більш схожі для значень багатозначних слів і менш схожі для значень омофонів.

Поки що ми не пояснювали, як це роблять мовні моделі - незабаром ми розглянемо це. Однак ми докладно описуємо ці векторні представлення, які важливі для розуміння того, як працюють моделі мови.

Традиційне програмне забезпечення призначене для роботи з явними даними. Якщо ви попросите комп’ютер обчислити «2+3», не буде двозначності щодо того, що означає 2, + чи 3. Але багатозначність у природній мові виходить далеко за рамки омонімів і полісемії:

• У фразі «клієнт попросив механіка полагодити його автомобіль» слово «його» стосується клієнта чи механіка?

• У фразі «професор закликав студента виконати домашнє завдання» слово «вона» стосується професора чи студента?

• У слові «плодові мушки, як банан», «мухи» — це дієслово (що стосується фрукта, який літає небом, як банан) чи іменник (що стосується плодових мушок, які люблять банани)?

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

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

Перетворення векторів слів на передбачення слів

Модель GPT-3, що лежить в основі оригінальної версії ChatGPT, складається з десятків рівнів нейронної мережі. Кожен рівень приймає як вхідні дані послідовність векторів — по одному для кожного слова у вхідному тексті — і додає інформацію, щоб допомогти прояснити значення цього слова та краще передбачити слова, які можуть бути наступними.

Почнемо з простого прикладу.

Кожен рівень LLM є трансформатором. У 2017 році Google вперше представив цю структуру нейронної мережі в визначному документі.

У нижній частині графіка вхідним текстом для моделі є «Джон хоче, щоб його банк перерахував гроші», і ці слова представлені у вигляді векторів у стилі word2vec і передаються до першого трансформатора. Цей трансформатор визначає, що і wants, і cash є дієсловами (ці два слова також можуть бути іменниками). Ми позначаємо цей додатковий контекст червоним текстом у дужках, але модель фактично зберігає цю інформацію, змінюючи вектори слів у спосіб, який людям важко інтерпретувати. Ці нові вектори називаються прихованими станами та передаються наступному трансформатору.

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

Графік вище зображує суто гіпотетичний LLM, тому не надто прив’язуйтеся до деталей. Справжні LLM, як правило, мають більше рівнів. Наприклад, найпотужніша версія GPT-3 має 96 шарів.

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

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

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

Наприклад, найпотужніша версія GPT-3 використовує вектори слів із 12288 розмірами, тобто кожне слово представлено списком із 12288 чисел. Це в 20 разів більше, ніж схема word2vec, запропонована Google у 2013 році. Ви можете розглядати всі ці додаткові розміри як своєрідний «простор для запису», який GPT-3 може використовувати для запису контексту кожного слова. Інформативні нотатки, зроблені попередніми шарами, можуть бути прочитані та змінені наступними шарами, що дозволяє моделі поступово поглибити своє розуміння всього тексту.

Отже, припустімо, що ми змінимо діаграму вище, щоб описати 96-рівневу модель мови для інтерпретації історії з 1000 слів. Рівень 60 може містити вектор для Джона з вектором, позначеним у дужках «(Головний герой, чоловік, одружений з Шеріл, двоюрідною сестрою Дональда, з Міннесоти, зараз у Бойсі, намагається знайти загублений гаманець)». Знову ж таки, усі ці факти (і, можливо, більше) будуть закодовані у списку з 12288 чисел, що відповідають слову John. Або деяка інформація в цій історії може бути закодована в 12288-вимірному векторі для Шеріл, Дональда, Бойсе, гаманця чи інших слів.

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

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

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

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

  2. На кроці подачі вперед кожне слово «думає» про інформацію, зібрану на попередньому кроці уваги, і намагається передбачити наступне слово.

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

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

Наприклад, у попередньому розділі ми показали гіпотетичну модель Transformer, яка виявила, що «його» відноситься до «Джона» в частині речення «Джон хоче, щоб його банк перерахував». Внутрішньо процес може відбуватися приблизно так: вектор запиту для «його» може бути ефективно представлений як «Я шукаю: іменники, які описують чоловіків». Ключовий вектор для "Джон" може бути ефективно виражений як "Я іменник, який описує чоловіка". Мережа виявить, що ці два вектори збігаються, і передасть інформацію про вектор "Джон" у вектор "його".

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

• Голова уваги може зіставляти займенники з іменниками, як ми обговорювали раніше.

• Інший заголовок уваги може обробляти розбір значення багатозначних слів, таких як "банк".

• Третя голова уваги може пов’язувати фрази з двох слів, наприклад «Джо Байден».

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

Найбільша версія GPT-3 має 96 шарів, і кожен шар має 96 головок уваги, тому щоразу, коли передбачається нове слово, GPT-3 виконуватиме 9216 операцій уваги.

Реальний приклад

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

Минулого року дослідники з Redwood Research вивчали GPT-2, попередника ChatGPT, для уривка «Коли Мері та Джон пішли до магазину, Джон дав випити (коли Мері та Джон пішли до магазину, Джон дав випити ) «Процес передбачення наступного слова.

GPT-2 передбачає, що наступне слово буде Мері. Дослідники виявили, що цьому прогнозу сприяли три типи уваги голови:

• Три голови уваги, які вони називають Головою руху імен, копіюють інформацію з вектора Мері в остаточний вхідний вектор (вектор для слова to). GPT-2 використовує інформацію в цьому крайньому правому векторі, щоб передбачити наступне слово.

• Як нейронна мережа вирішує, що Мері є правильним словом для копіювання? Перевернувши процес обчислення GPT-2, вчені виявили набір із чотирьох головок уваги, які вони назвали Головою блокування суб’єкта (Головою блокування суб’єкта), яка позначала другий вектор Джона, запобігаючи копіюванню імені Джона рухомою головою.

• Звідки суб'єкт приховування знає, що Івана не слід копіювати? Команда провела подальшу екстраполяцію та виявила дві головки уваги, які вони назвали Duplicate Token Heads. Вони позначають другий вектор Джона як копію першого вектора Джона, що допомагає суб'єкту придушити голову, щоб вирішити, що Джона не слід копіювати.

Коротше кажучи, ці дев’ять головок уваги дозволяють GPT-2 зрозуміти, що «Джон дав випити Джону» не має сенсу, і натомість вибирає «Джон дав випити Мері (Джон дав Мері випити)».

Цей приклад показує, наскільки важко може бути повністю зрозуміти LLM. Команда з п’яти дослідників Redwood опублікувала 25-сторінкову статтю, в якій пояснюється, як вони ідентифікували та перевіряли ці голови уваги. Незважаючи на всю цю роботу, ми все ще далекі від повного пояснення того, чому GPT-2 вирішив передбачити «Мері» як наступне слово.

Наприклад, як модель дізнається, що наступним словом має бути чиєсь ім’я, а не слово іншого типу? Легко уявити, що в подібних реченнях Марія не була б хорошим наступним провісником. Наприклад, у реченні «коли Мері та Джон пішли в ресторан, Джон дав його ключі (коли Мері та Джон пішли в ресторан, Джон дав ключі)», за логікою наступне слово має бути «камердинер ( представляючи паркувальника)».

Якщо припустити, що спеціалісти з інформатики проведуть достатньо досліджень, вони зможуть розкрити й пояснити інші етапи процесу міркування GPT-2. Згодом вони зможуть повністю зрозуміти, як GPT-2 вирішила, що «Мері» було найімовірнішим наступним словом у реченні. Але можуть знадобитися місяці або навіть роки додаткових зусиль, щоб зрозуміти, як передбачено слово.

Мовні моделі ChatGPT — GPT-3 і GPT-4 — більші та складніші, ніж GPT-2, і вони здатні виконувати більш складні завдання, ніж прості речення, які вивчала команда Redwood. Тому робота з повного пояснення цих систем буде величезним проектом, і малоймовірно, що люди завершать її за короткий час.

Крок уперед

Після того, як центр уваги передає інформацію між векторами слів, мережа прямого зв’язку «думає» про кожен вектор слова та намагається передбачити наступне слово. На цьому етапі між словами не відбувається обмін інформацією, а рівень прямої передачі аналізує кожне слово незалежно. Проте рівні прямого зв’язку мають доступ до будь-якої інформації, попередньо скопійованої головами уваги. Нижче наведено структуру рівня прямого зв’язку найбільшої версії GPT-3.

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

Рівень прямого зв’язку є потужним завдяки великій кількості з’єднань. Ми малюємо цю мережу, використовуючи три нейрони як вихідний рівень і шість нейронів як прихований шар, але передаючий рівень GPT-3 набагато більший: 12288 нейронів у вихідному шарі (відповідає 12288-вимірному вектору слів моделі) , прихований шар має 49152 нейронів.

Отже, у найбільшій версії GPT-3 прихований шар містить 49152 нейрони, кожен нейрон має 12288 вхідних значень (тому кожен нейрон має 12288 вагових параметрів), а також є 12288 вихідних нейронів, кожен нейрон має 49152 вхідних значення​ (отже, 49152 вагових параметра на нейрон). Це означає, що кожен шар прямого зв’язку має 49152*12288+12288*49152=1,2 мільярда вагових параметрів. І є 96 шарів прямого зв’язку, загалом 1,2 мільярда*96=116 мільярдів параметрів! Це еквівалентно майже двом третинам обсягу параметрів GPT-3 із 175 мільярдами параметрів.

У статті 2020 року (дослідники з Тель-Авівського університету виявили, що шари прямого зв’язку працюють за шаблоном: кожен нейрон у прихованому шарі відповідає певному шаблону у вхідному тексті. Нижче наведено 16-шарову версію. Деякі нейрони в GPT- 2 відповідає шаблону:

• Нейрони в шарі 1 відповідають послідовності слів, що закінчуються на "замінники".

• Нейрони в шарі 6 відповідають послідовності слів, пов’язаних з військовими, і закінчуються на «база» або «бази».

• Нейрони в шарі 13 відповідають послідовностям, які закінчуються діапазоном часу, наприклад «між 15:00 і 19:00» або «з 19:00 у п'ятницю до».

• Нейрони на рівні 16 збігаються з послідовностями, пов’язаними з телешоу, наприклад «оригінальна денна версія NBC, заархівована» або «затримка часу збільшила кількість переглядів цього епізоду на 57 відсотків».

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

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

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

Виведення мереж прямого зв'язку за допомогою векторних операцій

Нещодавнє дослідження Університету Брауна (демонструє елегантний приклад того, як шари прямого зв’язку можуть допомогти передбачити наступне слово. Раніше ми обговорювали дослідження Google word2vec, яке показало, що аналогічні міркування можна виконувати за допомогою векторних операцій. Наприклад, Берлін – Німеччина + Франція = Париж .

Дослідники з Університету Брауна виявили, що передбачувані шари іноді використовують цей точний метод для передбачення наступного слова. Наприклад, вони вивчали відповіді GPT-2 на такі підказки: «Питання: яка столиця Франції? Відповідь: Париж. Питання: яка столиця Польщі? Відповідь:»

Команда досліджувала версію GPT-2 з 24 шарами. Після кожного шару вчені Університету Брауна досліджували модель, дивлячись на її найкраще припущення для наступного маркера. У перших 15 шарах припущення з найвищою вірогідністю – це, здавалося б, випадкове слово. Між шарами 16 і 19 модель починає передбачати, що наступне слово польське — неправильно, але все ближче. Потім на рівні 20 припущення з найвищою ймовірністю стає Варшавою — правильною відповіддю, і залишається незмінним для останніх чотирьох рівнів.

Дослідники з Університету Брауна виявили, що 20-й шар прямого зв’язку перетворює Польщу на Варшаву шляхом додавання вектора, який відображає вектори країн на їхні відповідні столиці. При додаванні такого ж вектора до Китаю відповідь отримує Пекін.

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

Рівень уваги та рівень передавання мають різні функції

Наразі ми бачили два практичних приклади передбачення слів GPT-2: головка уваги допомагає передбачити, що Джон дасть Мері випити; рівень прямої подачі допомагає передбачити, що Варшава є столицею Польщі.

У першому випадку Мері надходить із підказки, наданої користувачем. Але в другому випадку Варшава не з’явилася в підказці. Натомість GPT-2 мав «пам’ятати», що Варшава є столицею Польщі, і ця інформація була отримана з тренувальних даних.

Коли дослідники з Університету Брауна вимкнули прямий рівень, який перетворює Польщу на Варшаву, модель більше не передбачала, що наступне слово буде Варшава. Але цікаво, що якщо вони потім додали речення «Столиця Польщі — Варшава» на початку підказки, GPT-2 знову зміг відповісти на запитання. Це може бути тому, що GPT-2 використовує механізм звернення уваги, щоб отримати назву Варшава з сигналу.

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

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

Метод навчання моделі мови

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

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

Наприклад, LLM може взяти вхідні дані «Мені подобається моя кава з вершками і (я люблю свою каву з вершками і)» і спробувати передбачити «цукор (цукор)» як наступне слово. Щойно ініціалізована мовна модель жахлива в цьому, тому що кожен з її вагових параметрів (найпотужніша версія GPT-3 має аж 175 мільярдів параметрів) спочатку починається фактично з випадкового числа.

Але коли модель бачить більше прикладів — сотні мільярдів слів — ці ваги поступово коригуються, щоб зробити кращі прогнози.

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

Тепер давайте внесемо кілька змін у цю аналогію. Спочатку уявіть, що є 50 257 кранів, кожен з яких відповідає окремому слову, наприклад «the», «cat» або «bank». Ваша мета полягає в тому, щоб вода текла з крана лише тому, що відповідає наступному слову в послідовності.

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

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

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

Наразі всі частини LLM, які обговорювалися в цій статті — нейрони на рівні прямого зв’язку та заголовки уваги, які передають контекстну інформацію між словами — реалізовані як низка простих математичних функцій (переважно множення матриць), поведінка яких така. визначається регульованим параметром ваги. Подібно до того, як білка в моїй історії контролює потік води, послаблюючи клапан, алгоритм навчання контролює потік інформації через нейронну мережу, збільшуючи або зменшуючи вагові параметри мовної моделі.

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

Виконання цього — передача прикладу вперед, а потім зворотне розповсюдження для покращення продуктивності мережі на цьому прикладі — потребує десятків мільярдів математичних операцій. І навчання великої моделі, як-от GPT-3, потребує повторення цього процесу мільярди разів — для кожного слова кожного навчального даних. За оцінками OpenAI, навчання GPT-3 потребує понад 300 мільярдів терафлопсів обчислень — це те, що десятки комп’ютерних мікросхем високого класу могли б працювати місяцями.

Дивовижна продуктивність GPT-3

Ви можете бути здивовані тим, наскільки добре працює навчальний процес. ChatGPT може виконувати різноманітні складні завдання — писати статті, проводити аналогії та навіть писати комп’ютерний код. Отже, як такий простий механізм навчання створює таку потужну модель?

Однією з причин є масштаб. Важко переоцінити величезну кількість прикладів, які бачить така модель, як GPT-3. GPT-3 навчається на корпусі приблизно з 500 мільярдів слів. Для порівняння, середня людська дитина стикається зі 100 мільйонами слів до 10 років.

Протягом останніх п’яти років OpenAI постійно збільшував розмір своїх мовних моделей. У широко поширеній статті 2020 року (де повідомляється, що точність їхніх мовних моделей має степеневий зв’язок із розміром моделі, розміром набору даних і обсягом обчислень, які використовуються для навчання, деякі тенденції навіть охоплюють більше семи порядки величини».

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

У 2018 році OpenAI випустила першу велику модель GPT-1. Він використовує 768-вимірний вектор слів, загалом 12 шарів і загалом 117 мільйонів параметрів. Через кілька місяців OpenAI випустив GPT-2, найбільша версія якого має 1600-вимірні вектори слів, 48 шарів і в цілому 1,5 мільярда параметрів. У 2020 році OpenAI випустив GPT-3, який має 12288-вимірний вектор слів, 96 шарів і загалом 175 мільярдів параметрів.

Цього року OpenAI випустила GPT-4. Компанія не оприлюднила жодних архітектурних деталей, але в індустрії поширена думка, що GPT-4 набагато більший за GPT-3.

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

Наприклад, розглянемо таку історію: повний мішок попкорну. У пакетику немає шоколаду. Однак на етикетці на пакеті було написано «шоколад» замість «попкорн». Сем знайшов сумку. Вона ніколи раніше не бачила сумки. Вона не бачила, що в сумці. Вона прочитала етикетку.

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

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

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

GPT-1 і GPT-2 не пройшли цей тест. Але перша версія GPT-3, випущена в 2020 році, була майже на 40 відсотків правильною, рівень продуктивності Козінського в порівнянні з трирічною дитиною. Остання версія, GPT-3, випущена в листопаді минулого року, підвищила точність наведених вище питань приблизно до 90%, що можна порівняти з точністю семирічної дитини. GPT-4 правильно відповів приблизно на 95 відсотків питань теорії розуму.

«З огляду на те, що в цих моделях немає ані доказів того, що ToM (менталізація) була навмисно розроблена, ані досліджень, які демонструють, що вчені знали, як цього досягти, цілком імовірно, що ця здатність виникла спонтанно й автономно. Це лінгвістична здатність моделей A за – продукт постійного вдосконалення», – написав Косінскі.

Варто зазначити, що дослідники не всі погоджуються з тим, що ці результати підтверджують теорію розуму: наприклад, невеликі зміни в завданні помилкових переконань призвели до значного падіння продуктивності GPT-3 (у той час як ефективність GPT-3 в інших завданнях, які вимірюють теорію розуму Більш непостійний (як пише в ньому Шон, успішне виконання можна було пояснити фактором, що вплинув на завдання — «розумним Гансом», маючи на увазі коня на ім’я Ганс, який, здавалося, міг виконати кілька простих інтелектуальних завдань, але насправді просто покладайтеся на несвідомі підказки, які дають люди), але він з’являється на мовній моделі замість коня.

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

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

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

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

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

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

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

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

Крім того, передбачення може бути основою біологічного інтелекту, а також штучного інтелекту. На думку таких філософів, як Енді Кларк, людський мозок можна розглядати як «машину передбачення», головним завданням якої є прогнозування навколишнього середовища, а потім використання цих передбачень для успішного орієнтування в навколишньому середовищі. Прогнозування має вирішальне значення як для біологічного, так і для штучного інтелекту. Інтуїтивно зрозуміло, що хороші прогнози йдуть рука об руку з хорошими представленнями — точні карти, швидше за все, допоможуть людям краще орієнтуватися, ніж неправильні. Світ величезний і складний, і прогнозування допомагає організмам ефективно орієнтуватися та адаптуватися до цієї складності.

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

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

Примітка:

  1. Технічно кажучи, фрагменти слів LLM стають лемами, але ми будемо ігнорувати цю деталь реалізації, щоб зберегти цю статтю в межах прийнятної довжини (див. статтю «Розкриття принципу роботи GPT Tokenizer»).

  2. Мережі прямого зв'язку також відомі як багатошарові перцептрони. Комп'ютерні вчені вивчають цей тип нейронної мережі з 1960-х років.

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

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

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

Переглянути оригінал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити