CodeRL - Франкенштейн от Salesforces
Чего у человека не отнять, так это желания прикрутить RL ко всему, к чему прикручивается.
В данной работе генерация программы токен за токеном рассматривается как последовательность действий, а успех программы, получаемой в конце - это награда в конце эпизода. От -1 (compile error) до +1 (passed tests).
Для обучения используется навороченный RL-алгоритм (невозможно описать его тут), а сложность схемы применения вы можете наблюдать на картинке, о ней я как раз скажу пару слов.
Так как у нас есть модель "среды" (состояние среды это просто текущий текст программы), мы можем использовать поиск по состояниям, как в AlphaGo.
Что в урезанном виде и делает модуль program refining.
Модуль program repairing подаёт ошибку, которую выдаёт программа/компилятор, обратно в генеративную модель, чтобы она попробовала её починить. Я также пробовал делать, когда программировал с помощью ChatGPT, эта схема работает не так круто, как можно вообразить.
Результат: всё те же 25% решённых задачек уровня Intro в APPS у лучшей модели, хотя сама модель похудела, и программ нужно генерировать меньше. Если взять тот же бюджет на программы, то у Codex и AlphaCode получается немного хуже. На сложных задач прирост около процента.
Думаю, что пятикратное усложнение системы не стоит того профита, который она даёт.
@knowledge_accumulator
Post #10
779

- 👍 5
- 😁 2