
La communauté Web3 est très ouverte, expérimentale et soutient généralement les projets qui tentent de faire avancer la recherche en informatique, cependant, une chose que nous ne faisons pas bien est la clarté des idées ou de la communication, cet article vise à aider à expliquer les conditions nécessaires au déploiement de modèles d'IA sur des contrats intelligents.
En termes simples : après avoir lu cet article, vous devriez avoir une intuition simple de ce qui est possible d'ici octobre 2024 et de ce qui reste à résoudre.
L'IA est-elle sur la chaîne ? Si ce n'est pas le cas, qu'est-ce qui manque ?
Des modèles plus petits peuvent également réaliser l'IA sur la chaîne, mais actuellement, les limitations de mémoire, de puissance de calcul et de mécanisme de consensus entravent le déploiement efficace de modèles d'IA plus grands comme les LLM sur la blockchain, comme on s'y attendrait s'ils étaient déployés sur des serveurs cloud traditionnels.
Cependant, de nombreuses innovations sont en cours pour aider à combler cette lacune.
Quelle est la principale révélation ici ?
Le coût de calcul de l'intelligence artificielle est élevé, et le coût de calcul décentralisé est également élevé, donc combiner deux choses coûteuses... cela complique les choses.
Andreas Rossberg, co-fondateur de WebAssembly, l'a parfaitement expliqué :
Mais à mon avis, la raison pour laquelle l'IA sur la blockchain est "difficile" est que ces deux technologies sont déjà très coûteuses en termes de ressources (la blockchain en raison de la duplication et du consensus, l'IA en raison de choses comme les LLM qui sont essentiellement de nombreuses méthodes de brute force), la conception de matériel pour faire fonctionner l'intelligence artificielle est entièrement axée sur la réduction des coûts, mais lorsqu'elle est combinée avec la blockchain, le coût du matériel augmente - il n'augmente pas simplement, il augmente de manière exponentielle, donc en termes d'utilisation des ressources, c'est un scénario très défavorable, avec plus d'abus que d'utilisation.
Source :
forum.dfinity.org/t/what-makes-ai-on-blockchain-hard-request-for-feedback-on-post/32686/3

Informations de contexte utiles
Pour comprendre cet article, quelques concepts valent d'être rapidement expliqués.
1. Entraînement et inférence
Lorsque les gens parlent d'intelligence artificielle, ils font généralement référence à l'entraînement d'un modèle ou à l'inférence (utiliser le modèle, par exemple en posant des questions à ChatGPT), l'entraînement est plusieurs ordres de grandeur plus difficile que l'inférence et nécessite beaucoup plus de ressources, donc ici je me concentre sur l'inférence, car c'est le premier obstacle majeur avant de résoudre des défis d'entraînement plus complexes.
2. CPU et GPU
En termes simples, les GPU sont des ordinateurs optimisés pour les modèles d'IA, ils traitent les modèles 1000 fois plus rapidement que les ordinateurs généraux traditionnels (CPU), ce qui est important car la plupart des goulets d'étranglement en IA dans le domaine Web2 peuvent être résolus par l'utilisation de GPU, la plupart des blockchains fonctionnent sur CPU, donc elles n'ont pas de solutions disponibles (pour l'instant), cet article explique pourquoi.
3. Mémoire des contrats intelligents
La mémoire des contrats intelligents comprend la mémoire de stockage et la mémoire de tas, ces deux types de mémoire étant cruciaux pour exécuter des modèles d'IA, les deux étant des facteurs limitants aujourd'hui.
4. Ma définition étroite de l'intelligence artificielle
Je reconnais que ma définition de l'IA est étroite : je me concentre sur le déploiement de modèles dans des contrats intelligents, je ne fais pas référence à l'écosystème AI plus large, par exemple, je n'ai pas écrit d'articles sur des outils de balisage ou des bases de données vectorielles, qui sont essentiels pour RAG et l'écosystème AI plus large (en fait, beaucoup de gens ont déjà trouvé des moyens d'héberger des bases de données vectorielles dans des contrats intelligents), donc oui, mon objectif est étroit : héberger des modèles d'IA sur des contrats intelligents.

Les facteurs nécessaires à l'IA sur la chaîne
Introduction
L'intelligence artificielle hébergée dans des contrats intelligents nécessite trois facteurs nécessaires :
Mémoire - Les modèles nécessitent beaucoup de mémoire informatique, tandis que la mémoire des blockchains est inférieure à celle des mémoires cloud centralisées.
Calcul - Les modèles nécessitent beaucoup de calcul (par exemple, réflexion/vitesse/traitement), les blockchains ont moins de capacité que les modèles cloud centralisés.
Matériel - La plupart des fournisseurs centralisés améliorent les performances de l'IA en investissant dans plus de matériel, les blockchains ont plus de difficultés à faire cela que les fournisseurs centralisés, en fait, de nombreux protocoles ne s'étendent pas en investissant dans le matériel.

1. Mémoire
Ce dont les modèles d'intelligence artificielle ont besoin
Les exigences en mémoire pour le raisonnement AI de différents modèles peuvent varier considérablement, par exemple, les petits modèles d'apprentissage automatique (ML) peuvent nécessiter seulement quelques mégaoctets (Mo), tandis que les modèles de langage à grande échelle (LLM) peuvent nécessiter plusieurs milliers de mégaoctets (Go) de mémoire.
Le monde d'aujourd'hui
Je veux donner aux lecteurs un aperçu utile, mais je ne fournis délibérément pas de tableaux ou de graphiques comparant différentes blockchains, selon mon expérience, cela peut entraîner deux choses :
Dans le meilleur des cas, quelques erreurs honnêtes, par exemple : "Hé, Diego, tu as mal calculé ! Notre plateforme de contrats intelligents exécute 600 instructions par seconde, pas 550."
Dans le pire des cas, cela pourrait déclencher un tribalisme blockchain, laissant le reste de côté.
Par conséquent, je vais écrire des articles sur les besoins de l'IA, Ethereum (langage général) et ICP (la blockchain que je connais très bien), j'encourage les lecteurs à proposer leurs propres analyses sur d'autres chaînes !
Contrats intelligents Ethereum
La mémoire de tas des contrats intelligents Ethereum est mesurée en Ko, ce qui signifie qu'Ethereum ne peut pas supporter la plupart des modèles d'IA que je connais, bien qu'il puisse y avoir quelques modèles d'IA mesurés en Ko, mais en termes simples : les contrats intelligents Ethereum ne peuvent pas supporter la plupart des modèles d'IA dont les gens parlent.
Contrats intelligents ICP
Les contrats intelligents ICP ont 400 Go de mémoire stable (par exemple, le stockage) et 4 Go de mémoire de tas, ce qui signifie que les contrats intelligents ICP peuvent supporter de nombreux modèles d'IA, mais pas tous, plus précisément, les modèles que les contrats intelligents ICP peuvent exécuter :
① Les contrats intelligents ICP peuvent exécuter des modèles d'IA similaires à celui utilisé dans cette démonstration 1 pour la classification d'images, le modèle ML pour la classification d'images 1 nécessite environ 10 Mo de mémoire, donc totalement dans la plage de ressources mémoire d'ICP.
② Les contrats intelligents ICP peuvent héberger des modèles LLM, voir les exemples de la communauté :
Llama 3 8b fonctionne sur la chaîne !
Llama.cpp sur l'ordinateur Internet
Les modèles que les contrats intelligents ICP ne peuvent pas encore exécuter : les contrats intelligents ICP ne peuvent pas encore exécuter des versions plus grandes de Llama comme 70B paramètres.
Actuellement, les contrats intelligents ICP offrent 4 Go de mémoire de tas et bientôt disposeront de plus de mémoire, donc cela se rapproche déjà d'un service normal.
Règle empirique #1
Chaque fois que quelqu'un dit "X est de l'intelligence artificielle sur la chaîne", vous devriez demander : "Quelle quantité de mémoire les contrats intelligents sur X peuvent-ils avoir ?"
Si la réponse est...
En Ko, il ne peut pas supporter de véritables modèles d'IA ;
En Mo, il peut supporter de petits modèles (et il y a beaucoup de petits modèles), mais il ne peut pas supporter les LLM ;
En Go, il peut contenir certains des LLM plus petits ;
En plusieurs dizaines de Go, l'hôte peut supporter davantage, mais pas les LLM principaux ;
En plusieurs centaines de Go, il peut supporter presque tous les LLM.
En ce qui concerne ICP, la plupart des modèles d'IA peuvent être hébergés sur la chaîne (avec quelques reconstructions des modèles), le problème est de savoir combien de temps l'utilisateur est prêt à attendre pour obtenir une réponse, ce qui soulève la question suivante : le calcul.

2. Calcul
Ce dont les modèles d'intelligence artificielle ont besoin
La puissance de calcul nécessaire au raisonnement AI est mesurée en nombre d'opérations flottantes par seconde (FLOPS), la complexité et la taille des modèles d'IA peuvent varier considérablement, affectant ainsi la puissance de calcul requise, cependant, dans le contexte des protocoles blockchain, il est plus logique d'utiliser un nombre d'opérations par seconde plus général, donc nous utiliserons ce terme, car en pratique, cela tombe souvent dans la même fourchette.
Les modèles plus petits peuvent nécessiter seulement des milliards d'opérations par seconde, tandis que les modèles de langage à grande échelle (LLM) et d'autres modèles d'IA avancés peuvent nécessiter davantage de calculs, par exemple, le modèle Llama3 7B quantifié (essentiellement optimisé pour la taille) peut nécessiter des centaines de milliards d'opérations pour raisonner (répondre aux invites des utilisateurs).
Du point de vue de l'utilisateur
Du point de vue de l'utilisateur, la différence de temps de calcul nécessaire pour la réponse des LLM varie de quelques secondes à quelques heures, jours, semaines ou mois, selon la quantité de ressources de calcul dont dispose le contrat intelligent.
Le monde d'aujourd'hui
Contrats intelligents Ethereum
Les contrats intelligents Ethereum dépendent principalement de l'EVM, qui n'est pas optimisé pour les tâches de calcul haute performance, il serait plus exact de dire que le volume de calcul des contrats intelligents ETH est nettement inférieur aux gigaFLOPS requis par la plupart des modèles d'IA.
DFINITY estime qu'en fonction de la limite de gaz par bloc, le nombre maximal d'instructions par seconde est d'environ 5 millions par seconde, donc Ethereum ne peut pas fournir la puissance de calcul nécessaire pour exécuter des modèles d'IA complexes (en particulier des modèles de langage à grande échelle LLM).
Contrats intelligents ICP
Les contrats intelligents ICP disposent de meilleures ressources de calcul, capables d'exécuter 2 milliards d'opérations par seconde, il convient de noter que (contrairement à Ethereum qui ne traite que des opérations entières) les contrats intelligents ICP peuvent également traiter des opérations flottantes ainsi que des opérations entières.
Les modèles que les contrats intelligents ICP peuvent exécuter : ICP peut exécuter des modèles d'IA nécessitant jusqu'à des milliards d'opérations par seconde et effectuer des raisonnements dans des délais attendus par l'utilisateur (quelques secondes ou moins), ceci inclut de nombreux modèles plus petits, comme le modèle de classification d'image dans cette démonstration, qui nécessite seulement des milliards d'opérations par seconde pour fonctionner efficacement.
Les modèles que les contrats intelligents ICP ne peuvent pas s'exécuter aussi rapidement que les utilisateurs l'attendent : un modèle quantifié Llama3 7B nécessite des centaines de milliards de raisonnements (répondre aux invites des utilisateurs), les contrats intelligents ICP peuvent soutenir 2 milliards d'opérations par seconde, théoriquement, un contrat intelligent ICP exécutant une demande de raisonnement, c'est-à-dire répondre à une invite, nécessite de quelques secondes à quelques minutes.
À venir : le département de recherche de DFINITY explore des moyens d'améliorer la capacité de calcul des contrats intelligents ICP, les améliorations potentielles incluent l'intégration de matériel dédié ou l'optimisation de l'environnement d'exécution pour gérer des exigences plus élevées en termes d'opérations par seconde.
Règle empirique #2
Chaque fois que quelqu'un dit "X est de l'intelligence artificielle sur la chaîne", vous devriez demander : "Quelle capacité de calcul les contrats intelligents sur X peuvent-ils fournir ?"
Si la réponse est...
Mesuré en millions de secondes ou moins, le raisonnement de l'intelligence artificielle prendra tellement de temps que l'utilisateur pensera qu'il ne fonctionne pas du tout.
Mesuré en centaines de millions d'opérations par seconde, de très petits modèles peuvent exécuter des raisonnements en quelques minutes.
Mesuré en milliards, des LLM plus petits peuvent exécuter des raisonnements en quelques minutes, ou beaucoup plus lentement que prévu par l'utilisateur.
Mesuré en centaines de milliards, le raisonnement des LLM pourrait être l'attente moderne des utilisateurs vis-à-vis des LLM.
Mesuré en milliers de milliards d'opérations par seconde, il peut supporter presque tous les modèles d'IA, y compris les LLM de pointe, et offrir une excellente expérience utilisateur.

3. Problèmes matériels (indice : c'est la détermination)
Dans le monde Web2, augmenter les ressources de calcul d'un modèle signifie généralement utiliser des GPU, car les GPU sont plus rapides, c'est pourquoi il y a une forte demande pour les GPU à l'échelle mondiale.
Pourquoi la blockchain ne peut-elle pas simplement utiliser les GPU ?
Raisons techniques : étant donné que les GPU sont conçus pour être multithread, il n'est pas garanti que toutes les opérations soient déterministes, alors que la blockchain nécessite des calculs déterministes pour parvenir à un consensus, en pratique, il existe des moyens de rendre les GPU déterministes, mais cela nécessite une réflexion et une configuration minutieuses, mais je vais d'abord expliquer l'importance de la détermination.
Explication plus simple : le fonctionnement de la blockchain consiste à faire exécuter le même calcul par plusieurs ordinateurs, puis à parvenir à un consensus sur le résultat via un protocole de consensus, la blockchain a un seuil de sécurité qui se situe généralement entre 25 % et 49 %, ce qui détermine combien de nœuds défectueux ou malhonnêtes elle peut tolérer tout en parvenant à un consensus, cependant, lorsque des GPU sont utilisés, même si tous les nœuds utilisent le même modèle, même les nœuds honnêtes peuvent retourner des réponses différentes pour le LLM, ce qui pose des problèmes pour le protocole de consensus.
Exemple : imaginez une blockchain avec trois ordinateurs, chacun exécutant un contrat intelligent LLM, un utilisateur demande : "Qu'est-ce qu'un LLM ?"
Ordinateur 1 : "Les LLM, ou modèles de langage à grande échelle, sont des modèles d'intelligence artificielle avancés conçus pour comprendre et générer du langage humain, généralement avec un grand nombre de paramètres et formés sur de grandes quantités de données textuelles."
Ordinateur 2 : "Les LLM, ou modèles de langage à grande échelle, sont des systèmes d'intelligence artificielle puissants, formés sur de grandes quantités de textes, capables d'exécuter des tâches telles que la compréhension, la génération et la traduction de langage humain."
Ordinateur 3 : "Les LLM, ou modèles de langage à grande échelle, sont des modèles d'intelligence artificielle qui excellent dans le traitement et la génération de langage humain grâce à un entraînement intensif sur de grands ensembles de données."
Bien que les trois ordinateurs soient honnêtes et utilisent le même modèle, ils retournent des réponses différentes, cette indétermination peut survenir pour diverses raisons, ce qui pose problème, le protocole de consensus ne peut pas déterminer quelle réponse est correcte, ce qui contraste avec des calculs plus simples et déterministes comme "1 + 1", où tous les ordinateurs seraient d'accord pour dire "2".
Étant donné ce qui précède, je devrais ajouter quelques détails, même si la température du modèle est réglée à 0, l'indétermination peut survenir, et le délicat est que l'indétermination provient des GPU et non du modèle lui-même, ce qui est réellement délicat, c'est que si la température est de 0, les GPU retourneront dans la plupart des cas la même réponse, ce qui crée un faux sentiment de sécurité, mais cette détermination n'est pas garantie, si elle n'est pas garantie, cela peut entraîner des situations où la blockchain ne parvient pas à parvenir à un consensus.
Prenons un chiffre fictif mais concret : si les GPU sont déterministes 99,99 % du temps, cela signifie que sur 10 000 invites, 1 pourrait retourner une réponse différente, imaginez si dans 10 000 blocs, 1 blockchain ne parvient pas à parvenir à un consensus… la plupart des blockchains ne pourront pas parvenir à un consensus, ce qui est dangereux pour le consensus.
Points clés
La blockchain dépend de la duplication des calculs et de parvenir à un consensus sur les résultats ;
Les GPU introduisent de l'indétermination, rendant difficile le consensus sur la blockchain ;
Ainsi, les blockchains actuelles ne peuvent pas exploiter les GPU comme les systèmes Web2.
Solutions potentielles
C'est un nouveau défi, mais des solutions potentielles sont explorées (qui ne sont pas complètement résolues au moment de la rédaction) :
Rendre le calcul des GPU déterministe : développer des méthodes pour rendre le calcul des GPU déterministe, ce qui est possible, bien que délicat, et qui n'a pas encore été largement adopté.
Modifier le protocole de consensus : ajuster le mécanisme de consensus pour gérer l'indétermination, ce qui nécessite un travail protocolaire sérieux.
Accepter l'indétermination et utiliser des preuves à divulgation nulle de connaissance : exécuter LLM sur une seule machine, sans duplication, cette approche est plusieurs ordres de grandeur plus lente que l'utilisation de CPU ou de GPU, elle est théoriquement faisable, mais difficile à réaliser, et reste une question en suspens.
L'ensemble de l'écosystème d'intelligence artificielle et de blockchain (y compris DFINITY) explore activement et recherche ces trois méthodes pour déterminer la meilleure solution.
Règle empirique #3
Si quelqu'un prétend que "ma blockchain fonctionne sur GPU", alors l'une des affirmations suivantes est correcte :
Ils exécutent de manière déterministe les GPU ou appliquent un mécanisme de consensus approximatif ;
Leur blockchain manque de protocoles de consensus robustes (et n'est pas sécurisée) ;
Ils n'ont pas dit la vérité.

Conclusion
L'intelligence artificielle sur la chaîne n'est pas encore pleinement réalisée, bien que des progrès prometteurs aient été réalisés dans l'intégration du raisonnement d'IA, il reste un écart énorme à combler en matière de mémoire, de puissance de calcul et de mécanismes de consensus, ces défis ne sont pas insurmontables, mais nécessitent une recherche, un développement et une innovation concentrés, en comprenant et en résolvant ces obstacles, le rêve d'allier la puissance de l'intelligence artificielle à la sécurité et à la décentralisation de la blockchain peut devenir une réalité.
J'espère que cela aidera tout le monde !

Contenu IC qui vous intéresse
Progrès technologiques | Informations sur le projet | Événements mondiaux

Collection et suivi des informations sur IC Binance
Rester informé


