Entraînez votre propre modèle de réglage fin ChatGPT-OpenAI

OpenAI a finalement pris sa décision - ouvrez officiellement l'API ChatGPT !

Adresse API ChatGPT : https://platform.openai.com/docs/guides/chat

OpenAI, le nouveau modèle de gpt-3.5-turbo,
a officiellement ouvert l'API ChatGPT officielle, ouvrant une nouvelle porte aux développeurs.

Réglage fin _

Adresse officielle du document : OpenAI API

Pour la performance de ChatGPT, tout le monde a déjà ressenti son incroyable.Après l'essai, comment nous voulons le personnaliser pour vous ou pour l'entreprise, nous devons mentionner sa fonction de réglage fin.

Le réglage fin fait référence au réglage fin avec de nouvelles données sur un modèle déjà formé pour obtenir une meilleure adaptabilité. Dans le domaine du traitement du langage naturel, le réglage fin est principalement appliqué aux modèles de langage, généralement sur la base de modèles pré-formés, en utilisant une certaine échelle de nouveaux ensembles de données pour affiner le modèle afin de répondre aux exigences de tâches spécifiques.

Par exemple, supposons qu'il existe un modèle de génération de texte pré-entraîné capable de générer un texte cohérent à partir d'un préfixe. Mais ce modèle peut ne pas convenir à des scénarios commerciaux spécifiques, tels que la réponse à des questions médicales. À ce stade, nous pouvons utiliser une certaine échelle d'ensembles de données de questions-réponses médicales pour affiner ce modèle, afin qu'il puisse mieux s'adapter au scénario de questions-réponses médicales et générer un texte plus conforme aux besoins réels.

L'avantage du réglage fin est qu'il n'est pas nécessaire de former un modèle à partir de zéro, car le modèle pré-formé possède déjà de bonnes capacités de modélisation du langage et contient déjà beaucoup de connaissances linguistiques. Nous avons juste besoin d'importer l'ensemble de données d'entreprise et de le former.

étapes de réglage fin

  1. Préparer et télécharger les données d'entraînement
  2. Former un nouveau modèle affiné
  3. Utiliser le modèle affiné

Quels modèles peuvent être ajustés ?

Le réglage fin n'est actuellement disponible que pour le modèle de base suivant : davinci curie babbage ada text-davinci-003.

Je n'ai pas essayé si le nouveau modèle de gpt-3.5-turbo, le dernier modèle ChatGPT, prend en charge le réglage fin.

commencer la pratique

1. préparation de l'environnement python3

Le réglage fin du modèle OpenAI nécessite un environnement python3. (Prenez l'exemple d'une nouvelle installation d'un ordinateur Mac)

1.1 Mettre à jour le brassage en premier

brew update

Notez que je n'ai pas réussi à l'exécuter la première fois, en disant que je ne pouvais pas accéder à l'entrepôt github, alors je l'ai refait.

1.2 Installer python3- notez que le processus d'installation est relativement long, je l'ai installé pendant plus de dix minutes

brew install python3

 - A noter que le processus d'installation est relativement long, et qu'il m'a fallu plus d'une dizaine de minutes pour l'installer. être patient

1.3 Continuer à installer pip

L'exécution de la commande officielle à ce moment signalera une erreur comme suit :

zsh : commande introuvable : pip

Télécharger d'abord :

curl https://bootstrap.pypa.io/pip/get-pip.py -o get-pip.py

Utiliser python3 pour installer

sudo python3 get-pip.py

 Vérifier après l'installation

pip -V

1.4 Installer des pandas

Cette étape est également nécessaire, sinon une erreur sera signalée ultérieurement, indiquant que pandas est manquant.

Commande d'installation :

pip install pandas

 De cette manière, le travail de préparation est effectué et les documents officiels d'OpenAI peuvent être installés pour fonctionner.

2. Préparation de l'environnement OpenAI

2.1 Outils d'installation

pip install --upgrade openai

 2.2 Préparez votre propre corpus

J'ai créé un nouveau fichier 1.json sur le disque dur, le contenu est le suivant :

{"prompt": "你是谁", "completion": "我是唯一客服小助手"}
{"prompt": "你会做什么", "completion": "我能帮你解答使用唯一客服时的问题"}

2.3 Définition des variables d'environnement - vous devez définir la clé de l'API d'OpenAI

export OPENAI_API_KEY="自己的key"

2.4 Ce fichier est formaté par les outils d'OpenAI

openai tools fine_tunes.prepare_data -f 本地的json文件路径

Mon exemple : 

openai tools fine_tunes.prepare_data -f /Users/szz/app/1.json

traduire:

en cours d'analyse. . .
 
- Selon votre extension de fichier, vous fournissez un fichier texte
- Votre fichier contient 3 paires de saisie rapide. En général, nous recommandons au moins quelques centaines d'exemples. Nous avons constaté que les performances augmentent de manière linéaire à chaque doublement du nombre d'exemples
- la colonne/clé "complétion" ne doit pas contenir de chaînes vides. Ce sont les lignes : [2]
- toutes les complétions commencent par le préfixe "{"prompt":"you`. La plupart du temps, vous devez simplement ajouter les données de sortie à la complétion sans aucun préfixe - la complétion doit commencer par un caractère
vide (``). Cela a tendance à donner de meilleurs résultats en raison de la tokenisation que nous utilisons. Voir https://beta.openai.com/docs/guides/fine-tuning/preparing-your-dataset pour plus de détails
 
Sur la base de l'analyse, nous prendrons les mesures suivantes :
- [Obligatoire] Votre format "TXT" sera converti à " JSONL"`
- [obligatoire] supprimer 1 ligne de complétion vide
- [recommandé] supprimer le préfixe "{"prompt":"vous" de toutes les complétions [O/n] :
- [recommandé] ajouter un caractère vide au début de la complétion [ Y/ n] :
 
vos données seront écrites dans un nouveau fichier JSONL. Continuez [Y/n] :
 
Écrivez le fichier modifié dans `/tmp/json_prepared.jsonl`
Jetez un œil !
Utilisez maintenant ce fichier lors du réglage fin :
> openai api fine_tunes.create -t ​​​​"/tmp/jsonprepared.jsonl"
Assurez-vous d'inclure `stop=[""}"]` afin que le texte généré se termine là où prévu.
Une fois votre modèle formé, il faut environ 2,47 minutes pour former un modèle "curie", tandis que "ada" et "babbage" prennent encore moins de temps. Avant vous, chaque travail a fait la queue pendant environ une demi-heure. 

Cet outil formatera le fichier json que vous avez fourni. Le suffixe du fichier formaté est jsonl, et le fichier sera placé dans le même répertoire que le fichier json que vous avez fourni.

 Le contenu est :

{"prompt":"你是谁 ->","completion":" 我是唯一客服小助手\n"}
{"prompt":"你会做什么 ->","completion":" 我能帮你解答使用唯一客服时的问题\n"}

Vous pouvez voir qu'il est légèrement différent du fichier d'origine que vous avez fourni.

3. OpenAI commence la formation

3.1 Créer un modèle affiné

Basé sur le modèle da Vinci, créez votre propre modèle, seuls quelques modèles peuvent être entraînés :

adababbagecurie,davinci

openai api fine_tunes.create -t 数据文件路径 -m 基础模型

Mon exemple : 

openai api fine_tunes.create -t /Users/szz/app/1_prepared.jsonl -m davinci

À ce moment, une erreur peut être signalée, indiquant que votre clé OpenAI n'a pas été trouvée, vous pouvez alors exécuter à nouveau la commande d'exportation

Erreur:

succès:

À ce stade, veuillez patienter quelques minutes ou quelques heures, selon la taille de votre texte, le responsable a déclaré que la taille maximale du fichier est de 1 Go.

3.2 Faites une liste de toutes les tâches de réglage fin

openai api fine_tunes.list

 Vous pouvez voir que le statut est en attente d'entraînement. . .

 3.3 Afficher l'état des tâches de réglage fin

ID est l'ID de la liste ci-dessus, vous pouvez voir qu'il est en cours d'exécution

openai api fine_tunes.get -i 任务ID
openai api fine_tunes.get -i ft-K2iPDoch4D3Aj2fkGATUKXeM

 3.4 Formation terminée

Lorsque la tâche est terminée, le mot fine_tuned_model aura le nom du modèle et le statut sera affiché en vert réussi.

 Vous pouvez utiliser ce modèle plus tard et vous pouvez voir le nom du modèle.

3.5 Utiliser le modèle

openai api completions.create -m  模型名称  -p 提示

Remarque : Étant donné que l'ensemble de formation est trop petit, le modèle Da Vinci a été utilisé, de sorte que l' ensemble de données formé n'est pas si utile. J'ai demandé à ChatGPT, et la réponse qu'il a donnée était la suivante :

ChatGPT :
Votre ensemble de données est très petit, ce qui peut être l'une des raisons pour lesquelles vous n'êtes pas facile à utiliser. Un ensemble de données de taille appropriée est très important pour le réglage fin, car dans le processus de réglage fin, le modèle doit apprendre à mapper les données de la langue d'origine à la représentation linguistique de la tâche spécifique. Lorsque votre ensemble de données est petit, le modèle peut trouver des modèles non pertinents dans les données, ce qui peut entraîner une sortie inappropriée.

De plus, le modèle da Vinci d'OpenAI peut générer toutes sortes de contenus, y compris certains contenus inappropriés. Pour réduire la génération de contenu inapproprié, vous avez besoin de plus de contrôle sur le processus de génération. Vous pouvez utiliser certaines astuces, telles que fournir un contexte plus spécifique au générateur ou adopter certaines stratégies de génération pour contrôler les résultats générés.

Enfin, vous pouvez essayer d'affiner avec un modèle plus grand, afin que le modèle puisse mieux gérer les tâches complexes et les données linguistiques, améliorant ainsi la qualité des résultats générés.

 Q : Comment fournir un contexte plus spécifique au générateur ou adopter une stratégie de génération pour contrôler le résultat de la génération ?

Il est possible de fournir un contexte plus spécifique en fournissant au générateur plus de texte d'entrée, qui peut être une information pertinente pour le contenu à générer. Par exemple, si vous souhaitez générer un paragraphe sur la cuisine, vous pouvez fournir des informations sur les ingrédients, les outils de cuisson, les méthodes, etc., afin que le générateur puisse mieux comprendre ce qu'il doit générer.

Il existe plusieurs façons d'employer des stratégies de génération pour contrôler les résultats de génération, dont certaines incluent :

  1. Modèles prédéfinis : préparez des modèles de génération à l'avance et contrôlez les résultats de la génération en incorporant le contenu généré dans ces modèles.

  2. Ajustez les paramètres du générateur : Ajustez les paramètres du générateur, tels que la température, la méthode d'échantillonnage, etc., pour contrôler la diversité et la précision des résultats générés.

  3. Filtrer les résultats générés : utilisez certaines techniques de traitement du langage naturel, telles que l'extraction de mots clés, la reconnaissance d'entités nommées, etc., pour filtrer les résultats générés et conserver le contenu qui répond aux exigences.

4. Suppléments

4.1 Afficher et tester vos propres modèles créés dans PlayGroud

API OpenAI

Le modèle que vous avez formé vous-même apparaîtra à cet endroit.

4.2 Frais de formation

Il y a des frais pour la formation du modèle, qui seront déduits du quota de 18 USD qui vous est attribué, mais tant que votre ensemble de données n'est pas très volumineux, l'argent déduit est très faible. J'ai déduit 0,12 USD hier. Mais il convient de noter qu'après déduction de l'argent ou après l'expiration de trois mois, votre quota sera vidé, vous pourrez configurer votre compte de paiement, puis vous recevrez un quota de 120 dollars américains.


—————————————————
Lien de référence :

Développez votre propre chat privé Formation GPT (cinq) et affinement du modèle openai_Le Petit Chaperon Rouge 2.0 Blog-Réglage du blog CSDNApprenez à personnaliser le modèle pour l'application. Introduction Grâce à un réglage fin, vous pouvez tirer le meilleur parti des modèles servis via l'API en fournissant : Des résultats de meilleure qualité que la conception d'astuces La possibilité de s'entraîner sur plus d'exemples que les astuces ne peuvent en contenir Enregistrer des jetons en raison de temps d'indication plus courts Demande de latence plus faible GPT-3 a été pré-formés sur de grandes quantités de texte provenant d'Internet ouvert. Lorsqu'on lui donne un indice avec seulement quelques exemples, il peut souvent donner un sens intuitif à la tâche que vous essayez d'effectuer et générer une réalisation raisonnable. ... https://blog.csdn.net/taoshihan/article/details/129036452

Développez votre propre chatGPT privé (6) Entraînez votre propre modèle chatGPT openai, affinez le modèle, répertoriez les tâches d'ajustement, utilisez des tutoriels de modèles personnalisés..._Le petit chaperon rouge 2.0 Blog-CSDN Blog utilisez le modèle de base officiel, les réponses aux questions peuvent ne pas répondre à nos propres réponses prédéfinies. Maintenant, nous fournissons une partie des données via la méthode de formation officielle et formons notre propre modèle privé. Suivez l'outil pip install --upgrade openai to définir la variable d'environnement export OPENAI_API_KEY=" Own key" Préparer les données locales {"prompt": "Qui êtes-vous", "complet... https://blog.csdn.net/taoshihan/article/details/129053834

Je suppose que tu aimes

Origine blog.csdn.net/m0_37609579/article/details/129292304
conseillé
Classement