


En modifiant quelques lignes de code, PyTorch accélère l'alchimie et le temps d'optimisation du modèle est considérablement réduit.
Comment améliorer la vitesse de « l'alchimie » dans PyTorch ?
Récemment, Sebastian Raschka, chercheur bien connu en apprentissage automatique et en IA, nous a montré son astuce. Selon lui, sa méthode a réduit le temps d'optimisation du BERT de 22,63 minutes à 3,15 minutes en modifiant seulement quelques lignes de code sans affecter la précision du modèle, et la vitesse d'entraînement a été multipliée par 7.
L'auteur a même déclaré que si vous disposez de 8 GPU, l'ensemble du processus de formation ne prend que 2 minutes, ce qui permet d'obtenir une accélération des performances 11,5 fois supérieure.
Voyons comment il y est parvenu.
Rendre la formation du modèle PyTorch plus rapide
Tout d'abord, l'auteur utilise le modèle DistilBERT pour la recherche, qui est une version simplifiée de BERT. Par rapport à BERT, l'échelle est réduite de 40 %, mais il y en a. presque aucune perte de performances. Le second est l'ensemble de données. L'ensemble de données de formation est l'IMDB Large Movie Review, un grand ensemble de données de critiques de films, qui contient un total de 50 000 critiques de films. L'auteur utilisera la méthode c dans la figure ci-dessous pour prédire le sentiment des critiques de films dans l'ensemble de données.
Une fois les tâches de base expliquées clairement, voici le processus de formation de PyTorch. Afin de permettre à chacun de mieux comprendre cette tâche, l'auteur présente également en détail un exercice d'échauffement, c'est-à-dire comment entraîner le modèle DistilBERT sur l'ensemble de données de critiques de films IMDB. Si vous souhaitez exécuter le code vous-même, vous pouvez configurer un environnement virtuel à l'aide des bibliothèques Python appropriées, comme indiqué ci-dessous :
Les versions du logiciel concerné sont les suivantes :
Maintenant, évitez les plus ennuyeux. Pour une introduction au chargement de données, il vous suffit de savoir que cet article divise l'ensemble de données en 35 000 exemples de formation, 5 000 exemples de validation et 10 000 exemples de test. Le code requis est le suivant :
Capture d'écran de la partie code
Adresse complète du code : /rapide er-pytorch -blog/blob/main/1_pytorch-distilbert.py
Ensuite, exécutez le code sur le GPU A100 et obtenez les résultats suivants :
Capture d'écran de quelques résultats
Comme mentionné ci-dessus Comme le montre le code, le modèle est un peu surajusté du deuxième au troisième tour, et la précision de la vérification passe de 92,89 % à 92,09 %. Après avoir affiné le modèle pendant 22,63 minutes, la précision finale du test était de 91,43 %.
Utilisation de la classe Trainer
La prochaine étape consiste à améliorer le code ci-dessus. La partie amélioration consiste principalement à envelopper le modèle PyTorch dans LightningModule afin que la classe Trainer de Lightning puisse être utilisée. Certaines captures d'écran de code sont les suivantes :
Adresse complète du code : https://github.com/rasbt/faster-pytorch-blog/blob/main/2_pytorch-with-trainer.py
Le code ci-dessus crée un LightningModule, qui définit comment effectuer la formation, la validation et les tests. Par rapport au code donné précédemment, le principal changement se situe dans la partie 5 (c'est-à-dire ### 5 Finetuning), qui consiste à affiner le modèle. Contrairement à avant, la partie de réglage fin enveloppe le modèle PyTorch dans la classe LightningModel et utilise la classe Trainer pour s'adapter au modèle.
Le code précédent montrait que la précision de validation avait chuté du tour 2 au tour 3, mais le code amélioré utilise ModelCheckpoint pour charger le meilleur modèle. Sur la même machine, le modèle a atteint une précision de test de 92 % en 23,09 minutes.
Notez que si vous désactivez les points de contrôle et autorisez PyTorch à s'exécuter en mode non déterministe, cette exécution finira par obtenir la même durée d'exécution que PyTorch standard (durée 22,63 minutes au lieu de 23,09 minutes).
Entraînement automatique de précision mixte
De plus, si le GPU prend en charge l'entraînement de précision mixte, vous pouvez activer le GPU pour améliorer l'efficacité informatique. Les auteurs utilisent un entraînement automatique à précision mixte, basculant entre 32 bits et 16 bits à virgule flottante sans sacrifier la précision.
Dans le cadre de cette optimisation, en utilisant la classe Trainer, un entraînement automatique de précision mixte peut être réalisé avec une seule ligne de code :
Les opérations ci-dessus peuvent réduire le temps d'entraînement de 23,09 minutes à 8,75 minutes, soit presque 3 fois plus rapide. La précision sur l'ensemble de test est de 92,2 %, ce qui est même légèrement amélioré par rapport aux 92,0 % précédents.
Utilisation de Torch.Compile static graph
L'annonce récente de PyTorch 2.0 montre que l'équipe PyTorch a introduit une nouvelle fonction toch.compile. Cette fonction peut accélérer l'exécution du code PyTorch en générant des graphiques statiques optimisés au lieu d'utiliser des graphiques dynamiques pour exécuter le code PyTorch.
Étant donné que PyTorch 2.0 n'est pas encore officiellement publié, vous devez d'abord installer torchtriton et mettre à jour vers la dernière version de PyTorch pour utiliser cette fonctionnalité.一 Modifiez ensuite le code en ajoutant cette ligne :
Ce qui précède présente la formation de précision mixte du code accéléré sur un seul GPU. Ensuite, nous introduisons la stratégie de formation multi-GPU. La figure ci-dessous résume plusieurs techniques de formation multi-GPU différentes.
Si vous souhaitez obtenir un parallélisme de données distribué, vous pouvez y parvenir via DistributedDataParallel. Il vous suffit de modifier une ligne de code pour utiliser Trainer.
Après cette étape d'optimisation, sur 4 GPU A100, ce code a fonctionné pendant 3,52 minutes et a atteint une précision de test de 93,1%.
DeepSpeed
Enfin, l'auteur explore l'utilisation de la bibliothèque d'optimisation du deep learning DeepSpeed dans Trainer et Results of stratégie multi-GPU. Tout d'abord, vous devez installer la bibliothèque DeepSpeed :
Ensuite, il vous suffit de modifier une seule ligne de code pour activer la bibliothèque :
Après cette vague, il a fallu 3,15 minutes pour atteindre 92,6 % de précision du test. Cependant, PyTorch propose également une alternative à DeepSpeed : DataParallel entièrement fragmenté, appelé avec stratégie="fsdp", qui a finalement pris 3,62 minutes.
Ce qui précède est la méthode de l'auteur pour améliorer la vitesse de formation du modèle PyTorch. Les amis intéressés peuvent suivre le blog original et l'essayer, je pense que vous obtiendrez les résultats souhaités.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

0. À quoi sert cet article ? Nous proposons DepthFM : un modèle d'estimation de profondeur monoculaire génératif de pointe, polyvalent et rapide. En plus des tâches traditionnelles d'estimation de la profondeur, DepthFM démontre également des capacités de pointe dans les tâches en aval telles que l'inpainting en profondeur. DepthFM est efficace et peut synthétiser des cartes de profondeur en quelques étapes d'inférence. Lisons ce travail ensemble ~ 1. Titre des informations sur l'article : DepthFM : FastMonocularDepthEstimationwithFlowMatching Auteur : MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

Imaginez un modèle d'intelligence artificielle qui non seulement a la capacité de surpasser l'informatique traditionnelle, mais qui permet également d'obtenir des performances plus efficaces à moindre coût. Ce n'est pas de la science-fiction, DeepSeek-V2[1], le modèle MoE open source le plus puissant au monde est ici. DeepSeek-V2 est un puissant mélange de modèle de langage d'experts (MoE) présentant les caractéristiques d'une formation économique et d'une inférence efficace. Il est constitué de 236B paramètres, dont 21B servent à activer chaque marqueur. Par rapport à DeepSeek67B, DeepSeek-V2 offre des performances plus élevées, tout en économisant 42,5 % des coûts de formation, en réduisant le cache KV de 93,3 % et en augmentant le débit de génération maximal à 5,76 fois. DeepSeek est une entreprise explorant l'intelligence artificielle générale

L’IA change effectivement les mathématiques. Récemment, Tao Zhexuan, qui a prêté une attention particulière à cette question, a transmis le dernier numéro du « Bulletin de l'American Mathematical Society » (Bulletin de l'American Mathematical Society). En se concentrant sur le thème « Les machines changeront-elles les mathématiques ? », de nombreux mathématiciens ont exprimé leurs opinions. L'ensemble du processus a été plein d'étincelles, intense et passionnant. L'auteur dispose d'une équipe solide, comprenant Akshay Venkatesh, lauréat de la médaille Fields, le mathématicien chinois Zheng Lejun, l'informaticien de l'Université de New York Ernest Davis et de nombreux autres universitaires bien connus du secteur. Le monde de l’IA a radicalement changé. Vous savez, bon nombre de ces articles ont été soumis il y a un an.

Boston Dynamics Atlas entre officiellement dans l’ère des robots électriques ! Hier, l'Atlas hydraulique s'est retiré "en larmes" de la scène de l'histoire. Aujourd'hui, Boston Dynamics a annoncé que l'Atlas électrique était au travail. Il semble que dans le domaine des robots humanoïdes commerciaux, Boston Dynamics soit déterminé à concurrencer Tesla. Après la sortie de la nouvelle vidéo, elle a déjà été visionnée par plus d’un million de personnes en seulement dix heures. Les personnes âgées partent et de nouveaux rôles apparaissent. C'est une nécessité historique. Il ne fait aucun doute que cette année est l’année explosive des robots humanoïdes. Les internautes ont commenté : Les progrès des robots ont fait ressembler la cérémonie d'ouverture de cette année à des êtres humains, et le degré de liberté est bien plus grand que celui des humains. Mais n'est-ce vraiment pas un film d'horreur ? Au début de la vidéo, Atlas est allongé calmement sur le sol, apparemment sur le dos. Ce qui suit est à couper le souffle

Plus tôt ce mois-ci, des chercheurs du MIT et d'autres institutions ont proposé une alternative très prometteuse au MLP – KAN. KAN surpasse MLP en termes de précision et d’interprétabilité. Et il peut surpasser le MLP fonctionnant avec un plus grand nombre de paramètres avec un très petit nombre de paramètres. Par exemple, les auteurs ont déclaré avoir utilisé KAN pour reproduire les résultats de DeepMind avec un réseau plus petit et un degré d'automatisation plus élevé. Plus précisément, le MLP de DeepMind compte environ 300 000 paramètres, tandis que le KAN n'en compte qu'environ 200. KAN a une base mathématique solide comme MLP est basé sur le théorème d'approximation universelle, tandis que KAN est basé sur le théorème de représentation de Kolmogorov-Arnold. Comme le montre la figure ci-dessous, KAN a

Quoi? Zootopie est-elle concrétisée par l’IA domestique ? Avec la vidéo est exposé un nouveau modèle de génération vidéo domestique à grande échelle appelé « Keling ». Sora utilise une voie technique similaire et combine un certain nombre d'innovations technologiques auto-développées pour produire des vidéos qui comportent non seulement des mouvements larges et raisonnables, mais qui simulent également les caractéristiques du monde physique et possèdent de fortes capacités de combinaison conceptuelle et d'imagination. Selon les données, Keling prend en charge la génération de vidéos ultra-longues allant jusqu'à 2 minutes à 30 ips, avec des résolutions allant jusqu'à 1080p, et prend en charge plusieurs formats d'image. Un autre point important est que Keling n'est pas une démo ou une démonstration de résultats vidéo publiée par le laboratoire, mais une application au niveau produit lancée par Kuaishou, un acteur leader dans le domaine de la vidéo courte. De plus, l'objectif principal est d'être pragmatique, de ne pas faire de chèques en blanc et de se mettre en ligne dès sa sortie. Le grand modèle de Ke Ling est déjà sorti à Kuaiying.

Je pleure à mort. Le monde construit à la folie de grands modèles. Les données sur Internet ne suffisent pas du tout. Le modèle de formation ressemble à « The Hunger Games », et les chercheurs en IA du monde entier se demandent comment nourrir ces personnes avides de données. Ce problème est particulièrement important dans les tâches multimodales. À une époque où rien ne pouvait être fait, une équipe de start-up du département de l'Université Renmin de Chine a utilisé son propre nouveau modèle pour devenir la première en Chine à faire de « l'auto-alimentation des données générées par le modèle » une réalité. De plus, il s’agit d’une approche à deux volets, du côté compréhension et du côté génération, les deux côtés peuvent générer de nouvelles données multimodales de haute qualité et fournir un retour de données au modèle lui-même. Qu'est-ce qu'un modèle ? Awaker 1.0, un grand modèle multimodal qui vient d'apparaître sur le Forum Zhongguancun. Qui est l'équipe ? Moteur Sophon. Fondé par Gao Yizhao, doctorant à la Hillhouse School of Artificial Intelligence de l’Université Renmin.

Récemment, le milieu militaire a été submergé par la nouvelle : les avions de combat militaires américains peuvent désormais mener des combats aériens entièrement automatiques grâce à l'IA. Oui, tout récemment, l’avion de combat IA de l’armée américaine a été rendu public pour la première fois, dévoilant ainsi son mystère. Le nom complet de ce chasseur est Variable Stability Simulator Test Aircraft (VISTA). Il a été personnellement piloté par le secrétaire de l'US Air Force pour simuler une bataille aérienne en tête-à-tête. Le 2 mai, le secrétaire de l'US Air Force, Frank Kendall, a décollé à bord d'un X-62AVISTA à la base aérienne d'Edwards. Notez que pendant le vol d'une heure, toutes les actions de vol ont été effectuées de manière autonome par l'IA ! Kendall a déclaré : "Au cours des dernières décennies, nous avons réfléchi au potentiel illimité du combat air-air autonome, mais cela a toujours semblé hors de portée." Mais maintenant,
