Як працює ChatGPT: історія у схемах і мемах
«Зазвичай про мене не говорять у тих місцях, де немає потреби в розмові з штучним інтелектом, наприклад, серед друзів на вечірці, у горах, на риболовлі або у відпустці на пляжі», — каже ChatGPT у відповідь на запитання, які сфери він ще не захопив. І хоча сьогодні ChatGPT став настільки ж повсюдним, як пʼявки у болоті, ми досі не до кінця розуміємо, як він працює.
Оскільки не всі з нас отримували PhD у Data Science, SPEKA спробувала пояснити простими словами, як працює нейромагія.
ChatGPT: Т9 на стероїдах
Щоб зрозуміти, що таке ChatGPT, варто спочатку зрозуміти чим він не є. Він не має самосвідомості і не є «богом із машини». ChatGPT — це Т9 з вашого телефону, але «на стероїдах». Вчені називають такі технології мовними моделями (Language Models), а все, що вони роблять — це вгадують, яке наступне слово повинне йти за вже наявним текстом.
І Т9 у смартфоні, і ChatGPT навчені вирішувати просте завдання — прогнозувати єдине наступне слово. Щоб робити такі прогнози, мовним моделям доводиться оперувати ймовірностями виникнення тих чи інших слів для продовження тексту.
Як працює ChatGPT і звідки нейромережі беруть імовірність слів?
Як передбачати залежності одних речей від інших? Якщо накласти на графік вагу людини та її зріст, досить просто помітити, що вищий зріст корелює з більшою вагою, а досвід роботи, як правило, із вищою зарплатнею.
Цю залежність можна показати у вигляді лінійного рівняння y=k*x+b (це остання формула у цьому тексті, обіцяємо).
Модель лінійної регресії дозволяє підібрати коефіцієнти рівняння k і b таким чином, щоб графік оптимально описував ключову залежність у нашому наборі даних.
Можна сказати, що T9 або ChatGPT — це лише хитрим чином підібрані рівняння, які намагаються передбачити наступне слово залежно від набору моделей попередніх слів (x), що подаються на вхід. Основне завдання під час тренування мовної моделі — підібрати такі коефіцієнти, щоб вони дійсно відображали залежність (зв'язок між словами). Мовні моделі (LLM, Large Language Models) мають дуже велику кількість параметрів, які дозволяють знайти кореляцію між словами.
Мовні моделі легко генерують довгі тексти, але роблять вони це за принципом «слово за словом». Після генерації кожного нового слова модель просто заново проганяє через себе весь попередній текст разом із щойно написаним доповненням і додає наступне слово вже з урахуванням попередніх. У результаті виходить зв'язний текст.
Навіщо мовним моделям творчість?
Мовні моделі намагаються передбачити не так конкретне наступне слово, як ймовірності різних слів, якими можна продовжити заданий текст.
За генерації кожного наступного слова моделі вибирають його «випадковим» чином, ніби кидаючи кубик у DnD. Але не абияк, а так, щоб ймовірності «випадання» слів приблизно відповідали тим ймовірностям, які підказують алгоритми, закладені під час тренування ШІ.
Модель навіть на абсолютно однакові запити може давати зовсім різні варіанти відповіді. Це робить її мову схожою на людську.
Мова — це особлива структура з (іноді) чіткими наборами правил та винятків. Зв'язки між словами людина вивчає автоматично — під час дорослішання, навчання, розмов, читання тощо. Тому для опису однієї й тієї самої події або факту люди вигадують безліч способів мовлення у різних стилях. Усю цю варіативність мови повинна вмістити хороша модель. Що точніше модель оцінює ймовірності слів у контексті, то краще вона здатна генерувати відповіді, які ми хочемо почути.
Підписуйтеся на наші соцмережі
GPT-1 стає О̶п̶т̶і̶м̶у̶с̶о̶м̶ ̶П̶р̶а̶й̶м̶о̶м̶ трансформером
Щоб зрозуміти, як працює ChatGPT, потрібно розглянути його технологічний прототип GPT-1, який створили у 2018 році.
GPT розшифровується як Generative Pre-trained Transformer, або генеративний попередньо навчений трансформер. Трансформер — це назва архітектури нейромережі, вигаданої дослідниками Google у 2017 році.
Винахід виявився настільки значущим, що всі галузі штучного інтелекту — від текстових перекладів до оброблення зображень, звуку чи відео — почали його активно адаптувати.
Трансформер — це універсальний обчислювальний механізм. Він приймає на вхід один набір послідовностей (даних) і видає на виході теж набір послідовностей, але інший, перетворений за певним алгоритмом. Оскільки текст, картинки, звук (та й майже все у цьому світі) можна подати у вигляді послідовностей чисел, то за допомогою трансформера можна вирішувати чи не всі завдання.
Трансформер складається з простих модулів, які дуже легко масштабувати. До того ж старі (дотрансформерні) мовні моделі потребували занадто багато ресурсів. Ранні алгоритми обробляли вхідні дані за принципом «один за одним», тобто послідовно, через що гірше вловлювали загальний зміст. А от трансформери обробляють усі блоки інформації одночасно.
GPT-2, або Як Reddit навчив внутрішнього підлітка писати есе
Текстові дані, на відміну від зображень чи відео, не треба маркувати перед навчанням моделі.
Загалом таких посилань вийшло майже 8 млн, а завантажені з них тексти важили разом 40 гігабайтів. Чи багато це? Навіть якщо ви поглинатимете текст 24 години на добу без перерви на їжу та сон, вам знадобиться майже 40 років, щоб їх прочитати.
Пам'ятаєте рівняння, про яке ми згадували раніше? Так ось у ньому був один параметр залежності. А у GPT-2 їх було аж 1,5 млрд! Навіть якщо просто записати таку кількість чисел у файл, то він займе 6 ГБ!
Параметри (їх ще називають ваги або коефіцієнти) знаходяться під час тренування моделі, потім зберігаються і більше не змінюються. У це гігантське рівняння щоразу підставляються різні слова, але самі параметри рівняння залишаються незмінними.
Що складніше рівняння (що більше у ньому параметрів), то краще модель передбачає ймовірності і то правдоподібнішим буде текст.
У результаті GPT-2 вже легко написала есе від імені підлітка з відповіддю на запитання «Які фундаментальні економічні та політичні зміни необхідні для ефективного реагування на зміну клімату?». Текст під псевдонімом надіслали журі відповідного конкурсу. Там не помітили підміни й сказали, що есе написане добре, але йому бракує оригінальних ідей.
Як мовні моделі вивчають контекст слів
Існують набори завдань для визначення двозначності у текстах під назвою Winograd schema challenge. Наприклад, визначити, якого іменника стосується займенник у наступному реченні, коли у попередньому їх було два. Люди визначають подібні конструкції через своє знання світу та інтелект і вирішують такі завдання правильно приблизно у 95% випадків.
Ранні мовні моделі намагалися вгадати за допомогою випадкового вибору. Натомість GPT-2 перевершила своїх попередниць і навчилася визначати сенс у 70% випадків.
GPT-3: невимушена перемога над перекладачами та можливість міркувати
Наступна версія, GPT-3, що вийшла у 2020 році, вже мала 175 млрд параметрів! При цьому важити нейромережа стала 700 Гб.
Набір даних для навчання GPT-3 теж збільшили до 420 Гб — туди запхали мільйони книг, «Вікіпедію» (3% від усього датасету) та багато текстів із різних інтернет-сайтів.
Виявилось, що GPT-3 швидше та краще перекладає на англійську, ніж будь-які спеціально створені під це нейромережі (десь сумує Google-перекладач). Також GPT-3 зміг навчити сам себе математики!
Під час переходу від моделей з 10 млрд до 100 млрд параметрів нейромережі раптово починають краще працювати з математичними операціями, хоч і не завжди точно.
Також виявилось, що додавання лише однієї фрази у запит суттєво покращує якість моделі. Наприклад, фраза «let's think step by step» (подумаймо крок за кроком) спонукає модель міркувати послідовно та робити висновки на основі власних суджень, і дійти правильної відповіді набагато частіше, ніж без цієї фрази.
Причому цей «режим міркування» — одна з речей, що з'явилися у «великій» моделі GPT-3. Узагалі здатність до різного типу операцій прогресує із збільшенням кількості параметрів.
Корисність vs токсичність GPT-3.5
Досить швидко з'ясувалося, що властивості моделі «точність/корисність» і «нешкідливість/нетоксичність» дуже часто суперечать одна одній. Точна модель повинна видати інструкцію на запит, як зробити коктейль Молотова, а максимально нешкідлива модель на будь-яке запитання відповідатиме, що її відповідь може когось образити.
Навколо цієї проблеми «етики ШІ» (AI alignment) є чимало складних питань, а подібних спірних ситуацій настільки багато, що навіть люди не можуть узгодити між собою, що дозволено, а що ні.
Дослідники не вигадали нічого кращого, ніж просто дати моделі багато зворотного зв'язку. InstructGPT (також відома як GPT-3.5) — це і є GPT-3, яку донавчили за допомогою фідбеку. Багато людей оцінювали відповіді нейромережі щодо того, наскільки вони відповідають їхнім очікуванням з урахуванням виданого запиту.
Листопад 2022-го: ChatGPT (інтерфейс, який вирішив все)
З технічного погляду здається, у ChatGPT не має особливо потужних відмінностей від InstructGPT (наукової статті з детальним описом ChatGPT команда OpenAI поки що так і не опублікувала). Модель дотренували на додатковому діалоговому наборі даних, наприклад, якщо запит користувача незрозумілий, то алгоритм ставить уточнювальне запитання тощо.
Сем Альтман заявляв, що дослідники самі здивувалися такому бурхливому успіху ChatGPT, адже GPT-3 на той час був у відкритому доступі вже понад 10 місяців.
Ймовірно, головний секрет успіху ChatGPT — зручний інтерфейс! До InstructGPT звертатися можна було лише через API-інтерфейс. Натомість ChatGPT має звичне «діалогове вікно» і публічний доступ.
ChatGPT у цьому сенсі здійснив прорив, вивівши технологію в маси.
GPT-4: універсальний помічник
Нова версія GPT-4 працюватиме на основі мультимодальних моделей. Це означає, що в алгоритму є мультимодальний словник, у якому частина токенів відповідає за текст, а інші за зображення, звуки тощо
Після релізу моделі функціонал розпізнавання фото та інших форматів ще доопрацьовують, він недоступний для загалу.
Також додали можливість робити докладні описи, аналізувати рукописні записи та зміст документів, нові способи кодування.