huggingface/nanotron

Minimalistic large language model 3D-parallelism training

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

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

Nanotron — это минималистичная библиотека от Hugging Face для обучения больших языковых моделей (LLM) с использованием 3D-параллелизма.

Зачем нужен

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

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

  • Обучение моделей семейства Llama на кластерах из нескольких GPU (например, 8x H100)
  • Тренировка моделей с архитектурой Mixture-of-Experts (MoE)
  • Использование специфических техник масштабирования, таких как spectral µTransfer (mup)
  • Интеграция пользовательских загрузчиков данных (custom dataloader) или библиотек вроде datatrove
  • Экспорт чекпоинтов моделей напрямую в хранилище S3

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

  • Поддержка 3D-параллелизма (tensor parallel, pipeline parallel и др.) для эффективного обучения на больших моделях
  • Простой и гибкий API для настройки pretraining на кастомных датасетах
  • Встроенные примеры для различных архитектур, включая Mamba и MoE
  • Интеграция с Weights and Biases для мониторинга и Git LFS для работы с моделями
  • Наличие подробного руководства Ultrascale Playbook для оптимизации масштабирования

👤 Кому подойдёт: ML-инженеры, исследователи в области NLP и разработчики, занимающиеся pretraining больших языковых моделей

Релизы

v0.4minor
🕐 31 мес назад · релиз на GitHub ↗

Релиз Nanotron v0.4: добавлена поддержка Mamba, исправлена ошибка в ядре нормализации FlashAttention 2 и проведены рефакторинги.

  • Added: Добавлена поддержка архитектуры Mamba.
  • Fixed: Исправлено некорректное значение допуска в ядре нормализации слоя FlashAttention 2.
  • Added: Выпущена версия v0.4 с проведением рефакторинга кодовой базы.