Токени, контекст і галюцинації: чому модель помиляється

Основи6 хв читання

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

Токен: одиниця, якою рахує модель

Модель читає не літери й не цілі слова, а токени, тобто шматки тексту. Токен буває цілим словом, його частиною або окремим символом. В англійській мові це приблизно три чверті слова, а в багатьох інших мовах, зокрема й в українській, токенів на слово виходить більше. Ліміти довжини та вартість послуг зазвичай рахують саме в токенах.

Вікно контексту: робоча пам’ять

Модель бачить лише те, що вміщується в її вікно контексту: ваші запити, попередні відповіді та вставлені файли. Коли розмова дуже довга, найстаріші фрагменти можуть бути відрізані або втрачають вагу. Наслідок: модель «забуває» домовленості з початку, повторює помилки або змінює стиль коду.

Галюцинація: впевнена неправда

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

Як захиститися:

Чому добрий промпт допомагає

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

Правило великого пальця: що важливіша інформація, то менше можна покладатися на пам’ять моделі й то більше треба перевіряти її в джерелі.