# psyc training container — unsloth + Qwen3.5 QLoRA fine-tuning. # # Build: # docker build -t psyc-trainer -f Dockerfile.train . # # Run (24 GB GPU, mounts host data/ for datasets + adapter output): # docker run --gpus all --rm \ # -v $(pwd)/data:/data \ # psyc-trainer \ # --dataset /data/datasets/ioc_extraction-v1.jsonl \ # --dataset /data/datasets/severity_classification-v1.jsonl \ # --dataset /data/datasets/routing_decision-v1.jsonl \ # --dataset /data/datasets/tlp_assignment-v1.jsonl \ # --output /data/adapters/psyc-v1 # # Base image already ships Python 3.11 + torch 2.6 + CUDA 12.4 + cuDNN9, so # there is no apt step and no torch download. Qwen3.5 needs transformers v5 — # unsloth pulls it automatically. FROM pytorch/pytorch:2.6.0-cuda12.4-cudnn9-devel ENV PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ HF_HOME=/data/.hf-cache RUN pip install --upgrade pip && \ pip install unsloth unsloth_zoo trl datasets WORKDIR /workspace COPY scripts/train_qlora.py /workspace/train_qlora.py ENTRYPOINT ["python", "/workspace/train_qlora.py"]