Skip to main content

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

  • FinetuneManager only 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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isage_finetune-0.2.0-py2.py3-none-any.whl (29.7 kB view details)

Uploaded Python 2Python 3

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

Hashes for isage_finetune-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f49d7163821aa36a746a79f79293b809f41ff5dd07e53ffb4e9c67738ef629b3
MD5 20273dc9a49aca7f2ed9bac2620c3be6
BLAKE2b-256 c6949e5adad9655eb6a384b55621f263eadfc32547159080d98f874d8f2f7604

See more details on using hashes here.

File details

Details for the file isage_finetune-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for isage_finetune-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 62dd058963419b279661ce06b0c5aff687fe6944345e6f1a85f05f3c6c7bef0c
MD5 fe16ea85c55517b7ba2b2a37d96fdff2
BLAKE2b-256 282b92816b4b593a975bb2dac979e71f56e1eaff3ab4df99bfde6507e8d143e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page