mirror of
https://github.com/pese-git/simple-llm.git
synced 2026-01-23 13:03:55 +00:00
Обновление README: добавлена полная архитектура Transformer
- Добавлен пример полного пайплайна - Структурированы компоненты (токенизация, эмбеддинги, слои) - Обновлены команды для примеров
This commit is contained in:
89
README.md
89
README.md
@@ -3,69 +3,50 @@
|
||||
[]()
|
||||
[]()
|
||||
|
||||
Унифицированный фреймворк для NLP, включающий:
|
||||
- 🎯 Токенизацию на основе BPE
|
||||
- 📊 Векторные представления
|
||||
- 🧠 Механизмы внимания (Single/Multi-Head)
|
||||
## Основные компоненты
|
||||
|
||||
## Оглавление
|
||||
- [Быстрый старт](#быстрый-старт)
|
||||
- [Архитектура](#архитектура)
|
||||
- [Модули](#модули)
|
||||
- [Примеры](#примеры)
|
||||
- [Документация](#документация)
|
||||
- [Установка](#установка)
|
||||
### Токенизация
|
||||
- `SimpleBPE` - алгоритм Byte Pair Encoding
|
||||
- `OptimizeBPE` - оптимизированная версия
|
||||
|
||||
### Эмбеддинги
|
||||
- `TokenEmbeddings` - векторные представления токенов
|
||||
- `PositionalEmbeddings` - позиционное кодирование
|
||||
|
||||
### Transformer Layers
|
||||
- `HeadAttention` - механизм внимания одной головы
|
||||
- `MultiHeadAttention` - многоголовое внимание (4-16 голов)
|
||||
- `FeedForward` - двухслойная FFN сеть (расширение → сжатие)
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
```python
|
||||
from simple_llm import SimpleBPE, MultiHeadAttention
|
||||
from simple_llm import SimpleBPE, MultiHeadAttention, FeedForward
|
||||
|
||||
# 1. Токенизация
|
||||
bpe = SimpleBPE().fit(text_corpus)
|
||||
tokens = bpe.encode("Пример текста")
|
||||
|
||||
# 2. Многоголовое внимание
|
||||
mha = MultiHeadAttention(
|
||||
num_heads=8,
|
||||
emb_size=256,
|
||||
head_size=32
|
||||
# 2. Полный пайплайн
|
||||
model = nn.Sequential(
|
||||
TokenEmbeddings(10000, 256),
|
||||
PositionalEmbeddings(256, 512),
|
||||
MultiHeadAttention(8, 256, 32),
|
||||
FeedForward(256)
|
||||
)
|
||||
output = mha(torch.randn(1, 10, 256)) # [batch, seq_len, emb_size]
|
||||
```
|
||||
|
||||
## Архитектура
|
||||
```mermaid
|
||||
graph TD
|
||||
A[Текст] --> B(Tokenizer)
|
||||
B --> C[Токены]
|
||||
C --> D[TokenEmbeddings]
|
||||
D --> E[MultiHeadAttention]
|
||||
E --> F[Выход модели]
|
||||
```
|
||||
|
||||
## Модули
|
||||
### Токенизация
|
||||
- `SimpleBPE` - базовая реализация BPE
|
||||
- `OptimizeBPE` - оптимизированная версия
|
||||
|
||||
### Эмбеддинги
|
||||
- `TokenEmbeddings` - обучаемые векторные представления
|
||||
- `PositionalEmbeddings` - позиционное кодирование
|
||||
|
||||
### Transformer
|
||||
- `HeadAttention` - одно-головое внимание
|
||||
- `MultiHeadAttention` - многоголовое внимание (4-16 голов)
|
||||
|
||||
## Примеры
|
||||
```bash
|
||||
# Запуск примеров
|
||||
python -m example.multi_head_attention_example
|
||||
```
|
||||
|
||||
## Документация
|
||||
- [Токенизация](/doc/bpe_algorithm.md)
|
||||
- [Эмбеддинги](/doc/token_embeddings_ru.md)
|
||||
- [MultiHeadAttention](/doc/multi_head_attention_ru.md)
|
||||
- [FeedForward](/doc/feed_forward_ru.md)
|
||||
|
||||
## Примеры
|
||||
```bash
|
||||
# Запуск примеров
|
||||
python -m example.multi_head_attention_example # Визуализация внимания
|
||||
python -m example.feed_forward_example # Анализ FFN слоя
|
||||
```
|
||||
|
||||
## Установка
|
||||
```bash
|
||||
@@ -73,15 +54,3 @@ git clone https://github.com/pese-git/simple-llm.git
|
||||
cd simple-llm
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
## Разработка
|
||||
```bash
|
||||
# Запуск тестов
|
||||
pytest tests/ -v
|
||||
|
||||
# Проверка стиля кода
|
||||
flake8 .
|
||||
|
||||
# Форматирование
|
||||
black .
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user