Files
simple-llm/README.md
Sergey Penkovsky 3c1fd4c80c Обновление README: добавлена информация о MultiHeadAttention
- Добавлен пример использования MultiHeadAttention
- Обновлена схема архитектуры
- Добавлены новые команды разработки
- Улучшена структура документации
2025-07-19 22:20:12 +03:00

2.4 KiB

Simple LLM Framework

Python 3.9+ PyTorch 2.0+

Унифицированный фреймворк для 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 - базовая реализация BPE
  • OptimizeBPE - оптимизированная версия

Эмбеддинги

  • 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 .