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",
)