图片

Le clone e4eeb3 approuvé par la communauté dans la proposition 13094 complète l'étape Cyclotron de la feuille de route ICP.

L'objectif de cette étape est de permettre l'inférence en chaîne de modèles d'IA avec des millions de paramètres, ce qui constitue la première étape vers l'objectif plus ambitieux de formation en chaîne et d'inférence de modèles d'IA à grande échelle.

Comme nous le savons tous, les charges de travail de l'IA nécessitent beaucoup de calculs et l'inférence sur des modèles d'IA comportant des millions de paramètres nécessite des milliards d'opérations arithmétiques, telles que la multiplication et l'addition, ce qui signifie que, pour prendre en charge l'inférence en chaîne, la blockchain a besoin de la capacité de traiter des milliards d’opérations par seconde.

L'étape Cyclotron augmente la puissance de calcul d'ICP d'un ordre de grandeur (~ 10x), ce qui en fait la seule blockchain à disposer d'un exemple fonctionnel de contrat intelligent qui effectue la reconnaissance faciale entièrement en chaîne, ainsi que d'autres cas d'utilisation tels que la classification d'images. et exécution GPT2 (développé par DecideAI).

Regardez la vidéo de démonstration de reconnaissance faciale de Dominic Williams au début de cet article.

图片

Les fondements de l’intelligence artificielle en chaîne

La machine virtuelle fait partie de la blockchain et est cruciale pour les calculs d'IA car elle peut exécuter le code des contrats intelligents. Les fonctions et les performances de la machine virtuelle affectent directement la quantité de calculs d'IA que le contrat intelligent peut effectuer.

Par exemple, EVM est la machine virtuelle d'Ethereum, conçue sur mesure pour les contrats intelligents DeFi et dépourvue de fonctions telles que les opérations en virgule flottante requises pour les calculs d'IA. En revanche, ICP utilise WebAssembly comme machine virtuelle et WebAssembly prend en charge les nombres à virgule flottante. Et conçu dès le départ pour des performances quasi natives.

L'idée derrière le jalon Cyclotron est d'extraire autant de performances en virgule flottante que possible de la machine virtuelle ICP.

Optimisation 1 : Opérations déterministes en virgule flottante

La plupart des bibliothèques et frameworks d'IA s'appuient sur des opérations à virgule flottante et, dans le contexte d'ICP, les opérations à virgule flottante doivent être déterministes, ce qui signifie qu'elles doivent produire les mêmes résultats prévisibles en utilisant les mêmes opérandes d'entrée.

Cette propriété déterministe est importante car ICP exécute le même code sur plusieurs nœuds, puis exécute son algorithme de consensus pour établir le résultat correct. Si l'opération en virgule flottante n'est pas déterministe, les nœuds peuvent être en désaccord, empêchant ainsi la progression de la blockchain.

Les ingénieurs de DFINITY ont trouvé un moyen d'accélérer les opérations déterministes en virgule flottante dans une implémentation de machine virtuelle WebAssembly appelée Wasmtime, une optimisation de compilateur de bas niveau qui produit un code plus rapide qui profite bien plus qu'à ICP, bénéficiant également à d'autres plates-formes et blockchains utilisant Wasmtime.

Optimisation 2 : instruction unique, données multiples (SIMD)

SIMD est une technologie prise en charge par tous les processeurs modernes qui permet au processeur d'effectuer plusieurs opérations arithmétiques à l'aide d'une seule instruction. Par exemple, WebAssembly peut effectuer quatre additions à virgule flottante parallèles à l'aide d'une seule instruction, comme le montre la figure ci-dessous.

图片

WebAssembly SIMD peut également gérer des entiers ; par exemple, il peut effectuer 16 opérations arithmétiques parallèles sur de petits entiers de 8 bits, améliorant potentiellement les performances de 4 à 16 selon le type de nombres et d'opérations.

Les contrats intelligents exécutés sur ICP peuvent désormais utiliser des instructions SIMD déterministes et bénéficier du calcul parallèle. Découvrez comment compiler des contrats intelligents à l'aide de SIMD :

  • github.com/dfinity/examples/tree/master/rust/simd

Optimisation 3 : prise en charge SIMD dans le moteur d'inférence IA

La dernière pièce du puzzle Cyclotron consiste à ajouter la prise en charge de WebAssembly SIMD à la bibliothèque d'IA, les ingénieurs de DFINITY contribuant à une implémentation de WebAssembly SIMD au moteur d'inférence open source Sonos Tract.

Le nouveau code utilise des instructions SIMD pour implémenter la multiplication matricielle et d'autres algorithmes numériques, similaires aux premières optimisations de Wasmtime, une contribution qui profite non seulement à ICP mais à la communauté des développeurs au sens large.

résultat

Ensemble, ces optimisations multiplient par 28 les tests de micro-benchmark numérique, avec des améliorations observées allant de 5 à 19 fois selon le modèle dans les charges de travail d'inférence d'IA de bout en bout, comme le montre la figure ci-dessous.

图片

Le code source des contrats intelligents contenant ces modèles d'IA est disponible sur GitHub, afin que tout le monde puisse reproduire et vérifier les résultats :

  • Classification d'image : il s'agit d'un modèle MobileNet qui classe une image d'entrée et renvoie l'étiquette la plus probable parmi 1 000 étiquettes connues, réduisant ainsi le nombre d'instructions Wasm requises pour exécuter une seule inférence de 24,7 milliards à 3,7 milliards.

  • Détection de visage : il s'agit d'un modèle Ultraface capable de trouver le cadre de délimitation d'un visage dans une image d'entrée, réduisant ainsi le nombre d'instructions Wasm requises pour exécuter une seule inférence de 6,1 milliards à 1,2 milliard.

  • Reconnaissance faciale : il s'agit d'un modèle qui calcule les intégrations vectorielles d'images d'entrée de visage. Le nombre d'instructions Wasm requises pour exécuter une seule inférence est réduit de 77 milliards à 9 milliards. La limite d'exécution sur le réseau principal est de 40 milliards d'instructions. signifie que la reconnaissance faciale précédente ne peut pas s'exécuter sur le réseau principal et ne peut s'exécuter que localement sur des répliques corrigées.

  • GPT2 : il s'agit d'un modèle GPT2 que DecideAI a converti en contrats intelligents à l'aide de son framework rust-connect-py-ai-to-ic, et les détails du benchmark sont décrits sur GitHub.

Les benchmarks ont été exécutés dans la version dfx 0.20.1 (Baseline) et la version 0.22.0-beta.0 (Cyclotron).

en conclusion

L'étape Cyclotron rapproche les performances de calcul de l'IA sur ICP des performances natives du processeur en optimisant les opérations en virgule flottante et en activant les instructions WebAssembly SIMD. Il prend en charge le traitement en chaîne de modèles avec des millions de paramètres, tels que la classification d'images, la reconnaissance faciale et GPT2. Raisonnement de l'IA.

Il s'agit de la première étape vers l'exécution complète de modèles d'IA à grande échelle sur la chaîne pour résoudre le problème de confiance de l'IA. La prochaine étape de l'IA dans la feuille de route ICP vise à transcender les limitations du processeur afin d'effectuer des inférences d'IA et des modèles à grande échelle. Formation en chaîne, les contrats intelligents nécessitent une méthode d'exécution de calculs informatiques et gourmands en mémoire sur du matériel spécialisé tel que les GPU.

Restez à l’écoute des étapes importantes du Gyrotron.

图片

#AI模型 #DEAI🤖🤖🤖 #gpt4 $BTC $ETH $ICP


Contenu IC qui vous intéresse

Progrès technologique | Informations sur le projet |

Collectez et suivez IC Binance Channel

Restez à jour avec les dernières informations