Disco-Torch: Портирование DiscoRL из JAX в PyTorch с Claude Code | AiManual
AiManual Logo Ai / Manual.
09 Мар 2026 Инструмент

Disco-Torch: как портировать DeepMind DiscoRL из JAX в PyTorch с помощью Claude Code

Обзор Disco-Torch — инструмента для автоматического переноса алгоритма DeepMind DiscoRL из JAX в PyTorch с использованием Claude Code. Актуально на 2026 год.

Зачем портировать 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 код. Но не просто заменяет функции одну на одну - он понимает семантику.

💡
Если вы еще не работали с Claude Code, посмотрите как подключить локальные LLM к Claude Code. Это может сэкономить вам кучу денег на API.

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 на практике:

  1. Клонируете репозиторий Disco-Torch с GitHub.
  2. Указываете путь к исходникам DiscoRL (версии 2.1 или выше).
  3. Запускаете скрипт портирования - инструмент сам разбивает код на части и отправляет в Claude Code.
  4. Проверяете сгенерированный PyTorch код, запускаете тесты.
  5. Если нужно, тонко настраиваете промпты для 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 почти тривиальным. Но помните: инструмент - всего лишь инструмент. Главное - что вы будете делать с портированным алгоритмом.

Подписаться на канал