Files
simple-llm/doc/gpt_documentation_ru.md
Sergey Penkovsky ae87faddc2 feat: добавление реализации модели GPT
Основные изменения:
- Реализован основной класс GPT в simple_llm/transformer/gpt.py:
  * Токенные и позиционные эмбеддинги
  * Многоголовое внимание
  * Полносвязные слои
  * Нормализация слоев
  * Поддержка dropout

- Добавлен пример использования в example/example_gpt.py:
  * Инициализация модели
  * Генерация текста
  * Сохранение/загрузка модели

- Написаны тесты:
  * Базовый функционал модели
  * Операции сохранения/загрузки
  * Проверка размерностей ввода/вывода

- Добавлена документация на русском:
  * Обзор архитектуры
  * Процесс обучения
  * Примеры использования

- Обновлен README.md с информацией о GPT
2025-07-22 06:26:23 +03:00

2.8 KiB
Raw Blame History

Документация по GPT модели (рус)

1. Общее описание

GPT (Generative Pre-trained Transformer) - это архитектура трансформера для генерации текста, основанная на механизме внимания.

Основные характеристики:

  • Авторегрессивная генерация
  • Многослойный декодер
  • Самовнимание с маской

2. Алгоритм работы

2.1 Архитектура

graph TD
    A[Входные токены] --> B[Токенные эмбеддинги]
    A --> C[Позиционные эмбеддинги]
    B --> D[Сумма эмбеддингов]
    C --> D
    D --> E[Слой нормализации]
    E --> F[Многоголовое внимание]
    F --> G[Пропускная связь]
    G --> H[FeedForward слой]
    H --> I[Слой нормализации]
    I --> J[Выходные логиты]

2.2 Процесс генерации

  1. Токенизация входного текста
  2. Вычисление эмбеддингов:
    • Токенные + позиционные
  3. Прохождение через N декодеров:
    • Самовнимание с маской
    • Полносвязные слои
  4. Преобразование в вероятности
  5. Выбор следующего токена

3. Использование

3.1 Инициализация

from simple_llm.transformer.gpt import GPT

model = GPT(
    vocab_size=10000,
    max_seq_len=512,
    emb_size=768,
    num_heads=12,
    head_size=64,
    num_layers=6
)

3.2 Генерация текста

output = model.generate(input_ids, max_new_tokens=50)

4. Гиперпараметры

Параметр Описание
vocab_size Размер словаря
max_seq_len Макс. длина последовательности
emb_size Размерность эмбеддингов
num_heads Количество голов внимания
head_size Размерность головы внимания
num_layers Количество слоев декодера

5. Примеры применения

  • Генерация текста
  • Дозаполнение форм
  • Кодогенерация
  • Чат-боты

6. Ограничения

  • Требует больших вычислительных ресурсов
  • Ограничена максимальной длиной последовательности
  • Может генерировать некорректный текст