D'un côté, je n'apprécie pas la propension d'Andrej Karpathy à inventer constamment de nouveaux concepts, mais de l'autre, je dois admettre que nombre de ses idées sont effectivement précieuses. Par exemple, la définition de Logiciel 1.0/2.0 donnée ici est plutôt bonne : 1) À l'époque du logiciel 1.0, ce qui était facile à automatiser était ce que l'on pouvait explicitement dire à l'ordinateur comment faire. 2) À l'ère du logiciel 2.0, ce qui est facile à automatiser, c'est la capacité de vérifier automatiquement si le résultat est bon ou mauvais. Alors, que signifie l'automatisation dans ce contexte ? 1. Logiciel 1.0 : Automatisation basée sur des règles spécifiées. Depuis quelques décennies, tous les logiciels traditionnels que nous utilisons (tels qu'Excel, Word et les systèmes comptables) sont de la « version 1.0 ». Sa logique de base est « Spécifier ». Vous devez agir comme un superviseur méticuleux, en consignant clairement chaque règle dans le code. Par exemple, lors du développement d'un logiciel de comptabilité, vous devez lui indiquer : « Si le nombre de la colonne A est supérieur à celui de la colonne B, la colonne C s'affichera en rouge. » « À la fin du mois, additionnez tous les nombres de la colonne D et reportez le résultat dans la colonne Z. » En quoi le logiciel 1.0 excelle-t-il ? À automatiser les tâches grâce à des règles fixes et une logique claire. Quel problème le logiciel 1.0 a-t-il résolu ? Il a résolu le problème des tâches répétitives et mécaniques effectuées par les humains, comme celles des dactylographes, des comptables et des teneurs de livres. Dès lors que le processus complet d'une tâche peut être clairement décrit, le logiciel 1.0 peut le prendre en charge. 2. Logiciel 2.0 : Automatisation basée sur des objectifs spécifiés. L'IA est désormais là, et elle a été mise à niveau vers le logiciel 2.0. Sa logique a complètement changé. Nous ne définissons plus de règles, mais fixons des objectifs. Au lieu de dicter à l'IA la marche à suivre à la lettre, comme un superviseur, nous agissons comme un coach, en lui indiquant seulement les critères d'acceptation. Par exemple, lorsqu'on entraîne une IA à jouer aux échecs, on ne lui dit pas : « Quand votre adversaire fait ce coup, vous devez faire celui-ci. » On lui donne seulement un objectif : « Trouver un moyen de gagner la partie. » L'IA se met alors à la recherche du coup gagnant par elle-même. Elle recherche la stratégie optimale grâce à une quantité massive d'auto-apprentissage (c'est-à-dire une descente de gradient). Voici l'idée centrale d'AK : le logiciel 1.0 correspond à l'écriture manuelle des programmes, tandis que le logiciel 2.0 correspond à la recherche et à la génération automatiques de programmes par l'IA. 3. À l'ère du logiciel 1.0, l'accent était mis sur la « spécifiabilité », tandis qu'à l'ère 2.0, l'accent est mis sur la « vérifiabilité ». Si l'on considère que la norme pour les tâches d'automatisation des logiciels 1.0 est la possibilité de spécifier des règles claires, par exemple, si vous souhaitez écrire un robot d'exploration Web automatique, vous n'avez besoin de spécifier que des règles d'exploration et d'analyse claires. Le critère de référence pour les tâches d'automatisation du logiciel 2.0 est la possibilité de vérifier automatiquement les résultats. La « vérifiabilité » fait référence à la capacité de l'IA à effectuer une « pratique délibérée » efficace sur une tâche. AK propose trois conditions clés pour la « vérifiabilité » : 1) Réinitialisable L'IA doit pouvoir redémarrer un nombre illimité de fois. Par exemple, aux échecs, si vous perdez une partie, ce n'est pas grave ; une fois l'échiquier vidé, vous pouvez immédiatement commencer la partie suivante. 2) Haute efficacité L'IA doit s'entraîner à une vitesse bien supérieure à celle des humains. Elle peut « regarder » en une heure des vidéos qu'un humain ne pourrait jamais visionner en une vie entière, et jouer des millions de parties d'échecs par jour. 3) Récompensable C'est le point le plus crucial. Il doit exister un mécanisme de récompense et de sanction automatisé, immédiat et incontestable. L'automatisation est cruciale. Si, à chaque fois qu'une IA accomplit une tâche, un expert humain doit passer beaucoup de temps à l'examiner et à donner une évaluation ambiguë (du type « Hmm, cette idée est acceptable »), alors l'IA ne pourra pas apprendre efficacement. Dans des domaines comme la programmation et les mathématiques, il est facile de remplir les trois conditions ci-dessus, mais il est difficile de les vérifier dans des domaines non standardisés comme l'écriture. Cependant, en matière de logiciels, il est en réalité très difficile pour des systèmes logiciels légèrement plus complexes de répondre à des normes vérifiables. Par exemple, lors de la conception de l'interface utilisateur, j'essaierais d'intégrer la maquette à l'IA en lui fournissant un outil de capture d'écran. L'objectif serait qu'elle prenne des captures d'écran à répétition, les compare à la maquette et identifie les différences à optimiser. Cependant, les capacités actuelles de l'IA ne suffisent pas à corriger ces différences ; on n'obtient donc jamais un résultat optimal, même en prolongeant les calculs. C’est peut-être pour cela que je n’aime pas vraiment les nouveaux concepts inventés par AK ; ils proposent toujours un concept après l’autre, mais ils ne résolvent pas beaucoup de problèmes.
L'illustrax.com/zhengyaojiang/…ie 👍
