The Dockerized Workflow
To eliminate environment-related issues and ensure perfect reproducibility, the entire project is containerized.
gemma-trainer
(Dockerfile
): This is the primary container for training and inference. It packages the Python environment, CUDA, and all necessary libraries fromrequirements.txt
. By mounting local directories as volumes, we can iterate on code locally and execute it within the consistent container environment.gguf-converter
(Dockerfile.convert
): The GGUF conversion process requires cmake and other build tools to compilellama.cpp
. To avoid bloating our main training image, we isolate these dependencies in a separate, dedicated container. This separation of concerns is a best practice for maintaining lean and specialized environments.