Repolode
raiyanyahya

raiyanyahya/how-to-train-your-gpt

Учебник из 12 глав с комментариями: в нём показано, как с нуля создать и обучить небольшую GPT-модель в стиле LLaMA на Python и PyTorch.

Звёзды
4,049
Форки
505
Открытые issues
5
Последний коммит
2 месяца назад

Что это?

Этот учебный проект объясняет, как устроена современная языковая модель с архитектурой decoder-only, и предлагает собрать её с нуля. В нём разобран весь процесс: BPE-токенизатор, эмбеддинги, rotary position encoding (RoPE), multi-head attention с causal mask, блоки Transformer с RMSNorm и SwiGLU, цикл обучения с AdamW и cosine warmup, а также движок инференса с KV cache и вариантами сэмплирования.

Материал состоит из 12 глав, которые рекомендуется проходить по порядку, примерно 28 отдельных объяснений по темам и сопутствующих Jupyter notebooks. В каждом фрагменте кода поясняется, что делает каждая строка и зачем она нужна. Для работы достаточно базовых знаний Python; опыт в машинном обучении не требуется.

По умолчанию используется небольшая модель (d_model=256, 4 слоя), которую можно обучить на CPU за несколько минут. Также есть конфигурация масштаба GPT-2 (около 151M параметров), но для неё понадобится GPU. Проект предназначен для обучения, а не для использования в продакшене.

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

  • 01Двенадцать последовательных глав — от токенизации до инференса
  • 02Построчные комментарии объясняют, что делает каждая часть кода и зачем она нужна
  • 03Реализованы RoPE, RMSNorm, SwiGLU, блоки с pre-norm и tying весов
  • 04Собственный цикл обучения с AdamW, cosine warmup и mixed precision
  • 05Инференс с KV cache, temperature, сэмплированием top-k/top-p и beam search
  • 06Запускаемый main.py с небольшой конфигурацией по умолчанию, подходящей для CPU

Сценарии использования

  • Разработчикам на Python, которые хотят понять внутреннее устройство моделей в стиле ChatGPT
  • Студентам, изучающим attention в Transformer и обучение с нуля
  • Инженерам, сравнивающим архитектурные решения, например RoPE и обучаемые позиционные эмбеддинги или RMSNorm и LayerNorm
  • Преподавателям, которые готовят практическое занятие по созданию небольшой языковой модели

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/raiyanyahya/how-to-train-your-gpt.git
  2. 2

    Создайте и активируйте виртуальное окружение (Mac/Linux)

    python -m venv gpt_env && source gpt_env/bin/activate
  3. 3

    Установите зависимости из файла requirements

    pip install -r requirements.txt
  4. 4

    Запустите скрипт обучения (по умолчанию используется tiny config)

    python main.py

Что важно знать

  • В конфигурации по умолчанию используется tiny-модель; для конфигурации масштаба GPT-2 с 151 млн параметров требуется GPU.
  • Это обучающий ресурс, предназначенный только для обучения, а не для production-моделей.

Темы

Частые вопросы

Что такое how-to-train-your-gpt?
Учебник из 12 глав с комментариями: в нём показано, как с нуля создать и обучить небольшую GPT-модель в стиле LLaMA на Python и PyTorch. Этот учебный проект объясняет, как устроена современная языковая модель с архитектурой decoder-only, и предлагает собрать её с нуля. В нём разобран весь процесс: BPE-токенизатор, эмбеддинги, rotary position encoding (RoPE), multi-head attention с causal mask, блоки Transformer с RMSNorm и SwiGLU, цикл обучения с AdamW и cosine warmup, а также движок инференса с KV cache и вариантами сэмплирования.
how-to-train-your-gpt можно использовать бесплатно? Какая у него лицензия?
how-to-train-your-gpt распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
how-to-train-your-gpt всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в how-to-train-your-gpt — 30 авг. 2026 г..
Для чего можно использовать how-to-train-your-gpt?
Разработчикам на Python, которые хотят понять внутреннее устройство моделей в стиле ChatGPT Студентам, изучающим attention в Transformer и обучение с нуля Инженерам, сравнивающим архитектурные решения, например RoPE и обучаемые позиционные эмбеддинги или RMSNorm и LayerNorm Преподавателям, которые готовят практическое занятие по созданию небольшой языковой модели
Как установить how-to-train-your-gpt?
Клонируйте репозиторий: git clone https://github.com/raiyanyahya/how-to-train-your-gpt.git Создайте и активируйте виртуальное окружение (Mac/Linux): python -m venv gpt_env && source gpt_env/bin/activate Установите зависимости из файла requirements: pip install -r requirements.txt Запустите скрипт обучения (по умолчанию используется tiny config): python main.py
Где скачать how-to-train-your-gpt?
Исходный код и инструкции по установке — на GitHub: https://github.com/raiyanyahya/how-to-train-your-gpt

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Учебник на китайском языке, который объясняет принципы работы LLM на примере создания небольшой модели в стиле LLaMA2 с нуля: от Transformer и предобучения до дообучения, RAG и агентов.

34,5 тыс.3,3 тыс.Jupyter NotebookOtherОбновлён 2 месяца назад