Библиотека для оптимизации глубокого обучения, упрощающая и ускоряющая распределённое обучение и инференс больших моделей.
huggingface/nanotron
Минималистичная библиотека Hugging Face для предобучения LLM на базе трансформеров с 3D-параллелизмом (DP, TP, PP) на кластерах с несколькими GPU.
- Звёзды
- 2,855
- Форки
- 342
- Открытые issues
- 159
- Последний коммит
- в прошлом месяце
Что это?
Nanotron — библиотека на Python для предобучения языковых моделей на базе трансформеров на пользовательских наборах данных. Она призвана обеспечить простой и понятный API для обучения, который масштабируется на системы с несколькими GPU и узлами.
Библиотека реализует параллелизм по данным, тензорам и конвейеру, а также экспертный параллелизм для моделей Mixture-of-Experts. В ней доступны расписания конвейера AFAB и 1F1B, оптимизатор ZeRO-1, накопление градиентов в FP32 и явные API для TP и PP, призванные упростить отладку. В примерах конфигураций представлены небольшая модель Llama, Mamba, MoE, DoReMi и масштабирование с помощью spectral µTransfer.
Обучение запускается с помощью YAML-файлов конфигурации и torchrun, а чекпойнты можно создавать отдельным скриптом. В проекте также есть ссылка на Ultrascale Playbook с данными бенчмарков для моделей разных размеров и разного количества узлов.
Ключевые возможности
- 013D-параллелизм, объединяющий параллелизм по данным, тензорам и конвейеру
- 02Экспертный параллелизм для моделей Mixture-of-Experts
- 03Расписания конвейера AFAB и 1F1B
- 04Оптимизатор ZeRO-1 с накоплением градиентов в FP32
- 05Параметризация spectral µTransfer для масштабирования моделей
Сценарии использования
- Предобучение пользовательской языковой модели в стиле Llama на оборудовании с несколькими GPU
- Эксперименты с архитектурами Mixture-of-Experts или Mamba в небольшом масштабе
- Масштабирование обучения трансформеров на несколько узлов с помощью Slurm
Быстрый старт
- 1
Создать виртуальное окружение Python с помощью uv
uv venv nanotron --python 3.11 && source nanotron/bin/activate && uv pip install --upgrade pip - 2
Установить PyTorch
uv pip install torch --index-url https://download.pytorch.org/whl/cu124 - 3
Установить основные зависимости
uv pip install -e . - 4
Обучить небольшую модель Llama на одном узле с 8 GPU
CUDA_DEVICE_MAX_CONNECTIONS=1 torchrun --nproc_per_node=8 run_train.py --config-file examples/config_tiny_llama.yaml
Что важно знать
- Примеры обучения рассчитаны на оборудование NVIDIA с несколькими GPU, например узел с 8 H100.
- Настройка требует нескольких дополнительных шагов, включая установку CUDA wheels для PyTorch и сборку flash-attn.
- Некоторые функции, такие как обучение FP8 и ZeRO-3, пока остаются в дорожной карте.
Темы
Частые вопросы
- Что такое nanotron?
- Минималистичная библиотека Hugging Face для предобучения LLM на базе трансформеров с 3D-параллелизмом (DP, TP, PP) на кластерах с несколькими GPU. Nanotron — библиотека на Python для предобучения языковых моделей на базе трансформеров на пользовательских наборах данных. Она призвана обеспечить простой и понятный API для обучения, который масштабируется на системы с несколькими GPU и узлами.
- nanotron можно использовать бесплатно? Какая у него лицензия?
- nanotron распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- nanotron всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в nanotron — 8 окт. 2026 г..
- Для чего можно использовать nanotron?
- Предобучение пользовательской языковой модели в стиле Llama на оборудовании с несколькими GPU Эксперименты с архитектурами Mixture-of-Experts или Mamba в небольшом масштабе Масштабирование обучения трансформеров на несколько узлов с помощью Slurm
- Как установить nanotron?
- Создать виртуальное окружение Python с помощью uv: uv venv nanotron --python 3.11 && source nanotron/bin/activate && uv pip install --upgrade pip Установить PyTorch: uv pip install torch --index-url https://download.pytorch.org/whl/cu124 Установить основные зависимости: uv pip install -e . Обучить небольшую модель Llama на одном узле с 8 GPU: CUDA_DEVICE_MAX_CONNECTIONS=1 torchrun --nproc_per_node=8 run_train.py --config-file examples/config_tiny_llama.yaml
- Где скачать nanotron?
- Исходный код и инструкции по установке — на GitHub: https://github.com/huggingface/nanotron
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Система на базе PyTorch для распределённого обучения и инференса крупных AI-моделей с поддержкой параллелизма, оптимизации памяти и гетерогенного обучения.
Практическое руководство и кодовая база на PyTorch для обучения LLM-трансформера с нуля: предобучение, SFT, reward modeling, DPO/PPO/GRPO и генерация.
Open-source библиотека для обучения больших языковых моделей с 3D-параллелизмом, оптимизацией памяти ZeRO и интеграцией с Hugging Face на базе PyTorch и Triton.
Библиотека для обучения крупных авторегрессионных языковых моделей на GPU на базе Megatron-LM и DeepSpeed, с параллелизмом по модели, конвейеру и данным.
Оптимизированная для GPU библиотека и эталонные скрипты для обучения крупных трансформерных моделей с многомерным параллелизмом.