


Les chercheurs de Google et d'OpenAI parlent de l'IA : les modèles linguistiques travaillent dur pour « conquérir » les mathématiques
Si vous demandez à quoi les ordinateurs sont bons, parmi toutes les réponses, les mathématiques doivent figurer sur la liste. Après une longue période de recherche, d’éminents chercheurs ont obtenu des résultats surprenants en étudiant le développement des ordinateurs dans le calcul mathématique.
Prenons l'année dernière comme exemple. Des chercheurs de l'Université de Californie, Berkeley, OpenAI et Google ont fait de grands progrès dans le développement de modèles de langage. Cependant, jusqu'à présent, les modèles de langage n'ont pas été capables de résoudre certains problèmes mathématiques simples, décrits verbalement, tels que « Alice a cinq balles de plus que Bob, et Bob a deux balles après en avoir donné quatre à Charlie. Demandez à Alice combien de balles elle a. ?" Cela peut être un peu "difficile" pour le modèle de langage de donner la bonne réponse.
"Quand nous disons que les ordinateurs sont très bons en mathématiques, nous voulons dire qu'ils sont très bons dans des choses spécifiques et spécifiques", a déclaré Guy Gur-Ari, expert en apprentissage automatique chez Google. Il est vrai que les ordinateurs sont bons en arithmétique, mais en dehors de modes spécifiques, les ordinateurs sont impuissants et ne peuvent pas répondre à de simples questions de description de texte.
Ethan Dyer, chercheur chez Google, a dit un jour : Les personnes qui font des recherches en mathématiques ont un système de raisonnement rigide et il existe un écart évident entre ce qu’ils savent et ce qu’ils ne comprennent pas.
Résoudre des problèmes de mots ou des problèmes de raisonnement quantitatif est délicat car contrairement à d'autres problèmes, les deux nécessitent de la robustesse et de la rigueur. Si quelque chose ne va pas à n’importe quelle étape du processus, cela conduira à une mauvaise réponse. DALL·E est impressionnant en dessin, même si les images qu'il génère sont parfois bizarres, avec des doigts manquants et des yeux bizarres... Nous pouvons tous l'accepter, mais il fait des erreurs en mathématiques, et notre tolérance sera très faible. Vineet Kosaraju, un expert en apprentissage automatique d'OpenAI, a également exprimé cette idée : "Notre tolérance aux erreurs mathématiques commises par les modèles de langage (comme la mauvaise compréhension de 10 comme 1 et 0 au lieu de 10) est encore relativement faible." Nous étudions les mathématiques simplement parce que nous les trouvons indépendantes et très intéressantes", a déclaré Karl Cobbe, expert en apprentissage automatique chez OpenAI.
À mesure que les modèles d'apprentissage automatique sont formés sur des échantillons de données plus volumineux, ils deviennent plus robustes et commettent moins d'erreurs. Mais la mise à l’échelle des modèles ne semble possible que grâce à un raisonnement quantitatif. Les chercheurs ont réalisé que les erreurs commises par les modèles linguistiques semblaient nécessiter une approche plus ciblée.
L'année dernière, deux équipes de recherche de l'Université de Californie à Berkeley et OpenAI ont publié respectivement les ensembles de données MATH et GSM8K. Ces deux ensembles de données contiennent des milliers de problèmes mathématiques tels que la géométrie, l'algèbre et les mathématiques élémentaires. "Nous voulions voir s'il s'agissait d'un problème avec l'ensemble de données", a déclaré Steven Basart, chercheur au Center for AI Safety qui travaille dans le domaine des mathématiques. On sait que les modèles linguistiques ne sont pas efficaces pour résoudre les problèmes de mots. Dans quelle mesure ce problème peut-il être résolu en introduisant des ensembles de données mieux formatés et plus volumineux ?
Sur l'ensemble de données MATH, le modèle de langage le plus performant a atteint une précision de 7 %, contre une précision de 40 % pour les étudiants diplômés humains et une précision de 90 % pour les champions olympiques. Sur l'ensemble de données GSM8K (problème au niveau de l'école primaire), le modèle a atteint une précision de 20 %. Dans l'expérience, OpenAI a utilisé deux techniques, le réglage fin et la vérification, et les résultats ont montré que le modèle peut voir de nombreux exemples de ses propres erreurs, ce qui constitue une découverte précieuse.
À cette époque, le modèle d'OpenAI devait être entraîné sur 100 fois plus de données pour atteindre une précision de 80 % sur GSM8K. Mais en juin de cette année, Google a publié Minerva, qui a atteint une précision de 78 %. Ce résultat a dépassé les attentes et les chercheurs ont déclaré qu'il était arrivé plus rapidement que prévu.
Adresse papier : https://arxiv.org/pdf/2206.14858.pdf
Minerva est basé sur le modèle de langage Pathways (PaLM) auto-développé par Google et contient davantage d'ensembles de données mathématiques, notamment arXiv, LaTeX et d'autres formats mathématiques. Une autre stratégie utilisée par Minerva est l'incitation à la chaîne de pensée, dans laquelle Minerva divise les problèmes plus importants en morceaux plus petits. De plus, Minerva utilise le vote majoritaire, où au lieu de demander au modèle de proposer une réponse, il lui demande de proposer 100 réponses. Parmi ces réponses, Minerva choisit la plus courante. Les gains de ces nouvelles stratégies sont énormes, Minerva atteignant 50 % de précision en MATH et près de 10 % de précision en GSM8K et MMLU (un ensemble plus général de problèmes STEM incluant la chimie et la biologie) 80 %. Lorsqu'on a demandé à Minerva de refaire des problèmes légèrement modifiés, elle a tout aussi bien fonctionné, montrant que ses capacités ne viennent pas uniquement de la mémoire. Minerva peut avoir des raisonnements étranges et déroutants et néanmoins trouver la bonne réponse. Même si des modèles comme Minerva peuvent parvenir aux mêmes réponses que les humains, le processus réel qu’ils suivent peut être très différent. Ethan Dyer, expert en apprentissage automatique chez Google, a déclaré : "Je pense qu'il existe cette idée selon laquelle les personnes impliquées dans les mathématiques ont un système de raisonnement rigoureux, et il y a une différence claire entre savoir quelque chose et ne pas savoir quelque chose. Mais les réponses données le sont." incohérents, des erreurs sont commises et les concepts fondamentaux ne sont pas appliqués. À la frontière du machine learning, les frontières sont floues.
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)

Sujets chauds

Le Array Char stocke des séquences de caractères en C et est déclaré Char Array_name [Taille]. L'élément d'accès est passé par l'opérateur d'indice, et l'élément se termine par le terminateur nul «\ 0», qui représente le point final de la chaîne. Le langage C fournit une variété de fonctions de manipulation de cordes, telles que strlen (), strcpy (), strcat () et strcmp ().

Une stratégie pour éviter les erreurs causées par défaut dans les instructions de commutateur C: utilisez des énumérations au lieu des constantes, limitant la valeur de l'instruction de cas à un membre valide de l'énumération. Utilisez Fallthrough dans la dernière instruction de cas pour permettre au programme de continuer à exécuter le code suivant. Pour les instructions de commutation sans tomber, ajoutez toujours une instruction par défaut pour la gestion des erreurs ou fournissez un comportement par défaut.

Il n'y a pas de fonction de somme intégrée dans le langage C, il doit donc être écrit par vous-même. La somme peut être obtenue en traversant le tableau et en accumulant des éléments: Version de boucle: la somme est calculée à l'aide de la longueur de boucle et du tableau. Version du pointeur: Utilisez des pointeurs pour pointer des éléments de tableau, et un résumé efficace est réalisé grâce à des pointeurs d'auto-incitation. Allouer dynamiquement la version du tableau: allouer dynamiquement les tableaux et gérer la mémoire vous-même, en veillant à ce que la mémoire allouée soit libérée pour empêcher les fuites de mémoire.

Dans le langage C, vous pouvez utiliser !! X, mais il n'utilise que deux conversions booléennes, et il est plus concis et efficace pour utiliser x directement.

L'instruction par défaut est cruciale dans l'instruction de cas de commutateur car elle fournit un chemin de traitement par défaut qui garantit qu'un bloc de code est exécuté lorsque la valeur de variable ne correspond à aucune instruction de cas. Cela empêche un comportement ou des erreurs inattendu et améliore la robustesse du code.

Le mot-clé statique affecte la portée et le cycle de vie de l'identifiant: variable globale: limitée au fichier source, uniquement visible dans le fichier actuel, en évitant les conflits de dénomination. Fonction: limité au fichier source, il n'est visible que dans le fichier actuel, masquant les détails de l'implémentation et améliorant l'encapsulation. Variables locales: Le cycle de vie est étendu à l'ensemble du programme, conservant les valeurs entre les appels de fonction et peut être utilisé pour enregistrer les états, mais prêter attention aux risques de gestion de la mémoire.

Le mot-clé externe est utilisé dans le langage C pour déclarer des variables et des fonctions externes. Il indique au compilateur que la variable ou la fonction est définie ailleurs, demandant au compilateur de rechercher sa définition pendant l'étape de liaison. Lorsque Extern déclare les variables externes, l'espace mémoire n'est pas alloué et sa définition est effectuée dans d'autres fichiers; Lorsque Extern déclare les fonctions externes, elle n'inclut pas les implémentations de fonctions et son implémentation est également effectuée dans d'autres fichiers. L'utilisation de mots clés externes est généralement combinée avec des fichiers d'en-tête, ce qui est propice à la gestion du code et évite les déclarations répétées. Il est très important de comprendre la gestion par Extern des conflits de compilation et de dénomination multi-fichiers, et il joue un rôle clé dans le processus de liaison.

Le non-opérateur logique (!) A la priorité à côté des parenthèses, ce qui signifie que dans les expressions, il précédera la plupart des autres opérateurs. Comprendre la priorité nécessite non seulement une mémorisation par cœur, mais plus important encore, la compréhension de la logique et des pièges potentiels derrière lui pour éviter les erreurs indétectables dans les expressions complexes. L'ajout de supports peut clarifier l'intention d'expression, améliorer la clarté du code et la maintenabilité et empêcher un comportement inattendu.
