EngX Code Review: почни писати код іще краще й побудуй ефективний процес код-рев’ю.

LLM: що це таке і які відкриває можливості

Які існують інструменти та техніки для ефективного промпт інжинірингу? Чим сьогодні хороший ChatGPT, а в чому йому ще належить удосконалюватися? Як йому у цьому допомогти ? На актуальні запитання відповідає продуктовий менеджер Anywhere Club Леонід Ардаєв і ділиться корисними ресурсами для вивчення prompt engineering.

продуктовий менеджер Леонід Ардаєв


Що таке LLM, або Large Language Models

— LLM — це мовні моделі, що працюють з великою кількістю додаткових параметрів. Тобто це моделі, які використовують великі дані та мережі трансформерів для побудови своєї структури, — пояснює Леонід, — Напевно, вам знайомі такі моделі, як GPT-3, GPT-3.5 і, звісно ж, GPT-4, який використовується в чат-ботах OpenAI. Сьогодні OpenAI не розкриває деталі щодо обсягу інформації та параметрів, з якими працює GPT-4, але є підстави вважати, що на даний момент це одна з найбільших моделей.

Існують й інші менш популярні моделі, які, однак, поступаються OpenAI в багатьох тестах. Це, наприклад, Jurassic 1 і Jurassic 2 від ізраїльської компанії AI21 Labs. Або чат-бот Google Bard на моделі PaLM-2, яка зовсім недавно з’явилася у загальному доступі.

Є кілька цікавих розробок від NVIDIA (NeMo, Picasso та BioNeMo), які створені для цілого спектра різних застосувань — від генерації тексту і відео до наукових досліджень.. Їхні наступні версії, ймовірно, матимуть найбільшу кількість параметрів, що дасть їм змогу враховувати більше деталей під час генерації контенту.

Різноманітність мовних моделей велика, і кожна з них має свої особливості та переваги, а також особливі сфери застосування.

Ще більше про ChatGPT

— GPT (Generative Pre-trained Transformer) — це модель мовного моделювання (LLM), а ChatGPT — продукт, що ґрунтується на моделі GPT і призначений для ведення діалогів із людиною природною для неї мовою, — дає визначення Леонід, — ChatGPT здатний підтримувати діалоги, запам’ятовуючи попередні висловлювання та відповідаючи на них у спосіб, що схожий на розумний людський діалог. Модель навчається на великих обсягах текстових даних та використовує архітектуру трансформера для генерації відповідей.

Сильні сторони ChatGPT

  1. Здатність знаходити інформацію швидко і релевантно (у більшості випадків). На відміну від пошукових систем, у яких є тисячі розробників і які все ж можуть мати проблеми з пошуком дуже важливої або специфічної інформації, ChatGPT може добре впоратися з такими запитами завдяки своїй здатності враховувати послідовність запитів і в принципі іншому підходу до обробки запитів. Це робить його корисним інструментом для проєктів, пов’язаних із пошуком інформації. LLM може знаходити складні запити, які можуть бути відсутніми у вигляді keywords у тексті.
  2. ChatGPT також відмінно працює з текстами, здатний їх генерувати та підсумовувати у великих обсягах. Він може приймати структурований або неструктурований текст і створювати короткий зміст або резюме відповідно до запиту.
  3. ChatGPT проявляє відмінні навички в галузі перекладу. Навіть для складних мов, які читаються справа наліво або зліва направо, їхній переклад іншими мовами через кирилицю та англійську може бути більш точним і якіснішим, ніж під час використання традиційних інструментів, таких як Google Translate. ChatGPT правильно розпізнає і відтворює специфічні символи та враховує суперечливі моменти завдяки своїй базі знань, яка охоплює великий обсяг інформації з інтернету.
  4. Здатність генерувати код. Він може легко створювати JSON-структури на основі наданих даних та автоматично визначати, куди вставити відповідні значення. Наприклад, якщо ми надамо йому резюме (CV) і запросимо конвертацію його у формат JSON без надання безлічі контексту, ChatGPT зможе згенерувати структуру з поділом на секції та правильними назвами полів. Він також добре справляється з повторюваними завданнями, якщо послідовність запитів запрограмована відповідним чином.
  5. Role playing. Наприклад, ChatGPT можна використовувати в якості тренера з англійської мови або з певної предметної області. Якщо попросити його представитися кимось і вести розмову природною мовою, він чудово грає цю роль і може добре взаємодіяти з контекстом. Це дає змогу створювати цікаві та реалістичні ситуації для навчання або тренування відповідальних переговорів.
Як використовувати ChatGPT у контент-маркетингу

Слабкі сторони ChatGPT

  1. Нездатність надавати оціночні судження. Це означає, що він не може оцінювати будь-що в термінах «добре» чи «погано» або мати емоційне забарвлення у своїх відповідях. При цьому у OpenAI є механізми, які намагаються обмежити видачу неприйнятних або неправильних відповідей з точки зору етики.
  2. Так звані галюцинації (hallucinations). Оскільки ChatGPT навчається на публічно доступній інформації, яка може містити помилки або бути невірною загалом, є ризик того, що модель може генерувати неправильні або неточні відповіді. Якщо модель отримує невірні дані, вона може повернути комбінацію, яка здається більш імовірною, але насправді є помилковою. Це особливо помітно в логічних запитаннях або завданнях, що вимагають математичних розрахунків. Важливий обережний підхід і модерування відповідей бота, перш ніж приймати їх за правду.
  3. Можливість допускати фактичні помилки під час генерації тексту. Хоча модель здатна генерувати якісні тексти, вона не є джерелом абсолютно точної інформації.
  4. Схильність ChatGPT до стереотипування (Bias). Оскільки модель навчається на великому обсязі публічних даних, вона може проявляти вподобання або схильність до найімовірніших відповідей. Це може призводити до того, що модель наполегливо дотримуватиметься своєї точки зору з певного питання, навіть якщо вона не є абсолютно точною. Це спричинено тим, що модель формує свої відповіді на основі наявних даних. Для подолання цієї проблеми важливо перевіряти відповіді.
  5. Проблема уваги до деталей, особливо коли надається великий промпт. Модель із безкоштовним доступом GPT3.5-turbo, на базі якої побудовано ChatGPT, здатна тримати в короткостроковій пам’яті обсяг близько 4000 токенів, або приблизно 3000 слів. Платна модель GPT4 здатна обробляти вже 32000 токенів. На ринку вже з’явилися моделі, такі як Claude від Anthropic, яка здатна «запам’ятовувати» до 100 000 токенів, що за обсягом відповідає невеликому літературному роману. Якщо промпт занадто довгий, модель може загубити деякі деталі та припуститися помилки у відповіді. Уважність до деталей та контроль розміру промпта можуть допомогти уникнути таких помилок.

Звичайно, у ChatGPT наразі набагато більше обмежень, але, коли їх буде знято — це питання часу. Зараз просто потрібно пам’ятати про них і намагатися обходити.

Основні правила складання промтів

— Prompt engineering — важливий аспект взаємодії з моделлю ChatGPT, — вважає Леонід, — Щоб отримати точну та правильну відповідь, необхідно ретельно скласти запит. Промпт для моделі не може бути таким самим, як для людини. Людина здатна інтерпретувати невербальні сигнали та додумувати неявні наміри. Однак модель такої здатності не має. Їй потрібен достатній контекст і чітке розуміння завдання. Якщо моделі не надати цю інформацію, вона все одно поверне відповідь, але, найімовірніше, вона не відповідатиме очікуванням і запиту користувача.

  1. Головне правило, яке слід запам’ятати, пов’язане з необхідністю бути достатньо конкретним під час формулювання промпта. Важливо вказувати конкретні деталі та ймовірності, щоб отримати точну відповідь від моделі. Якщо промпт не містить достатньо інформації або надає неверифіковані дані, модель може дати нічим не підкріплену відповідь або пропозицію, що ґрунтується на наявній інформації. Однак, коли ми надаємо моделі точніші відомості, вона здатна дати більш обґрунтовану і зважену відповідь, засновану на цьому контексті.
  2. Важливо знати, що у моделей є налаштування, якими можна керувати під час роботи з ними через платформу Playground або інші хмарні середовища, що використовують двигун OpenAI. Один із прикладів — параметр «температура». Він визначає варіативність відповідей моделі. Висока «температура» дає змогу моделі генерувати різноманітні та креативні відповіді, зважаючи на ймовірності відповідності запиту. Вважається, що ChatGPT працює з фіксованою «температурою» 0,7, що передбачає різноманітність у відповідях бота на одне й те саме запитання. Зниження «температури» робить модель більш передбачуваною і стабільною, але може обмежити варіативність відповідей. Тому важливо звертати увагу на вибір температури, особливо в разі прагнення отримати фіксовану та точну відповідь.
  3. При роботі з ChatGPT потрібно розбивати великі промпти на маленькі частини, особливо під час порівняльного аналізу або складних завдань. Це допомагає уникнути втрати контексту та отримати точніші результати. Можна розділити завдання на кілька підзадач, обробити їх окремо, а потім порівняти отримані результати з тим, з чим потрібно порівнювати. При цьому важливо пам’ятати про обмеження щодо розміру промпта для кожної моделі. Якщо його перевищено, то ту частину, яка не поміщається, модель почне «забувати».
  4. Стимулювання «роздумів». ChatGPT може навчатися в процесі взаємодії. Надання моделі невеликого контексту та чіткого розуміння того, що є правильним або неправильним, дає змогу моделі запам’ятати цю інформацію і видавати відповіді в очікуваному форматі з більшою ймовірністю. Це підходить для вирішення складніших проблем та забезпечує більшу впевненість в одержуваних результатах. До цього ж правила варто віднести і надання прикладів.

Інструменти та техніки для ефективного промпт інжинірингу

  1. Dyno IDE та Wale IDE. Ці інструменти дають змогу тестувати і контролювати результати запитів через OpenAI API, а також використовувати невеликі датасети для включення змінних у цикл запитів. Використовуючи їх, можна згенерувати кілька відповідей з різними налаштуваннями, такими як температура та розмір відповіді. Порівнюючи й аналізуючи результати, можна вибрати найбільш підходящу відповідь. Ці середовища корисні для тестування і підбору оптимальних промптів.
  2. Вбудований Playground в OpenAI також надає можливість налаштування запитів і використання додаткових функцій для досягнення стабільних результатів.
  3. DocsGPT — модель, заснована на OpenAI. Цей інструмент дає змогу використовувати файли як контекст для генерації відповідей. Docs.GPT може відповідати на запитання, використовуючи інформацію із завантажених файлів. Це зручний інструмент для побудови довідкових чат-ботів на базі LLM.
  4. Крім того, існує розширення для браузера, яке дає змогу ChatGPT отримувати дані з Інтернету. Це обмеження вже знято в платних версіях популярних ботів, але безкоштовний ChatGPT все ще посилається на знання до вересня 2021 року. За допомогою цього розширення ChatGPT може звертатися до пошукових систем і надавати відповіді, засновані на інформації, отриманій з інтернету.

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

ChatGPT connected to the Internet: what does it mean?

Корисні ресурси для вивчення prompt engineering

— Вже існує безліч додаткових ресурсів, які можна використовувати для глибшого вивчення prompt engineering і застосування його на практиці, — ділиться Леонід:

1. На платформі LinkedIn Learning можна знайти курси, присвячені HRGPT і prompt engineering, які надають професійне та більш поглиблене пояснення цих концепцій. Наприклад:

Отримай ліцензію LinkedIn Learning за 4 кроки

2. Ресурс Learn Prompting надає корисні матеріали для більш ретельного вивчення процесу складання промптів.

3. Різні IDE (інтегровані середовища розроблення) пропонують широкі можливості та постійно оновлюються, надаючи корисний контекст та інструменти для ефективного створення промптів. Вони також інтегруються з різними мовами програмування та фреймворками для вирішення конкретних завдань.

ChatGPT не замінить людину: думка експерта про ІТ-хайп
Матеріали за темою
Стеж за новинами на улюблених платформах