mirror of
https://github.com/pese-git/simple-llm.git
synced 2026-01-24 05:26:02 +00:00
Документация и примеры: унификация путей, стабильная работа на CPU, расширенный корпус для токенизатора, end-to-end пайплайн обучения и генерации. Исправлены все ошибки с устройствами и индексами, добавлены проверки и диагностика prompt.
This commit is contained in:
@@ -1,5 +1,24 @@
|
||||
# Декодер Transformer
|
||||
|
||||
> **Документ актуален для Simple-LLM v1.0 (июль 2025)**
|
||||
|
||||
---
|
||||
|
||||
**Краткое summary:**
|
||||
Документ описывает работу декодера Transformer: архитектуру, алгоритм, пример использования, параметры и типовые ошибки.
|
||||
|
||||
---
|
||||
|
||||
**Структура документа:**
|
||||
- Назначение
|
||||
- Алгоритм работы
|
||||
- Использование
|
||||
- Параметры
|
||||
- Особенности
|
||||
- Типовые ошибки и их решения
|
||||
|
||||
---
|
||||
|
||||
## Назначение
|
||||
Декодер - ключевой компонент архитектуры Transformer, предназначенный для:
|
||||
- Генерации последовательностей (текст, код и др.)
|
||||
@@ -75,15 +94,40 @@ masked_output = decoder(x, mask)
|
||||
- Генерация текста
|
||||
- Кодогенерация
|
||||
|
||||
## Особенности реализации
|
||||
## Рекомендации
|
||||
- Используйте корректные маски для автопрегрессивного декодирования
|
||||
- Следите за размерностью входа и маски
|
||||
- Для сложных случаев используйте teacher forcing
|
||||
|
||||
1. **Масштабирование**:
|
||||
- Поддержка длинных последовательностей
|
||||
- Оптимизированные вычисления внимания
|
||||
---
|
||||
|
||||
2. **Обучение**:
|
||||
- Поддержка teacher forcing
|
||||
- Автопрегрессивное декодирование
|
||||
## Типовые ошибки и их решения
|
||||
|
||||
### Ошибка: Размерности не совпадают при подаче входа или маски
|
||||
**Возможные причины:**
|
||||
- Размерность входного тензора не совпадает с emb_size
|
||||
- Форма маски не совпадает с [seq_len, seq_len]
|
||||
|
||||
**Решение:**
|
||||
- Проверьте, что размерность входа и маски соответствует требованиям
|
||||
|
||||
### Ошибка: Модель не обучается (loss не уменьшается)
|
||||
**Возможные причины:**
|
||||
- Ошибка в подключении слоя к модели
|
||||
- Ошибка в маскировании (утечка будущего)
|
||||
|
||||
**Решение:**
|
||||
- Проверьте корректность маски
|
||||
- Проверьте, что параметры декодера передаются в оптимизатор
|
||||
|
||||
### Ошибка: CUDA out of memory
|
||||
**Возможные причины:**
|
||||
- Слишком большой batch_size, seq_len или emb_size
|
||||
|
||||
**Решение:**
|
||||
- Уменьшите batch_size, seq_len или emb_size
|
||||
|
||||
---
|
||||
|
||||
3. **Оптимизации**:
|
||||
- Кэширование ключей/значений
|
||||
|
||||
Reference in New Issue
Block a user