TRL documentation

Utiliser le modèle après l’entraînement

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

and get access to the augmented documentation experience

to get started

Utiliser le modèle après l’entraînement

Une fois que vous avez entraîné un modèle à l’aide de SFTTrainer ou de DPOTrainer, vous disposez d’un modèle affiné qui peut être utilisé pour la génération de texte. Dans cette section, nous détaillons le processus de chargement du modèle affiné et de génération de texte. Si vous devez exécuter un serveur d’inférence avec le modèle entraîné, vous pouvez explorer des bibliothèques telles que text-generation-inference.

Charger et générer

Si vous avez effectué un fine-tuning complet d’un modèle, c’est-à-dire sans utiliser PEFT, vous pouvez simplement le charger comme n’importe quel autre modèle de langage dans transformers :

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_name_or_path = "Qwen/Qwen3-0.6B" #path/to/your/model/or/name/on/hub
device = torch.accelerator.current_accelerator() if torch.accelerator.is_available() else "cpu"

model = AutoModelForCausalLM.from_pretrained(model_name_or_path).to(device)
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)

inputs = tokenizer.encode("This movie was really", return_tensors="pt").to(device)
outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0]))

Vous pouvez également utiliser le pipeline :

from transformers import pipeline

model_name_or_path = "Qwen/Qwen3-0.6B" #path/to/your/model/or/name/on/hub
pipe = pipeline("text-generation", model=model_name_or_path)
print(pipe("This movie was really")[0]["generated_text"])

Utiliser les adaptateurs PEFT

from peft import PeftConfig, PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

base_model_name = "Qwen/Qwen3-0.6B" #path/to/your/model/or/name/on/hub
adapter_model_name = "path/to/my/adapter"

model = AutoModelForCausalLM.from_pretrained(base_model_name)
model = PeftModel.from_pretrained(model, adapter_model_name)

tokenizer = AutoTokenizer.from_pretrained(base_model_name)

Vous pouvez également fusionner les adaptateurs dans le modèle de base afin d’utiliser le modèle comme un modèle transformers classique, mais le point de contrôle sera alors nettement plus volumineux :

model = AutoModelForCausalLM.from_pretrained(base_model_name)
model = PeftModel.from_pretrained(model, adapter_model_name)

model = model.merge_and_unload()
model.save_pretrained("merged_adapters")

Une fois le modèle chargé et les adaptateurs fusionnés ou conservés séparément par-dessus, vous pouvez exécuter la génération comme pour un modèle normal, comme décrit ci-dessus.

Update on GitHub