Sergey Penkovsky 5765eb3bd3 Обновление метода generate в GPT
Основные изменения:
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. Оптимизация кода:
   - Эффективное обрезание последовательности
   - Оптимизированные операции с тензорами
   - Четкое разделение логики для разных режимов
2025-07-22 10:53:57 +03:00
2025-07-08 14:42:24 +03:00
2025-07-11 12:21:33 +03:00

Simple-LLM Framework

Python Version PyTorch Version

Простая и понятная реализация языковой модели GPT-стиля с нуля на PyTorch

🔍 Обзор

Simple-LLM предоставляет:

  • Полную реализацию архитектуры GPT
  • Эффективный токенизатор BPE
  • Модули трансформера (внимание, FFN, эмбеддинги)
  • Гибкую систему генерации текста
  • Примеры использования и документацию

🚀 Быстрый старт

  1. Установите зависимости:
pip install torch numpy tqdm
  1. Запустите пример генерации:
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/

🤝 Как внести вклад

  1. Форкните репозиторий
  2. Создайте ветку (git checkout -b feature/AmazingFeature)
  3. Сделайте коммит (git commit -m 'Add some AmazingFeature')
  4. Запушьте ветку (git push origin feature/AmazingFeature)
  5. Откройте Pull Request

📜 Лицензия

Распространяется под лицензией MIT. См. LICENSE

Description
No description provided
Readme MIT 21 MiB
Languages
Python 100%