Les GPU pour résoudre les problÚmes informatiques modernes



L'unitĂ© de traitement graphique (GPU) est un excellent exemple de la façon dont la technologie conçue pour les tĂąches de traitement graphique s'est propagĂ©e Ă  un domaine sans rapport avec le calcul haute performance. Les GPU modernes sont au cƓur de nombreux projets complexes dans le domaine de l'apprentissage automatique et de l'analyse des donnĂ©es. Dans notre article de revue, nous dĂ©crirons comment les clients de Selectel utilisent un Ă©quipement avec un GPU et rĂ©flĂ©chirons Ă  l'avenir de la science des donnĂ©es et des appareils informatiques avec les enseignants de la Yandex Data Analysis School.

Les GPU ont beaucoup changé au cours des dix derniÚres années. En plus d'une énorme augmentation de la productivité, il y avait une séparation des appareils par type d'utilisation. Ainsi, les cartes vidéo pour les systÚmes de jeu à domicile et les installations de réalité virtuelle se distinguent dans une direction distincte. De puissants appareils hautement spécialisés apparaissent: pour les systÚmes de serveurs, l'un des principaux accélérateurs est le NVIDIA Tesla P100 , conçu spécifiquement pour une utilisation industrielle dans les centres de données. En plus du GPU, des recherches sont en cours dans le domaine de la création d'un nouveau type de processeur qui imite le cerveau. Un exemple est la plate-forme monopuce Kirin 970 avec son propre processeur neuromorphique pour les tùches liées aux réseaux de neurones et à la reconnaissance des formes.

Cette situation vous fait réfléchir aux problÚmes suivants:

  • Pourquoi le domaine de l'analyse des donnĂ©es et de l'apprentissage automatique est-il devenu si populaire?
  • Comment les GPU ont-ils dominĂ© le marchĂ© des Ă©quipements gourmands en donnĂ©es?
  • Quelles recherches dans le domaine de l'analyse des donnĂ©es seront les plus prometteuses dans un avenir proche?

Essayons de traiter ces problÚmes dans l'ordre, en commençant par les premiers processeurs vidéo simples et en terminant par les appareils modernes hautes performances.

Âge du GPU


Rappelons d'abord ce qu'est un GPU. L'unitĂ© de traitement graphique est un processeur graphique largement utilisĂ© dans les systĂšmes de bureau et de serveur. Une caractĂ©ristique distinctive de cet appareil est sa concentration sur le calcul parallĂšle de masse. Contrairement aux GPU, l'architecture d'un autre CPU (Central Processor Unit) est conçue pour le traitement sĂ©quentiel des donnĂ©es. Si le nombre de cƓurs dans un processeur standard est mesurĂ© en dizaines, alors dans le GPU, ils sont comptĂ©s en milliers, ce qui impose des restrictions sur les types de commandes qui sont exĂ©cutĂ©es, mais fournit des performances de calcul Ă©levĂ©es dans les tĂąches impliquant le parallĂ©lisme.

Premiers pas


Le développement des processeurs vidéo dans les premiers stades était étroitement lié au besoin croissant d'un dispositif informatique distinct pour le traitement des graphiques en deux et trois dimensions. Avant l'apparition des circuits de contrÎleur vidéo individuels dans les années 70, la sortie d'image était réalisée grùce à l'utilisation d'une logique discrÚte, ce qui affectait l'augmentation de la consommation d'énergie et la grande taille des cartes de circuits imprimés. Des microcircuits spécialisés ont permis de distinguer le développement d'appareils conçus pour travailler avec des graphiques dans une direction distincte.

Le prochain Ă©vĂ©nement rĂ©volutionnaire a Ă©tĂ© l'Ă©mergence d'une nouvelle classe d'appareils plus complexes et multifonctionnels - les processeurs vidĂ©o. En 1996, 3dfx Interactive a lancĂ© le chipset Voodoo Graphics, qui a rapidement occupĂ© 85% du marchĂ© des appareils vidĂ©o spĂ©cialisĂ©s et est devenu le leader dans le domaine des graphiques 3D de l'Ă©poque. AprĂšs une sĂ©rie de dĂ©cisions infructueuses de la direction de la sociĂ©tĂ©, parmi lesquelles l’achat du fabricant de cartes vidĂ©o STB, 3dfx a perdu le championnat face Ă  NVIDIA et ATI (plus tard AMD) et a dĂ©clarĂ© faillite en 2002.

Informatique GPU générale


En 2006, NVIDIA a annoncĂ© la sortie de la gamme de produits de la sĂ©rie GeForce 8, qui a marquĂ© le dĂ©but d'une nouvelle classe d'appareils conçus pour l'informatique gĂ©nĂ©rale sur GPU (GPGPU). Au cours du dĂ©veloppement, NVIDIA est parvenu Ă  la conclusion qu'un plus grand nombre de cƓurs fonctionnant Ă  une frĂ©quence infĂ©rieure sont plus efficaces pour des charges parallĂšles qu'un petit nombre de cƓurs plus productifs. La nouvelle gĂ©nĂ©ration de processeurs vidĂ©o a pris en charge le calcul parallĂšle non seulement pour le traitement des flux vidĂ©o, mais Ă©galement pour les problĂšmes liĂ©s Ă  l'apprentissage automatique, Ă  l'algĂšbre linĂ©aire, aux statistiques et Ă  d'autres tĂąches scientifiques ou commerciales.



Leader reconnu


Les diffĂ©rences dans le rĂ©glage initial des tĂąches pour le CPU et le GPU ont conduit Ă  des diffĂ©rences significatives dans l'architecture des pĂ©riphĂ©riques - haute frĂ©quence par rapport au multicƓur. Pour les GPU, cela a mis Ă  disposition le potentiel informatique, qui est actuellement pleinement rĂ©alisĂ©. Les processeurs vidĂ©o avec un nombre impressionnant de cƓurs de calcul plus faibles font un excellent travail de calcul parallĂšle. Le processeur central, historiquement conçu pour travailler avec des tĂąches sĂ©quentielles, reste le meilleur dans son domaine.

Par exemple, nous comparons les valeurs des performances des processeurs centraux et graphiques effectuant une tùche commune dans les réseaux de neurones - la multiplication de matrices d'ordre élevé. Nous sélectionnons les appareils suivants pour les tests:

  • CPU Intel Xeon E5-2680 v4 - 28 threads avec HyperThreading, 2,4 GHZ;
  • GPU NVIDIA GTX 1080 - 2560 cƓurs CUDA, 1607 MHz, 8 Go GDDR5X.

Nous utilisons un exemple de calcul de la multiplication matricielle par CPU et GPU dans un ordinateur portable Jupyter:



Dans le code ci-dessus, nous mesurons le temps qu'il a fallu pour calculer des matrices du mĂȘme ordre sur un central ou GPU ("Runtime"). Les donnĂ©es peuvent ĂȘtre reprĂ©sentĂ©es sous la forme d'un graphique sur lequel l'axe horizontal affiche l'ordre des matrices Ă  multiplier, et l'axe vertical montre le temps d'exĂ©cution en secondes:



La ligne du graphique, surlignĂ©e en orange, indique le temps nĂ©cessaire pour crĂ©er des donnĂ©es dans la RAM conventionnelle, les transfĂ©rer dans la mĂ©moire du GPU et les calculs ultĂ©rieurs. La ligne verte indique le temps nĂ©cessaire pour calculer les donnĂ©es qui ont dĂ©jĂ  Ă©tĂ© gĂ©nĂ©rĂ©es dans la mĂ©moire de la carte vidĂ©o (sans les transfĂ©rer de la RAM). Le bleu affiche le temps de comptage sur le processeur central. Les matrices de l'ordre de moins de 1 000 Ă©lĂ©ments sont multipliĂ©es par le GPU et le CPU presque en mĂȘme temps. La diffĂ©rence de performances se manifeste bien avec des matrices supĂ©rieures Ă  2000 en 2000, lorsque le temps de calcul sur le CPU passe Ă  1 seconde et que le GPU reste proche de zĂ©ro.

Des tĂąches plus complexes et pratiques sont rĂ©solues plus efficacement sur un appareil dotĂ© de processeurs graphiques que sans eux. Étant donnĂ© que les problĂšmes que nos clients rĂ©solvent sur les Ă©quipements GPU sont trĂšs divers, nous avons dĂ©cidĂ© de dĂ©couvrir quels sont les cas d'utilisation les plus populaires.

Qui chez Selectel vit bien avec le GPU?


La premiĂšre option qui vient immĂ©diatement Ă  l'esprit et s'avĂšre ĂȘtre la bonne estimation est l'exploitation miniĂšre, mais il est curieux de noter que certains l'utilisent comme moyen auxiliaire pour charger l'Ă©quipement au «maximum». Dans le cas de la location d'un serveur dĂ©diĂ© avec des cartes vidĂ©o, le temps libre des charges de travail est utilisĂ© pour extraire les crypto-monnaies qui ne nĂ©cessitent pas d'installations spĂ©cialisĂ©es (fermes) pour leur rĂ©ception.

Devenues déjà un peu classiques, les tùches liées au traitement graphique et au rendu trouvent invariablement leur place sur les serveurs Selectel équipés d'accélérateurs graphiques. L'utilisation d'équipements performants pour de telles tùches vous permet d'obtenir une solution plus efficace que l'organisation de postes de travail dédiés avec des cartes vidéo.

Lors d'une conversation avec nos clients, nous avons également rencontré des représentants de la Yandex Data Analysis School, qui utilise les installations de Selectel pour organiser des environnements éducatifs de test. Nous avons décidé d'en savoir plus sur ce que font les étudiants et les enseignants, quels domaines de l'apprentissage automatique sont maintenant populaires et ce que l'avenir réserve à l'industrie aprÚs que de jeunes spécialistes ont rejoint les rangs des principales organisations ou lancé leurs startups.

Science des données


Peut-ĂȘtre que parmi nos lecteurs, il n'y aura pas ceux qui n'entendraient pas l'expression «rĂ©seaux de neurones» ou «apprentissage automatique». AprĂšs avoir Ă©cartĂ© les variations marketing au sujet de ces mots, un rĂ©sidu sec est obtenu sous la forme d'une science des donnĂ©es Ă©mergente et prometteuse.

L'approche moderne de l'utilisation des données comprend plusieurs domaines principaux:

  • Big data Le principal problĂšme dans ce domaine est la quantitĂ© colossale d'informations qui ne peuvent pas ĂȘtre traitĂ©es sur un seul serveur. Du point de vue de la prise en charge de l'infrastructure, il est nĂ©cessaire de rĂ©soudre les problĂšmes de crĂ©ation de systĂšmes de cluster, d'Ă©volutivitĂ©, de tolĂ©rance aux pannes et de stockage de donnĂ©es distribuĂ©;
  • TĂąches gourmandes en ressources (machine learning, deep learning et autres). Dans ce cas, la question se pose de l'utilisation de l'informatique hautes performances, nĂ©cessitant une grande quantitĂ© de RAM et de ressources processeur. Dans de telles tĂąches, les systĂšmes avec accĂ©lĂ©rateurs graphiques sont activement utilisĂ©s.


La frontiÚre entre les données de direction s'efface progressivement: les principaux outils pour travailler avec les mégadonnées (Hadoop, Spark) implémentent la prise en charge du calcul GPU, et les tùches d'apprentissage automatique couvrent de nouveaux domaines et nécessitent plus de données. Les enseignants et les étudiants de la School of Data Analysis nous aideront à comprendre plus en détail.



Il est difficile de surestimer l'importance d'un travail compĂ©tent avec les donnĂ©es et la mise en Ɠuvre appropriĂ©e d'outils analytiques avancĂ©s. Il ne s’agit mĂȘme pas de mĂ©gadonnĂ©es, de leurs «lacs» ou «riviĂšres», mais de l’interaction intellectuelle avec l’information. Ce qui se passe maintenant est une situation unique: nous pouvons collecter une grande variĂ©tĂ© d'informations et utiliser des outils et des services avancĂ©s pour une analyse approfondie. L'entreprise prĂ©sente de telles technologies non seulement pour obtenir des analyses avancĂ©es, mais aussi pour crĂ©er un produit unique dans n'importe quelle industrie. C'est le dernier point qui façonne et stimule largement la croissance de l'industrie de l'analyse des donnĂ©es.

Nouvelle direction


Partout, nous sommes entourés d'informations: des journaux des sociétés Internet et des opérations bancaires aux témoignages d'expériences au Grand collisionneur de hadrons. La capacité de travailler avec ces données peut apporter des millions de profits et donner des réponses aux questions fondamentales sur la structure de l'Univers. Par conséquent, l'analyse des données est devenue un domaine de recherche distinct au sein de la communauté commerciale et scientifique.

L'école d'analyse des données prépare les meilleurs spécialistes et scientifiques spécialisés qui deviendront à l'avenir la principale source de développements scientifiques et industriels dans ce domaine. Le développement de l'industrie nous affecte également en tant que fournisseur d'infrastructure - de plus en plus de clients demandent des configurations de serveur pour des tùches d'analyse de données.

Les spĂ©cificitĂ©s des tĂąches auxquelles nos clients sont confrontĂ©s dĂ©pendent de l'Ă©quipement que nous devons offrir Ă  nos clients et dans quelle direction notre gamme de produits doit ĂȘtre dĂ©veloppĂ©e. En collaboration avec Stanislav Fedotov et Oleg Ivchenko, nous avons interviewĂ© des Ă©tudiants et des enseignants de la School of Data Analysis et dĂ©couvert quelles technologies ils utilisent pour rĂ©soudre des problĂšmes pratiques.



Technologies d'analyse des données


Au cours de la formation, les étudiants des bases (mathématiques supérieures de base, algorithmes et programmation) atteignent les domaines les plus avancés de l'apprentissage automatique. Nous avons collecté des informations sur ceux qui utilisent des serveurs avec des GPU:

  • Apprentissage profond;
  • Formation de renforcement;
  • Vision par ordinateur;
  • Traitement automatique de texte.

Les étudiants utilisent des outils spécialisés dans leurs travaux et études. Certaines bibliothÚques sont conçues pour apporter des données au format requis, tandis que d'autres sont conçues pour fonctionner avec un type spécifique d'informations, par exemple du texte ou des images. L'apprentissage en profondeur est l'un des domaines les plus difficiles de l'analyse des données qui utilise largement les réseaux de neurones. Nous avons décidé de savoir quels enseignants et étudiants utilisent les cadres pour travailler avec les réseaux de neurones.



Les outils prĂ©sentĂ©s bĂ©nĂ©ficient d'un soutien diffĂ©rent de la part des crĂ©ateurs, mais nĂ©anmoins, ils continuent d'ĂȘtre activement utilisĂ©s Ă  des fins de formation et de travail. Beaucoup d'entre eux ont besoin d'un Ă©quipement productif pour gĂ©rer les tĂąches dans un dĂ©lai adĂ©quat.

Développement et projets


Comme toute science, la direction de l'analyse des données va changer. L'expérience que les étudiants acquiÚrent aujourd'hui constituera sans aucun doute la base des développements futurs. Par conséquent, il convient de noter séparément l'orientation pratique élevée du programme - certains étudiants, pendant leurs études ou aprÚs, commencent à effectuer un stage chez Yandex et appliquent déjà leurs connaissances sur de vrais services et services (recherche, vision par ordinateur, reconnaissance vocale et autres).

Nous avons discuté de l'avenir de l'analyse des données avec les enseignants de la School of Data Analysis, qui nous ont fait part de leur vision du développement de la science des données.

Selon Vlad Shahuro , professeur du cours «Analyse d'images et de vidéos», les tùches les plus intéressantes en vision par ordinateur sont d'assurer la sécurité dans les endroits surpeuplés, de conduire un véhicule sans pilote et de créer une application utilisant la réalité augmentée. Pour résoudre ces problÚmes, il est nécessaire de pouvoir analyser qualitativement les données vidéo et de développer principalement des algorithmes de détection et de suivi d'objets, de reconnaissance d'une personne par le visage et de reconstruction tridimensionnelle de la scÚne observée. Le conférencier Victor Lempitsky , un cours de formation approfondie de premier plan, distingue les auto-encodeurs, ainsi que les réseaux génératifs et compétitifs, dans sa direction.

L'un des mentors de la School of Data Analysis partage son avis sur la diffusion et le démarrage de l'utilisation massive du machine learning:

«L'apprentissage automatique, du lot des quelques chercheurs obsédés, se transforme en un autre outil pour le développeur moyen. Auparavant (par exemple, en 2012), les gens écrivaient du code de bas niveau pour entraßner les réseaux convolutionnels sur une paire de cartes vidéo. Maintenant, n'importe qui peut en quelques heures:

  • tĂ©lĂ©charger les poids d'un rĂ©seau neuronal dĂ©jĂ  formĂ© (par exemple, en keras);
  • faire avec lui une solution pour votre tĂąche ( rĂ©glage fin, apprentissage zĂ©ro );
  • l'intĂ©grer dans votre site Web ou application mobile (tensorflow / caffe 2).

De nombreuses grandes entreprises et startups ont dĂ©jĂ  gagnĂ© sur une telle stratĂ©gie (par exemple, Prisma), mais il reste encore des problĂšmes Ă  dĂ©couvrir et Ă  rĂ©soudre. Et peut-ĂȘtre que toute cette histoire de machine / apprentissage en profondeur deviendra un jour aussi banale que Python ou Excel. »

Selon Oleg Ivchenko , administrateur de l'infrastructure du serveur ShAD, les ressources standard pour l'apprentissage en profondeur sur des ensembles de données standard (par exemple, CIFAR, MNIST) nécessitent les ressources suivantes:

  • 6 cƓurs de processeur;
  • 16 Go de RAM;
  • 1 carte GPU avec 6-8 Go ​​de mĂ©moire vidĂ©o. Cela correspond aux cartes graphiques comme le PNY NVIDIA GeForce GTX 1060 ou MSI GeForce GTX 1070.

Personne ne peut prĂ©dire avec prĂ©cision la technologie de l'avenir aujourd'hui, mais lorsqu'il existe un certain vecteur de mouvement, vous pouvez comprendre ce qui doit ĂȘtre Ă©tudiĂ© maintenant. Et il y a beaucoup d'opportunitĂ©s pour cela dans le monde moderne.

Opportunités pour les débutants


L'étude de l'analyse des données est limitée par des exigences élevées pour les étudiants: connaissances approfondies dans le domaine des mathématiques et des algorithmes, capacité à programmer. Les tùches d'apprentissage machine vraiment sérieuses nécessitent un équipement spécialisé. Et pour ceux qui veulent en savoir plus sur la composante théorique de la science des données, la School of Data Analysis, en collaboration avec la Higher School of Economics , a lancé un cours en ligne " Introduction to Machine Learning ".

Au lieu d'une conclusion


La croissance du marchĂ© des GPU est fournie par l'intĂ©rĂȘt croissant pour les capacitĂ©s de ces appareils. Le GPU est utilisĂ© dans les systĂšmes de jeu Ă  domicile, les tĂąches de rendu et de traitement vidĂ©o, ainsi que dans les cas oĂč un calcul gĂ©nĂ©ral Ă  haute performance est requis. L'application pratique des tĂąches d'exploration de donnĂ©es va pĂ©nĂ©trer plus profondĂ©ment dans notre vie quotidienne. Et l'exĂ©cution de ces programmes est plus efficacement effectuĂ©e avec prĂ©cision Ă  l'aide du GPU.

Nous remercions nos clients, ainsi que les enseignants et Ă©tudiants de l'École d'analyse des donnĂ©es pour la prĂ©paration conjointe du matĂ©riel, et invitons nos lecteurs Ă  mieux les connaĂźtre.

Et expérimentés et sophistiqués dans le domaine de l'apprentissage automatique, de l'analyse des données et non seulement nous vous proposons de voir les offres de Selectel pour la location d'équipements de serveurs avec accélérateurs graphiques: du simple GTX 1080 au Tesla P100 et K80 pour les tùches les plus exigeantes.

Source: https://habr.com/ru/post/fr417721/


All Articles