Transformers documentation

Unsloth

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Unsloth

Unsloth là một framework tinh chỉnh và tăng cường, giúp tăng tốc quá trình huấn luyện và giảm mức sử dụng bộ nhớ cho các mô hình ngôn ngữ lớn. Nó hỗ trợ huấn luyện ở độ chính xác 4-bit, 8-bit và 16-bit với các kernel RoPE và Triton tùy chỉnh. Unsloth hoạt động với các dòng mô hình Llama, Mistral, Gemma, Qwen và nhiều dòng khác.

from datasets import load_dataset
from transformers import TrainingArguments
from unsloth import FastLanguageModel
from unsloth.trainer import UnslothTrainer

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/Llama-3.2-1B-Instruct",
    max_seq_length=2048,
    load_in_4bit=True,
)

model = FastLanguageModel.get_peft_model(
    model,
    r=16,
    lora_alpha=16,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"],
)

dataset = load_dataset("trl-lib/Capybara", split="train[:500]")
dataset = dataset.map(lambda x: {"text": x["conversations"][0]["value"]})

trainer = UnslothTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=dataset,
    dataset_text_field="text",
    max_seq_length=2048,
    args=TrainingArguments(
        output_dir="outputs",
        per_device_train_batch_size=2,
        num_train_epochs=1,
    ),
)

trainer.train()

Tích hợp Transformers

Unsloth bọc các API của Transformers và vá các phương thức bên trong để tăng tốc độ.

Tài nguyên

Update on GitHub