Skip to content

Examples

Basic Fine-Tuning

from legionheto import LegionHetoModel, SFTTrainer
from datasets import load_dataset

model = LegionHetoModel("unsloth/tinyllama-bnb-4bit")
model.setup_lora(r=16, alpha=32)

dataset = load_dataset("yahma/alpaca-cleaned", split="train[:1000]")

trainer = SFTTrainer(
    model=model,
    dataset=dataset,
    output_dir="./output",
    num_train_epochs=3,
)

trainer.train()

DPO Training

from legionheto import LegionHetoModel, DPOTrainer

model = LegionHetoModel("meta-llama/Llama-2-7b-hf")
ref_model = LegionHetoModel("meta-llama/Llama-2-7b-hf")
model.setup_lora(r=16, alpha=32)

trainer = DPOTrainer(
    model=model,
    ref_model=ref_model,
    dataset=preference_data,
    output_dir="./dpo_output",
    beta=0.1,
)

trainer.train()

Model Merging

from legionheto.export import slerp_merge

merged = slerp_merge(model1, model2, t=0.5)
merged.save_pretrained("./merged")

GGUF Export

from legionheto import export_to_gguf

export_to_gguf(
    model=model,
    tokenizer=tokenizer,
    output_path="./model.gguf",
    quantization="Q4_K_M",
)