mirror of
https://github.com/pese-git/simple-llm.git
synced 2026-01-23 13:03:55 +00:00
75f99d5defdb3276adf032b76f788470ac122ac8
Simple LLM Framework
Унифицированный фреймворк для NLP, включающий:
- 🎯 Токенизацию на основе BPE
- 📊 Векторные представления
- 🧠 Механизмы внимания (Single/Multi-Head)
Оглавление
Быстрый старт
from simple_llm import SimpleBPE, MultiHeadAttention
# 1. Токенизация
bpe = SimpleBPE().fit(text_corpus)
tokens = bpe.encode("Пример текста")
# 2. Многоголовое внимание
mha = MultiHeadAttention(
num_heads=8,
emb_size=256,
head_size=32
)
output = mha(torch.randn(1, 10, 256)) # [batch, seq_len, emb_size]
Архитектура
graph TD
A[Текст] --> B(Tokenizer)
B --> C[Токены]
C --> D[TokenEmbeddings]
D --> E[MultiHeadAttention]
E --> F[Выход модели]
Модули
Токенизация
SimpleBPE- базовая реализация BPEOptimizeBPE- оптимизированная версия
Эмбеддинги
TokenEmbeddings- обучаемые векторные представленияPositionalEmbeddings- позиционное кодирование
Transformer
HeadAttention- одно-головое вниманиеMultiHeadAttention- многоголовое внимание (4-16 голов)
Примеры
# Запуск примеров
python -m example.multi_head_attention_example
Документация
Установка
git clone https://github.com/pese-git/simple-llm.git
cd simple-llm
pip install -e .
Разработка
# Запуск тестов
pytest tests/ -v
# Проверка стиля кода
flake8 .
# Форматирование
black .
Languages
Python
100%