Все проекты

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. Видеокарта не обязательна.

Статьи о проекте