mirror of
https://github.com/pese-git/simple-llm.git
synced 2026-01-23 13:03:55 +00:00
c56a3e80c999d8dbc186e63ee4c783896e9d8843
- Добавлен класс GetData для работы с последовательными данными - Реализован функционал: * Создание датасета из последовательности * Автоматическое формирование пар (input, target) * Поддержка CPU/GPU * Проверка корректности параметров - Добавлены тесты для проверки функционала - Создан пример использования в example/ - Добавлена документация с блок-схемой в doc/ - Обновлен README.md с информацией о новом классе
Simple-LLM Framework
Простая и понятная реализация языковой модели GPT-стиля с нуля на PyTorch
🔍 Обзор
Simple-LLM предоставляет:
- Полную реализацию архитектуры GPT
- Эффективный токенизатор BPE
- Модули трансформера (внимание, FFN, эмбеддинги)
- Гибкую систему генерации текста
- Примеры использования и документацию
🚀 Быстрый старт
- Установите зависимости:
pip install torch numpy tqdm
- Запустите пример генерации:
python example/example_gpt.py
🧠 Основные компоненты
Обработка данных
from simple_llm.data.get_data import GetData
dataset = GetData(
data=[1, 2, 3, 4, 5], # Входная последовательность
seq_len=3, # Длина окна
device="cuda" # Устройство (опционально)
)
Модель GPT
from simple_llm.transformer.gpt import GPT
model = GPT(
vocab_size=10000,
max_seq_len=512,
emb_size=768,
num_heads=12,
num_layers=6
)
Генерация текста
output = model.generate(
input_ids,
max_new_tokens=100,
temperature=0.9,
top_k=50,
top_p=0.9
)
📚 Документация
Полная документация доступна в doc/:
🛠 Тестирование
pytest tests/
🤝 Как внести вклад
- Форкните репозиторий
- Создайте ветку (
git checkout -b feature/AmazingFeature) - Сделайте коммит (
git commit -m 'Add some AmazingFeature') - Запушьте ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
📜 Лицензия
Распространяется под лицензией MIT. См. LICENSE
Languages
Python
100%