mirror of
https://github.com/pese-git/simple-llm.git
synced 2026-01-23 21:14:17 +00:00
Документация и примеры: унификация путей, стабильная работа на CPU, расширенный корпус для токенизатора, end-to-end пайплайн обучения и генерации. Исправлены все ошибки с устройствами и индексами, добавлены проверки и диагностика prompt.
This commit is contained in:
@@ -1,5 +1,24 @@
|
||||
# FeedForward - Прямая полносвязная сеть трансформера
|
||||
|
||||
> **Документ актуален для Simple-LLM v1.0 (июль 2025)**
|
||||
|
||||
---
|
||||
|
||||
**Краткое summary:**
|
||||
Документ описывает модуль двухслойной прямой полносвязной сети (Feed Forward) в трансформерах. Включает алгоритм, пример использования, параметры и типовые ошибки.
|
||||
|
||||
---
|
||||
|
||||
**Структура документа:**
|
||||
- Назначение
|
||||
- Алгоритм работы
|
||||
- Пример использования
|
||||
- Параметры
|
||||
- Особенности
|
||||
- Типовые ошибки и их решения
|
||||
|
||||
---
|
||||
|
||||
## Назначение
|
||||
Модуль реализует двухслойную нейронную сеть, которая:
|
||||
- Добавляет нелинейность в трансформер
|
||||
@@ -55,9 +74,40 @@ output = ff(x) # [1, 10, 512]
|
||||
| `emb_size` | int | Размерность входных/выходных векторов |
|
||||
| `dropout` | float | Вероятность dropout (0.0-1.0)|
|
||||
|
||||
## Особенности
|
||||
- Сохраняет размерность входа/выхода
|
||||
- Автоматически обрабатывает batch и последовательности
|
||||
## Рекомендации
|
||||
- Dropout обычно выбирают 0.1–0.3
|
||||
- Следите, чтобы emb_size совпадал с размерностью входа/выхода
|
||||
- Используйте режимы train/eval корректно
|
||||
- Для визуализации используйте [пример](/example/feed_forward_example.py)
|
||||
|
||||
---
|
||||
|
||||
## Типовые ошибки и их решения
|
||||
|
||||
### Ошибка: Размерности не совпадают при прямом проходе
|
||||
**Возможные причины:**
|
||||
- emb_size не совпадает с размерностью входных данных
|
||||
|
||||
**Решение:**
|
||||
- Проверьте, что emb_size слоя FeedForward совпадает с размерностью последнего слоя перед ним
|
||||
|
||||
### Ошибка: Модель не обучается (loss не уменьшается)
|
||||
**Возможные причины:**
|
||||
- Dropout слишком высокий
|
||||
- Ошибка в подключении слоя к модели
|
||||
|
||||
**Решение:**
|
||||
- Попробуйте уменьшить dropout
|
||||
- Проверьте, что слой FeedForward включён в модель и его параметры передаются в оптимизатор
|
||||
|
||||
### Ошибка: CUDA out of memory
|
||||
**Возможные причины:**
|
||||
- Слишком большой batch_size или размерность emb_size
|
||||
|
||||
**Решение:**
|
||||
- Уменьшите batch_size или emb_size
|
||||
|
||||
---
|
||||
- Поддерживает режимы train/eval
|
||||
|
||||
[Пример визуализации](/example/feed_forward_example.py)
|
||||
|
||||
Reference in New Issue
Block a user