← Все репозитории

Популярный проект

rasbt/LLMs-from-scratch

Учебный репозиторий с пошаговой реализацией GPT-подобной языковой модели, её предобучением, классификацией и дообучением для выполнения инструкций.

Открыть GitHub
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 и другими моделями

Темы