CodeT: Code Generation with Generated Tests
То, что языковую модель нужно использовать для генерации тестов, стало общей точкой в статьях. Подход к выбору программ в этой статье чуть более хитрый, чем в AlphaCode, и работает он лучше - авторы воспроизвели его. При этом вся система сильно проще, чем Parsel.
1) Генерируем программы и тесты (всё с помощью запросов к Codex).
2) Прогоняем все программы на всех тестах, разбиваем их на кластеры по тому, какие тесты были пройдены программой (до этого момента всё, как в AlphaCode)
3) AlphaCode ранжирует кластеры только по размеру, а CodeT по величине (размер кластера) * (кол-во пройденных тестов), дальше их представители и подаются, как решения.
Когда количество тестов и программ большое, эту процедуру заменяют на её рандомизированную версию. Детали тут не важны, ключевое слово - RANSAC.
Результат - +6% Intro-задач и +3.7% сложных задач из APPS даёт эта процедура поверх Codex. К сожалению, в сетапе, который был в Parsel у лучшей модели, алгоритм не прогоняли, но на одинаковых сетапах CodeT лучше.
Post #14
810

- 👍 6
- 🔥 1