Зачем портировать DiscoRL? Потому что PyTorch - это новый кислород
DeepMind выкатила DiscoRL в 2025 году - алгоритм метаобучения с подкреплением, который учится учиться быстрее, чем вы успеваете произнести "градиентный спуск". Но есть проблема: он написан на JAX. А мир, особенно индустрия, дышит PyTorch. В 2026 году PyTorch 2.3 уже стал де-факто стандартом для продакшена, а JAX остался в исследовательских лабораториях.
DiscoRL (Discovery Reinforcement Learning) - это прорыв в метаобучении, где агент не просто учится выполнять задачу, а открывает новые стратегии обучения. На 2026 год актуальна версия DiscoRL 2.1 с улучшенной сходимостью.
Портирование вручную? Это как переписывать "Войну и мир" с русского на китайский. Один неверный иероглиф - и вся смысловая нагрузка теряется. Здесь на помощь приходит Disco-Torch.
Claude Code: не просто кодогенератор, а инженерный партнер
Claude Code от Anthropic в 2026 году - это уже не тот простой ассистент, что был пару лет назад. После обновления Claude 3.7 Sonnet Code, он понимает контекст портирования, знает особенности JAX и PyTorch, и может генерировать код, который не просто компилируется, но и сохраняет численную стабильность.
Disco-Torch использует Claude Code как движок для анализа исходного кода JAX и преобразования его в эквивалентный PyTorch код. Но не просто заменяет функции одну на одну - он понимает семантику.
Disco-Torch под капотом: как работает автоматическое портирование
Disco-Torch - это открытый инструмент на GitHub, который состоит из трех основных модулей:
- Анализатор JAX графов: разбирает исходный код DiscoRL, выделяет вычислительные графы и зависимости.
- Транслятор на Claude Code: отправляет фрагменты кода в Claude Code с промптами, специально разработанными для портирования.
- Верификатор PyTorch: проверяет, что сгенерированный код дает те же результаты, что и оригинал, с допустимой погрешностью.
Инструмент поддерживает последние версии JAX 0.4.30 и PyTorch 2.3.1, что актуально на март 2026 года. Он умеет обрабатывать особенности DiscoRL, такие как кастомные оптимизаторы и мета-градиенты.
Сравниваем с ручным портированием: стоит ли овчинка выделки?
| Метод | Время | Точность | Сложность |
|---|---|---|---|
| Ручное портирование | 2-4 недели | Высокая (если делать экспертом) | Очень высокая |
| Disco-Torch с Claude Code | 2-3 дня | Высокая (погрешность < 1e-6) | Средняя |
| Другие автоматические инструменты | 1 неделя | Средняя (часто ломают семантику) | Низкая |
Ручное портирование до сих пор считается золотым стандартом, но в 2026 году уже нет времени тратить месяц на перевод кода. Особенно когда алгоритмы обновляются каждые полгода.
Disco-Torch не идеален - иногда он генерирует код, который нужно подчищать вручную. Но он сокращает время портирования на 90%.
Живой пример: от JAX-функции до PyTorch-модуля за 5 минут
Вот как выглядит процесс использования Disco-Torch на практике:
- Клонируете репозиторий Disco-Torch с GitHub.
- Указываете путь к исходникам DiscoRL (версии 2.1 или выше).
- Запускаете скрипт портирования - инструмент сам разбивает код на части и отправляет в Claude Code.
- Проверяете сгенерированный PyTorch код, запускаете тесты.
- Если нужно, тонко настраиваете промпты для Claude Code, чтобы улучшить качество портирования.
Весь процесс занимает от нескольких часов до пары дней, в зависимости от размера проекта. Disco-Torch также предоставляет готовые Colab ноутбуки для демонстрации и предобученные веса на Hugging Face.
Внимание: Disco-Torch требует доступа к API Claude Code, что может стоить денег. Для больших проектов счет может достигать сотен долларов. Но это все равно дешевле, чем нанимать инженера на месяц.
Кому Disco-Torch спасет жизнь (а кому только добавит головной боли)
Disco-Torch - не серебряная пуля. Он подходит определенным типам пользователей:
- Исследователи, которые хотят внедрить DiscoRL в продакшен. У вас есть прототип на JAX, а нужно перевести на PyTorch для интеграции с существующей инфраструктурой.
- Студенты и аспиранты, изучающие метаобучение. Хотите поэкспериментировать с DiscoRL, но не хотите разбираться с JAX. Disco-Torch дает готовый PyTorch код.
- Компании, которые следят за последними исследованиями. Быстро портировать прорывные алгоритмы из академии в индустрию.
Не стоит использовать Disco-Torch, если:
- Вы перфекционист и хотите 100% идентичности кода. Автоматическое портирование всегда имеет погрешность.
- У вас нет бюджета на Claude Code API. Хотя можно использовать локальные LLM, как описано в этой статье, но качество будет ниже.
- Вы портируете не DiscoRL, а другой алгоритм на JAX. Disco-Torch заточен именно под DiscoRL. Для общего портирования лучше смотреть на другие инструменты.
Если вы работаете с большими моделями, вам может пригодиться гайд по обучению PyTorch-моделей на Google TPU. После портирования DiscoRL на PyTorch, вы сможете запустить его на TPU для ускорения.
Будущее портирования: когда AI будет писать AI полностью
Disco-Torch - это только начало. К 2027 году, по прогнозам, инструменты на основе LLM будут не только портировать код, но и улучшать его, адаптируя под конкретное железо. Например, автоматически генерировать код для CUDA или Metal, как в фреймворке для трансформеров на стероидах.
Совет на последок: не полагайтесь слепо на Disco-Torch. Всегда проверяйте сгенерированный код, особенно если вы собираетесь использовать его в критичных системах. И держите под рукой гайд по fine-tuning - вдруг захотите дообучить портированную модель под свои задачи.
Disco-Torch делает портирование из JAX в PyTorch почти тривиальным. Но помните: инструмент - всего лишь инструмент. Главное - что вы будете делать с портированным алгоритмом.