Популярный проект
rasbt/LLMs-from-scratch
Учебный репозиторий с пошаговой реализацией GPT-подобной языковой модели, её предобучением, классификацией и дообучением для выполнения инструкций.
- Stars
- ★ 103.9k ↗ +1.1k за 7 дней
- Forks
- ⑂ 15.9k
- Язык
- Jupyter Notebook
- Статус
- В канале 1 янв. 1 г.
AI-разбор
Проект показывает, как с нуля на Python и PyTorch реализовать GPT-подобную большую языковую модель и последовательно разобраться в её устройстве. Материалы охватывают обработку текста, токенизацию, механизмы внимания, сборку архитектуры GPT, предобучение на неразмеченных данных, генерацию текста и дообучение для классификации и выполнения инструкций. В репозитории есть Jupyter Notebook, отдельные Python-скрипты, упражнения с решениями, примеры загрузки весов более крупных предварительно обученных моделей, интерфейсы для взаимодействия и эксперименты с LoRA и DPO. Дополнительные разделы демонстрируют BPE-токенизацию, KV-кэш, различные варианты внимания, Mixture-of-Experts, а также реализации архитектур Llama, Qwen, Gemma, OLMo и других моделей с нуля. Основной код рассчитан на обычные ноутбуки и автоматически использует GPU при наличии, поэтому это образовательный проект для небольших функциональных моделей, а не готовая промышленная система.
Разработчики Python, специалисты по машинному обучению, студенты и исследователи, которые хотят понять архитектуру и обучение языковых моделей через реализацию каждого этапа на PyTorch.
Что внутри
- Пошаговая реализация обработки текста, токенизации и BPE-токенизатора
- Код механизмов внимания, включая многоголовое внимание и дополнительные варианты архитектуры
- Сборка GPT-подобной модели с нуля на PyTorch и запуск генерации текста
- Предобучение на неразмеченных данных с обучающим циклом и загрузкой весов
- Дообучение модели для классификации текста и выполнения инструкций
- Дополнительные материалы по LoRA, DPO, KV-кэшу, Mixture-of-Experts и интерфейсам
Где применять
- Изучение внутреннего устройства LLM студентами и разработчиками с базовыми знаниями Python
- Практическое освоение PyTorch, обучения нейросетей, токенизации и механизмов внимания
- Создание учебного небольшого GPT-подобного прототипа для экспериментов с генерацией текста
- Изучение подходов к классификации, instruction tuning, preference tuning и параметрически эффективному дообучению
- Пошаговое знакомство с архитектурами Llama, Qwen, Gemma и другими моделями
Темы