Données et modèles de dialogue multi-tours à grande échelle, informatifs et diversifiés
UltraLM • Explorateur de données • Explorateur d'atlas Nomic AI • Publication de données • Processus de construction • Papier
UltraLM est une série de modèles de langage de discussion formés sur UltraChat. Actuellement, nous avons publié la version 13B, qui se classe n°1 parmi les modèles open source et se classe n°4 parmi tous les modèles du classement AlpacaEval (28 juin 2023). UltraLM-13B est basé sur LLaMA-13B et pris en charge par BMTrain dans le processus de formation.
Modèle | Lien | Version |
---|---|---|
UltraLM-13B | Repo Huggingface | v1.0 |
UltraLM-65B | Repo Huggingface | v1.0 |
UltraLM-13B | Repo Huggingface | v2.0 |
UltraRM-13B | Repo Huggingface | v1.0 |
UltraCM-13B | Repo Huggingface | v1.0 |
/UltraLM/recover.sh
pour obtenir les poids finaux du modèle récupéré./UltraLM/chat_cli.sh
par votre chemin et courez pour commencer à discuter ! Remarque : Différents hyperparamètres ou invites système affecteront les sorties. Vous pouvez vous référer aux détails dans /UltraLM/inference_cli.py
pour notre paramètre par défaut.
Nous rapportons trois évaluations dans cette section : Alpaca-Eval de Stanford, Evol-instruct de WizardLM de Microsoft et notre ensemble d'évaluations organisé. Les évaluations des LLM modernes peuvent être biaisées et affectées par de nombreux facteurs. Nous travaillons également activement sur des méthodes d'évaluation plus complètes.
AlpacaEval est un classement spécialement conçu pour évaluer les LLM. Le classement est créé sur la base du taux de victoire par rapport à Text-Davince-003 automatiquement évalué par GPT-4.
Cet ensemble de données est construit avec une stratégie évolutive en réécrivant les instructions à travers plusieurs tours pour obtenir des instructions à différents niveaux de complexité. Le benchmark est développé par le projet WizardLM, un autre excellent modèle de langage de chat !
Nous organisons un ensemble d'évaluation, englobant le Vicuna Benchmark et 300 questions et instructions supplémentaires générées par GPT-4. Les questions/instructions couvrent un large éventail de sujets, notamment le bon sens, la connaissance du monde, les connaissances professionnelles (en particulier la physique et la biologie), les mathématiques et les tâches d'écriture sur différents niveaux de difficulté. Nous utilisons GPT-4 pour l'évaluation. Voici l'ensemble de données.
Exemple A : Question de notoriété publique
Utilisateur : Quel animal est connu comme le meilleur ami de l'homme ?
UltraLM : Il existe de nombreux animaux que les humains apprécient comme animaux de compagnie, mais l'une des réponses les plus remarquables à la question « quel animal est connu comme le meilleur ami de l'homme ? est le chien élevé dans le pays. Les chiens domestiques sont aux côtés des humains depuis des dizaines de milliers d'années, leur apportant une compagnie et une aide fidèles ; garder les personnes et les biens ; et apporter un soutien émotionnel dans tout, des longues journées solitaires aux déploiements militaires. Les chiens existent dans une variété presque ahurissante de races de différentes tailles, avec différents niveaux d'énergie, personnalités et tempéraments, ce qui signifie qu'il existe presque certainement un chiot qui conviendra parfaitement à celui qui en a le plus besoin.
Exemple B : Raisonnement de bon sens
Utilisateur : Qu'est-ce qui pèse le plus : une livre de plumes ou une livre de briques ?
UltraLM : une livre de plumes et une livre de briques pèsent toutes deux exactement une livre. En effet, une livre est une unité de poids, tout comme un pied est une unité de longueur ou une seconde une unité de temps. Nous utilisons la livre (ou une autre unité de poids) pour décrire le poids de différents objets, quelle que soit la composition de cet objet. La réponse à votre question est donc qu’un kilo de plumes et un kilo de briques pèsent le même poids.
Exemple C : Raisonnement
Utilisateur : Si un agriculteur a 17 moutons et que tous meurent sauf 9, combien en reste-t-il ?
UltraLM : Le nombre total de moutons restants est de 9.
Exemple D : Raisonnement
Utilisateur : Si une maison rouge est faite de briques rouges et une maison bleue est faite de briques bleues, de quoi est faite une serre ?
UltraLM : Une serre n'est pas fabriquée à partir de briques vertes, mais plutôt à partir de matériaux tels que le verre ou le plastique qui laissent passer la lumière et créent un environnement contrôlé pour la croissance des plantes. Les serres peuvent être de différentes couleurs, y compris le vert, mais la couleur du bâtiment lui-même n'affecte pas les plantes qui y poussent.
Exemple E : Création
Utilisateur : Écrivez un poème sur l'électromagnétisme.
UltraLM : L'électromagnétisme est une force que nous ne pouvons ignorer,
C'est la raison de beaucoup de choses que nous adorons. Dans un champ magnétique, un fil brillera,
Et les électrons s’aligneront, anciens et nouveaux.
L'électricité et le magnétisme vont de pair,
L’un crée un champ, l’autre possède une marque.
Le champ magnétique peut pousser et tirer,
Sur un fil avec du courant, il réagira pleinement.
L'attraction et la répulsion qu'il apporte,
Sont la raison de beaucoup de choses.
Des moteurs aux générateurs, et bien plus encore,
L'électromagnétisme est à l'origine de ce que cela signifie.
C'est une force qui nous entoure,
De la boussole à l'interrupteur.
Avec sa puissance, il peut faire beaucoup,
D'une simple aiguille à la poussée d'une fusée.
C'est une force que nous ne pouvons pas nier,
Car cela fait partie de nos vies.
L'électromagnétisme est quelque chose à admirer,
Pour sa force et sa puissance, il n'a pas d'égal, c'est sûr.
Exemple F : Création
Utilisateur : Écrivez une courte histoire sur la première seconde de l'univers.
UltraLM : Dans la première seconde de l'univers, les ténèbres régnaient en maître. Il n’y avait ni lumière, ni son, ni forme, ni substance. Rien n’existait encore, mais il y avait une puissance intense, une énergie brute qui attendait d’être libérée. Dans l’infini, la première seconde tenait à sa portée le potentiel de création. Et puis, avec un puissant bruit, un point lumineux brillant a émergé. C'est là que sont nées les particules les plus fondamentales, sous leurs formes encore inconnues, alors qu'elles se heurtaient frénétiquement dans une danse chaotique de la création. Au sein de cette lumière primordiale, chaque force de la nature et chaque composante de la vie étaient agitées, de l'énergie pure à la réalité physique. Les premiers atomes se sont rapidement assemblés et à partir de ceux-ci, des étoiles et des galaxies ont commencé à se former. Leur fusion crée un environnement chaud qui repousse le vide lui-même, façonnant le cosmos par des vagues d'expansion et de refroidissement. Dans cette première cosmique, aucune structure d’expérience, pas même le temps ou l’espace, ne pouvait établir sa règle. Pendant un instant, l’univers entier a existé dans un lien embryonnaire, une singularité cosmique d’où est issue toute existence future. C'était un microcosme forgeant le macrocosme dont il devient finalement une partie, son moment de naissance étant une métaphore des cycles de création qui imprègnent le(s) multivers. À partir de ce point de lumière unique, un univers infini s'est déployé. Pendant des siècles, des éternités et pour toujours, il est resté le clin d’œil le plus fondateur de son voyage incessant dans les profondeurs du Grand Au-delà. La première seconde est le début de tout.
Ce projet vise à construire des données de dialogue open source, à grande échelle et à plusieurs tours, alimentées par des API Turbo pour faciliter la construction de modèles de langage puissants dotés d'une capacité conversationnelle générale. Compte tenu de facteurs tels que la protection de la vie privée, nous n'utilisons pas directement les données disponibles sur Internet comme invites .
Avertissement : bien que le processus de création d'UltraChat n'implique AUCUNE donnée de référence accessible au public, une mise à l'échelle dans une certaine mesure peut néanmoins entraîner un certain chevauchement dans certains critères d'évaluation. Nous tenons à souligner à nouveau que toutes les données sont générées automatiquement (y compris les instructions et les réponses) et que nous n'insérons aucune donnée de référence ouverte. Par exemple, UltraChat a été publié (avril 2023) avant Alpaca Eval (mai 2023). Nous encourageons les utilisateurs à surveiller de près ces phénomènes, tout en réfléchissant activement à la manière de mieux évaluer les LLM.
L'ensemble de données est destiné uniquement à des fins de recherche et d'éducation et ne doit pas être interprété comme reflétant les opinions ou les points de vue des créateurs, propriétaires ou contributeurs de cet ensemble de données. Et il est distribué sous licence MIT.
Explorez les données avant de les télécharger ou utilisez l'explorateur Atlas.
Liens de téléchargement direct :
Chaque ligne du fichier de données téléchargé est un dict json contenant l'identifiant des données et les données de dialogue sous forme de liste. Vous trouverez ci-dessous un exemple de ligne.
{
"id" : " 0 " ,
"data" : [
" How can cross training benefit groups like runners, swimmers, or weightlifters? " ,
" Cross training can benefit groups like runners, swimmers, or weightlifters in the following ways: ... " ,
" That makes sense. I've been wanting to improve my running time, but I never thought about incorporating strength training. Do you have any recommendations for specific exercises? " ,
" Sure, here are some strength training exercises that can benefit runners: ... " ,
" Hmm, I'm not really a fan of weightlifting though. Can I incorporate other forms of exercise into my routine to improve my running time? " ,
" Yes, absolutely! ... " ,
" ... "
]
}
Nous fournissons du code de formation pour affiner LLaMa (cependant nous ne distribuons pas les poids de LLaMa) sur UltraChat en .src/
, la formation est accélérée par BMTrain.
Téléchargez les données publiées et placez-les sous ./data
Exécutez train_bm.py
, par exemple :
WANDB_MODE= " offline " torchrun --nnodes=1 --nproc_per_node=8 --rdzv_id=1 --rdzv_backend=c10d --rdzv_endpoint=localhost:50003 train_bm.py --tensorboard ./ultrachat_llama_tb_2 --save_step 5000 --logging_step 100
Nous fournissons également un script de formation pour affiner GPT-J sur UltraChat dans .src/train_legacy/
, qui est implémenté avec OpenPrompt
./data
accelerate launch train.py
pour commencer la formation L'idée générale d'UltraChat est d'utiliser des LLM distincts pour générer des lignes d'ouverture, simuler des utilisateurs et répondre aux requêtes. Chaque secteur d'UltraChat a ses propres défis et nécessite des conceptions stratégiques particulières. Nous préciserons le processus de construction une fois qu'un secteur d'UltraChat sera publié.
N'hésitez pas à citer le dépôt si vous pensez qu'UltraChat est utile.
@article { ding2023enhancing ,
title = { Enhancing Chat Language Models by Scaling High-quality Instructional Conversations } ,
author = { Ding, Ning and Chen, Yulin and Xu, Bokai and Qin, Yujia and Zheng, Zhi and Hu, Shengding and Liu, Zhiyuan and Sun, Maosong and Zhou, Bowen } ,
journal = { arXiv preprint arXiv:2305.14233 } ,
year = { 2023 }
}