Le logiciel et l'ère de l'IA
21 juin 2025
Artificial Intelligence
Introduction
Veuillez accueillir l'ancien directeur de l'IA chez Tesla, Andrej Karpathy.
Il y a beaucoup de monde ici. Bonjour.
Je suis ravi de vous parler du logiciel et de l'ère de l'IA.
Beaucoup d'entre vous sont des étudiants — licence, master, doctorat — sur le point d'entrer dans l'industrie.
C'est un moment unique et intéressant pour entrer dans l'industrie.
Le logiciel change à nouveau.
L'évolution du logiciel : 1.0, 2.0 et 3.0
Je dis "à nouveau" parce que j'ai déjà donné cette conférence, mais le logiciel ne cesse de changer.
J'ai du contenu pour de nouvelles conférences. Le logiciel n'a pas fondamentalement changé depuis 70 ans.
Il a changé rapidement deux fois au cours des dernières années.
Il y a une quantité énorme de logiciels à écrire et à réécrire.
Regardons la carte du logiciel.
C'est un outil appelé Map of GitHub.
C'est tout le logiciel écrit : des instructions pour l'ordinateur pour des tâches dans l'espace numérique.
Si vous zoomez, ce sont différents types de dépôts et de code.
Il y a quelques années, j'ai observé qu'un nouveau type de logiciel apparaissait.
J'ai appelé cela le Logiciel 2.0. Le Logiciel 1.0 est le code que vous écrivez pour l'ordinateur.
Le Logiciel 2.0 fait référence aux réseaux de neurones, spécifiquement à leurs poids.
Vous ajustez les jeux de données et lancez un optimiseur pour créer les paramètres de ce réseau de neurones.
À l'époque, les réseaux de neurones étaient vus comme un simple classificateur de plus, comme un arbre de décision.
Ce cadrage était plus approprié.
Maintenant, nous avons un équivalent de GitHub pour le Logiciel 2.0.
Hugging Face est l'équivalent de GitHub pour le Logiciel 2.0. Il y a aussi Model Atlas.
Vous pouvez visualiser tout le code qui y est écrit. Le cercle géant...
...et le point au milieu représentent les paramètres de Flux, le générateur d'images.
L'ajustement d'un LoRA sur un modèle Flux crée un commit Git dans cet espace.
Cela crée un générateur d'images différent. Nous avons le Logiciel 1.0...
...le code qui programme un ordinateur, et le Logiciel 2.0, les poids programmant les réseaux de neurones.
Voici un exemple : AlexNet, un réseau de neurones de reconnaissance d'images.
Les réseaux de neurones étaient autrefois des ordinateurs à fonction fixe, comme le passage d'images à des catégories.
Les réseaux de neurones sont devenus programmables avec les grands modèles de langage.
C'est un nouveau type d'ordinateur.
Il vaut la peine de le désigner comme Logiciel 3.0. Vos prompts sont maintenant des programmes pour le LLM.
Chose remarquable, ces prompts sont écrits en anglais, un langage de programmation intéressant.
Pour résumer, pour la classification de sentiments, vous pouvez écrire du Python...
...entraîner un réseau de neurones, ou prompter un grand modèle de langage.
Ce prompt few-shot programme l'ordinateur différemment. Nous avons le Logiciel 1.0, 2.0 et 3.0.
Le code GitHub n'est plus seulement du code ; il devient du Logiciel 3.0.
L'anglais est entremêlé de code, créant un nouveau type de logiciel.
C'est un nouveau paradigme de programmation dans notre langue maternelle, l'anglais.
L'impact sur l'Autopilot de Tesla
Mon tweet épinglé dit que nous programmons maintenant les ordinateurs en anglais. Chez Tesla,
nous travaillions sur l'Autopilot pour faire conduire la voiture.
Les entrées de la voiture passent par une pile logicielle pour produire la direction et l'accélération.
J'ai observé une tonne de code C dans l'Autopilot, ce qui était du code de Logiciel 1.0.
Il y avait des réseaux de neurones effectuant la reconnaissance d'images. À mesure que nous améliorions l'Autopilot,
le réseau de neurones a grandi en capacité et en taille, et le code C++ a été supprimé.
Les fonctionnalités écrites en 1.0 ont été migrées vers le 2.0.
Par exemple, l'assemblage des informations entre les caméras était effectué par un réseau de neurones.
Le Logiciel 2.0 a dévoré la pile logicielle de l'Autopilot.
La même chose se produit à nouveau avec un nouveau type de logiciel.
Il dévore la pile. Nous avons trois paradigmes de programmation.
Si vous entrez dans l'industrie, maîtrisez-les tous ; ils ont des avantages et des inconvénients différents.
Décidez s'il faut entraîner un réseau de neurones, prompter un LLM ou écrire du code explicite.
Nous devons passer avec fluidité d'un paradigme à l'autre.
Les LLM comme services publics et fonderies
Je veux parler des LLM, du nouveau paradigme et de l'écosystème.
À quoi ressemble ce nouvel ordinateur ? J'ai été frappé par la citation d'Andrew Ng :
"L'IA est la nouvelle électricité." Andrew s'exprimera juste après moi.
Les LLM donnent l'impression d'avoir les propriétés de services publics.
Les laboratoires de LLM dépensent des CAPEX pour entraîner des modèles, ce qui équivaut à construire un réseau électrique.
L'OPEX est utilisé pour servir l'intelligence via des API grâce à un accès facturé à l'usage.
Nous exigeons une faible latence, une disponibilité élevée et une qualité constante.
En électricité, vous avez un commutateur de transfert. Pour les LLM, nous basculons entre les fournisseurs.
OpenRouter nous permet de basculer entre les LLM parce qu'ils sont des logiciels.
Ils ne se font pas concurrence pour l'espace physique, vous pouvez donc utiliser plusieurs fournisseurs.
De manière fascinante, nous avons vu cela ces derniers jours.
Plusieurs LLM sont tombés en panne, et les gens étaient incapables de travailler.
Quand les LLM de pointe tombent en panne, c'est une baisse de tension de l'intelligence pour le monde.
La planète devient plus bête à cause de notre dépendance croissante envers ces modèles.
Les LLM ont aussi des propriétés de fonderies.
Le CAPEX requis pour construire des LLM est massif.
L'arbre technologique croît rapidement.
Les secrets de R&D se centralisent à l'intérieur des laboratoires, mais le logiciel est malléable.
Le logiciel est moins défendable parce qu'il est flexible.
Un nœud de gravure est comme un cluster avec un certain nombre maximal de FLOP.
Utiliser des GPU NVIDIA pour le logiciel, c'est comme le modèle sans fonderie.
Construire du matériel comme les TPU de Google, c'est le modèle Intel où l'on possède la fonderie.
Les LLM comme nouveaux systèmes d'exploitation
La meilleure analogie est que les LLM sont des systèmes d'exploitation.
Ils ne sont pas de simples commodités comme l'eau ou l'électricité.
Ce sont des écosystèmes logiciels complexes.
L'écosystème dispose de fournisseurs à code source fermé et d'une alternative en open-source.
Pour les LLM, Llama est actuellement l'approximation la plus proche de Linux.
C'est encore tôt, mais ces systèmes vont devenir beaucoup plus compliqués.
Cela implique l'utilisation d'outils et la multimodalité.
Le LLM est un nouveau genre de système d'exploitation.
Le LLM est le processeur, et la fenêtre de contexte est la mémoire.
Il orchestre la mémoire et le calcul pour la résolution de problèmes.
De ce point de vue, cela ressemble beaucoup à un système d'exploitation.
Vous pouvez télécharger VS Code et l'exécuter sur Windows, Linux ou Mac.
De la même manière, une application LLM comme Cursor peut fonctionner sur GPT, Claude ou Gemini.
Nous sommes dans une phase digne des années 1960 où le calcul est coûteux et centralisé.
Nous sommes des clients légers interagissant sur le réseau.
Nous utilisons le temps partagé, existant en tant que dimension d'un batch dans le cloud.
Cela reflète l'informatique des débuts, où tout était traité par lots depuis le cloud.
La révolution de l'informatique personnelle n'a pas encore eu lieu.
Les Mac Mini conviennent bien aux LLM car l'inférence est limitée par la mémoire.
Ce sont les premières indications de l'informatique personnelle.
L'avenir de cette technologie est encore en train d'être inventé.
Parler à un LLM par texte, c'est comme utiliser un système d'exploitation via le terminal.
Une interface graphique générale n'a pas encore été inventée.
L'ère du "Vibecoding"
J'ai construit une application iOS sans connaître Swift ; elle fonctionnait sur mon téléphone en une journée.
J'ai vibecodé Menu Gen, qui génère des images de menus de restaurants.
Photographier un menu génère des images des plats. Je l'ai vibecodé.
Tout le monde reçoit cinq dollars de crédits lors de son inscription.
C'est un centre de coûts majeur pour moi ; j'ai perdu de l'argent sur Menu Gen.
Le code était la partie facile ; le rendre concret était la partie difficile.
L'authentification, les paiements, les noms de domaine et le déploiement étaient difficiles.
Le DevOps a été une corvée extrême qui a pris une semaine dans le navigateur.
La démo a fonctionné en quelques heures, mais le rendre concret a pris une semaine.
Ajouter la connexion Google a impliqué une énorme quantité d'instructions provenant d'une bibliothèque.
La bibliothèque me disait où cliquer, ce qu'un ordinateur devrait faire.
Adapter le logiciel pour les agents IA
Nous devrions construire des logiciels spécifiquement pour les agents.
Il existe une nouvelle catégorie de consommateurs et de manipulateurs d'informations numériques.
Les agents sont des ordinateurs semblables à des humains — "esprits de personnes" — sur Internet.
Nous pouvons construire pour eux, tout comme nous utilisons robots.txt pour les robots d'exploration.
Un fichier llms.txt indique aux LLM de quoi traite un domaine.
Analyser le HTML est source d'erreurs ; le Markdown est bien meilleur pour les LLM.
La documentation devrait être fournie en Markdown pour les LLM.
Vercel et Stripe fournissent de la documentation en Markdown.
Le Markdown est facile à comprendre pour les LLM.
J'ai vibecodé une animation en utilisant la bibliothèque Manim.
Au lieu de lire les docs, je les ai collées dans un LLM.
Le LLM a vibecodé une animation pour moi immédiatement.
Nous devons changer les docs pour qu'elles soient exploitables : Vercel remplace "cliquer" par des commandes curl.
Le Model Context Protocol d'Anthropic permet une communication directe avec les agents.
Des outils comme "git ingest" aident les LLM à traiter les dépôts GitHub.
DeepWiki et Devin construisent de la documentation spécifiquement pour les LLM.
J'adore les outils qui rendent le contenu accessible via de simples changements d'URL.
Les LLM finiront par cliquer sur des interfaces, mais nous devrions faire un pas vers eux.
Conclusion : L'avenir du développement logiciel
C'est une époque formidable pour entrer dans l'industrie et réécrire du code.
Les LLM sont comme des systèmes d'exploitation des années 1960.
Nous devons adapter notre infrastructure pour ces "esprits de personnes".
Construisez des produits à autonomie partielle et travaillez efficacement avec les outils de LLM.
Faites glisser le curseur de l'autonomie de la gauche vers la droite au cours de la prochaine décennie.
J'ai hâte de construire l'avenir avec vous.
Merci.