Machine Learning et performance des accélérateurs : un terrain propice aux entourloupes |
————— 06 Mai 2020 à 15h05 —— 10277 vues
Machine Learning et performance des accélérateurs : un terrain propice aux entourloupes |
————— 06 Mai 2020 à 15h05 —— 10277 vues
Quand un fabriquant de puces cause performance, la mesure classique en informatique est le FLOPS, ou Floating-Point Operation Per Second. Cette unité correspond au nombre maximum de calculs sur des chiffres à virgule flottante (un système de représentation de nombres permettant à la fois d’atteindre des nombres très proches de zéros et d’autres très grands) effectués par seconde. Et ce maximum signifie « quand tout se passe bien », c’est-à-dire que les chargements et les rangements en mémoire des données concernées ne retardent rien. Sur les architectures x86, cette donnée est calculée simplement sur de la multiplication de matrice... ce qui est loin d’être l’application la plus pertinente. C’est d’ailleurs pour cette raison que nos tests sont effectués sur un panel étendu d’applications, afin de capturer toute la variance des performances selon les tâches demandées.
Pour les accélérateurs de machine learning, l’histoire est identique, à l’exception près que l’unité est l’OPS (Opération Par seconde) et non le FLOPS. Sans trop rentrer dans les détails, il est possible de gonfler artificiellement les OPS sur les architectures de CPU récentes en ajoutant des instructions inutiles, chose impossible sur les simplistes ASIC dédiés à l’IA. Si les réseaux les plus simples sont très proches des multiplications matricielles simples, les performances baissent rapidement dès lors que l’algorithme utilisé se complexifie.
Avec ce genre de réseau, inutile d’espérer autant de TOPS que ceux marqués sur la fiche
Bien sûr, les programmeurs peuvent calculer à la main les Tera-OPS (abrégées TOPS) en chronométrant le temps d’exécution et en divisant par les opérations effectuées, mais cela ne permet pas de choisir quelle plateforme acheter avant de poser la main sur le précieux composant. D’ailleurs, vous avez peut-être déjà remarqué que, dans nos colonnes, certains fabricants se mesurent en nombre d’inférence par seconde sur des benchmarks classiques tels ResNet.
Du coup, certains cherchent à établir un benchmark de référence permettant de classifier les accélérateurs, GPU compris, tels AI-Benchmark.com. Néanmoins, les choses évoluent lentement, d’autant plus que le marketing adore afficher des chiffres toujours plus élevés que la concurrence. Méfiance, donc ! (Source : SemiEngineering)
Un poil avant ?L'Unreal Engine 4 prêt pour l'avenir ! | Un peu plus tard ...Comptotuto • Jouer sur Linux (plutôt que sur Windows) |