TRL documentation
Utiliser le modèle après l’entraînement
Utiliser le modèle après l’entraînement
Once you have trained a model using either the SFTTrainer or DPOTrainer, you will have a fine-tuned model that can be used for text generation. In this section, we’ll walk through the process of loading the fine-tuned model and generating text. If you need to run an inference server with the trained model, you can explore libraries such as 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