mirror of
https://github.com/pese-git/simple-llm.git
synced 2026-01-23 21:14:17 +00:00
Основные изменения: 1. Добавлена поддержка различных стратегий генерации: - Жадный поиск (do_sample=False) - Вероятностное сэмплирование (do_sample=True) - Top-k сэмплирование (top_k параметр) - Nucleus (top-p) сэмплирование (top_p параметр) - Температурное сэмплирование (temperature параметр) 2. Добавлена валидация параметров: - Проверка temperature > 0 - Проверка top_k > 0 - Проверка top_p в диапазоне (0, 1] - Запрет одновременного использования top_k и top_p 3. Улучшена документация: - Подробное описание всех параметров - Примеры использования - Примечания о детерминированности - Описание исключений 4. Оптимизация кода: - Эффективное обрезание последовательности - Оптимизированные операции с тензорами - Четкое разделение логики для разных режимов
2.1 KiB
2.1 KiB
Simple-LLM Framework
Простая и понятная реализация языковой модели GPT-стиля с нуля на PyTorch
🔍 Обзор
Simple-LLM предоставляет:
- Полную реализацию архитектуры GPT
- Эффективный токенизатор BPE
- Модули трансформера (внимание, FFN, эмбеддинги)
- Гибкую систему генерации текста
- Примеры использования и документацию
🚀 Быстрый старт
- Установите зависимости:
pip install torch numpy tqdm
- Запустите пример генерации:
python example/example_gpt.py
🧠 Основные компоненты
Модель 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