Compile by training: метод превращает текстовое описание функции в нейросеть с точностью 83,6%

Многие повторяющиеся текстовые функции легко описать словами, но трудно реализовать через жёсткие правила. Обычное решение, вызывать большую удалённую модель на каждый запрос, но это означает постоянные расходы, задержку и зависимость от провайдера модели. Авторы предлагают метод compile by training: текстовая спецификация задачи превращается в переиспользуемую нейросетевую функцию. На этапе «компиляции» модели-учителя генерируют примеры именно под эту задачу, и на них обучается небольшой адаптер для компактного интерпретатора. Готовая функция дальше работает уже без моделей-учителей и её можно хранить, версионировать и комбинировать так же, как обычный программный код.
На тяжёлом подмножестве бенчмарка FuzzyBench-Hard, где более быстрый компилятор Program-as-Weights не дал ни одного точного совпадения, compile by training показывает 83,6% точности по смыслу. Плата за такое качество, время компиляции: около минуты вместо секунд у быстрого компилятора. Авторы развернули свой компилятор как публичный интерактивный сервис и показывают на нём три примера скомпилированных функций: помощник для нескольких сайтов, управляемый текстовыми командами 3D-аватар и двусторонний переводчик между английским языком и Claudish (что именно это такое, в тексте не поясняется).
Ключевые факты
- Compile by training превращает текстовую спецификацию повторяющейся задачи в компактную нейросетевую функцию вместо вызова большой модели на каждый запрос
- Модели-учителя на этапе компиляции генерируют примеры под задачу, на которых обучается небольшой адаптер компактного интерпретатора; в работе готовая функция учителей уже не использует
- На тяжёлом подмножестве бенчмарка FuzzyBench-Hard, где быстрый компилятор Program-as-Weights не дал ни одного точного совпадения, compile by training достигает 83,6% точности по смыслу
- Компиляция обходится дороже по времени, около минуты против секунд у быстрого компилятора
- Метод развёрнут как публичный интерактивный сервис с тремя демо: помощник для нескольких сайтов, управляемый языком 3D-аватар и переводчик между английским и Claudish
Почему это важно
Продукты на базе больших языковых моделей часто решают одну и ту же узкую текстовую задачу снова и снова, и каждый раз платят вызовом крупной удалённой модели: это деньги, задержка и зависимость от конкретного провайдера. Compile by training предлагает не вызывать модель на каждый запрос, а один раз «скомпилировать» текстовое описание задачи в маленькую локальную нейросеть, которая дальше работает сама.
Кому это важно
Разработчикам, которые сейчас закрывают повторяющиеся текстовые функции, классификацию, преобразование формата, простой перевод, парафраз, вызовом большой модели через API. Метод адресован именно этому классу задач: тем, что легко сформулировать словами, но неудобно жёстко закодировать правилами.
Как это применить
Разработчик описывает нужную функцию на естественном языке. На этапе компиляции модели-учителя генерируют для неё обучающие примеры, на которых тренируется небольшой адаптер компактного интерпретатора. Дальше готовая функция работает без моделей-учителей, и её можно хранить, версионировать и комбинировать с другими функциями так же, как обычный код. Авторы уже развернули такой компилятор как публичный интерактивный сервис и показывают на нём три готовых примера: помощник для нескольких сайтов, управляемый текстовыми командами 3D-аватар и двусторонний переводчик между английским и Claudish.
Можно ли доверять
Публикация даёт конкретную цифру на конкретном подмножестве бенчмарка: 83,6% точности по смыслу на FuzzyBench-Hard, где у альтернативного быстрого компилятора Program-as-Weights ноль точных совпадений. Но у самой аннотации нет ни списка авторов и организаций, ни даты публикации, ни размера модели или обучающих данных, эти детали в источнике просто не приведены, и полагаться на них пока нельзя.
Риски и подводные камни
Единственная приведённая цифра точности, с одного тяжёлого подмножества одного бенчмарка; насколько результат обобщается на другие задачи, неизвестно. Не указаны ни размер, ни охват FuzzyBench-Hard, ни точность самого Program-as-Weights на этом подмножестве, есть только факт нулевых точных совпадений. Компиляция занимает около минуты вместо секунд у быстрого варианта, что для части сценариев может быть существенным. Наконец, что такое Claudish в примере с переводчиком, авторы не поясняют.