43 lines
1.5 KiB
TOML
43 lines
1.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "train-llm-from-scratch"
|
|
version = "0.1.0"
|
|
description = "Train an LLM from scratch in pure PyTorch — pretraining through SFT, Reward Modeling, PPO, DPO and GRPO/RLVR."
|
|
readme = "README.md"
|
|
requires-python = ">=3.9"
|
|
license = { text = "MIT" }
|
|
# Core deps for the model + data path. (The teaching pretraining path also has
|
|
# requirements.txt with cu118 wheels; this project install does not pin a CUDA build —
|
|
# install the right torch wheel for your machine first if needed.)
|
|
dependencies = [
|
|
"torch",
|
|
"numpy",
|
|
"h5py",
|
|
"tqdm",
|
|
"tiktoken",
|
|
"zstandard",
|
|
"requests",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
# Post-training extras (datasets + optional experiment logging).
|
|
train = ["datasets", "wandb"]
|
|
# The Streamlit control-panel UI.
|
|
ui = ["streamlit", "pandas", "altair"]
|
|
# The MkDocs Material documentation site.
|
|
docs = ["mkdocs", "mkdocs-material", "pymdown-extensions"]
|
|
# Everything, for development.
|
|
all = ["datasets", "wandb", "streamlit", "pandas", "altair", "mkdocs", "mkdocs-material", "pymdown-extensions"]
|
|
|
|
# Make the existing import roots installable so `pip install -e .` removes the need for
|
|
# `PYTHONPATH=.`. These packages already exist in the repo (additive __init__.py only).
|
|
[tool.setuptools]
|
|
packages = ["config", "data_loader", "src", "src.models", "src.post_training", "src.post_training.rewards", "ui"]
|
|
|
|
[tool.setuptools.package-data]
|
|
# ship the JSON configs alongside the package
|
|
"*" = ["*.json"]
|