Les modèles de grande langue (LLMS) à réglage fin sont essentiels pour optimiser leurs performances dans des tâches spécifiques. OpenAI fournit un cadre robuste pour les modèles GPT affinés, permettant aux organisations d'adapter le comportement d'IA en fonction des exigences spécifiques au domaine. Ce processus joue un rôle crucial dans la personnalisation de la LLM, permettant aux modèles de générer des réponses plus précises, pertinentes et respectueuses de contexte.
Les LLM affinés peuvent être appliqués dans divers scénarios tels que l'analyse financière pour l'évaluation des risques, le support client pour les réponses personnalisées et la recherche médicale pour aider les diagnostics. Ils peuvent également être utilisés dans le développement de logiciels pour la génération et le débogage de code, ainsi que l'assistance juridique pour l'examen des contrats et l'analyse de la jurisprudence. Dans ce guide, nous allons parcourir le processus de réglage fin à l'aide de la plate-forme d'Openai et évaluer les performances du modèle affiné dans les applications du monde réel.
Model | Pricing | Pricing with Batch API | Training Pricing |
gpt-4o-2024-08-06 | .750 / 1M input tokens.000 / 1M output tokens | .875 / 1M input tokens.500 / 1M output tokens | .000 / 1M training tokens |
gpt-4o-mini-2024-07-18 | .300 / 1M input tokens.200 / 1M output tokens | .150 / 1M input tokens.600 / 1M output tokens | .000 / 1M training tokens |
gpt-3.5-turbo | .000 / 1M training tokens.000 / 1M output tokens | .500 / 1M input tokens.000 / 1M output tokens | .000 / 1M training tokens |
Pour plus d'informations, visitez cette page: https://openai.com/api/pricing/
Fonctionner un modèle permet aux utilisateurs de personnaliser des modèles pour des cas d'utilisation spécifiques, améliorant leur précision, leur pertinence et leur adaptabilité. Dans ce guide, nous nous concentrons sur des réponses plus personnalisées, précises et complémentaires aux interactions du service client.
En réglant fin un modèle sur les requêtes et interactions de clients réelles, les entreprises peuvent améliorer la qualité de la réponse, réduire les malentendus et améliorer la satisfaction globale des utilisateurs.
LIRE AUSSI: Guide du débutant pour les modèles de grande langue (LLMS)
Voyons maintenant comment nous pouvons former un modèle à l'aide de la plate-forme OpenAI. Nous le ferons en 4 étapes:
Commençons!
Pour affiner le modèle, nous avons d'abord besoin d'un ensemble de données de haute qualité adapté à notre cas d'utilisation. Pour ce processus de réglage fin, j'ai téléchargé l'ensemble de données de Hugging Face, une plate-forme populaire pour les ensembles de données et les modèles d'IA. Vous pouvez trouver un large éventail d'ensembles de données adaptés à un réglage fin en visitant des ensembles de données de visage étreintes. Recherchez simplement un ensemble de données pertinent, téléchargez-le et préparez-le au besoin pour s'assurer qu'il s'aligne sur vos exigences spécifiques.
Les données du service client pour le processus de réglage fin sont tirées des ensembles de données de face étreintes. Vous pouvez y accéder à partir d'ici.
LLMS Besoin de données pour être dans un format spécifique pour le réglage fin. Voici un échantillon de format pour GPT-4O, GPT-4O-MINI et GPT-3.5-turbo.
{"messages": [{"role": "system", "content": "This is an AI assistant for answering FAQs."}, {"role": "user", "content": "What are your customer support hours?"}, {"role": "assistant", "content": "Our customer support is available 1 24/7. How else may I assist you?"}]}
Maintenant, à l'étape suivante, nous vérifierons à quoi ressemblent nos données et effectuerons les ajustements nécessaires s'il n'est pas dans le format requis.
Maintenant, nous importerons les données et le prétraitement au format requis.
Pour ce faire, nous suivrons ces étapes:
1. Nous allons maintenant charger les données dans le cahier Jupyter et les modifier pour correspondre au format requis.
import pandas as pd splits = {'train': 'data/train-00000-of-00001.parquet', 'test': 'data/test-00000-of-00001.parquet'} df_train = pd.read_parquet("hf://datasets/charles828/vertex-ai-customer-support-training-dataset/" + splits["train"])
Ici, nous avons 6 colonnes différentes. Mais nous n'avons besoin que de deux - «instructions» et «réponse» car ce sont les colonnes qui ont des requêtes client et les réponses relatives en eux.
Maintenant, nous pouvons utiliser le fichier CSV ci-dessus pour créer un fichier JSONL selon les besoins pour le réglage fin.
import json messages = pd.read_csv("training_data") with open("query_dataset.jsonl", "w", encoding='utf-8') as jsonl_file: for _, row in messages.iterrows(): user_content = row['instruction'] assintant_content = row['response'] jsonl_entry = { "messages":[ {"role": "system", "content": "You are an assistant who writes in a clear, informative, and engaging style."}, {"role": "user", "content": user_content}, {"role": "assistant", "content": assintant_content} ] } jsonl_file.write(json.dumps(jsonl_entry) + '\n')
Comme indiqué ci-dessus, nous pouvons parcourir la trame de données pour créer le fichier JSONL.
Ici, nous stockons nos données dans un format de fichier JSONL qui est légèrement différent de JSON.
JSON stocke les données en tant que structure hiérarchique (objets et tableaux) dans un seul fichier, ce qui le rend adapté aux données structurées avec nidification. Vous trouverez ci-dessous un exemple du format de fichier JSON.
{"messages": [{"role": "system", "content": "This is an AI assistant for answering FAQs."}, {"role": "user", "content": "What are your customer support hours?"}, {"role": "assistant", "content": "Our customer support is available 1 24/7. How else may I assist you?"}]}
JSONL se compose de plusieurs objets JSON, chacun sur une ligne séparée, sans tableaux ni structures imbriquées. Ce format est plus efficace pour le streaming, le traitement de grands ensembles de données et la gestion des données ligne par ligne. Étape 4: Fonction sur la plate-forme Openai
import pandas as pd splits = {'train': 'data/train-00000-of-00001.parquet', 'test': 'data/test-00000-of-00001.parquet'} df_train = pd.read_parquet("hf://datasets/charles828/vertex-ai-customer-support-training-dataset/" + splits["train"])
2. Cliquez sur «Créer» et une petite fenêtre apparaîtra.
Voici une ventilation des hyperparamètres dans l'image ci-dessus:
Taille du lot:
Cela fait référence au nombre d'exemples de formation (points de données) utilisés en un seul passage (ou étape) avant de mettre à jour les poids du modèle. Au lieu de traiter toutes les données à la fois, le modèle traite les petits morceaux (lots) à la fois. Une taille de lot plus petite prendra plus de temps mais peut créer de meilleurs modèles. Vous devez trouver le bon équilibre ici. Tandis qu'un plus grand peut être plus stable mais beaucoup plus rapide.Multiplicateur de taux d'apprentissage:
Il s'agit d'un facteur qui ajuste le changement des poids du modèle après chaque mise à jour. S'il est défini, le modèle pourrait apprendre plus rapidement mais pourrait dépasser la meilleure solution. S'il est faible, le modèle apprendra plus lentement mais pourrait être plus précis.Nombre d'époches:
Une «époque» est une passe complète dans l'ensemble de l'ensemble de données de formation. Le nombre d'époches vous indique combien de fois le modèle apprendra de l'ensemble de données. Plus d'époches permettent généralement au modèle d'apprendre mieux, mais trop peuvent conduire à un sur-ajustement.3. Sélectionnez la méthode comme «supervisée» et le «modèle de base» de votre choix. J'ai sélectionné GPT-4O.
4. Téléchargez le fichier JSON pour les données de formation.
6. Choisissez les hyper-paramètres ou laissez-les aux valeurs par défaut.
7. Cliquez maintenant sur «Créer» et le réglage fin commencera.
8. Une fois le réglage fin terminé, il apparaîtra comme suit:
9. Maintenant, nous pouvons comparer le modèle affiné avec le modèle préexistant en cliquant sur le «terrain de jeu» dans le coin inférieur droit.
La durée et le coût du réglage fin dépendent de la taille de l'ensemble de données et de la complexité du modèle. Un ensemble de données plus petit, comme 100 échantillons, coûte beaucoup moins, mais peut ne pas régler suffisamment le modèle, tandis que les ensembles de données plus importants nécessitent plus de ressources en termes de temps et d'argent. Dans mon cas, l'ensemble de données avait environ 24 000 échantillons, donc le réglage fin a pris environ 7 à 8 heures et a coûté environ 700 $.
ATTENTION
Compte tenu du coût élevé, il est recommandé de commencer par un ensemble de données plus petit pour les tests initiaux avant de mettre à l'échelle. S'assurer que l'ensemble de données est bien structuré et pertinent peut aider à optimiser à la fois les performances et la rentabilité.
Maintenant que nous avons affiné le modèle, nous comparerons ses performances avec la base GPT-4O et analyserons les réponses des deux modèles pour voir s'il y a des améliorations de la précision, de la clarté, de la compréhension et de la pertinence. Cela nous aidera à déterminer si le modèle affiné répond à nos besoins spécifiques et fonctionne mieux dans les tâches prévues. À titre de concitation, je montre que vous les exemples de résultats de 3 invites forment à la fois le modèle GPT-4O standard et standard.
Query: "Aidez-moi à soumettre la nouvelle adresse de livraison"
Réponse par le modèle GPT-4O finetuned:
Réponse par GPT-4O:
Le modèle affiné fournit une réponse plus détaillée et centrée sur l'utilisateur par rapport au GPT-4O standard. Alors que GPT-4O fournit un guide fonctionnel étape par étape, le modèle ajusté améliore la clarté en différenciant explicitement entre l'ajout et l'édition d'une adresse. Il est plus engageant et rassurant pour l'utilisateur et offre une assistance proactive. Cela démontre la capacité supérieure du modèle affinée à s’aligner sur les meilleures pratiques du service client. Le modèle affiné est donc un choix plus fort pour les tâches nécessitant des réponses conviviales, structurées et de soutien.
Query: "J'ai besoin d'aide pour passer au compte de catégorie de compte"
Réponse par le modèle GPT-4O finetuned:
Réponse par GPT-4O:
Le modèle affiné améliore considérablement l'engagement des utilisateurs et la clarté par rapport au modèle de base. Alors que GPT-4O fournit une réponse structurée mais générique, la version affinée adopte un ton plus conversationnel et de soutien, ce qui rend les interactions plus naturelles.
Query: "Je ne sais pas comment mettre à jour mes informations personnelles"
Réponse par le modèle GPT-4O finetuned:
Réponse par GPT-4O:
Le modèle affiné surperforme le GPT-4O standard en fournissant une réponse plus précise et structurée. Alors que GPT-4O offre une réponse fonctionnelle, le modèle affiné améliore la clarté en abordant explicitement les distinctions clés et en présentant des informations de manière plus cohérente. De plus, il s'adapte mieux au contexte, assurant une réponse plus pertinente et raffinée.
Feature | Fine-Tuned GPT-4o | GPT-4o (Base Model) |
Empathy & Engagement | High – offers reassurance, warmth, and a personalized touch | Low – neutral and formal tone, lacks emotional depth |
User Support & Understanding | Strong – makes users feel supported and valued | Moderate – provides clear guidance but lacks emotional connection |
Tone & Personalization | Warm and engaging | Professional and neutral |
Efficiency in Information Delivery | Clear instructions with added emotional intelligence | Highly efficient but lacks warmth |
Overall User Experience | More engaging, comfortable, and memorable | Functional but impersonal and transactional |
Impact on Interaction Quality | Enhances both effectiveness and emotional resonance | Focuses on delivering information without emotional engagement |
Dans ce cas, affiner les modèles pour mieux répondre au client interroge leur efficacité. Il rend les interactions plus personnelles, conviviales et solidaires, ce qui conduit à des connexions plus fortes et à une satisfaction des utilisateurs plus élevée. Bien que les modèles de base fournissent des informations claires et précises, ils peuvent se sentir robotiques et moins engageants. Le réglage fin des modèles via la plate-forme Web pratique d'Openai est un excellent moyen de créer des modèles de langage de grande envergure personnalisés pour les tâches spécifiques au domaine.
a. Le réglage fin est le processus d'adaptation d'un modèle d'IA pré-formé pour effectuer une tâche spécifique ou présenter un comportement particulier en le formant davantage sur un ensemble de données plus petit et spécifique à la tâche. Cela permet au modèle de mieux comprendre les nuances de la tâche et de produire des résultats plus précis ou personnalisés.
Q2. Comment le réglage fin améliore-t-il les performances d'un modèle d'IA?a. Le réglage fin améliore les performances d'un modèle en lui apprenant à mieux gérer les exigences spécifiques d'une tâche, comme l'ajout d'empathie dans les interactions client. Il aide le modèle à fournir des réponses plus personnalisées et consacrées au contexte, ce qui rend les interactions plus humaines et engageantes.
Q3. Les modèles affinés sont-ils plus chers à utiliser?a. Les modèles de réglage fin peuvent nécessiter des ressources et une formation supplémentaires, ce qui peut augmenter le coût. Cependant, les avantages d'un modèle plus efficace et adapté aux utilisateurs l'emportent souvent sur l'investissement initial, en particulier pour les tâches qui impliquent l'interaction client ou la résolution de problèmes complexes.
Q4. Puis-je affiner un modèle par moi-même?a. Oui, si vous avez les données et l'expertise technique nécessaires, vous pouvez affiner un modèle utilisant des cadres d'apprentissage automatique comme Hugging Face, Openai ou autres. Cependant, cela nécessite généralement une forte compréhension de l'IA, de la préparation des données et des processus de formation.
Q5. Combien de temps faut-il pour affiner un modèle?a. Le temps nécessaire pour affiner un modèle dépend de la taille de l'ensemble de données, de la complexité de la tâche et des ressources de calcul disponibles. Cela peut prendre de quelques heures à plusieurs jours ou plus pour des modèles plus grands avec de vastes ensembles de données.
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!