15 Commits

Author SHA1 Message Date
Sergey Penkovsky
0fdc8fe41d Обновление истории GPT в документации 2025-07-25 14:53:41 +03:00
Sergey Penkovsky
e0813fedc6 Документация и примеры: унификация путей, стабильная работа на CPU, расширенный корпус для токенизатора, end-to-end пайплайн обучения и генерации. Исправлены все ошибки с устройствами и индексами, добавлены проверки и диагностика prompt. 2025-07-23 14:34:10 +03:00
Sergey Penkovsky
a895c59bfe docs(get_data): унификация структуры и оформление\n\nДобавлен summary, структура документа, рекомендации и раздел типовых ошибок. Приведён к единому стилю с остальными техническими файлами Simple-LLM. 2025-07-23 13:38:19 +03:00
Sergey Penkovsky
8b0dd9c504 Реализация и документирование метода fit() для обучения GPT
Основные изменения:
1. Реализация метода fit():
- Добавлен полный цикл обучения (forward/backward pass)
- Поддержка обучения на CPU/GPU
- Расчет и сохранение метрик (train_loss, validation_loss)
- Интеграция с оптимизатором Adam

2. Документация:
- Подробное описание метода в gpt_documentation_ru.md
- Примеры использования в README.md
- Параметры и требования к данным

3. Тестирование:
- Тесты базовой функциональности
- Проверка изменения весов
- Тесты для разных устройств (CPU/CUDA)
- Обработка edge-cases

4. Примеры:
- train_gpt_example.py с полным workflow
- Генерация синтетических данных
- Сохранение/загрузка моделей
2025-07-23 12:38:39 +03:00
Sergey Penkovsky
c56a3e80c9 Реализация класса GetData
- Добавлен класс GetData для работы с последовательными данными
- Реализован функционал:
  * Создание датасета из последовательности
  * Автоматическое формирование пар (input, target)
  * Поддержка CPU/GPU
  * Проверка корректности параметров
- Добавлены тесты для проверки функционала
- Создан пример использования в example/
- Добавлена документация с блок-схемой в doc/
- Обновлен README.md с информацией о новом классе
2025-07-22 17:10:28 +03:00
Sergey Penkovsky
5765eb3bd3 Обновление метода generate в GPT
Основные изменения:
1. Добавлена поддержка различных стратегий генерации:
   - Жадный поиск (do_sample=False)
   - Вероятностное сэмплирование (do_sample=True)
   - Top-k сэмплирование (top_k параметр)
   - Nucleus (top-p) сэмплирование (top_p параметр)
   - Температурное сэмплирование (temperature параметр)

2. Добавлена валидация параметров:
   - Проверка temperature > 0
   - Проверка top_k > 0
   - Проверка top_p в диапазоне (0, 1]
   - Запрет одновременного использования top_k и top_p

3. Улучшена документация:
   - Подробное описание всех параметров
   - Примеры использования
   - Примечания о детерминированности
   - Описание исключений

4. Оптимизация кода:
   - Эффективное обрезание последовательности
   - Оптимизированные операции с тензорами
   - Четкое разделение логики для разных режимов
2025-07-22 10:53:57 +03:00
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
Sergey Penkovsky
420c45dc74 Реализация Decoder для трансформера
- Основной модуль декодера (Decoder) с:
  * Self-Attention механизмом
  * Encoder-Decoder Attention слоем
  * LayerNormalization
  * Позиционными эмбеддингами
- Примеры использования с документацией
- Полный набор unit-тестов
- Документация на русском языке
2025-07-21 11:00:49 +03:00
Sergey Penkovsky
03b245a126 Добавлена документация для FeedForward слоя
- Полное описание алгоритма с блок-схемой
- Примеры использования
- Таблица параметров
- Ссылка на пример визуализации
2025-07-20 14:20:11 +03:00
Sergey Penkovsky
034b515846 Реализация MultiHeadAttention
- Добавлен класс MultiHeadAttention
- Создана документация с блок-схемой
- Добавлен пример использования
- Обновлен README.md
2025-07-19 22:24:05 +03:00
Sergey Penkovsky
a150828665 Добавление механизма внимания HeadAttention
- Реализация одного головного внимания из Transformer
- Полная документация на русском языке
- Пример использования с визуализацией
- Обновление README с ссылками
2025-07-19 11:35:11 +03:00
Sergey Penkovsky
32bca15069 Комплексное обновление проекта
- Добавлена документация по эмбеддингам (markdown + drawio)
- Реализован модуль PositionalEmbeddings
- Обновлен .gitignore
- Исправлено имя модуля token_embeddings.py
2025-07-18 00:25:55 +03:00
Sergey Penkovsky
f74f41b65e Добавлены TokenEmbeddings: реализация, документация и примеры 2025-07-17 17:51:53 +03:00
Sergey Penkovsky
26f173cc16 doc: update bpe algorithm 2025-07-12 11:19:54 +03:00
Sergey Penkovsky
362a7483e6 feat: implement bpe algorithm 2025-07-11 12:21:33 +03:00