Установка
Требования
Заголовок раздела «Требования»- Python 3.10+.
- uv — менеджер пакетов: репозиторий — uv workspace из двух пакетов.
- PyTorch. Корневой проект закрепляет
torch==2.8.0; сама библиотекаllmтребуетtorch>=2.3.0иnumpy>=1.24.0, других зависимостей у неё нет. - Transformers и Datasets нужны только пакету
hf-proxyи для загрузки весов HuggingFace.
Видеокарта не обязательна: всё работает на CPU, а Trainer сам выбирает cuda, если она доступна.
Установка
Заголовок раздела «Установка»git clone https://github.com/pese-git/llm-arch-research.gitcd llm-arch-researchuv sync # llm, hf-proxy и зависимости корневого проектаuv sync --extra dev # плюс pytest, ruff, black, mypy, jupyteruv sync ставит оба пакета workspace в режиме редактирования: правки в llm/src/ видны без переустановки.
| Пакет | Каталог | Импорт | Зависимости |
|---|---|---|---|
llm | llm/src/llm | import llm | torch, numpy |
hf-proxy | hf-proxy/src/hf_proxy | import hf_proxy | llm, transformers, datasets |
Скрипты и ноутбуки запускайте через uv run из корня репозитория: пути в конфигах экспериментов (checkpoints/...) относительные.
Проверка
Заголовок раздела «Проверка»uv run python -c "import torchfrom llm.models.llama import Llamamodel = Llama({'vocab_size': 100, 'embed_dim': 32, 'num_heads': 4, 'num_layers': 2, 'max_position_embeddings': 64, 'dropout': 0.0})print(model.generate(torch.tensor([[1, 2, 3]]), max_new_tokens=5, do_sample=False))"Команда печатает тензор из 8 id: 3 токена промпта и 5 сгенерированных. Полный набор тестов — uv run pytest из корня (около 1000 тестов, меньше минуты на CPU; подробнее — в Тестах).
Что дальше
Заголовок раздела «Что дальше»- Модели и конфиги — как собрать модель нужной архитектуры.
- Обучение — первый запуск обучения на учебном корпусе.
- Ноутбуки — пошаговый разбор каждой архитектуры в Jupyter (нужен
uv sync --extra dev).