LLM ще не можуть самостійно виправляти власні міркування — висновки ICLR 2024 та наслідки для ШІ у фінансах
Ця стаття є прямим контраргументом до лінійок досліджень CRITIC та Reflexion, які я вивчав. Хуанг та ін. (ICLR 2024) наводять простий, але незручний аргумент: коли LLM намагаються самостійно виправити свої міркування без будь-якого зовнішнього сигналу, вони не покращують результат — вони роблять його гіршим. З’явившись одразу після LOG-013 про CRITIC, де критика на основі інструментів реально допомогла, ця стаття прояснює, який саме тип «самокорекції» є справжнім, а що є артефактом експериментальної установки.
Стаття
«Великі мовні моделі ще не можуть самостійно виправляти міркування» (Large Language Models Cannot Self-Correct Reasoning Yet) авторів Jie Huang, Xinyun Chen, Swaroop Mishra, Huaixiu Steven Zheng, Adams Wei Yu, Xinying Song та Denny Zhou (Google DeepMind / UIUC) була опублікована на ICLR 2024. Центральне твердження є вузьким, але нищівним для певного класу архітектур агентів: внутрішня самокорекція — коли LLM просять переглянути та виправити власну відповідь, покладаючись лише на власне судження без сигналу істини (ground-truth) — стабільно погіршує продуктивність на бенчмарках міркувань. Автори стверджують, що покращення, описані в кількох попередніх роботах про самокорекцію, є результатом тонкої методологічної помилки: у цих статтях використовувалися мітки оракула для прийняття рішення про те, коли припинити корекцію, а це означає, що модель виправляє лише вже неправильні відповіді. Це не самокорекція; це фільтрація під керівництвом оракула.
Ключові ідеї
- На GSM8K точність GPT-4 починається з 95,5%. Після одного раунду внутрішньої самокорекції вона падає до 91,5%, а після другого — до 89,0%. GPT-3.5 падає з 75,9% до 74,7% за два раунди.
- Падіння ще драматичніше на CommonSenseQA: GPT-3.5 падає з 75,8% до 38,1% після одного раунду самокорекції, трохи відновлюючись до 41,8% у другому раунді — але все одно залишаючись катастрофічно нижче базового рівня.
- Аналіз змін відповідей на GSM8K показує, що модель частіше змінює правильні відповіді на неправильні, ніж навпаки. Чистий вектор змін є шкідливим.
- Самокорекція під керівництвом оракула справді покращує ситуацію: GPT-4 на GSM8K з мітками оракула зростає з 95,5% до 97,5%, а GPT-3.5 на CommonSenseQA — з 75,8% до 89,7%. Але це вимагає знання того, які відповіді є неправильними — чого ви не можете знати під час реальної експлуатації.
- Дебати між кількома агентами, ще одна популярна ідея, показують гірші результати, ніж проста самоузгодженість (self-consistency) при однаковому бюджеті на виведення. При загальній кількості у 9 відповідей самоузгодженість досягає 88,2% на GSM8K, тоді як багатоагентні дебати — лише 83,0%.
- Генерація з обмеженнями (CommonGen-Hard) на перший погляд здається перемогою для самокорекції (44% → 67%), але цей приріст зникає, якщо просто покращити початковий промт (81,8%). Коли стартовий промт вже хороший, самокорекція шкодить, знижуючи точність до 75,1%.
Що підтверджується, а що — ні
Основний висновок є ґрунтовним: цифри говорять самі за себе. Якщо ви попросите GPT-4 перевірити власні математичні відповіді, не вказуючи, які саме є неправильними, відповіді в середньому стають гіршими. Інтуїція, яку пропонує стаття, також вірна — LLM не можуть надійно оцінювати правильність власних міркувань, тому, коли вони вирішують змінити відповідь, вони вгадують, і вгадують неправильно принаймні так само часто, як і правильно.
Стаття менш переконлива у своїх заявах щодо узагальнення. Вона тестує виключно завдання на логічне мислення та знання. Існують сфери — стиль письма, дотримання обмежень формату, зменшення токсичності — де ітеративний перегляд, імовірно, допомагає, і стаття значною мірою обходить їх стороною. Автори побіжно визнають це, зазначаючи, що «самокорекція може бути ефективнішою для завдань, де оцінка є простішою», але не тестують це ретельно. Експеримент з обмеженою генерацією CommonGen наводить на певні думки, але використання неадекватного початкового промту як базового рівня та назва отриманого покращення «самокорекцією» — це та сама методологічна помилка, яку стаття критикує в інших роботах.
Стаття також не розглядає питання навченої самокорекції. Подальше дослідження 2025 року (SCoRe, ICLR 2025, arXiv:2409.12917) показує, що самокорекція, навчена за допомогою RL на власних результатах моделі, досягає +15,6% на MATH та +9,1% на HumanEval — справжнє внутрішнє покращення. Тож заголовок «ще не можуть самостійно виправляти» виявився більш влучним, ніж можна було подумати; правильна інтерпретація — «не можна спонукати до самокорекції через промт», а не «не можуть навчитися самокорекції».
Чому це важливо для ШІ у фінансах
Наслідки для агентів запису в гросбух є конкретними. Агент, який генерує запис у журналі Beancount, а потім запитує себе «чи це виглядає правильно?» і вносить правки, не отримує «другу думку» — він вносить шум. Дані тут свідчать про те, що якщо перша відповідь була неправильною, самоперевірка з такою ж імовірністю зіпсує правильну відповідь, як і виправить неправильну.
Ця стаття підтверджує обмеження в дизайні, яке я вивів з CRITIC: самовалідація без зовнішнього оракула є ненадійною. Зокрема для Beancount зовнішній оракул є доступним і дешевим — перевірки балансу (balance assertions) виконуються за мілісекунди, назви рахунків перевіряються за відомим планом рахунків, суми мають збігатися до цента. Архітектура агента, яка подає попередній запис, запускає bean-check і повертає будь-яку помилку як конкретний структурований зворотний зв’язок, фундаментально відрізняється від тієї, що просить модель «переглянути свій запис у журналі». Перша використовує рушій гросбуха як оракула. Друга покладається на той самий механізм міркування, який і породив помилку.
Тут також є більш тонкий урок щодо проектування промтів. Експеримент CommonGen показує, що коли промт вже є точним і чітким, самокорекція погіршує продуктивність. Це означає, що якщо ми вкладаємо зусилля в написання дуже чітких промтів для парсингу транзакцій — таких, де явно вказані всі правила синтаксису Beancount — додавання циклу самоперевірки поверх них може активного зашкодити точності. Правильна архітектура, ймовірно, запускає самоперевірку лише у разі невдалої зовнішньої перевірки, а не при кожній генерації.
Що прочитати далі
- SCoRe: Training Language Models to Self-Correct via Reinforcement Learning (arXiv:2409.12917, ICLR 2025) — підхід на основі RL, який досягає перших справжніх внутрішніх покращень завдяки самокорекції; необхідний контекст для розуміння того, що поточна стаття підтверджує, а що — ні.
- When Can LLMs Actually Correct Their Own Mistakes? A Critical Survey of Self-Correction of LLMs (TACL 2024) — систематична таксономія випадків, коли самокорекція працює, з розмежуванням внутрішньої, заснованої на навчанні та за допомогою інструментів.
- Self-Refine: Iterative Refinement with Self-Feedback (NeurIPS 2023) — основна стаття, яку критикують Хуанг та ін.; читання цих робіт поспіль прояснює, де саме закладено припущення про мітки оракула.
