Vicuna : un chatbot open source impressionnant GPT-4 avec une qualité ChatGPT de 90 %*
Présentation
L'avancement rapide des grands modèles de langage (LLM) a révolutionné les systèmes de chatbot, ce qui a donné lieu à des résultats sans précédent. niveaux d'intelligence comme le montre ChatGPT d'OpenAI. Cependant, malgré ses performances impressionnantes, les détails de la formation et de l'architecture de ChatGPT restent flous, ce qui entrave la recherche et l'innovation open source dans ce domaine. Inspirés par le projet Meta LLaMA et Stanford Alpaca, nous présentons Vicuna-13B, un chatbot open source soutenu par un ensemble de données amélioré et une infrastructure évolutive et facile à utiliser. En affinant un modèle de base LLaMA sur les conversations partagées par les utilisateurs collectées sur ShareGPT.com, Vicuna-13B a démontré des performances compétitives par rapport à d'autres modèles open source comme Stanford Alpaca. Cet article de blog fournit une évaluation préliminaire des performances de Vicuna-13B et décrit son infrastructure de formation et de service. Nous invitons également la communauté à interagir avec notre démo en ligne pour tester les capacités de ce chatbot.
Quelle est la qualité de Vicuna ?
Après avoir peaufiné Vicuna avec 70 000 conversations ChatGPT partagées par les utilisateurs, nous découvrons que Vicuna devient capable de générer des réponses plus détaillées et bien structurées par rapport à Alpaca (voir exemples ci-dessous), avec une qualité comparable à celle de ChatGPT.
Démo en ligne
Essayez la démo Vicuna-13B ici !
Formation
Vicuna est créé en affinant un modèle de base LLaMA à l'aide d'environ 70 000 conversations partagées par les utilisateurs recueillies sur ShareGPT.com avec des API publiques. Pour garantir la qualité des données, nous reconvertissons le HTML en markdown et filtrons certains échantillons inappropriés ou de mauvaise qualité. De plus, nous divisons les conversations longues en segments plus petits qui correspondent à la longueur maximale du contexte du modèle.
- Conversations à plusieurs tours : nous ajustons la perte d'entraînement pour tenir compte des conversations à plusieurs tours et calculons la perte de réglage uniquement sur la base du Résultat du chatbot.
- Optimisations de la mémoire : pour permettre à Vicuna de comprendre le contexte long, nous étendons la longueur maximale du contexte de 512 chez l'alpaga à 2 048, ce qui augmente considérablement les besoins en mémoire du GPU. Nous résolvons la pression de la mémoire en utilisant des points de contrôle de gradient et une attention flash.
- Réduction des coûts via l'instance ponctuelle : l'ensemble de données 40 x plus grand et la longueur de séquence 4 x pour la formation posent un défi considérable en termes de dépenses de formation. Nous utilisons le spot géré par SkyPilot pour réduire les coûts en tirant parti des instances spot les moins chères avec récupération automatique pour les préemptions et changement de zone automatique. Cette solution réduit considérablement les coûts de formation du modèle 7B d'environ 140 $ et du modèle 13B d'environ 300 $.
Service
Nous construisons un système de service capable de servir plusieurs modèles avec une distribution distribuée. ouvriers. Il prend en charge le plug-in flexible des processeurs GPU des clusters sur site et du cloud. En utilisant un contrôleur tolérant aux pannes et une fonctionnalité Spot gérée dans SkyPilot, ce système de service peut bien fonctionner avec des instances Spot moins chères provenant de plusieurs cloud pour réduire les coûts de service. Il s'agit actuellement d'une implémentation légère et nous travaillons à y intégrer davantage de nos dernières recherches.
Comment évaluer un chatbot ?
L'évaluation des chatbots IA est une tâche difficile, car elle nécessite d'examiner la compréhension, le raisonnement et le langage du langage. et la conscience du contexte. Les chatbots IA devenant de plus en plus avancés, les benchmarks ouverts actuels pourraient ne plus suffire. Par exemple, les chatbots SOTA peuvent répondre efficacement à l’ensemble de données d’évaluation utilisé dans Alpaca de Stanford, auto-instruction, ce qui rend difficile pour les humains de discerner les différences de performances. D'autres limitations incluent la contamination des données de formation/test et le coût potentiellement élevé de la création de nouveaux benchmarks. Pour résoudre ces problèmes, nous proposons un cadre d'évaluation basé sur GPT-4 pour automatiser l'évaluation des performances des chatbots.
Limitations
Nous avons remarqué que, à l'instar d'autres grands modèles de langage, Vicuna présente certaines limites. Par exemple, il n’est pas doué pour les tâches impliquant le raisonnement ou les mathématiques, et il peut avoir des difficultés à s’identifier avec précision ou à garantir l’exactitude factuelle de ses résultats. De plus, il n’a pas été suffisamment optimisé pour garantir la sécurité ou atténuer la toxicité ou les biais potentiels. Pour répondre aux problèmes de sécurité, nous utilisons l'API de modération OpenAI pour filtrer les entrées inappropriées des utilisateurs dans notre démo en ligne. Néanmoins, nous prévoyons que Vicuna puisse servir de point de départ ouvert pour de futures recherches visant à remédier à ces limitations.
Release
Dans notre première version, nous partagerons le code de formation, de diffusion et d'évaluation sur un dépôt GitHub : https://github.com/lm-sys/FastChat. Nous avons également publié les poids du modèle Vicuna-13B. Il n’est pas prévu de publier l’ensemble de données. Rejoignez notre serveur Discord et suivez notre Twitter pour obtenir les dernières mises à jour.
Quelle est la qualité de Vicuna ?
Après avoir peaufiné Vicuna avec 70 000 conversations ChatGPT partagées par les utilisateurs, nous découvrons que Vicuna devient capable de générer des réponses plus détaillées et bien structurées par rapport à Alpaca (voir les exemples ci-dessous). ), avec une qualité comparable à celle de ChatGPT.
Démo en ligne
Essayez la démo Vicuna-13B
ici< /a>!
Présentation
L'évolution rapide des grands modèles de langage (LLM) a révolutionné les systèmes de chatbot, entraînant des niveaux d'intelligence sans précédent, comme le montre ChatGPT d'OpenAI. Cependant, malgré ses performances impressionnantes, les détails de la formation et de l'architecture de ChatGPT restent flous, ce qui entrave la recherche et l'innovation open source dans ce domaine. Inspirés par le projet Meta LLaMA et Stanford Alpaca, nous présentons Vicuna-13B, un chatbot open source soutenu par un ensemble de données amélioré et une infrastructure évolutive et facile à utiliser. En affinant un modèle de base LLaMA sur les conversations partagées par les utilisateurs collectées sur ShareGPT.com, Vicuna-13B a démontré des performances compétitives par rapport à d'autres modèles open source comme Stanford Alpaca. Cet article de blog fournit une évaluation préliminaire des performances de Vicuna-13B et décrit son infrastructure de formation et de service. Nous invitons également la communauté à interagir avec notre démo en ligne pour tester les capacités de ce chatbot.
Formation
Vicuna est créée en affinant un modèle de base LLaMA en utilisant environ 70 000 utilisateurs. conversations partagées recueillies sur ShareGPT.com avec des API publiques. Pour garantir la qualité des données, nous reconvertissons le HTML en markdown et filtrons certains échantillons inappropriés ou de mauvaise qualité. De plus, nous divisons les longues conversations en segments plus petits qui correspondent à la longueur maximale du contexte du modèle.
Service
Nous construisons un système de service capable de servir plusieurs modèles avec des travailleurs distribués. Il prend en charge le plug-in flexible des processeurs GPU des clusters sur site et du cloud. En utilisant un contrôleur tolérant aux pannes et une fonctionnalité Spot gérée dans SkyPilot, ce système de service peut bien fonctionner avec des instances Spot moins chères provenant de plusieurs cloud pour réduire les coûts de service. Il s'agit actuellement d'une implémentation légère et nous travaillons à y intégrer davantage de nos dernières
recherches.
Comment Évaluer un chatbot ?
L'évaluation des chatbots IA est une tâche difficile, car elle nécessite d'examiner la compréhension du langage, le raisonnement et la conscience du contexte. Les chatbots IA devenant de plus en plus avancés, les benchmarks ouverts actuels pourraient ne plus suffire. Par exemple, l'ensemble de données d'évaluation utilisé dans Alpaca de Stanford,
self-instruct, peut être efficacement répondu en Chatbots SOTA, ce qui rend difficile pour les humains de discerner les différences de performances. D'autres limitations incluent la contamination des données de formation/test et le coût potentiellement élevé de la création de nouveaux benchmarks. Pour résoudre ces problèmes, nous proposons un cadre d'évaluation basé sur GPT-4 pour automatiser l'évaluation des performances des chatbots.
Limitations
Nous avons remarqué que, à l'instar d'autres grands modèles de langage, Vicuna a certaines limites. Par exemple, il n’est pas doué pour les tâches impliquant le raisonnement ou les mathématiques, et il peut avoir des difficultés à s’identifier avec précision ou à garantir l’exactitude factuelle de ses résultats. De plus, il n’a pas été suffisamment optimisé pour garantir la sécurité ou atténuer la toxicité ou les biais potentiels. Pour répondre aux problèmes de sécurité, nous utilisons l'API de
modération
OpenAI pour filtrer les entrées inappropriées des utilisateurs dans notre démo en ligne. . Néanmoins, nous prévoyons que Vicuna puisse servir de point de départ ouvert pour de futures recherches visant à remédier à ces limitations.