Масштабирование автоисследований Карпати с 16 GPU: Результаты и методы

Что такое Autoresearch?
Autoresearch — это проект Андрея Карпати, в котором кодирующий агент автономно улучшает скрипт обучения нейронной сети. Агент редактирует train.py, запускает 5-минутный обучающий эксперимент на GPU, проверяет потери на валидации и повторяет цикл — сохраняя изменения, которые помогают, и отбрасывая те, которые не помогают. В первом ночном запуске Карпати агент нашёл около 20 улучшений, которые в сумме привели к 11%-ному сокращению времени до GPT-2 в таблице лидеров nanochat.
Как работает Autoresearch
Проект состоит из трёх файлов:
prepare.py— Загружает данные, обучает токенизатор, предоставляет загрузчик данных и функцию оценки. Только для чтения. Агент не может его изменять.train.py— Модель GPT, оптимизатор и цикл обучения. Это единственный файл, который агент изменяет.program.md— Инструкции для агента: что он может менять, как оценивать результаты, когда сохранять или отбрасывать изменения.
Ограничение — фиксированный 5-минутный бюджет на обучение по времени. Задача агента — минимизировать val_bpb (валидационные биты на байт) в этом окне. Всё в train.py можно менять — архитектуру, гиперпараметры, настройки оптимизатора, размер батча, глубину модели — при условии, что код запускается без сбоев.
Узкое место: один GPU, один эксперимент
Последовательный запуск экспериментов означает, что агент большую часть времени ждёт. Типичный цикл выглядит так:
- Агент редактирует train.py (~30 секунд)
- Обучение запускается (~5 минут)
- Агент читает результат, планирует следующий эксперимент (~30 секунд)
Шаг 2 доминирует. Во время шага 2 агент простаивает — он мог бы готовить следующий эксперимент или следующие десять. При последовательном выполнении тестирование комбинаций параметров означает ожидание ещё 5 минут для каждого теста.
Предоставление агенту облачных GPU
Команда использовала SkyPilot, инструмент с открытым исходным кодом, который запускает задачи в облаках и Kubernetes из YAML-файла. Он включает навык, который обучает кодирующих агентов его использовать. Агент читает навык, затем самостоятельно запускает и управляет кластерами GPU — без ручной настройки облака.
Каждый эксперимент определяется в коротком YAML (experiment.yaml), который указывает тип GPU, устанавливает зависимости, запускает train.py и выводит метрики в stdout. Агент проверяет результаты с помощью sky logs.
Результаты: ~910 экспериментов, ~8 часов, 16 GPU
Claude Code использовал навык SkyPilot для запуска и управления экспериментами на GPU на 16 GPU. За 8 часов он отправил около 910 экспериментов и снизил val_bpb с 1,003 до 0,974 — улучшение на 2,87% относительно базового уровня.
Как параллелизм изменил исследовательскую стратегию агента
С одним GPU агент использует жадный подъём по склону — пробует что-то одно, проверяет, повторяет. С 16 GPU он запускал факторные сетки по 10–13 экспериментов за волну, выявляя эффекты взаимодействия между параметрами, которые последовательный поиск пропустил бы.
Например, агент протестировал шесть значений ширины модели за одну волну, сразу увидел тенденцию и определил наилучшее — один раунд вместо шести.
Агент также обнаружил, что у него есть доступ к нескольким типам GPU (H100 и H200), и разработал стратегию использования разницы в производительности на разнородном оборудовании: отбирать идеи на более дешёвых H100, продвигать победителей на H200 для валидации.
Сравнение производительности
С 16 GPU параллельный агент достиг того же наилучшего значения потерь на валидации в 9 раз быстрее, чем смоделированный последовательный базовый уровень (~8 часов против ~72 часов).
Фазы эксперимента
- Фаза 1: Перебор гиперпараметров (~первые 200 экспериментов)
- Фаза 2: Исследование архитектуры (~эксперименты 200–420)
- Фаза 3: Тонкая настройка более широкой модели (~эксперименты 420–560)
- Фаза 4: Настройка оптимизатора (~эксперименты 560–700)
- Фаза 5: Убывающая отдача (~эксперименты 700–910)
Агент обнаружил, что масштабирование ширины модели важнее, чем любой отдельный гиперпараметр.
📖 Прочитать полный источник: HN AI Agents
👀 Смотрите также

Claude Code молча завершается с ошибкой, когда ANTHROPIC_API_KEY установлен в облачных средах
Установка ANTHROPIC_API_KEY в облачных средах приводит к неисправности Claude Code и может повлечь неожиданные расходы на API. Пользователи сообщают о дополнительном использовании и неотзывчивом поведении.

Инди-разработчик развернул полный сайт игровой студии через Claude Code, включая слой данных Steam API
Инди-разработчик использовал Claude Code для создания и развертывания сайта студии без использования терминала, включая слой данных, который получает актуальную информацию из Steam API.

Однокомандная настройка Docker для OpenClaw с полнодисковым шифрованием и мониторингом
Docker-конфигурация для OpenClaw, предоставляющая руководства по полнодисковому шифрованию, Tini в качестве PID 1, встроенные инструменты мониторинга и данные, хранящиеся как обычные файлы на хосте. Для развертывания требуется всего две команды: git clone и ./shell.

Claude Code делегирует кодирование Mistral/DeepSeek: сохранено 57M токенов, снижение затрат на 90-100%
Навык Claude Code под названием vibe-skill делегирует низкоуровневое кодирование дешевым моделям вроде Mistral или DeepSeek, оставляя Claude планирование. После 254 запусков за 10 дней сэкономлено 57 млн токенов, достигнута экономия 90-100% с 98% успешных попыток.