Суть технологии: от текста к исполняемому коду
Новый подход, названный Compile by Training, позволяет преобразовать естественное языковое описание функции (например, «классифицировать тональность текста») в переиспользуемую нейронную программу. В отличие от традиционных LLM, которые требуют постоянного обращения к серверу, сгенерированный файл .paw работает локально на устройстве пользователя.
Процесс включает три ключевых этапа:
- Инициализация: Быстрый компилятор PAW создает базовую структуру нейронной программы.
- Синтез данных: Модели-учителя (teacher models) генерируют специфичные для задачи примеры ввода-вывода.
- Дообучение: Локальный интерпретатор PAW дообучается на этих примерах, после чего результат упаковывается в автономный файл.
Технические детали и требования
Метод использует небольшой интерпретатор PAW объемом 0.6B параметров. Для запуска требуется Python 3.10+, менеджер пакетов uv и ключ API OpenAI (для генерации обучающих данных учителем). Рекомендуемая конфигурация для стандартного рецепта — ускоритель с 40 ГБ памяти, однако для более слабых устройств доступны опции --micro-batch-size и --gradient-checkpointing.
Все промежуточные данные (мапперы ассетов и синтезированные примеры) кэшируются, что позволяет повторно запускать компиляцию без перерасхода ресурсов.
Пример использования
Разработчики демонстрируют создание функции классификации тональности. Команда компиляции выглядит следующим образом:
uv run compile.py "Classify sentiment. Return only positive, negative, or neutral." -o sentiment.paw
После выполнения скрипт сохраняет файл sentiment.paw, устанавливает его в локальный кэш PAW и выдает ID программы. Далее ее можно использовать через Python-пакет:
import programasweights as paw
sentiment = paw.function("<program-id>")
print(sentiment("I loved it."))
Гибкость настройки
Пользователи могут тонко настраивать процесс компиляции через командную строку, выбирая модели-учителя, количество шагов обучения и размер батча. Ниже приведена таблица параметров, доступных для кастомизации:
| Параметр | Описание | Пример значения |
|---|---|---|
--teacher |
Модель-учитель и количество генерируемых примеров | gpt-5.4-mini=800 |
--steps |
Количество шагов дообучения | 80 |
--batch-size |
Общий размер батча | 32 |
--micro-batch-size |
Микро-батч для экономии памяти GPU | 8 |
--learning-rate |
Скорость обучения | 1e-4 |
Почему это важно
Работа авторов (Yuntian Deng, Pengyu Nie, Stuart Shieber) решает проблему зависимости от облачных API для простых задач. Созданная нейронная программа весит мало, работает быстро и не требует подключения к интернету после первого запуска. Проект распространяется под лицензией MIT, а исходный код доступен на GitHub.
Источник: Github ↗
