A robust framework for fine-tuning and evaluating language models with integrated visualization tools.
lm_finetuning/
├── src/
│ ├── __init__.py
│ ├── data_processor.py
│ ├── model_utils.py
│ ├── trainer.py
│ └── visualization.py
├── config/
│ └── __init__.py
├── logs/
│ └── .gitkeep
├── results/
│ └── .gitkeep
├── train.py
├── requirements.txt
└── README.md
graph TD
A[Data Input] --> B[DataProcessor]
B --> C[Model Loading]
C --> D[Training Loop]
D --> E[Visualization]
E --> |TensorBoard| F[Training Metrics]
E --> |Wandb| F
D --> G[Checkpoints]
G --> H[Final Model]
H --> I[Text Generation]
subgraph Visualization
E
F
end
subgraph Training
D
G
end
- Flexible Model Support: Compatible with HuggingFace Transformers models
- Visualization: Integrated TensorBoard and Weights & Biases support
- Checkpoint Management: Save and resume training sessions
- Custom Training: Extended trainer with research metrics
- Structured Logging: Comprehensive training metrics and model outputs
- Install dependencies:
pip install -r requirements.txt
- Train a model:
python train.py --mode train --model distilgpt2 --dataset wikitext --wandb
- Generate text:
python train.py --mode generate --model_path ./results/final_model --prompt "Once upon a time"
--mode
: train/continue/generate/evaluate--model
: HuggingFace model name--dataset
: Training dataset name--wandb
: Enable W&B logging--continue_from
: Checkpoint path for continuing training
--model_path
: Path to trained model--prompt
: Generation prompt--max_length
: Maximum generation length--temperature
: Sampling temperature--top_k
: Top-k sampling parameter--top_p
: Top-p sampling parameter
- Run names follow format:
distilgpt2-20250131-163706
- Tracks:
- Training metrics
- Model architecture
- Generated samples
- Attention patterns
- Embedding space visualization
- Real-time metric tracking
- Loss curves
- Learning rate schedules
- Text generation samples
src/
: Core implementation modulesdata_processor.py
: Dataset handling and preprocessingmodel_utils.py
: Model loading and configurationtrainer.py
: Custom training loop implementationvisualization.py
: Visualization and logging utilities
config/
: Configuration classes and constantslogs/
: TensorBoard logsresults/
: Trained models and checkpoints
- Fork the repository
- Create a feature branch
- Commit changes
- Submit pull request