Commit Graph

30 Commits

Author SHA1 Message Date
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
e6dfdea015 Обновление тестов FeedForward: упрощение проверок инициализации и dropout 2025-07-21 10:26:25 +03:00
Sergey Penkovsky
a7f9cce13c Обновление тестов BPE: адаптация под текущую реализацию алгоритмов 2025-07-21 10:23:15 +03:00
Sergey Penkovsky
d9af3dba35 Optimize feed forward: improve dtype handling and layer processing 2025-07-21 10:07:52 +03:00
Sergey Penkovsky
6832978dc1 Update .gitignore: add example_output/ directory 2025-07-21 10:04:54 +03:00
Sergey Penkovsky
8c5baa0e33 Обновление README: добавлена полная архитектура Transformer
- Добавлен пример полного пайплайна
- Структурированы компоненты (токенизация, эмбеддинги, слои)
- Обновлены команды для примеров
2025-07-20 14:34:17 +03:00
Sergey Penkovsky
e5fc85f336 Полная реализация FeedForward
- Основной класс FeedForward
- Тесты для всех функций
- Пример использования с визуализацией
- Документация с блок-схемой
2025-07-20 14:28:18 +03:00
Sergey Penkovsky
03b245a126 Добавлена документация для FeedForward слоя
- Полное описание алгоритма с блок-схемой
- Примеры использования
- Таблица параметров
- Ссылка на пример визуализации
2025-07-20 14:20:11 +03:00
Sergey Penkovsky
75f99d5def Добавление тестов для MultiHeadAttention + финальные правки 2025-07-19 22:27:22 +03:00
Sergey Penkovsky
034b515846 Реализация MultiHeadAttention
- Добавлен класс MultiHeadAttention
- Создана документация с блок-схемой
- Добавлен пример использования
- Обновлен README.md
2025-07-19 22:24:05 +03:00
Sergey Penkovsky
3c1fd4c80c Обновление README: добавлена информация о MultiHeadAttention
- Добавлен пример использования MultiHeadAttention
- Обновлена схема архитектуры
- Добавлены новые команды разработки
- Улучшена структура документации
2025-07-19 22:20:12 +03:00
Sergey Penkovsky
2f390145cf Рефакторинг документации: новая структура README
- Добавлены badges Python/PyTorch
- Включена Mermaid-схема архитектуры
- Улучшена навигация с оглавлением
- Добавлена таблица примеров
- Унифицирован стиль документации
2025-07-19 12:05:20 +03:00
Sergey Penkovsky
6373b4e241 Добавление тестов для HeadAttention 2025-07-19 11:40:12 +03:00
Sergey Penkovsky
a150828665 Добавление механизма внимания HeadAttention
- Реализация одного головного внимания из Transformer
- Полная документация на русском языке
- Пример использования с визуализацией
- Обновление README с ссылками
2025-07-19 11:35:11 +03:00
Sergey Penkovsky
9765140f67 Обновление README: добавлена информация о модулях эмбеддингов
- Описание TokenEmbeddings и PositionalEmbeddings
- Пример использования векторных представлений
- Ссылки на документацию
2025-07-18 00:31:08 +03:00
Sergey Penkovsky
32bca15069 Комплексное обновление проекта
- Добавлена документация по эмбеддингам (markdown + drawio)
- Реализован модуль PositionalEmbeddings
- Обновлен .gitignore
- Исправлено имя модуля token_embeddings.py
2025-07-18 00:25:55 +03:00
Sergey Penkovsky
b43e6a85f4 Обновление тестов после переименования модуля эмбеддингов
- Исправлены импорты в test_token_embeddings.py
- Проверена работоспособность всех тестов
- Добавлены комментарии для будущих интеграционных тестов
2025-07-18 00:24:00 +03:00
Sergey Penkovsky
ea9d63da3a Обновил импорты после переименования token_embedings.py → token_embeddings.py 2025-07-18 00:19:43 +03:00
Sergey Penkovsky
87a38e06c4 Переименовал token_embedings.py → token_embeddings.py (исправление опечатки) 2025-07-18 00:17:37 +03:00
Sergey Penkovsky
f74f41b65e Добавлены TokenEmbeddings: реализация, документация и примеры 2025-07-17 17:51:53 +03:00
Sergey Penkovsky
6f2de3c13d docs(readme): add encode/decode examples and output samples 2025-07-13 01:08:37 +03:00
Sergey Penkovsky
6d746a960e feat: implement encode/decode methods 2025-07-12 11:48:34 +03:00
Sergey Penkovsky
3de32b2856 docs(example): update BPE example with encode/decode demonstration 2025-07-12 11:46:57 +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
Sergey Penkovsky
45eaaabd51 Initial commit 2025-07-08 14:42:24 +03:00