docs(readme): add explicit support notice for GPT-2 architecture and usage examples

This commit is contained in:
Sergey Penkovsky
2025-10-05 21:29:38 +03:00
parent c31eed8551
commit b9d9bdcc71

View File

@@ -6,7 +6,7 @@
Проект организован как монорепозиторий с использованием **uv** workspace: Проект организован как монорепозиторий с использованием **uv** workspace:
- **`llm`** — основная библиотека с реализацией архитектур LLM - **`llm`** — основная библиотека с реализацией архитектур LLM (GPT, GPT-2)
- **`hf-proxy`** — адаптер для интеграции с HuggingFace - **`hf-proxy`** — адаптер для интеграции с HuggingFace
- **`experiments`** — скрипты обучения и экспериментов - **`experiments`** — скрипты обучения и экспериментов
- **`notebooks`** — исследовательские ноутбуки - **`notebooks`** — исследовательские ноутбуки
@@ -30,8 +30,9 @@ llm-arch-research/
│ │ ├── feed_forward.py │ │ ├── feed_forward.py
│ │ ├── token_embeddings.py │ │ ├── token_embeddings.py
│ │ └── positional_embeddings.py │ │ └── positional_embeddings.py
│ ├── models/gpt/ # GPT реализация │ ├── models/gpt/ # GPT и GPT-2 реализация
│ │ ├── gpt.py │ │ ├── gpt.py
│ │ ├── gpt2.py
│ │ └── __init__.py │ │ └── __init__.py
│ ├── training/ # утилиты обучения │ ├── training/ # утилиты обучения
│ │ ├── dataset.py │ │ ├── dataset.py
@@ -103,11 +104,11 @@ uv run python experiments/hf_integration/generate_with_hf_tools.py
### Использование в коде ### Использование в коде
```python ```python
from llm.models.gpt import GPT from llm.models.gpt import GPT, GPT2
from llm.tokenizers import BPETokenizer from llm.tokenizers import BPETokenizer
from hf_proxy import HFAdapter, HFTokenizerAdapter from hf_proxy import HFAdapter, HFTokenizerAdapter
# Создание модели # Создание GPT модели
config = { config = {
"vocab_size": 50257, "vocab_size": 50257,
"embed_dim": 256, "embed_dim": 256,
@@ -118,6 +119,17 @@ config = {
} }
model = GPT(config) model = GPT(config)
# Создание GPT-2 модели (пример)
gpt2_config = {
"vocab_size": 50257,
"embed_dim": 768,
"num_heads": 12,
"num_layers": 12,
"max_position_embeddings": 1024,
"dropout": 0.1
}
gpt2_model = GPT2(gpt2_config)
# Генерация текста # Генерация текста
generated = model.generate( generated = model.generate(
input_ids, input_ids,
@@ -190,12 +202,13 @@ dependencies = [
## 🎯 Реализованные возможности ## 🎯 Реализованные возможности
### Архитектура GPT ### Архитектуры GPT и GPT-2
- ✅ Токенные и позиционные эмбеддинги - ✅ Токенные и позиционные эмбеддинги
- ✅ Многоголовое внимание с causal mask - ✅ Многоголовое внимание с causal mask
- ✅ Декодерные блоки с residual connections - ✅ Декодерные блоки с residual connections
- ✅ Layer normalization - ✅ Layer normalization
- ✅ Dropout регуляризация - ✅ Dropout регуляризация
- ✅ Отдельные реализации GPT и GPT-2 (различия в масштабе и деталях архитектуры)
### Генерация текста ### Генерация текста
- ✅ Жадный поиск (greedy decoding) - ✅ Жадный поиск (greedy decoding)