Chat GPT: що це, що вміє та як його використовувати
З кожним днем штучний інтелект стає все більш просунутим, а Chat GPT - це наочний доказ. Цей універсальний чат-бот вже здатний змагатися з людиною в інтелектуальних та комунікативних завданнях.
Але як Chat GPT досягає такого рівня і чи зможе він замінити людину? Давайте розберемося.
Chat GPT: що це таке?
Chat GPT є чат-ботом на базі штучного інтелекту, який може вести діалог у режимі реального часу, навіть у формі суперечки, а також виявляти помилки в коді та швидко створювати сценарії, вірші та інший текстовий контент.
Цей технологічний продукт представлений компанією OpenAI, серед засновників якої був Ілон Маск.
Універсальний бот був випущений у листопаді 2022 року і миттєво став відомим у всьому світі. Для його створення використовували суперкомп'ютер Azure AI, а мовною моделлю була обрана технологія GPT-3,5 від OpenAI.
Процес навчання Chat GPT був дуже цікавим. Для цього використовували систему взаємодії з людиною і велику кількість текстів, після чого вона була перенавчена багаторазово, використовуючи власні відповіді.
Це дозволило досягти ще точнішої генерації тексту. Розробники намагалися зробити його максимально «людським» та зручним для використання.
За даними аналітиків Bloomberg, Chat GPT є універсальним чат-ботом. Його можна застосовувати не тільки для створення текстів та віршів, а й для:
- проведення фінансового аналізу;
- генерації простого коду;
- прогнозування;
- написання технічних статей;
- надання персональних порад;
- демонстрації етичних відповідей.
Застосування Chat GPT розширюється, і ця тенденція продовжуватиметься.Навіть під час створення відповіді людина може вносити коригування в кінцевий результат, використовуючи додаткові запитання та коментарі.
За тривалих діалогів технологія здатна зберігати деталі спілкування з користувачем.
У майбутньому планується створення інтерфейсу чат-бота, що базується на прикладному програмуванні. Це дозволить розробникам впроваджувати його як додаток, так і структуру сайту.
Існує аналог Chat GPT - Gato від DeepMind, який здатний виконувати більше 600 різних завдань, проте доступний він не для всіх через деякі обмеження. У той же час він може грати в ігри, вести діалоги і підбирати підписи до зображень.
Chat GPT: що вміє.
Ми вже обговорювали здібності чат-бота, але його найбільша перевага полягає в наступному:
- Створення фрагментів текстового контенту за запитами та ключовими словами;
- Складання пісень та музичних творів;
- Взаємодія з кодом, включаючи написання, переклад з однієї мови на іншу та налагодження;
- Відповіді на запитання — значно краще, ніж у пошукової системи Google;
- Створення сценаріїв із постановкою завдань для героїв та розробка нових серій популярних телесеріалів;
- генерація ігор на основі фільмів;
- Планування та розрахунки – тепер люди можуть отримати готовий план щодо зниження ваги за лічені секунди;
- "Управління" іншими нейромережами – його запити можуть давати корисні поради для Midjourney.
Але поки що не варто хвилюватися, Chat GPT не зможе повністю замінити фахівців.
Chat GPT: як користуватися.
Для початку роботи з Chat GPT необхідно зареєструватися на сайті OpenAI. Однак, перед цим слід увімкнути VPN для безпеки. Сам процес спілкування з роботом здійснюється через діалогове вікно і є абсолютно безкоштовним.
Тим не менш, технологія все ще має багато недоробок, тому рекомендується перевіряти ще раз її відповіді. Наприклад, у текстовому контенті можуть бути зайві слова або речення, які не стосуються основної думки.
Крім того, через блокування небезпечного контенту можливе отримання неправильної відповіді. Важливо також розуміти, що технологія лише вгадує, що користувач хоче дізнатися, але не може правильно аналізувати інтонацію та інші якості.
Тим не менш, у майбутньому обмежені дані можуть бути покращені, розширивши можливості Chat GPT.
Як працює ChatGPT: пояснюємо простою російською еволюцію мовних моделей з T9 до дива
Останнім часом нам майже кожен день розповідають у новинах, які чергові вершини підкорили мовні нейросітки, і чому вони вже через місяць точно залишать особисто вас без роботи. При цьому мало хто розуміє – а як взагалі нейромережі на кшталт ChatGPT працюють усередині? Так ось, влаштовуйтесь зручніше: у цій статті ми нарешті пояснимо все так, щоби зрозумів навіть шестирічний гуманітарій!
OpenAI (компанію, яка зробила ChatGPT) заснували в 2015 році саме ось ці двоє хлопців - хто б тоді знав, у що це в результаті виллється.
Про всяк випадок відразу обмовимося: у цієї статті два автори. За всю технічну частину (і за все хороше у статті) відповідав Ігор Котенков — широко відомий чувак у вузьких колах російськомовної тусовки фахівців із штучного інтелекту, а також автор каналу Сіолошня про машинне навчання, космос та технології. За благання «ось тут незрозуміло, давай якось простіше!» і за додавання кринжових недоречних мемов був відповідальний Павло Комаровський - автор каналу RationalAnswer про раціональний підхід до життя та фінансів.
Власне, стаття так і народилася: Павло прийшов до Ігоря і обурився — мовляв, «чому ніхто ще не написав російською нормальну статтю про ChatGPT, яка пояснює зрозуміло навіть для моєї бабусі, як все це нейрочаклунство працює?» Так що заздалегідь приносимо свої. вибачення всім хардкорним технарям: під час підготовки цього тексту ми прагнули максимального спрощення. Нашим завданням було дати читачам загальне розуміння принципів роботи мовних нейромереж на рівні концепцій та аналогій, а не розібрати до останнього гвинтика усі глибокі технічні нюанси процесу.
Загалом, наливайте собі кухоль гарячого чаю і влаштовуйтеся зручніше - зараз ми вам розповімо все про те, що там крутиться під капотом у мовних моделей, яким чином ці покемони еволюціонували до поточних (місцями разючих) здібностей, і чому вибухова популярність чат-бота ChatGPT стала повним сюрпризом навіть для його творців. матеріал є ще й у форматі відео.)
Навігатор
- T9: сеанс мовної магії з викриттям
- Звідки нейромережі беруть ймовірність слів?
- Парадокс Барака, чи навіщо мовним моделям вміти у творчість
- 2018: GPT-1 трансформує мовні моделі
- 2019: GPT-2, або як запхати в мовну модель сім тисяч Шекспірів
- Чому у світі мовних моделей найбільше цінуються саме моделі «Plus Size»
- 2020: GPT-3, або як зробити з моделі Неймовірного Халка
- Промпти, або як правильно уламувати модель
- Січень 2022: InstructGPT, або як навчити робота не зигувати
- Листопад 2022: ChatGPT, або маленькі секрети великого хайпа
- Підіб'ємо підсумки
T9: сеанс мовної магії з викриттям
Почнемо з простого Щоб розібратися в тому, що таке ChatGPT з технічної точки зору, треба спочатку зрозуміти, чим він точно не є.Це не «Бог з машини», не розумна істота, не аналог школяра (за рівнем інтелекту та вміння вирішувати завдання), не джин, і навіть не знайдений дар промови Тамагочі. Приготуйтеся почути страшну правду: насправді ChatGPT — це Т9 з вашого телефону, але на бичачих стероїдах! Так, це так: вчені називають обидві ці технології «мовними моделями» (Language Models); а все, що вони по суті роблять, це вгадують, яке наступне слово має йти за вже наявним текстом.
Ну, точніше, у зовсім олдових телефонах з кінця 90-х (на кшталт культової невбивної Nokia 3210) оригінальна технологія Т9 лише прискорювала набір на кнопкових телефонах за рахунок вгадування поточного, а не наступного слова. Але технологія розвивалася, і до епохи смартфонів початку 2010-х вона вже могла враховувати контекст (попереднє слово), ставити пунктуацію та пропонувати на вибір слова, які б могли йти наступними. Ось саме про аналогію з такою «просунутою» версією T9/автозаміни і йдеться.
Кого жодного разу не підставляла автозаміна на телефоні – нехай перший кине в мене камінь
Отже, і Т9 на клавіатурі смартфона, і ChatGPT навчені вирішувати до божевілля просте завдання: прогноз єдиного наступного слова. Це і є мовне моделювання – коли за деяким уже наявним текстом робиться висновок про те, що має бути написано далі. Щоб мати змогу робити такі передбачення, мовним моделям під капотом доводиться оперувати ймовірністю виникнення тих чи інших слів для продовження. Адже, швидше за все, ви були незадоволені, якби автозаповнення в телефоні просто підкидало вам абсолютно випадкові слова з однаковою ймовірністю.
Уявімо для наочності, що вам прилітає повідомлення від приятеля: «Че, го дня куди нитку?».Ви починаєте друкувати у відповідь: «Та не, у мене вже справи (( я йду в. », І ось тут підключається Т9. Якщо він запропонує вам закінчити пропозицію повністю рандомним словом, типу «я йду в капібару»- то для такої біліберди, якщо чесно, ніяка хитра мовна модель особливо не потрібна. Реальні моделі автозаповнення в смартфонах підказують набагато доречніші слова (можете самі перевірити прямо зараз).
Мій Samsung Galaxy пропонує такі варіанти. Відразу видно типового айтішника: отримав зарплату, прокутив – і одразу в аптеку, лікуватися!
Так, а як саме Т9 розуміє, які слова слідуватимуть за вже набраним текстом з більшою ймовірністю, а які пропонувати точно не варто? Для відповіді на це питання нам доведеться поринути у базові принципи роботи найпростіших нейросіток.
Звідки нейромережі беруть ймовірність слів?
Почнемо з ще простішого питання: а як взагалі передбачати залежності одних речей від інших? Припустимо, ми хочемо навчити комп'ютер передбачати вагу людини в залежності від її зростання - як підійти до цього завдання?
Здоровий глузд підказує, що треба спочатку зібрати дані, на яких ми шукатимемо цікаві для нас залежності (для простоти обмежимося однією статтю — візьмемо статистику зростання/ваги для кількох тисяч чоловіків), а потім спробуємо «натренувати» якусь математичну модель на пошук закономірності всередині цих даних.
Для наочності спочатку намалюємо весь наш масив даних на графіці: по горизонтальній осі відкладатимемо зростання в сантиметрах, а по вертикальній осі - вага.
Судячи з наших прикидок, мужики у вибірці попалися в середньому ну такі - досить вгодовані (або суцільно качки на масі, тут відразу не розбереш)
Навіть неозброєним поглядом видно певну залежність: високі мужики, як правило, більше важать (спасибі, кеп!). І цю залежність досить просто висловити як звичайного лінійного рівняння , знайомого нам усім із п'ятого класу школи. На картинці потрібна нам лінія вже проведена за допомогою моделі лінійної регресії — по суті, вона дозволяє підібрати коефіцієнти рівняння і таким чином, щоб лінія, що вийшла, оптимально описувала ключову залежність у нашому наборі даних (можете для інтересу підставити своє зростання в сантиметрах замість рівняння на картинці і перевірити, наскільки точно наша модель вгадає вашу вагу).
Ви тут вже напевно хочете вигукнути: «Окей, зі зростанням/вагою і так інтуїтивно все було зрозуміло, тільки до чого тут взагалі мовні нейромережі?» А при тому, що нейромережі — це і є набір приблизно тих самих рівнянь, тільки куди складніших і матриці (але не будемо зараз про це).
Можна спрощено сказати, що ті ж самі T9 або ChatGPT — це лише хитрим чином підібрані рівняння, які намагаються передбачити наступне слово (ігрок) залежно від набору моделей попередніх слів (іксів), що подаються на вхід. Основне завдання при тренуванні мовної моделі на наборі даних - підібрати такі коефіцієнти при цих іксах, щоб вони дійсно відображали якусь залежність (як у нашому прикладі зі зростанням/вагою). А під великими моделями ми далі розумітимемо такі, які мають дуже велику кількість параметрів. У області ІІ їх так і називають — LLM, Large Language Models. Як ми побачимо трохи далі, жирна модель з безліччю параметрів - це запорука успіху для генерації крутих текстів!
До речі, якщо ви в цьому місці вже дивуєтеся, чому ми весь час говоримо про «передбачення одного наступного слова», тоді як той же ChatGPT бадьоро відповідає цілими онучами тексту – то не ламайте даремно голову. Мовні моделі легко генерують довгі тексти, але роблять вони це за принципом «слово за словом». По суті, після генерації кожного нового слова модель просто заново проганяє через себе весь попередній текст разом з щойно написаним доповненням - і випльовує наступне слово вже з урахуванням нього. В результаті виходить зв'язковий текст.
Парадокс Барака, чи навіщо мовним моделям вміти у творчість
Насправді, у наших рівняннях як «гравець» мовні моделі намагаються передбачити не так конкретне наступне слово, як ймовірності різних слів, якими можна продовжити заданий текст. Навіщо це потрібно, чому не можна завжди шукати єдине, «найправильніше» слово для продовження? Давайте розберемо на прикладі невеликої гри.
Правила такі: ви вдаєте мовну модель, а я вам пропоную продовжити текст «44-й президент США (і перший афроамериканець на цій посаді) — це Барак. ». Підставте слово, яке має стояти замість крапки, і оцініть ймовірність, що воно там справді виявиться.
Якщо ви зараз сказали, що наступним словом має йти «Обама» із ймовірністю 100%, то вітаю — ви помилилися! І річ тут не в тому, що існує якийсь інший міфічний Барак: просто в офіційних документах ім'я президента часто пишеться у повній формі із зазначенням його другого імені (middle name) — Хуссейн.Так що правильно натренована мовна модель повинна, по-хорошому, передбачити, що в нашому реченні «Обама» буде наступним словом тільки з ймовірністю умовно в 90%, а 10%, що залишилися, виділити на випадок продовження тексту «Хусейном» (після якого піде Обама вже із ймовірністю, близькою до 100%).
І тут ми з вами підходимо до дуже цікавого аспекту мовних моделей: виявляється, їм не чужа творча жилка! По суті, при генерації кожного наступного слова такі моделі вибирають його «випадковим» чином, як би кидаючи кубик. Але не аби як - а так, щоб ймовірності «випадання» різних слів приблизно відповідали тим ймовірностям, які підказують моделі зашиті всередину її рівняння (виведені при навчанні моделі на величезному масиві різних текстів).
Виходить, що та сама модель навіть на абсолютно однакові запити може давати зовсім різні варіанти відповіді — прямо як жива людина. Взагалі, вчені колись намагалися змусити нейронки завжди вибирати як продовження «найвірогідніше» наступне слово — що на перший погляд звучить логічно, але на практиці такі моделі чомусь працюють гірше; а ось здоровий елемент випадковості йде їм на користь (підвищує варіативність і, в результаті, якість відповідей).
Враховуючи сказане вище, не раджу вам сперечатися з нейросітками, використовуючи здатність до творчості як аргумент за перевагу людського розуму – може вийти конфуз
Загалом наша мова — це особлива структура з (іноді) чіткими наборами правил та винятків. Слова в реченнях не з'являються звідки, вони пов'язані один з одним. Ці зв'язки непогано вивчаються людиною «в автоматичному режимі» — під час дорослішання та навчання у школі, через розмови, читання тощо.При цьому для опису однієї і тієї ж події або факту люди вигадують безліч способів у різних стилях, тонах і напівтонах.
Всю цю варіативність описовості мови і повинна вмістити в себе хороша модель.
ChatGPT показує майстер-клас з варіативності: завжди приємно перетерти з кентом, що розуміє, який рівно пояснить, че почем – зволоження!
Коротке резюме: На даний момент ми з'ясували, що нескладні мовні моделі застосовуються в функціях «T9/автозаповнення» смартфонів з початку 2010-х; вихідний текст.
2018: GPT-1 трансформує мовні моделі
Давайте вже переходити від усіляких дрімучих T9 до більш сучасних моделей: що наробив стільки шуму ChatGPT є найбільш свіжим представником сімейства моделей GPT.
GPT розшифровується як Generative Pre-trained Transformer, або "трансформер, навчений на генерацію тексту". шість років – це ціла вічність).
Саме винахід Трансформера виявився настільки значущим, що взагалі всі галузі штучного інтелекту (ІІ) — від текстових перекладів і до обробки зображень, звуку чи відео — почали його активно адаптувати та застосовувати. Індустрія ІІ буквально отримала сильний струс: перейшла від так званої «зими ІІ» до бурхливого розвитку, і змогла подолати застій.
Концептуально, Трансформер - це універсальний обчислювальний механізм, який дуже просто описати: він приймає на вхід один набір послідовностей (даних) і видає на виході теж набір послідовностей, але інший - перетворений за якимось алгоритмом. Так як текст, картинки і звук (та й взагалі майже все в цьому світі) можна подати у вигляді послідовностей чисел - то за допомогою Трансформера можна вирішувати практично будь-які завдання.
Але головна фішка Трансформера полягає в його зручності та гнучкості: він складається з простих модулів блоків, які дуже легко масштабувати. Якщо старі, до-трансформерні мовні моделі починали кректати і кашляти (вимагати занадто багато ресурсів), коли їх намагалися змусити «проковтнути» швидко і багато слів за раз, то нейромережі-трансформери справляються з цим завданням набагато краще.
Більш раннім підходам доводилося обробляти вхідні дані за принципом "один за одним", тобто послідовно. Тому, коли модель працювала з текстом довжиною в одну сторінку, то вже до середини третього параграфа вона забувала, що було на самому початку (як люди з ранку, до того як вони «бахнувши каву»). А ось могутні лапища Трансформера дозволяють йому дивитися на ВСЕ одночасно — і це призводить до більш вражаючих результатів.
Всередину T9 у вашому телефоні майже напевно зашита модель простіше - так що спробуйте набрати цей рядок там і порівняти результат (тільки приберіть дітей від екрану, про всяк випадок)
Саме це дозволило зробити прорив у нейромережевій обробці текстів (зокрема їхньої генерації). Тепер модель не забуває: вона перевикористовує те, що вже було написано раніше, краще тримає контекст, а найголовніше — може будувати зв'язки на кшталт «кожне слово з кожним» на вельми значних обсягах даних.
Коротке резюме: GPT-1 з'явилася в 2018 році і довела, що для генерації текстів нейромережею можна використовувати архітектуру Трансформера, що має набагато більшу масштабованість та ефективність. Це створило величезний заділ на майбутнє наскільки можна нарощувати обсяг і складність мовних моделей.
2019: GPT-2, або як запхати в мовну модель сім тисяч Шекспірів
Якщо ви хочете навчити нейросітку для розпізнавання зображень відрізняти маленьких милих чихуабелів від мафінів з чорницею, то ви не можете просто сказати їй "ось посилання на гігантський архів зі 100 500 фотографій песів і хлібобулочних виробів - розбирайся!". Ні, щоб навчити модель, вам потрібно обов'язково спочатку розмітити тренувальний набір даних - тобто підписати під кожною фоткою, чи вона пухнаста або солодка.
А знаєте чим прекрасне навчання мовних моделей? Тим, що їм можна «годувати» будь-які текстові дані, і ці самі дані заздалегідь не треба спеціальним чином розмічати. Це якби в школяра можна було просто кидати валізу з різними книгами, без будь-якої інструкції, що там і в якому порядку йому потрібно вивчити — а він би сам у процесі читання кумекав для себе якісь хитрі висновки!
Якщо подумати, то це логічно: ми ж хочемо навчити мовну модель передбачати наступне слово на основі інформації про слова, що йдуть перед ним? Ну так будь-який текст, написаний людиною коли-небудь, - це і є вже готовий шматочок тренувальних даних. Адже він і так складається з величезної кількості послідовностей виду «купа якихось слів і речень => наступне за ними слово».
А тепер давайте ще згадаємо, що обкатана на GPT-1 технологія Трансформерів виявилася напрочуд вдалою в плані масштабування: вона вміє працювати з великими обсягами даних та «масивними» моделями (що складаються з величезної кількості параметрів) набагато ефективніше за своїх попередників. Ви думаєте про те саме, про що і я? Ну от і вчені з OpenAI у 2019 році зробили такий самий висновок: «Настав час пиляти здорові мовні моделі!»
Загалом було вирішено радикально прокачати GPT-2 за двома ключовими напрямками: набір тренувальних даних (датасет) і розмір моделі (кількість параметрів).
На той момент не було якихось спеціальних, великих та якісних, публічних наборів текстових даних для тренування мовних моделей — тож кожній команді фахівців з ІІ доводилося перекручуватися відповідно до їхнього власного ступеня зіпсованості. Ось хлопці з OpenAI і вирішили зробити дотепно: вони пішли на найпопулярніший англомовний онлайн-форум Reddit і тупо викачали всі гіперпосилання з усіх повідомлень, які мали більше трьох лайків (я зараз не жартую — науковий підхід, ну!). Усього таких посилань вийшло близько 8 мільйонів, а завантажені з них тексти важили в сукупності 40 гігабайт.
Чи багато це чи мало? Давайте прикинемо: зібрання творів Вільяма Шекспіра (всіх його п'єс, сонетів та віршів) складається з 850'000 слів.У середньому на одній сторінці книги міститься близько 300 англійських слів - так що 2800 сторінок чудового, часом застарілого англійського тексту за авторством найбільшого англомовного письменника займе в пам'яті комп'ютера приблизно 5,5 мегабайт. Так ось: це в 7300 разів менше, ніж обсяг тренувальної вибірки GPT-2. З урахуванням того, що люди в середньому читають по сторінці за хвилину, навіть якщо ви поглинатимете текст 24 години на добу без перерви на їжу та сон — вам знадобиться майже 40 років, щоб наздогнати GPT-2 по ерудиції!
Весь Шекспір – 13 важких томів, які займають цілу полицю. Якщо ви прочитаєте приблизно стільки книг сім тисяч разів поспіль, то станете такими вже розумними, як GPT-2 (але це не точно!)
Але одного обсягу тренувальних даних для отримання крутої мовної моделі недостатньо: адже навіть якщо посадити п'ятирічної дитини перечитувати всі збори творів Шекспіра разом із лекціями з квантової фізики Фейнмана на додачу, то навряд чи він від цього стане розумнішим. Так і тут: модель ще й сама по собі має бути досить складною та об'ємною, щоб повноцінно «проковтнути» та «перетравити» такий обсяг інформації. А як виміряти цю складність моделі, у чому вона виражається?
Чому у світі мовних моделей найбільше цінуються саме моделі «Plus Size»
Пам'ятайте, ми трохи раніше говорили, що всередині мовних моделей (у супер-спрощеному наближенні) живуть рівняння виду, де шуканий гравець - це наступне слово, ймовірність якого ми намагаємося передбачити, а ікси - це слова на вході, на основі яких ми робимо це пророцтво?
Так ось, як ви вважаєте: скільки було параметрів у рівнянні, що описує найбільшу модель GPT-2 у 2019 році? Можливо, сто тисяч, або кілька мільйонів? Ха, беріть вище: таких параметрів у формулі було аж півтора мільярда (це стільки: 1'500'000'000). Навіть якщо просто записати таку кількість чисел у файл і зберегти на комп'ютері, він займе 6 гігабайт! З одного боку, це значно менше, ніж сумарний розмір текстового масиву даних, на якому ми тренували модель (пам'ятаєте, яку ми збирали за посиланнями з Reddit, на 40 Гб); з іншого — адже моделі не потрібно запам'ятовувати цей текст цілком, їй досить просто знайти деякі залежності (патерни, правила), які можна вичленувати з написаних людьми текстів.
Ці параметри (їх ще називають "ваги", або "коефіцієнти") виходять під час тренування моделі, потім зберігаються і більше не змінюються. Тобто, при використанні моделі в це гігантське рівняння щоразу підставляються різні ікси (слова в тексті, що подається на вхід), але самі параметри рівняння (числові коефіцієнти при іксах) при цьому залишаються незмінними.
Думаю, якщо вам для кожного слова в розмові довелося б вирішувати за рівнянням на півтора мільярда параметрів, то ви теж стояли б з приблизно такою ж особою обличчя
Чим складніше рівняння зашито всередину моделі (чим більше в ньому параметрів) — тим краще модель передбачає ймовірності, і тим більш правдоподібним буде текст, що їй генерується. І у цієї найбільшої на той момент моделі GPT-2 тексти раптово стали виходити настільки хорошими, що дослідники з OpenAI навіть побоялися публікувати модель відкрито з міркувань безпеки.А ну як люди кинулися б генерувати в промисловому масштабі текстові фейки, що реалістично виглядають, спам для соцмереж, і так далі?
Ні, серйозно - це був прямо суттєвий прорив як! Ви ж пам'ятаєте: попередні моделі T9/GPT-1 погано могли підказати — чи збираєтеся ви піти в банк або в аптеку, а також вгадати, що шосейна Саша смокче сушіння, а не щось інше. А ось GPT-2 вже легко написала есе від імені підлітка з відповіддю на запитання: "Які фундаментальні економічні та політичні зміни необхідні для ефективного реагування на зміну клімату?" (Тут і інші дорослі прикурили від серйозності теми). Текст відповіді був під псевдонімом направлений журі відповідного конкурсу — і ті не помітили жодної каверзи. Ну, окей, оцінки цієї роботи поставили не дуже високі і у фінал вона не пройшла - але і «що за нісенітницю ви нам відправили, посоромилися б!!» теж ніхто не вигукнув.
"Есе добре сформульовано і підкріплює затвердження доказами, але ідея не є оригінальною", - так один зі шкіряних мішків у журі оцінив роботу нейросітки GPT-2.
Перехід кількості до якості (майже за Марксом)
Взагалі, ця ідея про те, що в міру нарощування розміру моделі у неї раптово відкриваються якісно нові властивості (наприклад, писати зв'язкові есе із змістом замість простого підказування наступного слова в телефоні) — це досить дивна штука. Давайте розберемо новопридбані скіли GPT-2 трохи докладніше.
Є спеціальні набори завдань на дозвіл двозначності у тексті, які допомагають оцінити розуміння тексту (хоч людиною, хоч нейромережею). Наприклад, порівняйте два твердження:
- Риба заковтнула приманку. Вона була смачною.
- Риба заковтнула приманку. Вона була голодною.
До якого об'єкта належить займенник «вона» у першому прикладі — до риби чи приманки? А у другому випадку? Більшість людей легко розуміють із контексту, що в одному випадку "вона" - це приманка, а в іншому - риба. Але для того, щоб це усвідомити, потрібно не просто прочитати пропозицію, а вишикувати в голові цілу картину світу! Адже, наприклад, риба може бути у різних ситуаціях і голодною, і смачною (на тарілці у ресторані). Висновок про її «голодність» у цьому конкретному прикладі випливає з контексту та її, даруйте, кровожерливих дій.
Чи здатна GPT-2 дійсно зрозуміти цей мем та оцінити його абсурдну красу? Зараз дізнаємось.
Люди вирішують такі завдання правильно приблизно в 95% випадків, а ось ранні мовні моделі справлялися лише в половині випадків (тобто намагалися вгадати практично рандомно «50 на 50» — як у тому анекдоті про «яка ймовірність зустріти на вулиці динозавра?») .
Ви, напевно, подумали: «Ну, треба просто нагромадити велику базу таких завдань (на кілька тисяч прикладів) з відповідями, прогнати через нейромережу — і натренувати її на пошук правильної відповіді». І зі старими моделями (з меншою кількістю параметрів) так і намагалися зробити – але дотягнути їх виходило лише приблизно до 60% успіху. А ось GPT-2 ніхто спеціально таким трюкам не вчив; але вона взяла, і сама несподівано і впевнено перевершила своїх «спеціалізованих» попередників — навчилася визначати голодних риб правильно в 70% випадків.
Це і є той самий перехід кількості в якість, про яку нам колись твердив старий чоловік Карл Маркс.Причому він відбувається зовсім нелінійно: наприклад, при зростанні кількості параметрів втричі від 115 до 350 млн. жодних особливих змін у точності вирішення моделлю «рибних» завдань не відбувається, а ось при збільшенні розміру моделі ще вдвічі до 700 млн. параметрів — відбувається якісний стрибок, нейромережа раптово «прозріває» і починає вражати всіх своїми успіхами у вирішенні абсолютно незнайомих їй завдань, які вона раніше ніколи не зустрічала та спеціально їх не вивчала.
Коротке резюме: GPT-2 вийшла в 2019 році, і вона перевершувала свою попередницю і за обсягом тренувальних текстових даних, і за розміром самої моделі (числа параметрів) у 10 разів. Таке кількісне зростання призвело до того, що модель несподівано самонавчилася якісно новим навичкам: від твору довгих есе зі зв'язковим змістом, до вирішення хитрих завдань, що вимагають зачатків побудови картини світу.
2020: GPT-3, або як зробити з моделі Неймовірного Халка
Погравшись трохи з GPT-2, що розповніла (і від цього порозумнішала), хлопці з OpenAI подумали: «А чому б не взяти ту ж саму модель, і не збільшити її ще раз так у 100?» Загалом наступна номерна версія, що вийшла в 2020 році, GPT-3, вже могла похвалитися в 116 разів великою кількістю параметрів — аж 175 мільярдів! Розкабаніла нейромережа при цьому сама по собі почала важити неймовірні 700 гігабайт.
Набір даних для навчання GPT-3 теж прокачали, хоч і не настільки радикально: він збільшився приблизно в 10 разів до 420 гігабайт — туди запхали купу книг, Вікіпедію, і ще багато текстів із різних інтернет-сайтів. Живій людині поглинути такий обсяг інформації вже точно нереально — ну, хіба що якщо посадити з десяток Анатоліїв Вассерманов, щоб вони читали буквально нон-стоп по 50 років поспіль кожен.
GPT-3 може і бути розумнішим за Онотолея, але чи наважиться вона сказати йому це в обличчя.
Відразу впадає в око цікавий нюанс: на відміну від GPT-2, сама модель тепер має розмір більше (700 Гб), ніж весь масив тексту для її навчання (420 Гб). Виходить начебто парадокс: наш «нейромозок» в даному випадку в процесі вивчення сирих даних генерує інформацію про різні взаємозалежності всередині них, яка перевищує за обсягом вихідну інформацію.
Таке узагальнення («осмислення»?) моделлю дозволяє ще краще робити екстраполяцію — тобто, показувати хороші результати в завданнях на генерацію текстів, які при навчанні зустрічалися дуже рідко або не зустрічалися зовсім. Тепер уже точно не потрібно вчити модель вирішувати конкретне завдання — натомість достатньо описати словами проблему, дати кілька прикладів, і GPT-3 схопить на льоту, чого від неї хочуть!
І тут вкотре виявилося, що «універсальний Халк» у вигляді GPT-3 (яку ніхто ніяким «вузьким» завданням не навчав) легко кладе на лопатки багато спеціалізованих моделей, які існували до неї: так, переклад текстів з французької або німецької англійською відразу почав даватися GPT-3 легше і краще, ніж будь-яким іншим спеціально заточеним під це нейромережам. Як? Нагадую, що йдеться про лінгвістичну модель, чиє призначення взагалі полягало рівно в одному — намагатися вгадати одне наступне слово до заданого тексту. Звідки тут беруться здібності до перекладу?
Але це ще квіточки — ще дивовижніше те, що GPT-3 змогла навчити сама себе.математики! На графіці нижче (джерело: оригінальна стаття) показана точність відповідей нейромереж з різною кількістю параметрів на завдання, пов'язані зі складанням/відніманням, а також з множенням чисел аж до п'ятизначних. Як бачите, при переході від моделей з 10 мільярдами параметрів до 100 мільярдів - нейромережі раптово і різко починають "вміти" в математику.
По горизонталі - кількість параметрів у моделі (у мільярдах), по вертикалі - якість моделі, виражена у відсотку чітко вирішених математичних прикладів
Ще раз, вдумайтеся: мовну модель навчали продовжувати тексти словами, а вона при цьому якось спромоглася сама розібратися в тому, що якщо їй друкують «378 + 789 =», то на це треба відповідати саме «1167», а не яким- то іншим числом. Магія, їй-богу, магія! (Хоча, деякі кажуть «так це нейросітка просто всі варіанти встигла побачити і тупо запам'ятати в тренувальних даних» — так що дебати про те, магія це чи лише папуга, поки тривають.)
На графіці вище найцікавіше це те, що при збільшенні розміру моделі (зліва направо) спочатку ніби не змінюється нічого, а потім р-раз! Відбувається якісний стрибок, і GPT-3 починає «розуміти», як вирішувати те чи інше завдання. Як, чому це працює — ніхто точно не знає. Але працює якось; причому, не тільки в математиці, а й взагалі в найрізноманітніших інших завданнях!
Анімація нижче наочно показує, як зі збільшенням кількості параметрів моделі в ній «проростають» нові здібності, які ніхто туди спеціально не закладав:
До речі, завдання про «голодних риб», яким ми мучили GPT-2 у минулому розділі, GPT-3 вже вирішує з точністю вище 90% — просто як людина.Примушує задуматися, правда: а які нові скіли набуде нейромережі, якщо збільшити її обсяг ще раз на сто? Ну, там, до десятків трильйонів параметрів, наприклад.
Промпти, або як правильно уламувати модель
Давайте тут зробимо невеликий відступ убік та обговоримо, а що це взагалі означає – модель вміє вирішувати завдання? По суті процес виглядає так: ми подаємо на вхід моделі якийсь текст із запитом, а вона до нього дописує своє продовження. Якщо це продовження (генерація) збігається з нашими очікуваннями, то модель, виходить, вирішила поставлене перед нею завдання.
Той текст, що ми подаємо на вхід, називається prompt (промпт або «запит/затравка» російською). Чим точніше він описує, що ми хочемо, краще модель зрозуміє, що їй потрібно робити. А якщо ми їй ще й прикладів відсипаємо з десяток, то взагалі шик!
Приклад детального запиту для перекладу з англійської на французьку: спочатку описується завдання, потім наводиться 3 приклади бажаної поведінки, після чого пишеться нове слово або пропозиція - а модель слідом згенерує коректний переклад (ну, це найпростіший приклад, вона може і складніше, звичайно)
Без опису мети та без прикладів у промпті, модель теж зазвичай розуміє проблему, але пропонує не такі добрі рішення (з погляду їхньої якості). Можна сказати, що деталізований промпт дозволяє GPT краще оцінити ймовірності слів, які потрібно генерувати як відповідь, спрямовуючи її в «потрібне русло».
Але наскільки складним має бути промпт? І наскільки модель за розумінням близька до нас? Ви не повірите, але зовсім недавно дослідники з'ясували, що для суттєвого поліпшення результатів генерації потрібно додати промпт просту радянську.
Окей, окрім жартів, але додавання лише однієї фрази перед відповіддю на питання суттєво покращує якість моделі. І ця магічна фраза будь ласка "let"s think step by step (давай подумаємо крок за кроком). Несподівано виявилося, що це спонукає модель міркувати послідовно, робити висновки на основі власних суджень, і дійти правильної відповіді набагато частіше, ніж без цієї фрази.
Як це працює? Давайте з прикладу дитячого завдання:
Запитання: У середньому боксер Іван завдає 25 ударів на хвилину. Бій триває 5 раундів по 3 хвилини. Скільки ударів він завдав?
Відповідь: 255
Текст, виділений жирним – це відповідь, згенерована мовною моделлю. Легко перевірити, що він – ну, трохи неправильний.
Обличчя боксера Івана, коли він намагається порахувати – скільки чесно завданих ударів «украла» мовну модель?
Однак та сама модель може відповісти ось так:
Запитання: У середньому боксер Іван завдає 25 ударів на хвилину. Бій триває 5 раундів по 3 хвилини. Скільки ударів він завдав?
Відповідь: Давай подумаємо крок за кроком. За одну хвилину Іван завдає 25 ударів. За три хвилини Іван завдає 3*25 = 75 ударів. За п'ять раундів Іван завдає 5*75 = 375 ударів.
І знову текст виділений жирним – це відповідь моделі. Видно, що він став довшим, вирішення завдання вийшло прямо як у школяра — на три дії. Чітко, послідовно — так, як ми й попросили. І фінальна цифра 375 є коректною відповіддю на вихідне запитання. Окремо зазначу: ми ніяк не донавчали модель після того, як вона відповіла неправильно - це абсолютно та сама модель. Ми просто дописали п'ять додаткових слів наприкінці нашого промпту, і сталося диво!
Причому цей «режим міркування» — це одна з якісно нових фішок, які з'явилися у «великій» моделі GPT-3 після подолання планки в сотню мільярдів параметрів. Старі моделі з меншою кількістю параметрів такі фокуси показувати не вміли, хоч як їх упрошуй спеціальними підказками «ну подумкою, братику!».
Взагалі, складання грамотних промптів для моделі це окрема наука. Під це завдання компанії вже почали наймати окремих людей з посадою «промпт-інженер» (тобто людина, яка складає запити для мовних моделей) — вангую, що до появи онлайн-курсів «🐺🐺🐺 Навчися промпт-інжинірингу за 6 тижнів і вкотись у перспективну індустрію із зарплатою 300к місяць!🐺🐺🐺» залишилося всього нічого.
Коротке резюме: GPT-3 зразка 2020 року була в 100 разів більшою за свою попередницю за кількістю параметрів, і в 10 разів – за обсягом тренувальних текстових даних. І знову зростання кількості призвело до раптового стрибка як: модель навчилася перекладу з інших мов, арифметики, базового програмування, покрокових міркувань, та багато іншого.
Січень 2022: InstructGPT, або як навчити робота не зигувати
Насправді збільшення розмірів мовних моделей саме по собі ще не означає, що вони відповідатимуть на запити саме так, як хоче їхній користувач. Адже часто ми, коли формулюємо якийсь запит, маємо на увазі дуже багато прихованих умов — які в комунікації між людьми вважаються такими, що самі собою розуміють, чи що. Наприклад, коли Маша просить свого чоловіка: "Вась, сходи викинь сміття" - то навряд чи їй спаде на думку додати до цього промпту "(тільки не з вікна, плз!)". Адже Вася це розуміє і без уточнень, а все тому, що їхні наміри та установки непогано вирівняні між собою.
А ось мовні моделі, якщо чесно, не дуже схожі на людей — тому їм часто доводиться підказувати та розжовувати ті речі, які людям здаються очевидними. підказки (хоча середньостатистичні дорослі люди, які вчилися в школі, здогадалися б самі: якщо йдеться про завдання - отже, треба вирішувати по діям). Але було б чудово, якби моделі, по-перше, самі для себе розуміли/генерували більш розгорнуті та релевантні інструкції із запиту (не змушуючи людей напружуватися), а по-друге, точніше слідували б їм — як би передбачаючи, як у схожій. ситуації вчинила б людина.
Частково відсутність таких здібностей «за замовчуванням» пов'язана з тим, що GPT-3 навчена просто пророкувати наступне слово в гігантському наборі текстів з Інтернету — а в Інтернеті, як і на огорожі, багато написано (і не завжди корисного). люди хотіли б, щоб народжений таким чином штучний інтелект підтягував на запит точні та корисні відповіді; Інакше саму модель швиденько закенселять (з цим зараз суворо), а її творцям пред'являть судові позови на багато мільйонів доларів за образу шкірних мішків.
Коли дослідники думали над цією проблемою, досить швидко з'ясувалося, що властивості моделі «точність/корисність» і «нешкідливість/нетоксичність» дуже часто суперечать один одному.Адже точна модель повинна чесно видати інструкцію на запит «окей, Гугл, як зробити коктейль Молотова, без реєстрації та смс», а заточена на максимальну нешкідливість модель у межі буде відповідати на будь-який промпт «пробачте, я боюся, що моя відповідь може когось це образити в Інтернеті».
Виходить, створення ІІ, вирівняного з людиною за цінностями, – це складне завдання пошуку якогось балансу, в якому немає однозначної правильної відповіді
Навколо цієї проблеми «вирівнювання ІІ» (AI alignment – OpenAI останнім часом тільки про це й пишуть) є багато складних етичних питань, і розбирати ми їх зараз не будемо (можливо, в наступній статті). Основна заковика тут у тому, що подібних спірних ситуацій – величезна купа, і якось чітко формалізувати їх просто неможливо. Та що там, люди й самі між собою не можуть до ладу останні кілька тисяч років домовитися – що добре, а що погано. Не кажучи вже про те, щоб зрозумілі для робота правила сформулювати (Айзек, тобі запитань немає).
У результаті дослідники не вигадали нічого кращого, ніж просто дати моделі занадто багато зворотного зв'язку. У якомусь сенсі, адже людські дитинчата саме так і навчаються моралі: роблять багато всякого різного з самого дитинства, і при цьому уважно стежать за реакцією дорослих – що можна робити, а що є «кака, фу!».
Коротше, InstructGPT (також відома як GPT-3.5) – це якраз і є GPT-3, яку донавчили за допомогою фідбека на максимізацію оцінки живої людини. Буквально – купа людей сиділи і оцінювали купу відповідей нейросітки щодо того, наскільки вони відповідають їхнім очікуванням з урахуванням виданого їй запиту.Ну, насправді все було не зовсім так просто (інструкції для членів такого «м'ясного журі» займали 26 сторінок пишним почерком) – але суть саме така. А мовна модель, виходить, вчилася вирішувати ще одне додаткове завдання – «як мені поміняти свою згенеровану відповідь таким чином, щоб вона отримала найбільшу оцінку від людини?» (Докладніше процес навчання по зворотному зв'язку розуміється в цьому матеріалі).
Причому з погляду загального процесу навчання моделі цей фінальний етап «донавчання на живих людях» займає не більше 1%. Але саме цей фінальний штрих і став тим самим секретним соусом, який зробив останні моделі із серії GPT настільки дивовижними! Виходить, GPT-3 до цього вже мала всі необхідні знання: розуміла різні мови, пам'ятала історичні події, знала відмінності стилів різних авторів, і так далі. Але лише за допомогою зворотного зв'язку від інших людей модель навчилася користуватися цими знаннями саме таким чином, що ми (люди) вважаємо «правильним». В якомусь сенсі GPT-3.5 – це модель, «вихована суспільством».
Коротке резюме: GPT-3.5 (також відома як InstructGPT) з'явилася на початку 2022 року, і головною її фішкою стало додаткове донавчання на основі зворотного зв'язку від живих людей. Виходить, що ця модель формально начебто більше і розумнішою не стала - зате навчилася підганяти свої відповіді таким чином, щоб люди від них дикий кайфували.
Листопад 2022: ChatGPT, або маленькі секрети великого хайпа
ChatGPT вийшла в листопаді 2022 року – приблизно через 10 місяців після своєї попередниці, InstructGPT/GPT-3.5 – і миттєво прогриміла на весь світ.Здається, що останні кілька місяців навіть бабусі на лавці біля під'їзду обговорюють лише одне — що там нового сказала ця ваша «ЧатЖПТ», і кого вона за найсвіжішими прогнозами залишить без роботи.
При цьому з технічної точки зору, здається, у неї немає особливо потужних відмінностей від InstructGPT (на жаль, наукової статті з детальним описом ChatGPT команда OpenAI поки так і не опублікувала — так що ми тут можемо тільки гадати). Ну окей, про деякі менш значущі відмінності ми все ж таки знаємо: наприклад, про те, що модель дотренували на додатковому діалоговому наборі даних. Адже є речі, які специфічні саме для роботи «ІІ асистента» у форматі діалогу: наприклад, якщо запит користувача не зрозумілий — то можна (і потрібно!) поставити уточнююче питання, і так далі.
Як навчає нас кінематограф, правильно натренований у мистецтві діалогу ІІ може змусити користувача зробити практично будь-що.
Але це вже деталі — нам тут важливо, що основні технічні характеристики (архітектура, кількість параметрів) нейросітки не змінилися кардинально порівняно з минулим релізом. Звідси виникає питання – як так? Чому ми не чули жодного хайпа про GPT-3.5 ще на початку 2022-го? При тому, що Сем Альтман (виконавчий директор OpenAI) чесно зізнався, що дослідники самі здивувалися такому бурхливому успіху ChatGPT - адже порівняна з нею за здібностями модель на той момент тихо-мирно лежала на їхньому сайті вже більше десяти місяців, і нікому не було до цієї справи.
Це дивно, але схоже, що головний секрет успіху нової ChatGPT - це лише зручний інтерфейс! До тієї ж InstructGPT звертатися можна було лише через спеціальний API-інтерфейс - тобто зробити це свідомо могли тільки нерди-айтішники, а не звичайні люди.А ChatGPT посадили у звичний інтерфейс «діалогового вікна», як у знайомих усім месенджерах. Та ще й відкрили публічний доступ загалом для всіх поспіль — і люди масово кинулися вести діалоги з нейромережею, скринити їх та ділитися у соцмережах. Choo-choo, all aboard the hype train!
Якщо ви змусили робота написати вам пояснення квантової фізики у формі реп-телеги від Снуп Дога – то, зізнайтеся, це виявиться у вашому Твіттері швидше, ніж ви встигнете моргнути
Як і в будь-якому технологічному стартапі, тут виявилася важлива не лише сама технологія — а й обгортка, в яку вона була загорнута. У вас може бути найкраща модель або найрозумніший чат-бот, але вони будуть нікому не цікаві, якщо до них не додається простий і зрозумілий інтерфейс. І ChatGPT у цьому сенсі здійснив прорив, вивівши технологію в маси за рахунок звичайного діалогового вікна, в якому доброзичливий робот друкує відповідь прямо на очах, слово за словом.
Не дивно, що ChatGPT встановив абсолютні рекорди за швидкістю залучення нових користувачів: позначку в 1 мільйон користувачів він досяг у перші п'ять днів після релізу, а за 100 мільйонів перевалив лише за два місяці.
Ну а там, де є рекордно швидка притока сотень мільйонів користувачів - звичайно, відразу з'являться і великі гроші. Microsoft оперативно уклала з OpenAI угоду щодо інвестування в них десятка мільярдів доларів, інженери Google забили на сполох і сіли думати, як їм врятувати свій пошуковий сервіс від конкуренції з нейромережею, а китайці в терміновому порядку анонсували швидкий реліз свого власного чат-бота. Але це все, якщо чесно, вже зовсім інша історія — стежити за якою ви можете зараз самі «у прямому ефірі».
Коротке резюме: Модель ChatGPT вийшла у листопаді 2022-го і з технічного погляду там не було жодних особливих нововведень. Зате у неї був зручний інтерфейс взаємодії і відкритий публічний доступ — що негайно породило величезну хвилю хайпа. А в нинішньому світі це найголовніше - так що мовними моделями миттєво почали займатися взагалі все довкола!
Підіб'ємо підсумки
Стаття вийшла не дуже короткою - але сподіваємося, що вам було цікаво, і після прочитання ви трохи краще стали розуміти, що ж саме відбувається під капотом цих самих нейромереж. До речі, у Ігоря Котенкова (одного з авторів цієї статті) є ще один лонгрід на Хабрі під назвою «ChatGPT як інструмент для пошуку: вирішуємо основну проблему», в якому нюанси машинного навчання знаються ще докладніше.
Для вашої зручності ми зробили невеликий зведений плакат, який наочно ілюструє основні віхи історії еволюції мовних моделей. Якщо якийсь етап здається вам не дуже зрозумілим, можете просто повернутися трохи назад до відповідного розділу в тексті і перечитати його заново (ну або поставити нам уточнюючі питання в коментарях).
Насправді, у початковому плані статті у нас було набагато більше пунктів: ми хотіли детальніше обговорити і проблеми контролю за штучним інтелектом, і жадібність корпорацій, які у висококонкурентній гонитві за прибутком можуть випадково народити ІІ-Франкенштейна, і складні філософські питання на кшталт «можна Чи вважати, що нейромережа вміє мислити, чи все ж таки ні?».
Якщо на цю статтю буде багато позитивних відгуків, то всі ці (на наш погляд супер-захоплюючі!) теми ми розберемо в наступному матеріалі.Якщо ви не хочете його пропустити — то запрошуємо вас підписатися на ТГ-канали авторів: Сіолошна Ігоря Котенкова (для тих, хто хоче нишпорити за технології) та RationalAnswer Павла Комаровського (для тих, хто за раціональний підхід до життя, але воліє трохи простіше) . Все, всім дякую за увагу - з нетерпінням чекаємо на ваші коментарі!
UPD: Наступну статтю із серії з розбором GPT-4 можна прочитати тут.
У цій статті ми розберемо нові дивовижні здібності останньої мовної моделі із сімейства GPT.