Skip to Main Content

Formation de modèles affinés pour le texte

Actuellement, les modèles populaires de génération de texte, tels que LLama et ChatGLM, même dans des tailles relativement petites, sont difficiles à affiner complètement sur les GPU grand public. Par conséquent, ici, nous ne discutons pas de la façon de réaliser un affinage complet des paramètres sur les modèles de texte affinés, nous nous concentrons uniquement sur la façon de réaliser un affinage léger.

Outils de formation 🔧

Dans le domaine des modèles de génération d'image, il est souvent basé sur la diffusion stable et a généralement la même structure de réseau. Différents modèles de génération de texte peuvent provenir de modèles de base différents. Ici, nous utilisons uniquement la fonction de formation de modèle d'affinage de texte-generation-webui pour illustrer comment former des modèles d'affinage.

Actuellement, text-generation-webui prend en charge les modèles populaires suivants, (pour les autres modèles que text-generation-webui ne prend pas en charge, vous pouvez utiliser la méthode d'affinage du modèle correspondant pour former, et le produit doit être au format de modèle lora de peft)

Modèle de baseAffinage
LLaMAPris en charge
OPTPris en charge
GPT-JPris en charge
GPT-NeoXPris en charge
RWKVNon pris en charge
ChatGLMNon pris en charge, veuillez utiliser des outils tiers

Sélection de modèle

Les modèles de la série LLaMA sont actuellement les modèles les plus courants.

Cependant, parce que le corpus utilisé dans la formation est principalement en anglais, le support pour les autres langues est faible.

Pour la langue anglaise, il est recommandé d'utiliser WizardLM-7B-Uncensored ou vicuna-7b-1.1 pour un affinage ultérieur sur vos propres données.

Pour la langue chinoise, il est recommandé d'utiliser Linly-Chinese-LLaMA-7b-hf pour l'affinage.

Pour la langue coréenne, il est recommandé d'utiliser kollama-7b

ModèleLangue
WizardLM-7B-UncensoredAnglais
vicuna-7b-1.1Anglais
Linly-Chinese-LLaMA-7b-hfChinois
kollama-7bCoréen

Préparation des données 📚

Pour les modèles affinés pour le texte, il existe deux types de données :

DonnéesFormatUtilisationQuand utiliserInconvénientsFonction
Corpus de texte purPas besoin de format de données spécial, mettre tout le texte dans un ou plusieurs fichiers txtComplétion de textePar exemple, si vous voulez affiner un modèle d'écriture d'histoire, entrez le début de l'histoire et laissez le modèle remplir le reste du contenuAprès l'affinage, il peut perdre sa capacité d'origine
Données d'instructionsUn format de données spécial est requisDialogue, commandeFaire comprendre au modèle l'intention humaine

Les données d'instructions sont ajustées par l'ensemble de données pour permettre au modèle de mieux comprendre l'intention humaine.

Qu'il s'agisse de données d'instructions ou de corpus de texte pur, il s'agit d'une tâche de complétion de texte.

Pour les données d'instructions, elles peuvent être considérées comme l'entrée du modèle avec des instructions pour compléter le texte restant.

text-generation-webui prend actuellement en charge l'affinage lora pour les deux types de données.

Formation de modèles affinés

  1. Suivez le guide d'installation de text-generation-webui pour installer text-generation-webui.

  2. Démarrez text-generation-webui et sélectionnez l'onglet Modèle depuis l'onglet supérieur.

  3. Sous l'onglet Modèle, entrez le nom du modèle de base correspondant, tel que ehartford/WizardLM-7B-Uncensored, puis cliquez sur télécharger pour télécharger le modèle de base (vous pouvez également télécharger manuellement le modèle et le mettre dans le répertoire models sous le répertoire d'installation de text-generation-webui).

    Untitled

  4. Mettez l'ensemble de données préparé dans le répertoire training/datasets sous le répertoire d'installation de text-generation-webui.

    Untitled

  5. Basculez vers l'onglet Formation de text-generation-webui et sélectionnez les données que vous avez préparées.

    Untitled

    Utilisez les paramètres par défaut pour la formation. Si vous souhaitez augmenter la longueur du contexte, vous pouvez augmenter le paramètre de coupure.

    Après avoir démarré la formation, vous pouvez voir la progression de la formation dans text-generation-webui.

    Untitled

    Attendez que le modèle termine la formation, ce qui prend généralement 1 à 8 heures. La taille des données de formation, les paramètres de formation et les différences de modèle GPU affecteront la vitesse de formation du modèle.

    Le produit pendant le processus de formation est enregistré dans le répertoire lora. Vous pouvez également interrompre la formation en cours de route et utiliser le modèle de point de contrôle existant dans le répertoire lora.

    Untitled

    Créez manuellement un dossier dans le répertoire lora avec le nom du modèle lora que vous souhaitez.

    Untitled

    Copiez le dernier modèle de point de contrôle du dossier vers le répertoire lora.

    Ensuite, sélectionnez le modèle lora dans text-generation-webui pour l'utiliser.

    Pour savoir comment utiliser le modèle, veuillez vous référer à Aperçu du modèle/Utilisation des modèles de texte

Si vous avez encore des doutes sur la façon d'affiner le modèle, nous proposons deux processus de cas d'affinage réel pour votre référence.