SAGE Fine-tuning Framework - Trainers and data loaders for LLM fine-tuning
Project description
sage-finetune
Fine-tuning component implementations for SAGE L3.
Installation
pip install isage-finetune
For LoRA training:
pip install isage-finetune[peft]
Features
- LoRA Trainer: Parameter-efficient fine-tuning with Low-Rank Adaptation
- Mock Trainer: Testing trainer for pipeline validation
- JSON/JSONL Loader: Flexible data loading for instruction and chat formats
Boundary
FinetuneManageronly manages task scheduling and status lifecycle.- Trainers only implement training/evaluation behavior.
- Package registration is explicit and fail-fast.
Quick Start
from sage_libs.sage_finetune import MockTrainer, JSONDatasetLoader
# Load training data
loader = JSONDatasetLoader()
train_data = loader.load("train.jsonl")
# Train (mock for testing)
trainer = MockTrainer()
result = trainer.train(train_data)
print(f"Loss: {result['train_loss']:.4f}")
LoRA Fine-tuning
from sage_libs.sage_finetune import LoRATrainer
from sage_libs.sage_finetune.trainers.lora_trainer import LoRAConfig
trainer = LoRATrainer(
model_name="gpt2",
lora_config=LoRAConfig(r=8, lora_alpha=16),
)
result = trainer.train(train_dataset)
trainer.save_model("./my_lora_model")
Data Formats
Instruction Format
{"instruction": "Summarize this text", "input": "Long text...", "output": "Summary..."}
Chat Format
{"messages": [{"role": "user", "content": "Hello"}, {"role": "assistant", "content": "Hi"}]}
Integration with SAGE
Components register into the SAGE finetune factory on package import:
from sage.libs.finetune import create_trainer
trainer = create_trainer("lora", model_name="gpt2")
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
isage_finetune-0.2.0.tar.gz
(15.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file isage_finetune-0.2.0.tar.gz.
File metadata
- Download URL: isage_finetune-0.2.0.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f49d7163821aa36a746a79f79293b809f41ff5dd07e53ffb4e9c67738ef629b3
|
|
| MD5 |
20273dc9a49aca7f2ed9bac2620c3be6
|
|
| BLAKE2b-256 |
c6949e5adad9655eb6a384b55621f263eadfc32547159080d98f874d8f2f7604
|
File details
Details for the file isage_finetune-0.2.0-py2.py3-none-any.whl.
File metadata
- Download URL: isage_finetune-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 29.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62dd058963419b279661ce06b0c5aff687fe6944345e6f1a85f05f3c6c7bef0c
|
|
| MD5 |
fe16ea85c55517b7ba2b2a37d96fdff2
|
|
| BLAKE2b-256 |
282b92816b4b593a975bb2dac979e71f56e1eaff3ab4df99bfde6507e8d143e1
|