Як насправді працює ChatGPT?

Дізнаємось, як працює “велика мовна модель”.

Це переклад другої частини серії публікацій про основи ШІ на прикладі чат-ботів, яка зосереджена на концепції великих мовних моделей, або L.L.M., які є типом штучного інтелекту, що забезпечує роботу таких чат-ботів, як ChatGPT, Bing і Bard.

ChatGPT від Microsoft і Bard від Google, можуть вести людські розмови та писати природну, невимушену прозу на нескінченну кількість тем. Вони також можуть виконувати складні завдання — від написання коду до планування дитячого дня народження.

Але як це все працює? Щоб відповісти на це питання, нам потрібно зазирнути під капот так званої великої мовної моделі (large language model) — типу штучного інтелекту, який керує цими системами.

Великі мовні моделі, або L.L.M., є відносно новим явищем на сцені ШІ. Перші з них з’явилися близько п’яти років тому, і вони були не дуже. Але сьогодні вони можуть створювати електронні листи, презентації та нотатки, а також навчати вас іноземній мові. У найближчі місяці та роки з’явиться ще більше можливостей, оскільки технології вдосконалюються, а Кремнієва долина намагається заробити на цьому.

Я покажу вам, як створити велику мовну модель з нуля, спростивши та оминувши багато складних математичних розрахунків. Уявімо, що ми намагаємося створити L.L.M., яка допоможе вам відповідати на електронні листи. Назвемо її MailBot.

Крок 1: Визначте мету

Кожна система штучного інтелекту потребує мети. Дослідники називають це цільовою функцією (objective function). Вона може бути простою — наприклад, “виграти якомога більше шахових партій” — або складною, як-от “передбачити тривимірну форму білків, використовуючи лише їхні амінокислотні послідовності”.

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

Крок 2: Зберіть багато даних

Далі нам потрібно зібрати навчальні дані, на яких MailBot навчиться писати. В ідеалі нам потрібно зібрати колосально велике сховище тексту, що зазвичай означає мільярди сторінок, витягнутих з Інтернету — наприклад, пости в блогах, твіти, статті з Вікіпедії та новини.

Для початку ми скористаємося деякими безплатними загальнодоступними бібліотеками даних, такими як сховище веб-даних Common Crawl. Але ми також захочемо додати наш власний секретний інгредієнт у вигляді пропрієтарних або спеціалізованих даних. Можливо, ми ліцензуємо якийсь іншомовний текст, щоб MailBot навчився створювати листи французькою чи іспанською, а також англійською мовами. Загалом, чим більше у нас буде даних і чим різноманітніші джерела, тим кращою буде наша модель.

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

Крок 3: Створіть нейронну мережу

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

Для MailBot ми збираємося використовувати відносно новий тип нейронної мережі, відомий як модель трансформер (transformer model). Вона може аналізувати кілька фрагментів тексту одночасно, що робить її швидкою та ефективною. (Трансформери — це ключ до таких систем, як ChatGPT, повна абревіатура якої розшифровується як “Генеративний попередньо натренований трансформер”).

Крок 4: Натренуйте нейронну мережу

Далі модель проаналізує дані, токен за токеном, виявляючи закономірності та зв’язки. Вона може помітити, що після слова “Dear” часто стоїть ім’я, або що “Best regards” зазвичай стоїть перед вашим ім’ям. Виявляючи ці закономірності, штучний інтелект вчиться будувати повідомлення, які мають сенс.

Система також розвиває відчуття контексту. Наприклад, вона може дізнатися, що “банк” може означати фінансову установу або скляну посудину, залежно від слів, що стоять поряд.

Вивчаючи ці закономірності, модель-трансформер створює мапу — надзвичайно складне математичне представлення людської мови. Вона відстежує ці взаємозв’язки за допомогою числових значень, відомих як параметри (parameters). Багато з найкращих сьогоднішніх L.L.M. мають сотні мільярдів параметрів і навіть більше.

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

Як не дивно, це може розвинути й інші навички. Коли L.L.M. вчаться передбачати наступне слово в послідовності, знову і знову, вони можуть набути інших, несподіваних здібностей, наприклад, вміння писати програми. Дослідники ШІ називають це емерджентною поведінкою (emergent behaviors), і вони все ще спантеличені цим.

Крок 5: Точне налаштування моделі

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

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

Це приблизно такий підхід, який був використаний з ChatGPT, відомий як навчання з підкріпленням (reinforcement learning) за допомогою зворотного зв’язку від людей.

Крок 6: Запускайте, обережно

Вітаємо вас! Після того, як MailBot був натренований і налаштований, він готовий до використання. Як тільки ви створите для нього певний користувацький інтерфейс — наприклад, розширення для Chrome, яке підключається до вашого поштового клієнта, — він може почати відправляти листи.

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

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

Ваше домашнє завдання

Розгляньмо одну з найбільш творчих здібностей L.L.M.: здатність поєднувати розрізнені концепції та формати у щось химерне та нове. Наприклад, наші колеги з Well попросили ChatGPT “написати пісню Тейлор Свіфт за сюжетами книг доктора Сьюза”.

У сьогоднішньому домашньому завданні спробуйте поєднати формат, стиль і тему — наприклад, “Напиши лімерик у стилі Снуп Дога про глобальне потепління”.

Не забудьте поділитися своїм творінням у коментарі.

Глосарій

Параметри: Числові значення, які визначають структуру і поведінку великої мовної моделі, як підказки, що допомагають їй здогадатися, які слова будуть наступними. Вважається, що такі системи, як GPT-4, мають сотні мільярдів параметрів.

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

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

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

Оригінал

--

--