


Dix réflexions sur la conception d'applications à grand modèle
La technologie n'est pas toute-puissante, mais sans technologie, cela peut être absolument impossible, et il en va de même pour les grands modèles. La conception d'applications basées sur de grands modèles doit se concentrer sur le problème à résoudre. Dans le domaine du traitement du langage naturel, le grand modèle lui-même unifie dans une certaine mesure diverses tâches PNL dans un modèle séquence à séquence. En utilisant de grands modèles, nous résolvons des problèmes spécifiques de production et de vie, et la conception de produits et technique reste indispensable.
Donc, si les grands modèles réinventent l'avenir du génie logiciel, y a-t-il quelques principes de base que nous devrions suivre ?
1. Modèle d'abord, itération continue
Si le modèle peut terminer la tâche, il n'est pas nécessaire d'écrire du code ; le modèle continuera à évoluer, mais le code ne le fera pas
À l'ère d'aujourd'hui, la valeur de Les modèles deviennent de plus en plus présents. Différentes des méthodes de programmation traditionnelles, les idées de développement actuelles sont plus enclines à « modéliser d'abord ». Cela signifie que lorsque nous sommes confrontés à un problème ou à une tâche, nous nous demandons d’abord si nous pouvons exploiter les modèles existants pour le résoudre, plutôt que de commencer immédiatement à écrire du code. Le code étant fixe, le modèle dispose d’une énorme marge de développement. Au fil du temps, les modèles ont de fortes capacités d’apprentissage et d’adaptabilité, et peuvent s’auto-optimiser et s’améliorer grâce à des itérations continues. Par conséquent, notre première priorité est d’exploiter le potentiel du modèle et d’en faire un outil pour résoudre les problèmes.
L’objectif de l’ensemble du système est de tirer parti de la capacité de LLM à planifier et à comprendre les intentions pour construire des projets efficaces. En cours de route, nous pourrions être tentés de retomber dans cet état d’esprit impératif et d’écrire du code pour chaque détail de notre programme. Cependant, nous devons résister à cette tentation, dans la mesure où nous pouvons faire en sorte que le modèle fasse quelque chose de manière fiable maintenant, il deviendra meilleur et plus robuste à mesure que le modèle évolue
2 Faites un compromis sur la précision, utilisez les interactions -hors levier pour la précision, utilisez l'interaction pour atténuer l'ambiguïté. L'état d'esprit correct lors du codage avec LLM n'est pas "voyons ce que nous pouvons faire faire à l'ours dansant" mais d'obtenir autant de levier que possible du système. Par exemple, des modèles très généraux tels que « Créer un rapport à partir d'une base de données » ou « Enseigner une année de sujets » peuvent être créés et paramétrés avec des invites en texte brut, produisant facilement des résultats très précieux et différenciés.
Dans le but de maintenir une grande précision, nous devons peser sa relation avec d'autres facteurs. Pour atteindre cet équilibre, nous pouvons adopter une approche interactive afin d’éliminer d’éventuelles ambiguïtés et malentendus. Cette stratégie améliore non seulement la précision, mais augmente également la flexibilité et l'efficacité opérationnelles
Dans le processus de codage avec LLM, l'état d'esprit clé devrait être de réfléchir à la manière de tirer le meilleur parti du système, plutôt que de « l'essayer et l'essayer ». « Que peut-on faire ». Cela signifie que nous ne devons pas nous contenter de la simple implémentation de fonctions, mais que nous devons explorer en profondeur le potentiel du système et le laisser créer une plus grande valeur pour nous.
Dans les applications réelles, nous pouvons créer des modèles communs. Par exemple, un mode tel que « Générer un rapport à partir de la base de données » est hautement adaptable et peut ajuster les paramètres via de simples invites textuelles pour répondre à divers besoins. Un autre exemple est le modèle de « cours d'enseignement approfondi d'un an », qui intègre une multitude de ressources pédagogiques et peut également être facilement ajusté grâce à des méthodes interactives pour répondre à des besoins pédagogiques personnalisés.
Grâce à l'application de ces modèles communs, l'efficacité du travail est non seulement améliorée, mais des résultats précieux et distinctifs peuvent également être facilement produits. Cette stratégie de précision de pesée et de désambiguïsation des interactions est sans aucun doute une façon de penser importante dans la conception d’applications de grands modèles.
3 Le code est pour la syntaxe et les procédures, les modèles sont pour la sémantique et l'intention
Dans le domaine de la programmation moderne, la division du travail entre le code et les modèles devient de plus en plus claire. En termes simples, le code est principalement responsable de la mise en œuvre de la syntaxe et des procédures, tandis que les modèles se concentrent sur la génération et l'interprétation de la sémantique et de l'intention. Dans les applications pratiques, cette division du travail a de nombreuses expressions, mais l'idée de base est la même : le code est utilisé pour exécuter des instructions et des processus spécifiques, tandis que les modèles sont utilisés pour raisonner, générer et comprendre le sens profond et les objectifs du langage
Fondamentalement, cela dit, les modèles sont excellents pour raisonner sur le sens et le but d'un langage, mais ils sont souvent moins performants que le code lorsqu'on leur demande d'effectuer des calculs et des processus spécifiques. Par exemple, un modèle de haut niveau peut être facile à coder pour résoudre le Sudoku, mais il peut être relativement difficile de résoudre le Sudoku lui-même.
Chaque code a ses avantages uniques, la clé est de choisir l'outil qui convient le mieux au problème spécifique. La frontière entre syntaxe et sémantique constitue un défi majeur dans la conception d’applications de modèles à grande échelle. Dans ce contexte, nous devons avoir une compréhension plus approfondie des forces et faiblesses respectives du code et des modèles afin de les utiliser plus efficacement pour résoudre les problèmes
4 Évitez la fragilité et abandonnez le codage en dur
lors de la construction d'un système , il ne faut pas ignorer que la force globale d’un système est souvent déterminée par sa partie la plus vulnérable. Ce point de vue s'applique non seulement aux systèmes logiciels traditionnels, mais également aux applications basées sur de grands modèles. Lorsque l'on recherche la flexibilité et l'efficacité du système, le codage en dur doit être évité autant que possible. Le codage en dur fait référence à l'écriture de valeurs ou d'une logique spécifique directement dans le code sans tenir compte d'éventuelles modifications ou extensions futures. Même si cette approche peut être pratique à court terme, elle peut conduire à long terme à un code rigide et difficile à maintenir. Par conséquent, nous devons prêter attention à l'ajout de raisonnement et de flexibilité lors de l'écriture de codes et d'algorithmes.
Lors de la conception d'invites et d'interactions, nous devons essayer d'inclure suffisamment d'informations et de logique pour que le système puisse prendre des décisions et raisonner de manière autonome, plutôt que de simplement exécuter. commandes prédéfinies. De cette façon, non seulement l’utilisation du codage en dur peut être réduite, mais les capacités du LLM peuvent également être mieux utilisées, rendant le système plus intelligent et plus flexible.
5 La qualité des données passe avant tout, et l'application du LLM est étroitement liée aux données de haute qualité
Les grands modèles présentent des capacités extraordinaires, tout comme les individus « bien éduqués », mais dans les applications pratiques, il leur manque encore certaines Contexte et initiatives
En termes simples, si vous posez une question simple ou ouverte à ces modèles, ils vous donneront une réponse simple ou générale. De telles réponses peuvent manquer de profondeur ou de détails et ne pas satisfaire tous les besoins. Si vous souhaitez obtenir des réponses plus détaillées et approfondies, la manière et la stratégie de poser des questions doivent être plus intelligentes.
Il s'agit en fait d'une manifestation du principe « Garbage in, Garbage out » à l'ère de l'intelligence artificielle. Quelle que soit l’évolution de la technologie, la qualité des données entrantes reste cruciale. Si les données d’entrée sont ambiguës, inexactes ou incomplètes, les réponses fournies par le modèle le seront probablement également.
Afin de garantir que le modèle LLM puisse donner des réponses approfondies et de haute qualité, il est nécessaire de garantir que les données d'entrée sont exactes, détaillées et riches en contexte. Cela signifie également que la qualité des données reste primordiale. Ce n'est qu'en prêtant attention et en garantissant la qualité des données que nous pouvons espérer obtenir des informations vraiment précieuses et approfondies à partir de ces modèles avancés
6 Traiter l'incertitude comme une anomalie
Chaque fois que le modèle rencontre une situation incertaine, nous ne pouvons pas être simplement ignoré ou recevoir une réponse vague. Nous devrions plutôt nous appuyer sur les intentions d’interaction avec les utilisateurs pour clarifier cette incertitude.
En programmation, lorsqu'il y a une incertitude dans un ensemble d'invites imbriquées - par exemple, le résultat d'une invite peut avoir plusieurs interprétations, nous devons adopter une stratégie similaire au "lancement d'exceptions". Cela signifie que cette incertitude doit être transmise aux niveaux supérieurs de la pile jusqu'à ce que vous atteigniez un niveau où vous pouvez interagir avec l'utilisateur ou clarifier l'incertitude.
Grâce à de telles stratégies de conception, les programmes peuvent réagir de manière appropriée face à l'incertitude, fournissant ainsi des résultats plus précis et plus fiables
7 Le texte en tant que protocole universel
Le texte est devenu un protocole omniprésent, principalement grâce à l'excellente qualité de LLM capacité à analyser le langage naturel, l’intention et la sémantique. Par conséquent, le texte est devenu le format préféré pour transmettre des instructions entre les invites, les modules et les services basés sur LLM
Bien que le langage naturel puisse être légèrement imprécis dans certains scénarios d'application, par rapport à d'autres langages structurés tels que XML), ce qui a l'avantage d'être concis, intuitif et facile à comprendre pour les humains. Bien entendu, pour les tâches qui nécessitent un haut degré de précision et de structure, le langage structuré peut toujours être utilisé pour une petite aide. Mais dans la plupart des scénarios, le langage naturel fonctionne assez bien pour transmettre des instructions et des intentions.
Il convient de mentionner qu'avec la vulgarisation et l'avancement de ces technologies basées sur le LLM, le texte, en tant que méthode d'interaction naturelle « à l'épreuve du temps », favorisera davantage l'interopérabilité et la compréhension entre différents systèmes et différentes invites. Si deux services LLM complètement différents peuvent tous deux comprendre et répondre aux mêmes instructions textuelles, alors la collaboration et l'interaction entre eux deviendront aussi naturelles et fluides que la communication entre humains
Le but de la réécriture du contenu n'est pas de changer le sens original, mais de réécrire la langue en chinois
8 Problèmes complexes, opérations de décomposition
Face à un problème complexe, ce n'est pas seulement un défi pour personnes, il en va de même pour les grands modèles. Dans les applications pratiques, si nous utilisons directement les invites de problèmes complexes dans le cadre du programme, nous pouvons rencontrer des problèmes, car tout ce dont nous avons réellement besoin est le résultat de l'inférence
Pour résoudre ce problème, une méthode efficace consiste à utiliser "élément" "indice. Cette invite pose non seulement une question, mais fournit également une réponse détaillée, puis demande au modèle d'en extraire des informations clés. Cette approche fonctionne bien car elle transforme une tâche cognitive complexe en une tâche relativement simple. Imaginez que si vous confiez à une personne la tâche de « lire cet article et trouver la réponse », même si l'utilisateur n'a aucune expertise dans le domaine concerné, il est très probable qu'il accomplisse cette tâche, car le pouvoir du langage naturel est énorme.
Il y a certaines choses auxquelles il faut prêter attention lors de la conception d'applications basées sur de grands modèles. Les choses que les gens ordinaires trouvent difficiles peuvent l’être tout autant dans les modèles. Face à cette situation, la meilleure stratégie consiste à décomposer un problème ou une tâche complexe en étapes plus simples. Cela peut réduire la difficulté du traitement et améliorer la stabilité et l'exactitude des réponses
9. Là où il y a un contrôle, il y a un modèle
Le modèle n'est pas seulement un outil, il peut aussi être une arme pour nous. lutter contre nos propres erreurs. Bien souvent, nous avons tendance à imaginer le fonctionnement du LLM (Large Language Model) comme le processus interne d'un « cerveau ». Cependant, il est important de reconnaître que malgré certaines similitudes entre les modèles et la pensée humaine, il existe de nombreuses différences significatives entre les deux.
Une fonctionnalité est particulièrement importante : les modèles manquent souvent de mémoire persistante lors des interactions à court terme. Cela signifie qu’il est peu probable que le modèle se souvienne de tous les détails d’une minute d’interaction à l’autre. Cette fonctionnalité nous offre la possibilité d'un certain contrôle.
Ce contrôle ne se limite pas à la révision du code. En fait, le modèle peut également servir de moniteur de sécurité pour garantir le fonctionnement sûr du code ; il peut également être utilisé comme élément de la stratégie de test pour nous aider à formuler des plans de test plus efficaces ; un filtre de contenu pour nous aider à générer du contenu de qualité de haute qualité
Par conséquent, tant que nous contrôlons et guidons le modèle de manière appropriée, il peut devenir un puissant « assistant » dans notre travail. La base de ce contrôle repose sur notre compréhension et notre maîtrise approfondies des mécanismes internes et des caractéristiques du modèle.
10. Identifiez les limites et ne pensez pas que les grands modèles sont omnipotents
Les capacités des grands modèles de langage sont vraiment étonnantes. Ils peuvent traiter et analyser de grandes quantités de données textuelles, générer un texte logique et cohérent, et même surpasser. performance humaine dans ces tâches. Cependant, cela ne signifie pas que nous devons aveuglément vénérer ces grands modèles et penser qu’ils peuvent tout faire.
Les grands modèles présentent en réalité encore de nombreuses limitations et limitations. Bien qu’ils puissent traiter de grandes quantités de données textuelles, ils ne comprennent pas vraiment les nuances du langage et du contexte comme le font les humains. De plus, leurs performances sont également limitées par la sélection des données d'entraînement et des algorithmes, et certains biais et erreurs peuvent survenir
Par conséquent, nous devons maintenir une attitude rationnelle et prudente lors de l'utilisation de grands modèles, tout en appréciant la commodité qu'ils apportent et les progrès, mais méfiez-vous également de leurs limites et de leurs risques potentiels. De cette manière, ces modèles peuvent être mieux utilisés pour promouvoir le développement sain de grandes applications basées sur des modèles.
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)

Imaginez un modèle d'intelligence artificielle qui non seulement a la capacité de surpasser l'informatique traditionnelle, mais qui permet également d'obtenir des performances plus efficaces à moindre coût. Ce n'est pas de la science-fiction, DeepSeek-V2[1], le modèle MoE open source le plus puissant au monde est ici. DeepSeek-V2 est un puissant mélange de modèle de langage d'experts (MoE) présentant les caractéristiques d'une formation économique et d'une inférence efficace. Il est constitué de 236B paramètres, dont 21B servent à activer chaque marqueur. Par rapport à DeepSeek67B, DeepSeek-V2 offre des performances plus élevées, tout en économisant 42,5 % des coûts de formation, en réduisant le cache KV de 93,3 % et en augmentant le débit de génération maximal à 5,76 fois. DeepSeek est une entreprise explorant l'intelligence artificielle générale

L’IA change effectivement les mathématiques. Récemment, Tao Zhexuan, qui a prêté une attention particulière à cette question, a transmis le dernier numéro du « Bulletin de l'American Mathematical Society » (Bulletin de l'American Mathematical Society). En se concentrant sur le thème « Les machines changeront-elles les mathématiques ? », de nombreux mathématiciens ont exprimé leurs opinions. L'ensemble du processus a été plein d'étincelles, intense et passionnant. L'auteur dispose d'une équipe solide, comprenant Akshay Venkatesh, lauréat de la médaille Fields, le mathématicien chinois Zheng Lejun, l'informaticien de l'Université de New York Ernest Davis et de nombreux autres universitaires bien connus du secteur. Le monde de l’IA a radicalement changé. Vous savez, bon nombre de ces articles ont été soumis il y a un an.

Boston Dynamics Atlas entre officiellement dans l’ère des robots électriques ! Hier, l'Atlas hydraulique s'est retiré "en larmes" de la scène de l'histoire. Aujourd'hui, Boston Dynamics a annoncé que l'Atlas électrique était au travail. Il semble que dans le domaine des robots humanoïdes commerciaux, Boston Dynamics soit déterminé à concurrencer Tesla. Après la sortie de la nouvelle vidéo, elle a déjà été visionnée par plus d’un million de personnes en seulement dix heures. Les personnes âgées partent et de nouveaux rôles apparaissent. C'est une nécessité historique. Il ne fait aucun doute que cette année est l’année explosive des robots humanoïdes. Les internautes ont commenté : Les progrès des robots ont fait ressembler la cérémonie d'ouverture de cette année à des êtres humains, et le degré de liberté est bien plus grand que celui des humains. Mais n'est-ce vraiment pas un film d'horreur ? Au début de la vidéo, Atlas est allongé calmement sur le sol, apparemment sur le dos. Ce qui suit est à couper le souffle

Plus tôt ce mois-ci, des chercheurs du MIT et d'autres institutions ont proposé une alternative très prometteuse au MLP – KAN. KAN surpasse MLP en termes de précision et d’interprétabilité. Et il peut surpasser le MLP fonctionnant avec un plus grand nombre de paramètres avec un très petit nombre de paramètres. Par exemple, les auteurs ont déclaré avoir utilisé KAN pour reproduire les résultats de DeepMind avec un réseau plus petit et un degré d'automatisation plus élevé. Plus précisément, le MLP de DeepMind compte environ 300 000 paramètres, tandis que le KAN n'en compte qu'environ 200. KAN a une base mathématique solide comme MLP est basé sur le théorème d'approximation universelle, tandis que KAN est basé sur le théorème de représentation de Kolmogorov-Arnold. Comme le montre la figure ci-dessous, KAN a

Les performances de JAX, promu par Google, ont dépassé celles de Pytorch et TensorFlow lors de récents tests de référence, se classant au premier rang sur 7 indicateurs. Et le test n’a pas été fait sur le TPU présentant les meilleures performances JAX. Bien que parmi les développeurs, Pytorch soit toujours plus populaire que Tensorflow. Mais à l’avenir, des modèles plus volumineux seront peut-être formés et exécutés sur la base de la plate-forme JAX. Modèles Récemment, l'équipe Keras a comparé trois backends (TensorFlow, JAX, PyTorch) avec l'implémentation native de PyTorch et Keras2 avec TensorFlow. Premièrement, ils sélectionnent un ensemble de

Aujourd'hui, j'aimerais partager un travail de recherche récent de l'Université du Connecticut qui propose une méthode pour aligner les données de séries chronologiques avec de grands modèles de traitement du langage naturel (NLP) sur l'espace latent afin d'améliorer les performances de prévision des séries chronologiques. La clé de cette méthode consiste à utiliser des indices spatiaux latents (invites) pour améliorer la précision des prévisions de séries chronologiques. Titre de l'article : S2IP-LLM : SemanticSpaceInformedPromptLearningwithLLMforTimeSeriesForecasting Adresse de téléchargement : https://arxiv.org/pdf/2403.05798v1.pdf 1. Modèle de fond de problème important

La dernière vidéo du robot Optimus de Tesla est sortie, et il peut déjà fonctionner en usine. À vitesse normale, il trie les batteries (les batteries 4680 de Tesla) comme ceci : Le responsable a également publié à quoi cela ressemble à une vitesse 20 fois supérieure - sur un petit "poste de travail", en sélectionnant et en sélectionnant et en sélectionnant : Cette fois, il est publié L'un des points forts de la vidéo est qu'Optimus réalise ce travail en usine, de manière totalement autonome, sans intervention humaine tout au long du processus. Et du point de vue d'Optimus, il peut également récupérer et placer la batterie tordue, en se concentrant sur la correction automatique des erreurs : concernant la main d'Optimus, le scientifique de NVIDIA Jim Fan a donné une évaluation élevée : la main d'Optimus est l'un des robots à cinq doigts du monde. le plus adroit. Ses mains ne sont pas seulement tactiles

La détection de cibles est un problème relativement mature dans les systèmes de conduite autonome, parmi lesquels la détection des piétons est l'un des premiers algorithmes à être déployés. Des recherches très complètes ont été menées dans la plupart des articles. Cependant, la perception de la distance à l’aide de caméras fisheye pour une vue panoramique est relativement moins étudiée. En raison de la distorsion radiale importante, la représentation standard du cadre de délimitation est difficile à mettre en œuvre dans les caméras fisheye. Pour alléger la description ci-dessus, nous explorons les conceptions étendues de boîtes englobantes, d'ellipses et de polygones généraux dans des représentations polaires/angulaires et définissons une métrique de segmentation d'instance mIOU pour analyser ces représentations. Le modèle fisheyeDetNet proposé avec une forme polygonale surpasse les autres modèles et atteint simultanément 49,5 % de mAP sur l'ensemble de données de la caméra fisheye Valeo pour la conduite autonome.
