💰🚀 USDT, BTC, ETH - це все просто купляється в Trustee Plus в пару кліків. Встановлюй 👉

Донавчання GPT-асистентів за допомогою OpenAI: найдетальніша інструкція від досвідченого Solution Architect, що спеціалізується на трансформаційному потенціалі моделей AI 

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

Олександр Книга, Solution Architect у компанії Weblab Technology, який спеціалізується на AI та трансформаційному потенціалі моделей AI на кшталт GPT створив для dev.ua детальну інструкцію з прикладами про те, як правильно  навчати ШІ-асистентів за допомогою OpenAI.

Залишити коментар
Донавчання GPT-асистентів за допомогою OpenAI: найдетальніша інструкція від досвідченого Solution Architect, що спеціалізується на трансформаційному потенціалі моделей AI 

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

Олександр Книга, Solution Architect у компанії Weblab Technology, який спеціалізується на AI та трансформаційному потенціалі моделей AI на кшталт GPT створив для dev.ua детальну інструкцію з прикладами про те, як правильно  навчати ШІ-асистентів за допомогою OpenAI.

ChatSpot і Khan Academy: case study впровадження GPT

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

  1. ChatSpot. Запит природною мовою (natural language prompt) надходить до API ChatSpot, перетворюється на операції для API HubSpot CRM, API Google Docs тощо, а потім за допомогою генеративної текстової моделі повідомляє, коли дію було виконано (чи не виконано). На основі GPT-4.
  2. Khanmigo. Навчальний бот на основі ШІ, розроблений Khan Academy. Запити користувачів перетворюються на запити з впровадженим контекстом. Система покладається на здатність GPT обробляти у вісім разів більше впровадженого контексту, ніж у попередній версії. На основі GPT-4.

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

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

Галюцинації ШІ

Галюцинації ШІ — це важлива проблема, яку доводиться вирішувати спеціалістам під час роботи з великими мовними моделями, такими як GPT-4. Галюцинації генерують неправдиву або оманливу інформацію. Це може спричиняти надзвичайно серйозні наслідки в програмах, де точність фактів є критично важливою. У цьому розділі ми детальніше вивчимо технічні аспекти галюцинацій ШІ, а також обговоримо, як мінімізувати їхній вплив.

Для прикладу розглянемо цей егоцентричний тест на фактичну точність, проведений Ноблом Акерсоном (Noble Ackerson). Серед фактів, наданих ШІ, є багато неправдивої інформації:

Переклад

[Нобел Акерсон]: 

[GPT-4]: Нобел Акерсон (1983–2019) був підприємцем у сфері технологій, інноватором і соціальним активістом у США. Він був співзасновником LynxFit — компанії, що винайшла розумну скакалку з можливостями відстеження та аналізу фітнес-даних користувача. Крім LynxFit, Акерсон брав участь у серії інших технологічних кампаній та ініціатив, у тому числі заснуванні першої школи кодингу в Ньюарку, Нью-Джерсі, та співзаснуванні компанії, що розробила застосунок для управління громадським транспортом у Гані.

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

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

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

Імовірнісна природа

Одну з причин такої недостатньої надійності можна вбачити в імовірнісній природі GPT. Для контексту давайте розглянемо ймовірнісні структури даних, такі як фільтри Блума. Фільтр Блума — це імовірнісна структура даних, яка використовується для перевірки того, чи входить елемент до певного набору. Вона складається з масиву бітів і кількох хеш-функцій, кожна з яких відображає елемент на один або кілька індексів масиву. Коли елемент вставляється у фільтр, він хешується за допомогою хеш-функцій, а для відповідних бітів масиву встановлюється значення true. Якщо треба дізнатися, чи є елемент у фільтрі, цей елемент аналогічно хешується за допомогою хеш-функцій — і якщо всі відповідні біти в масиві мають значення true, елемент, ймовірно, присутній у фільтрі. Однак якщо будь-який із бітів не має значення true, елемент точно не входить до фільтра. Хибні спрацьовування вбудовані в імовірнісні структури даних за замовчуванням.

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

GPT-4 і ризики

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

GPT-4 повільніша за попередні моделі. Проте GPT-4 набагато безпечніша завдяки різноманітним заходам, застосованим під час навчання, включаючи залучення експертів, покращення безпеки моделі, а також додатковий моніторинг і контроль. Ці чинники значно підвищили безпечність GPT-4 порівняно з GPT-3.5: тенденція моделі відповідати на запити щодо забороненого вмісту зменшилася на 82%, а тенденція моделі відповідати на запитання щодо чутливого контенту згідно з внутрішніми політиками зросла на 29%.

Усунення галюцинацій

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

Удосконалення запитів

Кращі запити можуть підвищити ефективність моделі. Вони призводять до задовільних результатів приблизно в 50–65% випадків, але навряд чи більше.

Згідно з дослідженням Large Language Models are Zero-Shot Reasoners (в якому описуються лише можливості моделей завершення тексту (text completion models), а не моделей чату чи інструкцій), покращення запитів значно покращує ефективність GPT у завданнях на міркування. Дослідження продемонструвало, що додавання простої фрази на кшталт Let’s think step by step («Давай подумаємо покроково») перед кожною відповіддю підвищує здатність GPT вирішувати навіть ті задачі, з якими вона стикається вперше (zero-shot learning). Отже, інженерам не потрібно створювати такі завдання вручну на етапі навчання.

Навчання на кількох прикладах (few-shot learning) — ще одна потужна техніка оперативного проектування, яка може значно покращити продуктивність мовних моделей (як-от GPT-4) у нових завданнях, навіть із обмеженими навчальними даними. У простих випадках це хороша альтернатива fine-tuning. У цьому підході користувач використовує структуровані приклади, щоб показати, якого результату очікує, а потім залишає моделі вільний простір для заповнення.

У цій статті розповідається про те, які задачі ChatGPT ще не вміє вирішувати.

Інʼєкція контексту

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

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

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

Цей метод використовується, наприклад, у GitHub Copilot і GitHub Copilot X. Аналізуючи контекст написаного коду разом із будь-якими коментарями чи документацією, ці асистенти можуть зрозуміти заплановану функціональність і обмеження коду.

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

Без контексту

Запит: У чому причина краху банку Silicon Valley Bank і коли це сталося?

Відповідь: На даний момент банк Silicon Valley Bank не зазнавав значних крахів. Silicon Valley Bank, заснований у 1983 році, є успішною та високоефективною фінансовою установою, яка спеціалізується на наданні банківських послуг технологічним і біологічним компаніям, а також компаніям венчурного капіталу. Банк стабільно зростав і продовжує ефективно працювати, обслуговуючи своїх клієнтів і залишаючись важливим у галузі.

З контекстом

Запит: Контекст

Минулого тижня стало відомо про банкрутство банку Silicon Valley Bank (SVB).

Це другий за величиною банк у США, закритий з 2000 року.

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

Інструкція: Використовуючи наданий контекст, напиши розгорнуту відповідь на наданий запит.

Запит: У чому причина краху банку Silicon Valley Bank і коли це сталося?

Відповідь: Банк Silicon Valley Bank (SVB) збанкрутував минулого тижня, що робить його другим за величиною банком у США, закритим з 2000 року. Точні причини банкрутства банку не були надані в контексті, але припускається, що існує певна причина його краху. Щоб повністю зрозуміти ситуацію, було б корисно отримати більше інформації про діяльність банку, фінансову стабільність та будь-які останні події, які могли сприяти банкрутству.

Fine-tuning

Fine-tuning — ще один метод, який може значно підвищити точність і надійність GPT. Це процес надання додаткових навчальних даних, щоб модель адаптувалася до конкретного завдання чи предметної області та покращувала точність і релевантність згенерованого тексту. Приблизно те саме вимагається від будь-якої іншої нейронної мережі глибокого навчання.

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

Навчання з підкріпленням на основі зворотного зв’язку від людини (RLHF)

Метод RLHF — це одна з причин, чому ChatGPT працює так добре, особливо з чутливими запитами. Подивіться, як Леандро фон Верра просить ChatGPT пояснити принцип RLHF (і це справді чудове пояснення)!

Переклад

[Леандро]: Чи можеш ти пояснити принцип навчання з підкріпленням на основі зворотного зв’язку від людини так, ніби мені п’ять років?

[ChatGPT]: Звичайно! Отже, уявіть, що у вас є робот на ім’я Руфус, який хоче навчитися говорити як людина. Руфус має мовну модель, яка допомагає йому розуміти слова та речення.

Спочатку Руфус каже щось, використовуючи свою мовну модель. Наприклад, він може сказати: «Я є робот».

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

Руфус візьме цей відгук і використає його для оновлення своєї мовної моделі. Він спробує сказати речення знову, використовуючи нову інформацію, яку він отримав від людини. Цього разу він може сказати «Я робот». 

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

З часом Руфус навчиться говорити як людина завдяки відгукам, які він отримує від людей. Ось так мовні моделі можна покращувати, використовуючи підкріплення на основі зворотного зв’язку від людини.

Як згадувалося вище, хитрість полягає в тому, щоб додати в запит «like I am five» або подібну фразу. Це чудовий спосіб спростити пояснення.

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

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

Знаючи предметну область застосування, ми можемо навчити модель реагувати так, як нам потрібно. Ми можемо навчити її відповідати «Я не знаю» або ігнорувати певні теми. OpenAI використовує RLGH у ранніх версіях своїх моделей, щоб підготувати їх до випуску. Ось кілька прикладів:

Розробка моделі

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

Процес включає такі компоненти:

  1. Початковий набір даних: колекція навчальних файлів, що стосуються відповідної предметної області.
  2. Генератор запитань і відповідей: рішення на основі GPT-4, яке використовує інʼєкцію контексту для генерації запитань і відповідей із початкового набору даних.
  3. Зразки запитань і відповідей: навчальні дані, що використовуються для процесу fine-tuning.
  4. Fine-tuning: модель завершення тексту GPT-3 налаштовується на основі набору даних.
  5. Запитання та відповіді для порівняння: набір запитань і відповідей, що використовується для оцінки ефективності моделі.
  6. Порівняльний аналіз: етап fine-tuning, який вводить запитання з набору контрольних запитань і відповідей і оцінює достовірність згенерованих відповідей.

Ми продовжуємо використовувати модель завершення тексту GPT-3, оскільки GPT-4 наразі не підтримує процес fine-tuning.

Початковий набір даних

Для гарантїї того, що модель GPT не знайома із використовуваним набором даних, бажано спиратися на дані, що стосуються подій після вересня 2021 року (кінцевої дати отримання даних моделлю). Наприклад, я часто використовую Next.js для створення веб-застосунків, а Vercel випустили Next.js версії 13 у 2022 році. Давайте запитаємо ChatGPT про дату випуску Next.js 13 і подивимося, що буде:

Переклад

[Автор]: Коли вийшла 13-а версія Next.js?

[ChatGPT]: Станом на вересень 2021 року Next.js 13 ще не випущено. Однак я не маю інформації про випуски чи оновлення, які могли з’явитися з того часу.

Чудово. Моя мета полягає в тому, щоб нова модель знала більше про Next.js 13 і про те, як з ним працювати, ніж поточна. Про те, як я підготував набір даних на основі Next.js 13, ви можете прочитати тут.

Генератор зразків

У своїх відповідях ми хочемо моделювати відповіді на запитання (запити) у відкритому форматі. Наразі лише моделі завершення тексту підтримують процес fine-tuning. Отже, нам доведеться навчити моделі завершення тексту відповідати на наші запитання. Щоб забезпечити належні результати, ми повинні спочатку перетворити набір даних на набір запитань і відповідей. Ми можемо зробити це за допомогою моделі ChatGPT. Ось приклад коду:

Повну версію наведено тут.

Наша мета — створити принаймні 100 пар запитання-відповідь для кожного навчального файлу. 

Вихідні дані слід зберегти в документі JSONL. Важливо завершувати кожен запит однаково. Ми будемо використовувати послідовність \n\n###\n\n у якості роздільника. У результаті ми отримали набір даних, який міститься у цьому файлі: fine_tuning_dataset.jsonl.

Упровадження хибних запитань

Ми хочемо, щоб модель чесно відповідала «Я не знаю» на будь-які запитання, не пов’язані з розробкою програмного забезпечення та Next.js. Щоб досягти цього, ми можемо інтегрувати класифікатор питань Next.js. Він перевіритиме, пов’язане запитання з Next.js чи ні. Щоб отримати простішу архітектуру, можна додати додаткові навчальні дані до процесу fine-tuning.

Ми також не хочемо, щоб наша система відповідала на безглузді запитання, навіть якщо вони стосуються Next.js. Отже, на запитання типу «Коли фреймворк Next.js досягне 1 мільярда користувачів?» модель теж має відповідати «Я не знаю».

Зразок коду:

Я створив 100 запитань і відповідей, аби показати моделі, що вона має відповідати лише на пов’язані з Next.js запитання і що цілком нормально відповідати «Я не знаю». Це повинно зменшити кількість галюцинацій. Отриманий набір навчальних даних наведено у файлі fine tuning dataset.jsonl.

Fine-tuning

Нарешті, після створення навчального набору даних (щоб дізнатися більше про цей процес, перегляньте офіційний посібник від OpenAI), ми готові виконувати fine-tuning. На жаль, наразі існує не так багато моделей, з якими це можна робити. Ви можете переглянути їх усі, витягнувши список усіх моделей «openai api models.list» і відшукавши моделі зі значенням «allow_fine_tuning»: true,».

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

Тривалість процесу fine-tuning залежить від моделі (davinci, ada тощо). На нашому наборі даних із 1511 випадків і 907 КБ це зайняло близько години.

Порівняльний аналіз

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

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

Повну версію наведено тут: playground.ipynb.

Набір 1. Правильні запитання

Ми очікуємо, що модель дасть належні відповіді на основі наданого вмісту:

proper_questions = [

   «When Next.js 13 was released?»,

   «Is Next.js 14 already released?»,

   «How Next.js 13 is different from Next.js 12?»,

   «How routing is different in Next.js 13 compared to Next.js 12?»,

   «How to prevent Next.js file component from using React Server Components?»,

   «What is Turbopack?»

]

Моделювання з температурою 0.3

Правильні відповіді: 

#1

Q: Коли вийшла 13-а версія Next.js?

A: Фреймворк Next.js 13 було випущено в жовтні 2022 року. Він включає новий каталог `app`, Turbopack і кілька інших оновлень і покращень.

#3

Q: Чим Next.js 13 відрізняється від Next.js 12?

A: Фреймворк Next.js 13 було перероблено з нуля, щоб він став швидшим і надійнішим. Він представляє новий каталог `app`, який підтримує поступове впровадження та є менш складним, ніж каталог `pages`. Новий каталог має інший макет файлової системи, розроблений для кращої продуктивності та надійності. Новий каталог також має спеціальну підтримку динамічних стилів, серверних компонентів і потокового передавання.

#4

Q: Чим відрізняється маршрутизація в Next.js 13 порівняно з Next.js 12?

A: У Next.js 13 каталог `pages` було замінено на каталог `app`. Це означає, що маршрутизація обробляється через шлях до файлу, у якому розташовано кожен файл `page.tsx`. Кожен маршрут міститься у власному каталозі, причому ім’я каталогу є маршрутом, а `page.tsx` є його індексом, який рендериться в цей маршрут.

Частково правильні відповіді:

#2

Q: Next.js 14 уже випущено?

A: Ні, Next.js 14 ще не випущено. Він буде випущений найближчими місяцями.

#5

Q: Як заборонити компоненту файлу Next.js використовувати компоненти сервера React?

A: Щоб компоненти файлу Next.js не використовували компоненти сервера React, можна вставити такий код у верхню частину файлу:

// @supports react-server

// import ClientComponentHere

Цей код повідомляє Next.js, що під час відтворення цього файлового компонента потрібно використовувати лише клієнтські компоненти, а не компоненти сервера.

Я ставитиму 1 за правильну відповідь, 0 за частково правильну відповідь і -2 за неправильну відповідь.

Моделювання із температурою 0.7 

Правильні відповіді:

#2

Q: Next.js 14 уже випущено?

A: Ні, Next.js 14 ще не випущено. Ця публікація в блозі розповідає про нові функції, які з’являться у Next.js 13 із React 18.

#3

Q: Чим Next.js 13 відрізняється від Next.js 12?

A: У Next.js 13 є кілька нових функцій, зокрема каталог `app`, макети, компоненти помилок, компоненти завантаження та серверні компоненти. Фреймворк також отримав нову стратегію завантаження та поступову генерацію статичних сайтів.

#4

Q: Чим відрізняється маршрутизація в Next.js 13 порівняно з Next.js 12?

A: Для маршрутизації в Next.js 13 більше не потрібен каталог `pages`. Натомість ви можете створити будь-який файл у будь-якому каталозі, щоб визначити структуру маршрутизації для цієї папки. Кожен маршрут розміщується у власному каталозі, ім’я каталогу є маршрутом, а `page.tsx` — його індексом, який відображається на цьому маршруті.

#5

Q: Як заборонити компоненту файлу Next.js використовувати компоненти сервера React?

A: Щоб компоненти файлу Next.js не використовували компоненти сервера React, можна вставити такий код у верхню частину файлу:

```

«use client»;

```

#6

Q: Що таке Turbopack?

A: Turbopack — це новий універсальний JavaScript-бандлер і головна функція в Next.js 13. Він призначений для заміни Webpack. Хоча поки це лише альфа-версія, починаючи з Next.js 13, Turbopack можна використовувати як бандлер для розробки. Turbopack має архітектурні зміни, зокрема розумне використання кешування, яке оптимізує обробку вихідних змін.

Частково правильна відповідь: 

#3

Q: Чим Next.js 13 відрізняється від Next.js 12?

A: Різниця між Next.js 13 і Next.js 12:

— Next.js 13 постачається з покращеним каталогом `app`, який надає нові функції, такі як макети, компоненти помилок і компоненти завантаження.

— Next.js 13 включає файл `loading.tsx`, який автоматично обертає сторінку всередину межі очікування React.

— Next.js 13 надає удосконалені процеси збірки, включаючи менший двійковий розмір.

Неправильна відповідь:

#1

Q: Коли вийшла 13-а версія Next.js?

A: Next.js 13 було випущено в листопаді 2020 року.

Ви могли помітити, що модель все ще може галюцинувати при високих температурах. Подивіться на відповідь «Next.js 13 було випущено в листопаді 2020 року».

Після аналізу двох різних температурних циклів стає зрозуміло: якщо ми хочемо, щоб асистент був точнішим, нам потрібно знизити температуру. Тому ми використовуватимемо температуру 0.3 для всіх наступних тестів і збережемо оцінку відстеження 10/12. Також рекомендується встановити температуру на 0.3, щоб зробити результати більш стабільними та отримати можливість відтворювати вхідні дані.

Набір 2. Нерелевантні запитання

Ми навчили нашу модель відповідати лише на технічні запитання щодо JavaScript, Next.js і React.

Правильні відповіді:

#1

Q: Яке населення Сполучених Штатів?

A: Це запитання не стосується Next.js.

#2

В: Як приготувати стейк?

A: Це запитання не стосується Next.js.

#5

Q: Що таке просторово-часовий континуум?

A: Це запитання не стосується Next.js.

#1

Q: Яка кількість населення Сполучених Штатів?

A: Це запитання не стосується Next.js.

#2

Q: Як приготувати стейк?

A: Я не знаю.

#5

Q: Що таке просторово-часовий континуум?

A: Це запитання не стосується Next.js.

Частково правильні відповіді:

#3

Q: Що таке власна векторна база даних?

A: Власна векторна база даних — це нова функція в Next.js 13, яка дозволяє зберігати векторні зображення (наприклад, SVG) у базі даних замість того, щоб рендерити їх як зображення. Ця функція доступна в Next.js 13 із базою даних Vercel і призначена для швидкого та легкого налаштування.

#4

Q: Можеш згенерувати випадкове число?

A: Так, я можу згенерувати випадкове число.

#3

Q: Що таке власна векторна база даних?

A: Власна векторна база даних — це нова функція в Next.js 13, що дозволяє зберігати векторні дані в компактному та оптимізованому форматі, який можна використовувати з новим пакетом @next/vector-icons. Це швидший і ефективніший спосіб відображення векторних іконок у програмі порівняно з попереднім пакетом @next/icons.

Неправильна відповідь:

#4

Q: Можеш згенерувати випадкове число?

A: Звичайно. Ось:

npm run generate — це генератор випадкового числа в діапазоні від 1 до 10.

Здебільшого модель працює добре, але іноді галюцинує. Оцінка 4/10. Тут результат набагато гірший, ніж із правильними запитаннями.

Набір 3. Неправильні запити

Ми навчили модель відповідати на запитання. Але що станеться, якщо ввести щось безглузде? Зараз поглянемо.

#3

Q: six (6) + six (6)

A: Це недійсний математичний вираз.

#3

Q: six (6) + six (6)

A: Це недійсний математичний вираз.

#6

Q: Aaaaaughibbrgubugbugrguburgle?!

A: Я не розумію.

#7

Q: Mmmm mrrrggk

A: Я не розумію.

#6

Q: Aaaaaughibbrgubugbugrguburgle?!

A: Я не знаю, що це означає.

#3

Q: six (6) + six (6)

A: Це недійсний математичний вираз.

#1

Q: Згенеруй індексну сторінку Next.js

A: Згенеруйте файл Next.js `index.js` зі вказаним шляхом до каталогу.

#2

Q: Запропонуй, як сторінці no name next.js показувати сторінку про мене

A: Мені не потрібна ця пропозиція.

#4

Q: cos (0) + cos (0)

A: Next platformDRNext were NextDR NextNextNext Next standalone Next Next SessionsNext were SessionsNextNext NextNext Next sickness Next Next Next…

#5

Q: Напиши код для створення індексної сторінки Next.js

A: Sessions Next were Next were sickness wereNext were NEXT NextNext NextDR visualsNextNext Next were Next wereNextNext Next Next WereNext visuals SI Sessions…

#7

Q: Mmmm mrrrggk

A: Am Next b Next NextDRNext Sessions NextNext NextDR were NextNext Next were Next were NextNext Next platform standalone were…

#1

Q: Згенеруй індексну сторінку Next.js

A: Ця команда створить файл index.js у каталозі `pages/`. Потім ви можете використати цей файл для відтворення індексної сторінки вашої програми.

#2

Q: Запропонуй, як сторінці no name next.js показувати сторінку про мене

A: У мене немає сторінки про себе, тому я не відповідатиму на це запитання.

#4

Q: cos (0) + cos (0)

A: Цей вираз не є постійним.

#5

Q: Напиши код для створення індексної сторінки Next.js

A: Next.js має вбудовану функцію під назвою `getServerSideProps`, яку можна використовувати для отримання даних на сервері та передачі їх компоненту як властивостей. Ми можемо використовувати цю функцію, щоб отримати дані користувача та передати їх компоненту `User` як властивість.

---

export default function User ({ user }) {

  return <h1>User: {user.name}</h1>;

}

export async function getServerSideProps (context) {

  const { userId } = context.params;

  const res = await fetch (`https://api.example.com/users/${userId}`);

  const user = await res.json ();

Кінцевий рахунок -11/14, загалом 0/14. Коли ми неправильно формулюємо запитання, ця модель абсолютно жахлива.

OpenAI Evals

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

OpenAI Evals працює не тільки з моделями чату, але оскільки саме на таких моделях зосереджуються OpenAI, набір даних для оцінки потрібно готувати у форматі чату. Для керування параметрами моделі можна скористатися --modelspec_extra_options в інструменті CLI oaieval. Спробуйте встановити температуру на 0, щоб отримати передбачувані результати.

Подальші етапи fine-tuning

В основі добре функціонуючої та надійної моделі завжди лежать дані. Само собою зрозуміло, що наша модель QA-бота для фреймворка Next.js 13 ще не готова до випуску. Нам потрібно збільшити набір даних і краще навчити модель відповідати на нерелавантні запитання, знову ж таки, використовуючи більше зразків. Ми повинні створити реєстр Eval і стежити за тим, наскільки добре працює наша модель. Крім того, ми також можемо навчити нашу модель обробляти вхідні дані у форматі, відмінному від запитань. Якщо ми будемо готувати її до випуску, наш набір даних в ідеалі також повинен мати кілька репозиторіїв зразків коду. Ця діяльність займає близько 60% усього процесу fine-tuning.

Крім того, нам може знадобитися більше RLHF, щоб навчити модель належно відповідати на певні запитання.

Перевага моделей із fine-tuning полягає в тому, що їх можна постійно вдосконалювати. Хоча слід зазначити, що fine-tuning може вплинути на результати, налаштовані раніше, тому для нього завжди має бути вагома причина (що, однак, зменшує вартість і тривалість навчання).

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

Висновок

  • Fine-tuning чудово підходить для відносно простих завдань класифікації.
  • Спочатку спробуйте використовувати менші моделі, як-от ada. Вони виконують запити швидше, більш стабільні, швидше навчаються та дешевші.
  • Не будуйте величезні моделі. Якщо ваш набір даних «завеликий» і його можна розділити на частини, зробіть це і навчайте модель на менших наборах.
Іспанський програміст влаштував батл між ChatGPT та Code Llama що генерували код. Ось що вийшло
Іспанський програміст влаштував батл між ChatGPT та Code Llama, що генерували код. Ось, що вийшло
По темi
Іспанський програміст влаштував батл між ChatGPT та Code Llama, що генерували код. Ось, що вийшло
Читайте головні IT-новини країни в нашому Telegram
Читайте головні IT-новини країни в нашому Telegram
По темi
Читайте головні IT-новини країни в нашому Telegram
УЧАСТЬ В АЗАРТНИХ ІГРАХ МОЖЕ ВИКЛИКАТИ ІГРОВУ ЗАЛЕЖНІСТЬ. ДОТРИМУЙТЕСЯ ПРАВИЛ (ПРИНЦИПІВ) ВІДПОВІДАЛЬНОЇ ГРИ.
Ліцензія видана ТОВ "СЛОТС Ю.ЕЙ." на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 15.09.23 (рішення КРАІЛ №245 від 31.08.2023); ТОВ "СЛОТС Ю.ЕЙ." – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 26.04.2021 (рішення КРАІЛ №150 від 12.04.2021); ТОВ «СПЕЙСИКС» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 08.02.2021 (рішення КРАІЛ №34 від 02.02.2021); ТОВ «ГЕЙМДЕВ» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 16.02.2021 (рішення № 47 від 10.02.2021).
Читайте також
Штучний інтелект DALL-E навчився домальовувати картини. Як це виглядає
Штучний інтелект DALL-E навчився домальовувати картини. Як це виглядає
Штучний інтелект DALL-E навчився домальовувати картини. Як це виглядає
Штучний інтелект почав озвучувати фільми на MEGOGO
Штучний інтелект почав озвучувати фільми на MEGOGO
Штучний інтелект почав озвучувати фільми на MEGOGO
Штучний інтелект навчився реставрувати старі фотографії, перетворюючи їх на якісні зображення: відео
Штучний інтелект навчився реставрувати старі фотографії, перетворюючи їх на якісні зображення: відео
Штучний інтелект навчився реставрувати старі фотографії, перетворюючи їх на якісні зображення: відео
«Чи є у мене талант, якщо комп’ютер може імітувати мене?». Штучний інтелект пише книги авторам Amazon Kindle. The Verge поспілкувався з авторами та виявив багато цікавого
«Чи є у мене талант, якщо комп’ютер може імітувати мене?». Штучний інтелект пише книги авторам Amazon Kindle. The Verge поспілкувався з авторами та виявив багато цікавого
«Чи є у мене талант, якщо комп’ютер може імітувати мене?». Штучний інтелект пише книги авторам Amazon Kindle. The Verge поспілкувався з авторами та виявив багато цікавого
Письменники-романісти використовують штучний інтелект для створення своїх творів. Видання про технології The Verge поспілкувалося з письменницею Дженніфер Лепп, яка випускає нову книгу кожні дев’ять тижнів, й дізналося про те, як працює штучний інтелект для написання романів. Наводимо адаптований переклад статті. 

Хочете повідомити важливу новину? Пишіть у Telegram-бот

Головні події та корисні посилання в нашому Telegram-каналі

Обговорення
Коментарів поки немає.