Fonction d'ouverture d'Openai (PFT): un guide pour aligner les LLM avec les préférences des utilisateurs
Le réglage fin des préférences (PFT) est une technique puissante pour aligner les modèles de gros langues (LLM) avec les préférences des utilisateurs. Récemment introduit par OpenAI, PFT complète le réglage fin supervisé (SFT) et le réglage fin de renforcement (RFT) comme méthode pour façonner les sorties du modèle. Cet article fournit une explication concise de PFT et démontre son application en utilisant le tableau de bord du développeur d'Openai.
Comprendre PFT d'Openai
Contrairement à SFT, qui se concentre sur la génération de sorties spécifiques pour les entrées données, PFT vise à guider le modèle vers des réponses préférées tout en évitant les entrées indésirables. L'optimisation directe des préférences (DPO), la technique de base de la PFT d'OpenAI, est une méthode d'alignement simple mais efficace. Contrairement à RLHF, DPO contourne la complexité des modèles de récompense, optimisant directement une fonction de perte. Cela simplifie la mise en œuvre et améliore l'efficacité informatique.
L'ensemble de données DPO se compose de réponses appariées pour chaque invite: une préférée et une non préférée. Pour PFT d'OpenAI, cet ensemble de données doit être au format JSONL avec la structure suivante:
{ "input": { "messages": [ { "role": "user", "content": "Prompt text here" } ], "tools": [], "parallel_tool_calls": true }, "preferred_output": [ { "role": "assistant", "content": "Preferred response here" } ], "non_preferred_output": [ { "role": "assistant", "content": "Non-preferred response here" } ] }
OpenAI recommande de combiner SFT et PFT pour un alignement optimal. PFT est généralement appliqué après SFT initial sur un ensemble de données supervisé.
Préparation de l'ensemble de données pour PFT
La création d'un ensemble de données de préférence implique la génération de paires de sorties LLM (par exemple, en utilisant différents paramètres de température), puis en utilisant un autre LLM (idéalement plus puissant) pour étiqueter chaque paire comme "préférée" et "non préférée". "
Ce tutoriel utilise une approche simplifiée: télécharger un ensemble de données de préférence préexistant (par exemple, argilla/ultrafeedback-binarized-preferences
de l'étreinte Face) et restructurer les 50 premières lignes à l'aide d'un script Python. Ce script convertit l'ensemble de données au format JSONL requis pour PFT d'Openai.
# ... (Python code to process and convert the Hugging Face dataset to OpenAI's JSONL format is omitted for brevity but described in the original article) ...
N'oubliez pas de vous assurer que votre ensemble de données final est au format JSONL et supprimez toutes les lignes vides traînantes.
exécuter PFT d'Openai
Une fois votre ensemble de données prêt:
OpenAI permet la personnalisation des hyperparamètres; Cependant, vous pouvez laisser le système déterminer automatiquement les paramètres optimaux. Le temps de formation dépend de la taille de l'ensemble de données.
Conclusion
PFT d'Openai, en utilisant DPO, fournit un outil précieux pour affiner le comportement LLM et l'aligner avec les préférences des utilisateurs. En préparant soigneusement l'ensemble de données au format JSONL spécifié, vous pouvez tirer parti de l'infrastructure d'Openai pour obtenir un style de réponse de modèle plus personnalisé et souhaitable. D'autres ressources sur les méthodes de réglage fin d'Openai, y compris SFT et RFT, sont disponibles dans les liens de l'article d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!