


La fusion de plusieurs grands modèles hétérogènes apporte des résultats étonnants
Avec le succès des grands modèles linguistiques tels que LLaMA et Mistral, de nombreuses entreprises ont commencé à créer leurs propres grands modèles linguistiques. Cependant, former un nouveau modèle à partir de zéro coûte cher et peut comporter des fonctionnalités redondantes.
Récemment, des chercheurs de l'Université Sun Yat-sen et du Tencent AI Lab ont proposé FuseLLM, qui est utilisé pour « fusionner plusieurs grands modèles hétérogènes ».
Différent des méthodes traditionnelles d'intégration de modèles et de fusion de poids, FuseLLM offre une nouvelle façon de fusionner les connaissances de plusieurs grands modèles de langage hétérogènes. Au lieu de déployer plusieurs grands modèles de langage en même temps ou de nécessiter la fusion des résultats du modèle, FuseLLM utilise une méthode légère de formation continue pour transférer les connaissances et les capacités de modèles individuels dans un grand modèle de langage fusionné. Ce qui est unique dans cette approche est sa capacité à utiliser plusieurs grands modèles de langage hétérogènes au moment de l'inférence et à externaliser leurs connaissances dans un modèle fusionné. De cette manière, FuseLLM améliore efficacement les performances et l'efficacité du modèle.
Cet article vient d'être publié sur arXiv et a attiré beaucoup d'attention et de transmission de la part des internautes.
Quelqu'un a pensé que ce serait intéressant de former un modèle sur une autre langue et j'y ai réfléchi.
Actuellement, cet article a été accepté par l'ICLR 2024.
- Titre de l'article : Fusion des connaissances des grands modèles de langage
- Adresse de l'article : https://arxiv.org/abs/2401.10491
- Entrepôt de papier : https://github.com/fanqiwan/FuseLLM
Introduction à la méthode
La clé de FuseLLM est d'explorer la fusion de grands modèles de langage du point de vue de la représentation de la distribution de probabilité pour la même entrée. texte, l'auteur Les représentations générées par différents grands modèles de langage sont censées refléter leurs connaissances intrinsèques dans la compréhension de ces textes. Par conséquent, FuseLLM utilise d'abord plusieurs grands modèles de langage sources pour générer des représentations, externalise leurs connaissances collectives et leurs avantages respectifs, puis intègre les multiples représentations générées pour se compléter, et enfin migre vers le grand modèle de langage cible grâce à une formation continue légère. La figure ci-dessous montre un aperçu de l'approche FuseLLM.
Compte tenu des différences entre les tokeniseurs et les listes de vocabulaire de plusieurs grands modèles de langage hétérogènes, la manière d'aligner les résultats de segmentation de mots est une clé lors de la fusion de plusieurs représentations : FuseLLM est basé sur une correspondance complète au niveau du vocabulaire. l'alignement basé sur la distance d'édition minimale est en outre conçu pour conserver au maximum les informations disponibles dans la représentation.
Afin de combiner la connaissance collective de plusieurs grands modèles de langage tout en conservant leurs avantages respectifs, les stratégies de représentations fusionnées générées par des modèles doivent être soigneusement conçues. Plus précisément, FuseLLM évalue dans quelle mesure différents grands modèles de langage comprennent ce texte en calculant l'entropie croisée entre la représentation générée et le texte de l'étiquette, puis introduit deux fonctions de fusion basées sur l'entropie croisée :
- MinCE : Input Multiple large les modèles génèrent des représentations pour le texte actuel et génèrent la représentation avec la plus petite entropie croisée
- AvgCE : saisissez les représentations générées par plusieurs grands modèles pour le texte actuel et générez une représentation moyenne pondérée basée sur le poids obtenu par croix ; entropie ;
Dans la phase de formation continue, FuseLLM utilise la représentation fusionnée comme cible pour calculer la perte de fusion, tout en conservant également la perte du modèle de langage. La fonction de perte finale est la somme de la perte de fusion et de la perte du modèle de langage.
Résultats expérimentaux
Dans la partie expérimentale, l'auteur considère un scénario de fusion de grands modèles de langage général mais difficile, où les modèles sources ont des points communs mineurs en termes de structure ou de capacités. Plus précisément, il a mené des expériences à l’échelle 7B et sélectionné trois modèles open source représentatifs : Llama-2, OpenLLaMA et MPT comme grands modèles à fusionner.
L'auteur a évalué FuseLLM dans des scénarios tels que le raisonnement général, le raisonnement de bon sens, la génération de code, la génération de texte et le suivi d'instructions, et a constaté qu'il obtenait des améliorations de performances significatives par rapport à tous les modèles sources et aux modèles de base de formation continue.
Raisonnement général et raisonnement de bon sens
Sur le Big-Bench Hard Benchmark qui teste la capacité de raisonnement général, Llama-2 CLM après une formation continue est comparé à Llama-2 à 27 An une amélioration moyenne de 1,86 % a été obtenue sur chaque tâche, tandis que FuseLLM a obtenu une amélioration de 5,16 % par rapport à Llama-2, ce qui est nettement meilleur que Llama-2 CLM, indiquant que FuseLLM peut combiner les avantages de plusieurs grands modèles de langage pour atteindre Amélioration des performances. .
Sur le Common Sense Benchmark, qui teste la capacité de raisonnement de bon sens, FuseLLM a surpassé tous les modèles sources et modèles de base, obtenant les meilleures performances sur toutes les tâches.
Génération de code et génération de texte
Sur le benchmark MultiPL-E qui teste les capacités de génération de code, FuseLLM a surpassé Llama-2 dans 9 tâches sur 10, atteignant une amélioration moyenne des performances de 6,36%. La raison pour laquelle FuseLLM ne dépasse pas MPT et OpenLLaMA peut être due à l'utilisation de Llama-2 comme grand modèle de langage cible, qui a de faibles capacités de génération de code et une faible proportion de données de code dans le corpus de formation continue, représentant seulement environ 7,59%.
Sur plusieurs tests de génération de texte mesurant la réponse aux questions de connaissances (TrivialQA), la compréhension en lecture (DROP), l'analyse de contenu (LAMBADA), la traduction automatique (IWSLT2017) et l'application du théorème (SciBench), FuseLLM dépasse également dans toutes les tâches surpassé toutes les sources. modèles et a surpassé Llama-2 CLM dans 80 % des tâches.
Instruction suivie
Étant donné que FuseLLM n'a besoin que d'extraire les représentations de plusieurs modèles sources pour la fusion, puis d'entraîner en continu le modèle cible, il peut également être utilisé pour affiner de grands modèles de langage avec instructions Fusion. Sur le Vicuna Benchmark, qui évalue la capacité à suivre les instructions, FuseLLM a également atteint d'excellentes performances, surpassant tous les modèles sources et CLM.
FuseLLM vs. Distillation des connaissances, intégration de modèles et fusion de poids
Considérant que la distillation des connaissances est également une méthode permettant d'utiliser la représentation pour améliorer les performances des grands modèles de langage, l'auteur combine FuseLLM et Llama-2 13B distillé Llama-2 KD a été comparé. Les résultats montrent que FuseLLM surpasse la distillation à partir d'un seul modèle 13B en fusionnant trois modèles 7B avec des architectures différentes.
Pour comparer FuseLLM avec les méthodes de fusion existantes (telles que l'ensemble de modèles et la fusion de poids), les auteurs ont simulé un scénario dans lequel plusieurs modèles sources provenaient d'un modèle de base de la même structure, mais étaient continuellement formés sur différents corpus. , et testé la perplexité de diverses méthodes sur différents benchmarks de test. On peut voir que bien que toutes les techniques de fusion puissent combiner les avantages de plusieurs modèles sources, FuseLLM peut atteindre la perplexité moyenne la plus faible, ce qui indique que FuseLLM a le potentiel de combiner la connaissance collective des modèles sources plus efficacement que les méthodes d'ensemble de modèles et de fusion de poids.
Enfin, bien que la communauté s'intéresse actuellement à la fusion de grands modèles, les approches actuelles sont principalement basées sur la fusion de poids et ne peuvent pas être étendues à des scénarios de fusion de modèles de différentes structures et tailles. Bien que FuseLLM ne soit qu'une recherche préliminaire sur la fusion de modèles hétérogènes, étant donné qu'il existe actuellement un grand nombre de grands modèles linguistiques, visuels, audio et multimodaux de structures et de tailles différentes dans la communauté technique, quelle sera la fusion de ces modèles hétérogènes ? éclater dans le futur ? attendons de voir !
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Traiter efficacement 7 millions d'enregistrements et créer des cartes interactives avec la technologie géospatiale. Cet article explore comment traiter efficacement plus de 7 millions d'enregistrements en utilisant Laravel et MySQL et les convertir en visualisations de cartes interactives. Exigences initiales du projet de défi: extraire des informations précieuses en utilisant 7 millions d'enregistrements dans la base de données MySQL. Beaucoup de gens considèrent d'abord les langages de programmation, mais ignorent la base de données elle-même: peut-il répondre aux besoins? La migration des données ou l'ajustement structurel est-il requis? MySQL peut-il résister à une charge de données aussi importante? Analyse préliminaire: les filtres et les propriétés clés doivent être identifiés. Après analyse, il a été constaté que seuls quelques attributs étaient liés à la solution. Nous avons vérifié la faisabilité du filtre et établi certaines restrictions pour optimiser la recherche. Recherche de cartes basée sur la ville

Il existe de nombreuses raisons pour lesquelles la startup MySQL échoue, et elle peut être diagnostiquée en vérifiant le journal des erreurs. Les causes courantes incluent les conflits de port (vérifier l'occupation du port et la configuration de modification), les problèmes d'autorisation (vérifier le service exécutant les autorisations des utilisateurs), les erreurs de fichier de configuration (vérifier les paramètres des paramètres), la corruption du répertoire de données (restaurer les données ou reconstruire l'espace de la table), les problèmes d'espace de la table InNODB (vérifier les fichiers IBDATA1), la défaillance du chargement du plug-in (vérification du journal des erreurs). Lors de la résolution de problèmes, vous devez les analyser en fonction du journal d'erreur, trouver la cause profonde du problème et développer l'habitude de sauvegarder régulièrement les données pour prévenir et résoudre des problèmes.

L'article présente le fonctionnement de la base de données MySQL. Tout d'abord, vous devez installer un client MySQL, tel que MySQLWorkBench ou le client de ligne de commande. 1. Utilisez la commande MySQL-UROot-P pour vous connecter au serveur et connecter avec le mot de passe du compte racine; 2. Utilisez Createdatabase pour créer une base de données et utilisez Sélectionner une base de données; 3. Utilisez CreateTable pour créer une table, définissez des champs et des types de données; 4. Utilisez InsertInto pour insérer des données, remettre en question les données, mettre à jour les données par mise à jour et supprimer les données par Supprimer. Ce n'est qu'en maîtrisant ces étapes, en apprenant à faire face à des problèmes courants et à l'optimisation des performances de la base de données que vous pouvez utiliser efficacement MySQL.

MySQL peut renvoyer les données JSON. La fonction JSON_Extract extrait les valeurs de champ. Pour les requêtes complexes, envisagez d'utiliser la clause pour filtrer les données JSON, mais faites attention à son impact sur les performances. Le support de MySQL pour JSON augmente constamment, et il est recommandé de faire attention aux dernières versions et fonctionnalités.

Ingénieur backend à distance Emploi Vacant Société: Emplacement du cercle: Bureau à distance Type d'emploi: Salaire à temps plein: 130 000 $ - 140 000 $ Description du poste Participez à la recherche et au développement des applications mobiles Circle et des fonctionnalités publiques liées à l'API couvrant l'intégralité du cycle de vie de développement logiciel. Les principales responsabilités complètent indépendamment les travaux de développement basés sur RubyOnRails et collaborent avec l'équipe frontale React / Redux / Relay. Créez les fonctionnalités de base et les améliorations des applications Web et travaillez en étroite collaboration avec les concepteurs et le leadership tout au long du processus de conception fonctionnelle. Promouvoir les processus de développement positifs et hiérarchiser la vitesse d'itération. Nécessite plus de 6 ans de backend d'applications Web complexe

Une explication détaillée des attributs d'acide de base de données Les attributs acides sont un ensemble de règles pour garantir la fiabilité et la cohérence des transactions de base de données. Ils définissent comment les systèmes de bases de données gérent les transactions et garantissent l'intégrité et la précision des données même en cas de plantages système, d'interruptions d'alimentation ou de plusieurs utilisateurs d'accès simultanément. Présentation de l'attribut acide Atomicité: une transaction est considérée comme une unité indivisible. Toute pièce échoue, la transaction entière est reculée et la base de données ne conserve aucune modification. Par exemple, si un transfert bancaire est déduit d'un compte mais pas augmenté à un autre, toute l'opération est révoquée. BeginTransaction; UpdateAccountSsetBalance = Balance-100Wh

Les principales raisons de la défaillance de l'installation de MySQL sont les suivantes: 1. Problèmes d'autorisation, vous devez s'exécuter en tant qu'administrateur ou utiliser la commande sudo; 2. Des dépendances sont manquantes et vous devez installer des packages de développement pertinents; 3. Conflits du port, vous devez fermer le programme qui occupe le port 3306 ou modifier le fichier de configuration; 4. Le package d'installation est corrompu, vous devez télécharger et vérifier l'intégrité; 5. La variable d'environnement est mal configurée et les variables d'environnement doivent être correctement configurées en fonction du système d'exploitation. Résolvez ces problèmes et vérifiez soigneusement chaque étape pour installer avec succès MySQL.

La clé primaire MySQL ne peut pas être vide car la clé principale est un attribut de clé qui identifie de manière unique chaque ligne dans la base de données. Si la clé primaire peut être vide, l'enregistrement ne peut pas être identifié de manière unique, ce qui entraînera une confusion des données. Lorsque vous utilisez des colonnes entières ou des UUIdes auto-incrémentales comme clés principales, vous devez considérer des facteurs tels que l'efficacité et l'occupation de l'espace et choisir une solution appropriée.
