Open Source
LLM Arch Research
Шесть языковых моделей — от GPT-1 до Gemma — написанные с нуля на PyTorch и сверенные с HuggingFace, плюс учебное пособие, которое объясняет каждую строку кода.
PyTorchTransformersResearchУчебное пособиеOpen Source
Архитектуры LLM с нуля
LLM Arch Research — исследовательская библиотека и учебное пособие одновременно. Небольшой код, который читается целиком и сверен с эталонными реализациями HuggingFace, и текст, который объясняет, почему каждая строка устроена именно так.
Шесть архитектур
Каждая модель — отдельный класс библиотеки llm и глава пособия: что изменилось по сравнению с предыдущей моделью, формулы и разбор кода.
| Модель | Год | Что нового |
|---|---|---|
| GPT-1 · OpenAI | 2018 | Decoder-only трансформер: обучаемые позиции, multi-head attention, post-LN |
| GPT-2 · OpenAI | 2019 | Pre-LN, финальная нормализация, масштабированная инициализация |
| LLaMA · Meta | 2023 | RoPE, RMSNorm и SwiGLU — основа современных открытых моделей |
| Mistral · Mistral AI | 2023 | Grouped Query Attention и скользящее окно внимания |
| Mixtral · Mistral AI | 2024 | Mixture-of-Experts: роутер выбирает два эксперта из восьми |
| Gemma · Google DeepMind | 2024 | Multi-Query Attention, GeGLU, масштаб эмбеддингов на √d |
Почему этот проект
- Читается целиком. Каждый блок трансформера — небольшой самостоятельный модуль. Библиотека зависит только от PyTorch и NumPy: никакой магии фреймворков между формулой и кодом.
- Сверено с эталоном. На весах HuggingFace логиты всех шести моделей совпадают с точностью до 1e-5–1e-4, а greedy-генерация с KV-кэшем — токен в токен. Больше 1150 тестов.
- Три уровня объяснения. Каждый механизм описан как идея со ссылкой на статью, затем формулами с числовыми примерами и, наконец, конкретной строкой кода, которая их реализует.
- Полный цикл. BPE-токенизатор, датасеты, обучение, генерация (greedy, top-k, top-p, KV-кэш, батч промптов) и загрузка готовых весов HuggingFace.
Документация
- Учебное пособие — для тех, кто хочет понять, как устроены LLM. Нужны Python и математика первых курсов, опыт в глубоком обучении — нет.
- Руководство пользователя — для исследователей: конфиги, данные, обучение, генерация, веса HF.
- Для разработчиков — устройство репозитория, добавление новой модели, тесты и соглашения.
Попробовать
git clone https://github.com/pese-git/llm-arch-research.git
cd llm-arch-research
uv sync
Нужны Python 3.10+ и uv. Видеокарта не обязательна.