docs(readme): update project documentation for LLaMA, Mistral, HF integration

- Added explicit support and usage examples for Mistral and LLaMA architectures in both root and llm/ READMEs
- Updated directory structure and naming (datasets, tokenizers, mistral, hf-proxy)
- Clarified quickstart and experiments usage including config location and CLI
- Documented HuggingFace integration via  and marked it as experimental
- Highlighted differences and specifics of all supported architectures
- Improved guide for launching training/generation/experiments
- Made project scope and architecture more transparent for new contributors
This commit is contained in:
Sergey Penkovsky
2025-10-17 20:18:57 +03:00
parent d947b7beb3
commit 9794db3e18
2 changed files with 66 additions and 99 deletions

View File

@@ -27,14 +27,19 @@ llm/
│ │ ├── gpt.py # Базовая GPT
│ │ ├── gpt2.py # GPT-2 реализация
│ │ └── __init__.py
── llama/ # LLaMA архитектура
├── llama.py # LLaMA реализация
── llama/ # LLaMA архитектура
├── llama.py # LLaMA реализация
│ │ └── __init__.py
│ └── mistral/ # Mistral архитектура
│ ├── mistral.py # Mistral реализация
│ └── __init__.py
├── tokenizers/ # Токенизаторы
│ ├── base_tokenizer.py # Базовый интерфейс
│ └── bpe_tokenizer.py # BPE токенизатор
├── datasets/ # Работа с датасетами
│ ├── text_dataset.py # Стандартный датасет
│ └── streaming_text_dataset.py # Стриминговый датасет
└── training/ # Утилиты обучения
├── dataset.py # Датасеты
├── trainer.py # Тренировочный цикл
├── optimizer.py # Оптимизаторы
└── scheduler.py # Планировщики обучения
@@ -175,13 +180,12 @@ generated = model.generate(input_ids, max_length=100)
- ✅ Learned positional embeddings
- ✅ Базовая архитектура трансформер-декодера
### GPT-2 Особенности
- ✅ Улучшенная версия оригинальной GPT
### GPT-2 Особенности
- ✅ Layer Normalization (перед вниманием и FFN)
- ✅ GELU активация
- ✅ Learned positional embeddings
- ✅ Кэширование для эффективной генерации
-Оптимизированные веса инициализации
- ✅ Кэширование KV для быстрой генерации
-Улучшенная инициализация слоёв
### LLaMA Особенности
- ✅ Rotary Positional Embeddings (RoPE)
@@ -190,6 +194,21 @@ generated = model.generate(input_ids, max_length=100)
- ✅ Оптимизированная структура декодера
- ✅ Эффективное кэширование KV-памяти
### Mistral Особенности
- ✅ Sliding Window Attention (оконное внимание)
- ✅ Grouped Query Attention (GQA)
- ✅ RoPE
- ✅ RMSNorm
- ✅ Разделённая архитектура на блоки с эффективным управлением памятью
- ✅ Совместимость с HuggingFace через hf-proxy
## 🤝 Интеграция с HuggingFace и BPE
- Встроенная поддержка собственных BPE токенизаторов и экспериментальная поддержка токенизаторов через HuggingFace (см. hf-proxy).
- hf-proxy — экспериментальный модуль! Совместимость с будущими версиями Transformers не гарантируется; API может меняться.
- Допускается загрузка/конвертация моделей в формат HF для использования экосистемы Transformers.
- Для запуска моделей с токенизаторами HF используйте `hf-proxy` и соответствующие эксперименты из `experiments/hf_integration/`.
## 🧪 Тестирование
Запуск всех тестов:
@@ -198,7 +217,7 @@ cd llm
python -m pytest tests/ -v
```
**Статус тестов:** ✅ 101 тест пройден
**Статус тестов:** ✅ 101+ тест, охвачены все основные компоненты (ядро, ядро-токенизация, архитектуры, обучение)
## 📚 Научные концепции