pytorch/torchtitan

A PyTorch native platform for training generative AI models

Обучение⭐ 5 753Pythonпоследний релиз: v0.3.0
Открыть на GitHub ↗

Что это за инструмент

Torchtitan — это нативная платформа на базе PyTorch для масштабного обучения генеративных ИИ-моделей, ориентированная на быстрые эксперименты и чистый код.

Зачем нужен

Инструмент решает задачу эффективного распределенного обучения больших языковых моделей (LLM), таких как Llama 3.1, предоставляя минималистичную базу для внедрения новых техник масштабирования. Он полезен исследователям и разработчикам инфраструктуры, которым нужна гибкая платформа для тестирования архитектур и методов оптимизации без лишней абстракции.

Что можно реализовать

  • Предобучение (pretraining) больших языковых моделей (LLM) на множестве GPU с использованием различных видов параллелизма.
  • Быстрое прототипирование и тестирование новых методов распределенного обучения (например, FSDP2, Tensor Parallel, Pipeline Parallel).
  • Супervised Fine-Tuning (SFT) моделей на диалоговых наборах данных (chat-formatted datasets).
  • Исследование и внедрение методов квантования, таких как Float8 и MXFP8, для оптимизации использования памяти и вычислений.
  • Интеграция новых моделей в экосистему PyTorch с использованием готовых точек расширения (extension points).

Ключевые возможности

  • Поддержка многомерного композируемого параллелизма: FSDP2, Tensor Parallel, Pipeline Parallel, Context Parallel, DDP и HSDP.
  • Встроенная поддержка torch.compile, Float8, MXFP8 (включая для Blackwell GPU) и BF16 состояний оптимизатора для снижения потребления памяти.
  • Распределенное сохранение чекпоинтов (Distributed Checkpointing) с возможностью асинхронного сохранения и совместимости с torchtune.
  • Минималистичный дизайн с минимальными изменениями в коде модели при применении параллелизма и наличием папки experiments для новых идей.
  • Готовая интеграция с метриками (Tensorboard, Weights & Biases), профилированием памяти/CPU и инструментами отладки.

👤 Кому подойдёт: Исследователи ИИ, разработчики инфраструктуры машинного обучения, инженеры по обучению LLM, работающие с PyTorch.

Релизы

v0.3.0major
🕐 18 дн назад · релиз на GitHub ↗

TorchTitan 0.3.0: новые модели (Qwen3.5, Kimi K2.7), SPMD по умолчанию, улучшен MoE и GraphTrainer.

  • Added: Добавлена поддержка Qwen3.5, Kimi K2.7, Muse Glimmer 30B, DeepSeek V3 и Flux.
  • Added: SPMD-бэкенд spmd_types стал основным для декларативного шардинга.
  • Added: Рефакторинг конфигурации: добавлена типизация Python и переопределение через CLI.
  • Added: Улучшен MoE: унифицированный диспетчер токенов и поддержка CUDA graphs.
  • Added: GraphTrainer теперь захватывает весь шаг обучения в один граф для оптимизации.