Table des matières
Résumé des points forts
Compilez, compilez toujours !
La formation LLM est 2 fois plus rapide
Maison Périphériques technologiques IA Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

Apr 13, 2023 am 08:34 AM
人工智能 程序 pytorch

La version officielle de PyTorch 2.0 est enfin là !

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

En décembre dernier, la Fondation PyTorch a publié la première version préliminaire de PyTorch 2.0 lors de la conférence PyTorch 2022.

Par rapport à la version précédente 1.0, la 2.0 a subi des changements subversifs. Dans PyTorch 2.0, la plus grande amélioration est torch.compile.

Le nouveau compilateur peut générer du code à la volée beaucoup plus rapidement que le "mode impatient" par défaut de PyTorch 1.0, améliorant encore les performances de PyTorch.

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

En plus de la version 2.0, une série de mises à jour bêta ont été publiées pour les bibliothèques de domaine PyTorch, y compris celles de l'arborescence, ainsi que pour les bibliothèques autonomes, notamment TorchAudio, TorchVision et TorchText. Des mises à jour de TorchX sont également publiées en même temps pour fournir un mode de support communautaire.

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

Résumé des points forts

- torch.compile est l'API principale de PyTorch 2.0, elle enveloppe et renvoie le modèle compilé, torch.compile est une fonctionnalité entièrement complémentaire (et facultative), donc La version 2.0 est 100 % rétrocompatible.

- En tant que technologie sous-jacente de torch.compile, TorchInductor avec les GPU Nvidia et AMD s'appuiera sur le compilateur d'apprentissage en profondeur OpenAI Triton pour générer du code haute performance et masquer les détails matériels de bas niveau. Les performances des implémentations de noyau générées par OpenAI Triton sont comparables à celles des noyaux manuscrits et des bibliothèques CUDA spécialisées telles que cublas.

- Les transformateurs accélérés introduisent une prise en charge hautes performances pour la formation et l'inférence, en utilisant une architecture de noyau personnalisée pour implémenter Scaled Dot Product Attention (SPDA). L'API est intégrée à torch.compile(), et les développeurs de modèles peuvent également utiliser directement les noyaux d'attention de produit scalaire mis à l'échelle en appelant le nouvel opérateur scaled_dot_product_attention().

- Le backend Metal Performance Shaders (MPS) fournit une formation PyTorch accélérée par GPU sur la plate-forme Mac et ajoute la prise en charge des 60 opérations les plus couramment utilisées, couvrant plus de 300 opérateurs.

- Amazon AWS optimise l'inférence CPU PyTorch sur les instances C7g basées sur AWS Graviton3. PyTorch 2.0 améliore les performances d'inférence de Graviton par rapport aux versions précédentes, y compris des améliorations de Resnet50 et Bert.

- Nouvelles fonctionnalités et techniques de prototypage dans TensorParallel, DTensor, 2D parallèle, TorchDynamo, AOTAutograd, PrimTorch et TorchInductor.

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

Compilez, compilez toujours !

​Les dernières technologies de compilateur de PyTorch 2.0 incluent : TorchDynamo, AOTAutograd, PrimTorch et TorchInductor. Tout cela est développé en Python, pas en C++ (avec lequel Python est compatible).

Et il prend également en charge la forme dynamique, qui peut envoyer des vecteurs de différentes tailles sans recompilation. Il est flexible et facile à apprendre.

  • TorchDynamo​

Il peut obtenir en toute sécurité des programmes PyTorch à l'aide des crochets d'évaluation Python Frame. Cette innovation majeure est un résumé des résultats de recherche et développement de PyTorch en matière de capture de graphiques sécurisée (capture de graphiques sécurisée) au cours des 5 dernières années.

  • AOTAutograd​

surcharge le moteur d'autograd PyTorch en tant qu'autodiff de traçage pour générer des traces avancées vers l'arrière.

  • PrimTorch​

résume plus de 2000 opérateurs PyTorch en environ 250 ensembles fermés d'opérateurs primitifs, et les développeurs peuvent créer un backend PyTorch complet pour ces opérateurs. PrimTorch simplifie grandement le processus d'écriture de fonctions ou de backends PyTorch.

  • TorchInductor​

TorchInductor est un compilateur d'apprentissage en profondeur qui peut générer du code rapide pour plusieurs accélérateurs et backends. Pour les GPU NVIDIA, il utilise OpenAI Triton comme élément de base clé.

La Fondation PyTorch a déclaré que le lancement de la version 2.0 favorisera "le retour du C++ à Python", ajoutant qu'il s'agit d'une nouvelle direction substantielle pour PyTorch.

"Nous connaissions les limites de performance de "l'exécution hâtive" dès le premier jour. En juillet 2017, nous avons lancé notre premier projet de recherche, développant un compilateur pour PyTorch. Le compilateur doit permettre aux programmes PyTorch de s'exécuter rapidement, mais pas au détriment de l'expérience PyTorch, tout en conservant flexibilité et facilité d'utilisation, afin que les chercheurs puissent utiliser des modèles et des programmes dynamiques à différentes étapes d'exploration. "

Bien entendu, le "mode impatient" non compilé utilise un générateur de code dynamique en temps réel et est toujours disponible en 2.0. Les développeurs peuvent utiliser la commande porch.compile pour passer rapidement au mode compilé en ajoutant une seule ligne de code.

Les utilisateurs peuvent constater que le temps de compilation de la version 2.0 est amélioré de 43 % par rapport à la version 1.0.

Ces données proviennent d'un test de référence mené par la Fondation PyTorch sur 163 modèles open source utilisant PyTorch 2.0 sur le GPU Nvidia A100, y compris des tâches telles que la classification d'images, la détection de cibles, la génération d'images et diverses tâches PNL.

Ces benchmarks sont divisés en trois catégories : HuggingFace Transformers, TIMM et TorchBench.

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

Torche en mode impatient du GPU NVIDIA A100. Performances d'accélération de la compilation pour différents modèles

Selon la Fondation PyTorch, le nouveau compilateur s'exécute 21% plus rapidement lors de l'utilisation du mode de précision Float32, en cours d'exécution 51 % plus rapide en utilisant le mode de précision mixte automatique (AMP).

Parmi ces 163 modèles, torch.compile peut fonctionner normalement sur 93% des modèles.

"Dans la feuille de route de PyTorch 2.x, nous espérons pousser le modèle de compilation de plus en plus loin en termes de performances et d'évolutivité. Certains travaux n'ont pas encore commencé. Certains travaux n'ont pas été implémentés en raison d'une bande passante insuffisante "

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

La formation LLM est 2 fois plus rapide

De plus, la performance est un autre objectif principal de PyTorch 2.0, et c'est également un objectif que les développeurs ont généreusement promu.

En fait, l'un des points forts de la nouvelle fonctionnalité est les transformateurs accélérés, anciennement connus sous le nom de meilleurs transformateurs.

De plus, la version officielle de PyTorch 2.0 inclut une nouvelle implémentation PyTorch TransformAPI hautes performances.

L'un des objectifs du projet PyTorch est de rendre la formation et le déploiement de modèles de transformateurs de pointe plus faciles et plus rapides.

Les transformateurs sont la technologie de base qui permet de réaliser l'ère moderne de l'intelligence artificielle générative, y compris les modèles OpenAI tels que GPT-3 et GPT-4.

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

Dans PyTorch 2.0 Accelerated Transformers, une méthode d'architecture de noyau personnalisée (également connue sous le nom de mise à l'échelle de l'attention du produit scalaire SDPA) est utilisée pour fournir une prise en charge hautes performances pour la formation et l'inférence.

Étant donné qu'il existe de nombreux types de matériel pouvant prendre en charge les Transformers, PyTorch 2.0 peut prendre en charge plusieurs noyaux personnalisés SDPA. Pour aller plus loin, PyTorch intègre une logique de sélection de noyau personnalisée qui sélectionnera le noyau le plus performant pour un modèle et un type de matériel donnés.

L'impact de l'accélération est significatif car elle permet aux développeurs de former des modèles plus rapidement que les itérations précédentes de PyTorch.

La nouvelle version permet une prise en charge haute performance pour la formation et l'inférence, en utilisant une architecture de noyau personnalisée pour gérer l'attention du produit scalaire (SPDA), étendant ainsi l'architecture de chemin rapide pour l'inférence.

Semblable à l'architecture fastpath, le noyau personnalisé est entièrement intégré à l'API PyTorch Transformer - par conséquent, l'utilisation de l'API native Transformer et MultiHeadAttention permettra aux utilisateurs de :

- de constater des améliorations de vitesse significatives ;

- Prise en charge d'un plus grand nombre de cas d'utilisation, y compris des modèles utilisant l'attention croisée, des décodeurs de transformateur et des modèles de formation

- Utilisation continue de l'inférence de chemin rapide pour les encodeurs de transformateur à longueur de séquence fixe et variable et les cas d'utilisation de mécanisme d’auto-attention.

Pour tirer pleinement parti des différents modèles matériels et cas d'utilisation de Transformer, plusieurs cœurs personnalisés SDPA sont pris en charge et la logique de sélection de cœur personnalisée sélectionnera le cœur le plus performant pour le modèle et le type de matériel spécifiques.

En plus de l'API Transformer existante, les développeurs peuvent également utiliser directement le noyau d'attention du produit scalé en appelant le nouvel opérateur scaled_dot_product_attention(), accélérant ainsi l'intégration de PyTorch 2 Transformers avec torch.compile().

Afin d'obtenir l'accélération supplémentaire de la compilation PT2 (pour l'inférence ou la formation) lors de l'utilisation du modèle, vous pouvez utiliser model = torch.compile(model) pour prétraiter le modèle.

Actuellement, une combinaison de noyaux personnalisés et de torch.compile() a été utilisée pour obtenir une accélération substantielle de la formation des modèles Transformer, en particulier des grands modèles de langage utilisant le transformateur PyTorch 2 accéléré.

Sortie de la version officielle de PyTorch 2.0 ! Une ligne de code accélère 2 fois, 100 % rétrocompatible

Utilisation d'un noyau personnalisé et d'un torch.compile pour fournir une accélération significative pour la formation de grands modèles de langage

Sylvain Gugger, le responsable principal de HuggingFace Transformers, a écrit dans une déclaration publiée par PyTorch projet "Avec une seule ligne de code ajoutée, PyTorch 2.0 offre une accélération de 1,5x à 2,0x lors de la formation des modèles Transformers. C'est la chose la plus excitante depuis le lancement de la formation de précision mixte!"

PyTorch et TensorFlow de Google sont les deux frameworks d’apprentissage profond les plus populaires. Des milliers d'institutions à travers le monde utilisent PyTorch pour développer des applications d'apprentissage en profondeur, et son utilisation est croissante.

Le lancement de PyTorch 2.0 contribuera à accélérer le développement d'applications d'apprentissage profond et d'intelligence artificielle, a déclaré Luca Antiga, directeur de la technologie de Lightning AI et l'un des principaux responsables de la maintenance de PyTorch Lightning :

" PyTorch 2.0 incarne l'avenir des frameworks d'apprentissage profond. La capacité de capturer des programmes PyTorch sans intervention de l'utilisateur, la génération de programmes prêts à l'emploi et une formidable accélération sur l'appareil ouvrent une toute nouvelle dimension de possibilités aux développeurs d'IA. "

Référence :

https://www.php.cn/link/d6f84c02e2a54908d96f410083beb6e0

https://www.php.cn/link/89b9e0a6f6d150 5fe13dea0f18a2dcfa

https://www.php.cn/link/3b2acfe2e38102074656ed938abf4ac3


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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bytedance Cutting lance le super abonnement SVIP : 499 yuans pour un abonnement annuel continu, offrant une variété de fonctions d'IA Bytedance Cutting lance le super abonnement SVIP : 499 yuans pour un abonnement annuel continu, offrant une variété de fonctions d'IA Jun 28, 2024 am 03:51 AM

Ce site a rapporté le 27 juin que Jianying est un logiciel de montage vidéo développé par FaceMeng Technology, une filiale de ByteDance. Il s'appuie sur la plateforme Douyin et produit essentiellement du contenu vidéo court pour les utilisateurs de la plateforme. Il est compatible avec iOS, Android et. Windows, MacOS et autres systèmes d'exploitation. Jianying a officiellement annoncé la mise à niveau de son système d'adhésion et a lancé un nouveau SVIP, qui comprend une variété de technologies noires d'IA, telles que la traduction intelligente, la mise en évidence intelligente, l'emballage intelligent, la synthèse humaine numérique, etc. En termes de prix, les frais mensuels pour le clipping SVIP sont de 79 yuans, les frais annuels sont de 599 yuans (attention sur ce site : équivalent à 49,9 yuans par mois), l'abonnement mensuel continu est de 59 yuans par mois et l'abonnement annuel continu est de 59 yuans par mois. est de 499 yuans par an (équivalent à 41,6 yuans par mois) . En outre, le responsable de Cut a également déclaré que afin d'améliorer l'expérience utilisateur, ceux qui se sont abonnés au VIP d'origine

Assistant de codage d'IA augmenté par le contexte utilisant Rag et Sem-Rag Assistant de codage d'IA augmenté par le contexte utilisant Rag et Sem-Rag Jun 10, 2024 am 11:08 AM

Améliorez la productivité, l’efficacité et la précision des développeurs en intégrant une génération et une mémoire sémantique améliorées par la récupération dans les assistants de codage IA. Traduit de EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG, auteur JanakiramMSV. Bien que les assistants de programmation d'IA de base soient naturellement utiles, ils ne parviennent souvent pas à fournir les suggestions de code les plus pertinentes et les plus correctes, car ils s'appuient sur une compréhension générale du langage logiciel et des modèles d'écriture de logiciels les plus courants. Le code généré par ces assistants de codage est adapté à la résolution des problèmes qu’ils sont chargés de résoudre, mais n’est souvent pas conforme aux normes, conventions et styles de codage des équipes individuelles. Cela aboutit souvent à des suggestions qui doivent être modifiées ou affinées pour que le code soit accepté dans l'application.

Le réglage fin peut-il vraiment permettre au LLM d'apprendre de nouvelles choses : l'introduction de nouvelles connaissances peut amener le modèle à produire davantage d'hallucinations Le réglage fin peut-il vraiment permettre au LLM d'apprendre de nouvelles choses : l'introduction de nouvelles connaissances peut amener le modèle à produire davantage d'hallucinations Jun 11, 2024 pm 03:57 PM

Les grands modèles linguistiques (LLM) sont formés sur d'énormes bases de données textuelles, où ils acquièrent de grandes quantités de connaissances du monde réel. Ces connaissances sont intégrées à leurs paramètres et peuvent ensuite être utilisées en cas de besoin. La connaissance de ces modèles est « réifiée » en fin de formation. À la fin de la pré-formation, le modèle arrête effectivement d’apprendre. Alignez ou affinez le modèle pour apprendre à exploiter ces connaissances et répondre plus naturellement aux questions des utilisateurs. Mais parfois, la connaissance du modèle ne suffit pas, et bien que le modèle puisse accéder à du contenu externe via RAG, il est considéré comme bénéfique de l'adapter à de nouveaux domaines grâce à un réglage fin. Ce réglage fin est effectué à l'aide de la contribution d'annotateurs humains ou d'autres créations LLM, où le modèle rencontre des connaissances supplémentaires du monde réel et les intègre.

Sept questions d'entretien technique Cool GenAI et LLM Sept questions d'entretien technique Cool GenAI et LLM Jun 07, 2024 am 10:06 AM

Pour en savoir plus sur l'AIGC, veuillez visiter : 51CTOAI.x Community https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou est différent de la banque de questions traditionnelle que l'on peut voir partout sur Internet. nécessite de sortir des sentiers battus. Les grands modèles linguistiques (LLM) sont de plus en plus importants dans les domaines de la science des données, de l'intelligence artificielle générative (GenAI) et de l'intelligence artificielle. Ces algorithmes complexes améliorent les compétences humaines et stimulent l’efficacité et l’innovation dans de nombreux secteurs, devenant ainsi la clé permettant aux entreprises de rester compétitives. LLM a un large éventail d'applications. Il peut être utilisé dans des domaines tels que le traitement du langage naturel, la génération de texte, la reconnaissance vocale et les systèmes de recommandation. En apprenant de grandes quantités de données, LLM est capable de générer du texte

Afin de fournir un nouveau système de référence et d'évaluation de questions-réponses scientifiques et complexes pour les grands modèles, l'UNSW, Argonne, l'Université de Chicago et d'autres institutions ont lancé conjointement le cadre SciQAG. Afin de fournir un nouveau système de référence et d'évaluation de questions-réponses scientifiques et complexes pour les grands modèles, l'UNSW, Argonne, l'Université de Chicago et d'autres institutions ont lancé conjointement le cadre SciQAG. Jul 25, 2024 am 06:42 AM

L'ensemble de données ScienceAI Question Answering (QA) joue un rôle essentiel dans la promotion de la recherche sur le traitement du langage naturel (NLP). Des ensembles de données d'assurance qualité de haute qualité peuvent non seulement être utilisés pour affiner les modèles, mais également évaluer efficacement les capacités des grands modèles linguistiques (LLM), en particulier la capacité à comprendre et à raisonner sur les connaissances scientifiques. Bien qu’il existe actuellement de nombreux ensembles de données scientifiques d’assurance qualité couvrant la médecine, la chimie, la biologie et d’autres domaines, ces ensembles de données présentent encore certaines lacunes. Premièrement, le formulaire de données est relativement simple, et la plupart sont des questions à choix multiples. Elles sont faciles à évaluer, mais limitent la plage de sélection des réponses du modèle et ne peuvent pas tester pleinement la capacité du modèle à répondre aux questions scientifiques. En revanche, les questions et réponses ouvertes

Cinq écoles d'apprentissage automatique que vous ne connaissez pas Cinq écoles d'apprentissage automatique que vous ne connaissez pas Jun 05, 2024 pm 08:51 PM

L'apprentissage automatique est une branche importante de l'intelligence artificielle qui donne aux ordinateurs la possibilité d'apprendre à partir de données et d'améliorer leurs capacités sans être explicitement programmés. L'apprentissage automatique a un large éventail d'applications dans divers domaines, de la reconnaissance d'images et du traitement du langage naturel aux systèmes de recommandation et à la détection des fraudes, et il change notre façon de vivre. Il existe de nombreuses méthodes et théories différentes dans le domaine de l'apprentissage automatique, parmi lesquelles les cinq méthodes les plus influentes sont appelées les « Cinq écoles d'apprentissage automatique ». Les cinq grandes écoles sont l’école symbolique, l’école connexionniste, l’école évolutionniste, l’école bayésienne et l’école analogique. 1. Le symbolisme, également connu sous le nom de symbolisme, met l'accent sur l'utilisation de symboles pour le raisonnement logique et l'expression des connaissances. Cette école de pensée estime que l'apprentissage est un processus de déduction inversée, à travers les connaissances existantes.

Les performances de SOTA, la méthode d'IA de prédiction d'affinité protéine-ligand multimodale de Xiamen, combinent pour la première fois des informations sur la surface moléculaire Les performances de SOTA, la méthode d'IA de prédiction d'affinité protéine-ligand multimodale de Xiamen, combinent pour la première fois des informations sur la surface moléculaire Jul 17, 2024 pm 06:37 PM

Editeur | KX Dans le domaine de la recherche et du développement de médicaments, il est crucial de prédire avec précision et efficacité l'affinité de liaison des protéines et des ligands pour le criblage et l'optimisation des médicaments. Cependant, les études actuelles ne prennent pas en compte le rôle important des informations sur la surface moléculaire dans les interactions protéine-ligand. Sur cette base, des chercheurs de l'Université de Xiamen ont proposé un nouveau cadre d'extraction de caractéristiques multimodales (MFE), qui combine pour la première fois des informations sur la surface des protéines, la structure et la séquence 3D, et utilise un mécanisme d'attention croisée pour comparer différentes modalités. alignement. Les résultats expérimentaux démontrent que cette méthode atteint des performances de pointe dans la prédiction des affinités de liaison protéine-ligand. De plus, les études d’ablation démontrent l’efficacité et la nécessité des informations sur la surface des protéines et de l’alignement des caractéristiques multimodales dans ce cadre. Les recherches connexes commencent par "S

Préparant des marchés tels que l'IA, GlobalFoundries acquiert la technologie du nitrure de gallium de Tagore Technology et les équipes associées Préparant des marchés tels que l'IA, GlobalFoundries acquiert la technologie du nitrure de gallium de Tagore Technology et les équipes associées Jul 15, 2024 pm 12:21 PM

Selon les informations de ce site Web du 5 juillet, GlobalFoundries a publié un communiqué de presse le 1er juillet de cette année, annonçant l'acquisition de la technologie de nitrure de gallium (GaN) et du portefeuille de propriété intellectuelle de Tagore Technology, dans l'espoir d'élargir sa part de marché dans l'automobile et Internet. des objets et des domaines d'application des centres de données d'intelligence artificielle pour explorer une efficacité plus élevée et de meilleures performances. Alors que des technologies telles que l’intelligence artificielle générative (GenerativeAI) continuent de se développer dans le monde numérique, le nitrure de gallium (GaN) est devenu une solution clé pour une gestion durable et efficace de l’énergie, notamment dans les centres de données. Ce site Web citait l'annonce officielle selon laquelle, lors de cette acquisition, l'équipe d'ingénierie de Tagore Technology rejoindrait GF pour développer davantage la technologie du nitrure de gallium. g

See all articles