Начальная школа, учим арифметику
snormer — 22.12.2022В копилку прикладных приёмов работы с языковыми нейронками.
Если задача сложная и сразу не выходит, один из способов это дать
ей больше времени подумать над решением. Я сейчас про логические и
арифметические задачи, но работает универсально.
Как? Это не компьютер. Она не умеет «тормозить» (я тоже вначале
думал, что умеет — оказывается, просто обрабатывает другие запросы
в этот момент). Время прохождения ввода по сети и генерации
следующего токена, один «тик», универсально и не зависит от
сложности задачи.
Но. Это у людей и комьютеров текстовый вывод это результат
мыслительного процесса. А тут текстовый вывод это и есть
мыслительный процесс, и кратковременная память заодно. У неё есть
«внутреннее время», и оно прямо равно количеству промежуточных слов
между двумя значимыми.
Поэтому. Способ называется «step-by-step reasoning».
Надо разделить задачу на шаги (или попросить бота сделать это
самостоятельно) и попросить решать пошагово, обязательно записывая
результат на каждом шаге, выводя итоговый ответ только в конце.
Давая программе объяснить каждый шаг, мы натурально даём ей
необходимое время на раздумья. Пост-объяснения, когда просишь
раскрыть уже полученный ответ, тут не работают, по очевидной
причине.
P.S. Кстати. Очевидного, что прямо напрашивается, это
дополнительный (невидимый пользователю) экран текстового вывода,
где программа при беседе пишет то, что она думает о вот этом
кожаном мешке свои «внутренние мысли». Как способ выделить
кратковременную память. И тоже на вход итеративно. C GPT3 что-то
подобное делали скриптами. Даже не потребует серьёзных изменений,
прямо с колёс будет работать. Позволит ей действитлеьно «думать над
следующим словом» в сложном случае.
|
</> |