Що насправді означає GPT і чому ШІ-інжиніринг лишається інжинірингом
Розбираємо Generative Pre-trained Transformer, механізм уваги, fit і predict та пояснюємо, чому якісна робота з ШІ досі тримається на звичайному інженерному здоровому глузді й правильних питаннях.
Чимало розробників можуть розповісти, що робить GPT, але не можуть пояснити, що це таке. Роками кажеш "GPT", "LLM", "трансформер", "ембединги" і "RAG", і здається, що розумієш, доки не пройдеш структурований курс з ШІ-інжинірингу й не з'ясуєш, що під кожним із цих слів є цілий підвал. Щоб це зрозуміти, вистачає семиденного спринту.
Generative, pre-trained, transformer
Абревіатура GPT розшифровується як Generative Pre-trained Transformer. Звучить просто, доки не запитаєш, що робить кожне слово.
Generative означає, що модель створює контент. Для мовної моделі це текст, який будується через передбачення того, що має йти далі, за закономірностями, засвоєними раніше. Pre-trained означає, що перед вами не порожня модель: велике навчання на величезних обсягах даних уже відбулося до вашого першого промпту.
Transformer — слово, на якому люди спотикаються. Схоже на назву продукту, але насправді це ціла архітектура, і одна з центральних ідей у ній — увага.
Увага та задача про рукостискання
Задачка про рукостискання непогано дає перше уявлення про увагу. Зберіть у кімнаті п'ятьох людей і нехай кожен потисне руку кожному. Перший тисне чотири руки, другий чотири, і так далі, що дає:
5 × 4 = 20
Тут кожне рукостискання пораховано двічі, тож ділимо навпіл:
20 / 2 = 10
У загальному вигляді кількість дорівнює N(N - 1) / 2. Це вправа з комбінаторики, але вона описує й дещо більше, а саме кількість зв'язків між токенами. Механізм уваги не йде реченням зліва направо, вважаючи кожне слово островом. Йому треба вирішити, які частини входу важливі для яких інших частин.
Тут з'являються Query, Key і Value. Вважайте їх грубою системою пошуку:
- Query — те, що ви шукаєте.
- Key — те, яка інформація доступна.
- Value — те, що зрештою повертається.
Справжня математика значно важча, але ця картинка дає точку опори. І вона підказує звичку, яку варто зберегти: якщо ви не можете сказати, що робить шматок коду чи формули, найімовірніше, ви його ще не розумієте.
Що входить у семиденний спринт
Матеріал виходить далеко за межі трансформерів: структури даних Python, Pandas, пропущені значення, викиди, попередня обробка, моделі машинного навчання, метрики оцінювання, API, деплой і RAG. Код, який раніше здавався чимось, що просто набираєш, починає мати наслідки. Візьмімо такий рядок:
model.fit(X_train, y_train)
Ви напевно бачили цей шаблон сотню разів. Він означає, що модель навчається на переданих вами тренувальних даних і виводить свої параметри з цих прикладів. Наступний рядок — зовсім інша операція:
model.predict(X_test)
Тут ви просите навчену модель застосувати засвоєне й видати передбачення для даних, на яких вона ніколи не навчалася. Обидва рядки виглядають майже тривіально. Складно саме зрозуміти, що за ними стоїть.
ШІ-інжиніринг лишається інжинірингом
Головний урок не про якусь бібліотеку. Модель не скасовує потреби в доброму проєктуванні ПЗ, і вам і далі доводиться мати справу з:
- перевіркою й очищенням вхідних даних та якістю самих даних
- API та обробкою помилок
- швидкістю, тестуванням і деплоєм
- моніторингом і безпекою
- постійним потоком компромісів
Іноді правильне інженерне рішення — взагалі не використовувати ШІ. Те, що LLM здатна розв'язати задачу, не робить її доречним інструментом. Якщо детерміноване правило справляється надійно, дешево й так, що люди можуть його перевірити, прикручена зверху ймовірнісна модель зазвичай робить систему не кращою, а менш зрозумілою.
Добрі питання важливіші за модні слова
За сім днів ніхто не стане експертом. Натомість ви отримаєте точніші питання, а вони цінніші за черговий список термінів:
- Що насправді робить цей рядок коду?
- Навіщо в архітектурі саме цей компонент?
- Як поводиться система, коли на вхід надходить сміття?
- Куди зрештою потрапляють мої дані?
- Чого модель навчається на своїх прикладах?
- Чи може звичайний код зробити це без моделі?
Мета не в тому, щоб звучати так, ніби тямиш у ШІ. Мета — розуміти достатньо, щоб будувати з ним відповідально, і перший крок тут — скромне відкриття, що GPT означає Generative Pre-trained Transformer.