Двуязычная коллекция из более чем 100 авторских схем, объясняющих LLM, RL, RLHF, DPO, GRPO и другие алгоритмы для больших моделей.
FareedKhan-dev/train-llm-from-scratch
Практическое руководство и кодовая база на PyTorch для обучения LLM-трансформера с нуля: предобучение, SFT, reward modeling, DPO/PPO/GRPO и генерация.
- Звёзды
- 12,328
- Форки
- 1,816
- Открытые issues
- 2
- Последний коммит
- 18 дней назад
Что это?
В этом репозитории языковая модель на базе трансформера реализована с нуля на чистом PyTorch по оригинальной архитектуре «Attention is All You Need». Здесь показан весь путь от необработанного текста до чат-модели. В проект входят токенизатор BPE на уровне байтов, классический декодер в стиле GPT-2 и современный вариант с RoPE, RMSNorm, SwiGLU, grouped-query attention и Mixture of Experts. Всё написано вручную, без использования trainers из Hugging Face.
Этапы post-training тоже реализованы с нуля: supervised fine-tuning с маской loss только для ответов ассистента, reward model на основе Bradley-Terry, DPO, ORPO, KTO, PPO с GAE и GRPO. Для каждого этапа есть отдельный скрипт подготовки данных и JSON-конфиг. Небольшие пресеты, например крошечная модель TinyStories, обучаются за несколько минут на CPU ноутбука, а для более крупных конфигов потребуется GPU.
Ключевые возможности
- 01Реализует attention, MLP и блоки трансформера с нуля на PyTorch.
- 02Содержит реализованный в репозитории токенизатор BPE на уровне байтов.
- 03Охватывает SFT на чат-данных с маской loss только для ответов ассистента.
- 04Реализует reward modeling, DPO/ORPO/KTO, PPO и GRPO.
- 05Предлагает крошечный пресет, который обучается на CPU ноутбука без GPU.
Сценарии использования
- Пошагово разобраться, как устроены языковая модель на базе трансформера и цикл её обучения.
- В качестве эксперимента предобучить небольшую LLM на одной GPU или ноутбуке.
- Изучить методы post-training, например DPO, PPO и GRPO, на понятной кодовой базе.
- Сравнить классические и современные компоненты трансформера в рамках одного пайплайна.
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git - 2
Перейдите в папку проекта
cd train-llm-from-scratch - 3
Установите проект в editable-режиме
pip install -e . - 4
Подготовив данные, обучите небольшую модель на CPU ноутбука
python scripts/train_transformer.py --preset tiny --arch modern
Что важно знать
- Для конфигураций больших моделей требуется GPU, а модель с миллиардом параметров не поместится на бесплатной T4.
- Некоторые этапы зависят от общедоступных наборов данных, которые нужно сначала скачать.
Темы
Частые вопросы
- Что такое train-llm-from-scratch?
- Практическое руководство и кодовая база на PyTorch для обучения LLM-трансформера с нуля: предобучение, SFT, reward modeling, DPO/PPO/GRPO и генерация. В этом репозитории языковая модель на базе трансформера реализована с нуля на чистом PyTorch по оригинальной архитектуре «Attention is All You Need». Здесь показан весь путь от необработанного текста до чат-модели. В проект входят токенизатор BPE на уровне байтов, классический декодер в стиле GPT-2 и современный вариант с RoPE, RMSNorm, SwiGLU, grouped-query attention и Mixture of Experts. Всё написано вручную, без использования trainers из Hugging Face.
- train-llm-from-scratch можно использовать бесплатно? Какая у него лицензия?
- train-llm-from-scratch распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- train-llm-from-scratch всё ещё поддерживается?
- Активно поддерживается. Последний коммит в train-llm-from-scratch — 2 окт. 2026 г..
- Для чего можно использовать train-llm-from-scratch?
- Пошагово разобраться, как устроены языковая модель на базе трансформера и цикл её обучения. В качестве эксперимента предобучить небольшую LLM на одной GPU или ноутбуке. Изучить методы post-training, например DPO, PPO и GRPO, на понятной кодовой базе. Сравнить классические и современные компоненты трансформера в рамках одного пайплайна.
- Как установить train-llm-from-scratch?
- Клонируйте репозиторий: git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git Перейдите в папку проекта: cd train-llm-from-scratch Установите проект в editable-режиме: pip install -e . Подготовив данные, обучите небольшую модель на CPU ноутбука: python scripts/train_transformer.py --preset tiny --arch modern
- Где скачать train-llm-from-scratch?
- Исходный код и инструкции по установке — на GitHub: https://github.com/FareedKhan-dev/train-llm-from-scratch
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
CLI-инструмент для дообучения и посттренинга LLM по одному YAML-конфигу, в том числе на потребительских GPU с небольшим объёмом VRAM.
Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
NEO — семейство нативных моделей для работы с изображениями и текстом, которые обрабатывают пиксели и слова в единой плотной архитектуре без энкодера, с кодом для обучения и оценки.
Универсальный движок для обучения мультимодальных моделей: поддерживает VLM, diffusion- и LLM-модели, а также FSDP2, Muon и ядра Liger.
Подборка провайдеров API для LLM с постоянными бесплатными тарифами для текстового инференса, включая эндпоинты, модели и лимиты запросов.