Aller au contenu principal

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


Continuer vers le Chapitre 2 →