Андрей Карпати выпустил Autoresearch — минималистичный инструмент на Python, позволяющий ИИ-агентам автономно проводить эксперименты по машинному обучению. Проект представляет собой урезанную версию ядра обучения LLM nanochat, сжатого до однофайлового репозитория объёмом примерно 630 строк кода. Он оптимизирован для выполнения на одном NVIDIA GPU.
Автономный цикл итераций
В рамках проекта чётко распределена ответственность между исследователем-человеком и ИИ-агентом. Система работает по принципу непрерывной обратной связи, где прогресс отслеживается через коммиты в git в функциональной ветке.
| Компонент | Ответственность | Формат файла |
| — | — | — |
| Человек | Работает с высокоуровневыми исследовательскими инструкциями и ограничениями | .md (Markdown) |
| ИИ-агент | Предлагает и реализует модификации скрипта обучения | .py (Python) |
| Выполнение | Проводит фиксированный по времени (пять минут) тренировочный запуск для оценки изменений | Shell/Python |
Агент читает предоставленные человеком инструкции, модифицирует скрипт обучения — настраивая архитектуру нейронной сети, оптимизаторы или гиперпараметры — и выполняет тренировочный запуск, который длится ровно пять минут.
Метрики оценки и валидации
Чтобы гарантировать, что агент сохраняет только полезные изменения, система использует биты на байт (BPB) в качестве основного показателя валидации. BPB измеряет эффективность сжатия модели на проверочном наборе данных; более низкий показатель указывает на более точную модель.
Протокол валидации: агент фиксирует изменения кода в ветке git только в том случае, если окончательный показатель BPB ниже предыдущего лучшего.
Наблюдаемая производительность
В начальных запусках Карпати продемонстрировал, что агент успешно снизил потери при проверке с 1,0 до 0,97 BPB за счёт автономных итераций кода.
Пример внедрения
После релиза генеральный директор Shopify Тоби Лютке адаптировал фреймворк Autoresearch для внутреннего проекта. Позволив агенту работать с более компактной архитектурой модели, Лютке сообщил об улучшении показателей проверки на 19%. Примечательно, что оптимизированная агентом меньшая модель в итоге превзошла более крупную модель, настроенную стандартными ручными методами.
Карпати отметил, что конкретные настройки кода, обнаруженные агентом, позже были интегрированы обратно в его более широкую структуру nanochat, продемонстрировав, что инструмент может находить оптимизации, применимые к более масштабным производственным системам.
Техническая значимость для разработчиков
Для разработчиков Autoresearch представляет собой сдвиг в сторону «агентских» рабочих процессов при разработке моделей. Вместо ручной настройки гиперпараметров инженерная задача смещается на разработку подсказок, которые позволяют агенту более эффективно перемещаться по пространству поиска. Ограничение в 630 строк обеспечивает, что вся кодовая база помещается в контекстное окно современных LLM, минимизируя ошибки при генерации кода и позволяя агенту поддерживать «целостное» понимание скрипта обучения.
Ключевые выводы
- Автономный исследовательский цикл: фреймворк позволяет ИИ-агентам автономно выполнять итерации экспериментов по машинному обучению, читая предоставленный человеком файл с инструкциями в формате Markdown (.md) и модифицируя скрипт обучения на Python (.py) без ручного вмешательства.
- Ядро объёмом ~630 строк: путём сокращения ядра обучения LLM nanochat до однофайлового репозитория объёмом ~630 строк код становится достаточно компактным, чтобы полностью поместиться в контекстном окне LLM, что снижает количество ошибок при генерации кода.
- Метрики, ориентированные на эффективность: агент выполняет фиксированные пятиминутные тренировочные спринты на одном NVIDIA GPU и фиксирует изменения кода в ветке git только в том случае, если они приводят к снижению показателя битов на байт (BPB) при проверке.
- Доказанное повышение производительности: в реальном тесте (как упомянуто в твите) генеральный директор Shopify Тоби Лютке использовал инструмент для достижения 19% улучшения показателей модели, в результате чего получилась меньшая, оптимизированная агентом модель, которая превзошла более крупную, настроенную вручную.
- Сдвиг в фокусе разработки: проект переводит роль разработчика с ручной настройки гиперпараметров на разработку агентов, где целью является оптимизация подсказок, которые направляют ИИ на поиск наиболее эффективных нейронных архитектур и настроек обучения.
Ознакомьтесь с репозиторием [здесь](…). Также подписывайтесь на нас в [Twitter](…) и присоединяйтесь к нашему [ML SubReddit](…). Подписывайтесь на нашу [рассылку](…). А ещё вы можете присоединиться к нам в [Telegram](…).
1. Какие возможности предоставляет инструмент Autoresearch, разработанный Андреем Карпати?
Инструмент Autoresearch позволяет ИИ-агентам автономно проводить эксперименты по машинному обучению. Он представляет собой урезанную версию ядра обучения LLM nanochat, сжатого до однофайлового репозитория объёмом примерно 630 строк кода. Autoresearch оптимизирован для выполнения на одном NVIDIA GPU.
2. Какие метрики используются для оценки и валидации изменений, внесённых ИИ-агентом в скрипт обучения?
Основным показателем валидации является биты на байт (BPB), который измеряет эффективность сжатия модели на проверочном наборе данных. Более низкий показатель BPB указывает на более точную модель.
3. Какие преимущества предоставляет использование Autoresearch для разработчиков?
Autoresearch позволяет разработчикам сместить фокус с ручной настройки гиперпараметров на разработку агентов, которые оптимизируют подсказки для поиска наиболее эффективных нейронных архитектур и настроек обучения. Это упрощает процесс разработки и позволяет более эффективно использовать ресурсы.
4. Какие результаты были достигнуты при использовании Autoresearch в реальных проектах?
Генеральный директор Shopify Тоби Лютке адаптировал фреймворк Autoresearch для внутреннего проекта и сообщил об улучшении показателей проверки на 19%. Оптимизированная агентом меньшая модель превзошла более крупную модель, настроенную стандартными ручными методами.
5. Какие перспективы открывает использование Autoresearch в разработке моделей машинного обучения?
Использование Autoresearch может привести к более эффективному поиску оптимальных настроек и архитектур моделей, а также к снижению времени и усилий, затрачиваемых на ручную настройку гиперпараметров. Это может ускорить процесс разработки и улучшить качество моделей.