mirror of
https://github.com/pese-git/simple-llm.git
synced 2026-01-23 21:14:17 +00:00
Обновление README: добавлена информация о MultiHeadAttention
- Добавлен пример использования MultiHeadAttention - Обновлена схема архитектуры - Добавлены новые команды разработки - Улучшена структура документации
This commit is contained in:
47
README.md
47
README.md
@@ -6,31 +6,31 @@
|
|||||||
Унифицированный фреймворк для NLP, включающий:
|
Унифицированный фреймворк для NLP, включающий:
|
||||||
- 🎯 Токенизацию на основе BPE
|
- 🎯 Токенизацию на основе BPE
|
||||||
- 📊 Векторные представления
|
- 📊 Векторные представления
|
||||||
- 🧠 Механизмы внимания
|
- 🧠 Механизмы внимания (Single/Multi-Head)
|
||||||
|
|
||||||
## Оглавление
|
## Оглавление
|
||||||
- [Быстрый старт](#быстрый-старт)
|
- [Быстрый старт](#быстрый-старт)
|
||||||
- [Архитектура](#архитектура)
|
- [Архитектура](#архитектура)
|
||||||
- [Модули](#модули)
|
- [Модули](#модули)
|
||||||
- [Примеры](#примеры)
|
- [Примеры](#примеры)
|
||||||
|
- [Документация](#документация)
|
||||||
- [Установка](#установка)
|
- [Установка](#установка)
|
||||||
- [Разработка](#разработка)
|
|
||||||
|
|
||||||
## Быстрый старт
|
## Быстрый старт
|
||||||
```python
|
```python
|
||||||
from simple_llm import SimpleBPE, TokenEmbeddings, HeadAttention
|
from simple_llm import SimpleBPE, MultiHeadAttention
|
||||||
|
|
||||||
# 1. Токенизация
|
# 1. Токенизация
|
||||||
bpe = SimpleBPE().fit(text)
|
bpe = SimpleBPE().fit(text_corpus)
|
||||||
tokens = bpe.encode("Привет мир")
|
tokens = bpe.encode("Пример текста")
|
||||||
|
|
||||||
# 2. Эмбеддинги
|
# 2. Многоголовое внимание
|
||||||
emb_layer = TokenEmbeddings(10000, 256)
|
mha = MultiHeadAttention(
|
||||||
embeddings = emb_layer(tokens)
|
num_heads=8,
|
||||||
|
emb_size=256,
|
||||||
# 3. Внимание
|
head_size=32
|
||||||
attention = HeadAttention(256, 64)
|
)
|
||||||
output = attention(embeddings)
|
output = mha(torch.randn(1, 10, 256)) # [batch, seq_len, emb_size]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Архитектура
|
## Архитектура
|
||||||
@@ -39,7 +39,7 @@ graph TD
|
|||||||
A[Текст] --> B(Tokenizer)
|
A[Текст] --> B(Tokenizer)
|
||||||
B --> C[Токены]
|
B --> C[Токены]
|
||||||
C --> D[TokenEmbeddings]
|
C --> D[TokenEmbeddings]
|
||||||
D --> E[HeadAttention]
|
D --> E[MultiHeadAttention]
|
||||||
E --> F[Выход модели]
|
E --> F[Выход модели]
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -53,13 +53,19 @@ graph TD
|
|||||||
- `PositionalEmbeddings` - позиционное кодирование
|
- `PositionalEmbeddings` - позиционное кодирование
|
||||||
|
|
||||||
### Transformer
|
### Transformer
|
||||||
- `HeadAttention` - механизм внимания одной головы
|
- `HeadAttention` - одно-головое внимание
|
||||||
|
- `MultiHeadAttention` - многоголовое внимание (4-16 голов)
|
||||||
|
|
||||||
## Примеры
|
## Примеры
|
||||||
| Файл | Описание |
|
```bash
|
||||||
|-------|----------|
|
# Запуск примеров
|
||||||
| [example_bpe.py](/example/example_bpe.py) | Базовая токенизация |
|
python -m example.multi_head_attention_example
|
||||||
| [head_attention_example.py](/example/head_attention_example.py) | Визуализация внимания |
|
```
|
||||||
|
|
||||||
|
## Документация
|
||||||
|
- [Токенизация](/doc/bpe_algorithm.md)
|
||||||
|
- [Эмбеддинги](/doc/token_embeddings_ru.md)
|
||||||
|
- [MultiHeadAttention](/doc/multi_head_attention_ru.md)
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
```bash
|
```bash
|
||||||
@@ -73,6 +79,9 @@ pip install -e .
|
|||||||
# Запуск тестов
|
# Запуск тестов
|
||||||
pytest tests/ -v
|
pytest tests/ -v
|
||||||
|
|
||||||
# Форматирование кода
|
# Проверка стиля кода
|
||||||
|
flake8 .
|
||||||
|
|
||||||
|
# Форматирование
|
||||||
black .
|
black .
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user