Chapitre 1 : Formats de jeu de données
Structurer les données pour l'ajustement fin
Différents formats servent à des fins différentes. Les comprendre vous aide à choisir et préparer les données efficacement.
Formats courants
1. Format Alpaca
Instruction à un seul tour :
{
"instruction": "Résumez le texte suivant",
"input": "Le renard brun rapide saute par-dessus le chien paresseux...",
"output": "Un renard saute par-dessus un chien."
}
# Modèle Alpaca
template = """### Instruction:
{instruction}
### Input:
{input}
### Response:
{output}"""
2. Format ShareGPT
Conversations multi-tours :
{
"conversations": [
{"from": "system", "value": "Vous êtes un assistant utile."},
{"from": "human", "value": "Qu'est-ce que Python ?"},
{"from": "gpt", "value": "Python est un langage de programmation..."},
{"from": "human", "value": "Comment l'installer ?"},
{"from": "gpt", "value": "Vous pouvez le télécharger depuis python.org..."}
]
}
3. Complétion simple
Texte brut pour la pré-formation continue :
{"text": "Document complet ou paragraphe de texte..."}
Modèles de conversation
Les modèles attendent des formats spécifiques. Utilisez le modèle du tokenizer :
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.1-8B-Instruct")
messages = [
{"role": "system", "content": "Vous êtes utile."},
{"role": "user", "content": "Bonjour !"},
{"role": "assistant", "content": "Salut ! Comment puis-je vous aider ?"},
]
text = tokenizer.apply_chat_template(messages, tokenize=False)
print(text)
Conversion de format
def alpaca_to_messages(example):
"""Convertir le format Alpaca en messages."""
messages = []
if example.get("input"):
user_content = f"{example['instruction']}\n\n{example['input']}"
else:
user_content = example["instruction"]
messages.append({"role": "user", "content": user_content})
messages.append({"role": "assistant", "content": example["output"]})
return {"messages": messages}
# Appliquer au jeu de données
dataset = dataset.map(alpaca_to_messages)
Points clés à retenir
✅ Alpaca : Instructions à un seul tour ✅ ShareGPT : Conversations multi-tours ✅ Toujours utiliser le modèle de conversation du modèle ✅ La cohérence dans le formatage est essentielle