Travis Lanier de Qualcomm s'est entretenu avec XDA pour une interview sur le processeur Kryo 485 de la plate-forme mobile Snapdragon 855 et sur la commercialisation du DSP Hexagon 690.
Le mois dernier, Qualcomm a dévoilé le Plateforme mobile Snapdragon 855. Le Snapdragon 855 est la plate-forme mobile qui équipera la plupart des smartphones phares Android en 2019. Qualcomm a apporté des améliorations substantielles d'année en année avec sa plate-forme mobile de nouvelle génération. La plate-forme mobile Snapdragon 855 est construite sur un processus de fabrication de 7 nm et offre une augmentation impressionnante de 45 % des performances du processeur par rapport au Snapdragon 845. Les améliorations globales du calcul permettent à Qualcomm d'offrir d'excellentes performances d'IA sur le nouveau Snapdragon 855. Il y a beaucoup d'informations à déballer ici et nous avons fait de notre mieux pour les montrer. comment Qualcomm a amélioré les performances et l'IA sur le Snapdragon 855. Cependant, nous avions encore des questions après le dévoilement du produit, nous avons donc rencontré Travis Lanier, Senior Directeur de la gestion des produits chez Qualcomm, pour parler du processeur Kryo 485 et de l'IA sur le nouveau mobile de Qualcomm plate-forme.
Mario Serrafero: "45 % [saut], c'est comme le plus gros jamais réalisé. Déballons cela. Nous avons la base A76, 7 nm – ce sont de gros contributeurs. Il semble que depuis que vous avez abandonné les noyaux personnalisés, certaines publications et publics je n'ai pas vraiment la moindre idée de ce qu'implique la licence Built on ARM en termes de ce qu'elle peut permettre que vous fassiez. Vous avez été assez secret sur ce que cela implique [aussi]. Maintenant, pour l'une des premières fois que vous êtes sur scène, au moins au-delà des questions-réponses,... mais pour la première fois, vous avez montré quelles étaient certaines des améliorations, et c'est cool. Nous nous demandions donc si vous voudriez en savoir plus sur la façon dont Qualcomm a réglé le Kryo 485 pour tirer davantage de [out] Base d'ARM, qu'il s'agisse de développer ce que vous avez exposé là-bas ou quelque chose que vous n'avez pas présenté.
Travis Lanier: "Je ne peux donc pas vraiment en dire plus que ce qu'il y avait dans mes diapositives. Peut-être que nous le pourrons à une date ultérieure, afin que nous puissions nous asseoir et rencontrer des experts qui ont réellement fait le travail; Je connais les points de discussion de haut niveau. Mais comme vous le savez, l'A76 est déjà une conception de haut niveau: c'est plutôt bien. Et c’est l’une des raisons pour lesquelles nous avons vu la feuille de route d’ARM. Alors je me dis, d'accord, peut-être que nous devrions travailler plus étroitement avec ces gars-là, car cela semblait très fort. Et revenons simplement à votre commentaire sur la personnalisation par rapport à ARM. Alors d'accord, il y a toutes ces choses que vous pouvez faire. Et si vous faites quelque chose et que cela doit être différencié, vous pouvez donc faire quelque chose à cent pour cent ou vous associer à eux. Et [comme les années précédentes, nous sommes un peu plus axés sur l'intégration. Donc les bus, et comment nous nous sommes connectés au système, leurs fonctionnalités de sécurité que nous avons mises dans les processeurs, les configurations du cache. Maintenant que les engagements durent plus longtemps, nous avons pu procéder à une personnalisation plus approfondie de celui-ci. Et c'est ainsi que nous avons pu insérer certaines de ces choses, comme des fenêtres d'exécution [dans le désordre] plus grandes, n'est-ce pas, pour que vous ayez plus de fonctionnalités. instructions en vol, la prélecture des données est en fait l'un des domaines où il y a le plus d'innovation dans l'industrie des microprocesseurs tout de suite. Beaucoup de techniques pour beaucoup de ces choses sont assez similaires, tout le monde utilise un prédicteur de branche TAGE de nos jours, quelle que soit la taille de votre provision, les gens savent comment faire dans le désordre, et transférer et tout ça pour des caches plus gros. Mais la prélecture, il y en a encore beaucoup, c'est un de ces trucs de type dark art. Il y a donc encore beaucoup d’innovation dans ce domaine. C'est donc quelque chose pour lequel nous pensions pouvoir aider.
Et puis juste parce que nous sentons que nous faisons généralement un meilleur travail avec... généralement, nous pouvons mettre en œuvre une conception plus rapidement que d’autres ne peuvent intégrer un nœud de processus. Et donc, lorsque nous mettons certaines de ces choses là-dedans, comme lorsque vous êtes plus en panne, cela met plus de pression sur votre conception, n'est-ce pas? Ce n'est pas gratuit d'y ajouter toutes ces choses d'exécution. Donc, pour pouvoir faire cela et ne pas avoir de problème avec votre fmax. Ouais, cela fait partie de l'engagement que nous avons avec ARM, comment les réaliser ?"
Mario Serrafero: "Juste par curiosité, dans la présentation, vous aviez parlé des améliorations d'efficacité à venir à partir de la prélecture, parliez-vous d'efficacité énergétique, d'améliorations des performances, d'un peu de les deux?"
Travis Lanier: "Tout ce qui précède. Donc, de par sa nature, nous effectuons une prélecture: vous avez extrait des éléments du cache. Ainsi, lorsque le cache n'effectue pas autant d'accès à la mémoire, il y a maintenant un revers à la pré-lecture: si vous faites trop de pré-lecture, vous [utilisez] plus de mémoire car, vous vous savez, [vous] faites trop de prélecture spéculative, mais dans la mesure où, si vous avez des éléments dedans et que vous extrayez les bons éléments, alors vous n'allez pas dans votre mémoire pour les extraire là. Ainsi, si vous disposez d’un prélecture plus efficace, vous économisez de l’énergie et augmentez les performances. »
Mario Serrafero: "D'accord, cool, ouais. Oui, je ne m'attendais pas à ce que vous puissiez vous développer bien plus au-delà de cela, mais c'est intéressant que si vous dites cela maintenant, vous personnalisez davantage et peut-être pourrez-vous partager davantage à l'avenir, alors je garderai un œil ouvert sur cela. Donc, l’autre type de personne qui fait tourner les têtes, du moins parmi les personnes qui m’entourent, est le noyau principal. Nous nous attendions donc à des arrangements de cluster plus flexibles depuis quelques années maintenant avec [l'] inclusion de DynamIQ et nous nous attendions à ce que d'autres entreprises s'éloignent de [l'] arrangement 4+4. Donc deux questions: quel était le motif derrière le noyau principal? Comment le noyau principal profite-t-il à l'expérience utilisateur, car nos lecteurs aimeraient savoir pourquoi il n'y a qu'un seul noyau là-bas, et aussi pourquoi ce n'est pas tout à fait un noyau isolé? Le partage du plan d'alimentation avec le cluster de performances ne réduirait-il pas en quelque sorte certains des utilitaires que vous pourriez obtenir si vous utilisiez DynamIQ et que vous étiez en quelque sorte assis seul? »
Travis Lanier: "Parlons donc d'abord de différentes horloges et de différents plans de tension. Ainsi, chaque fois que vous ajoutez une horloge et chaque fois que vous ajoutez une tension, cela coûte de l'argent. Il y a donc une limite au nombre de broches que vous mettez sur le package, vous devez avoir plus de PLL pour différentes horloges et il y a simplement une complexité accrue. Il y a donc un compromis à faire. Nous sommes allés un peu à l'extrême à un moment donné; nous avions quatre domaines différents sur quatre horloges différentes, nous avions donc de l'expérience dans ce domaine et cela coûtait cher. Un peu quand tu commences à devenir grand. LITTLE, vous avez les petits cœurs sur [le] petit cluster et ils n'ont pas vraiment besoin de la même granularité, pour ainsi dire, d'une horloge séparée entre les petits cœurs. Oui, ce que vous en faites est un peu dans l'air du temps. Alors quand tu as un gros. PETIT système, alors à l'inverse vous avez ces gros noyaux. Bon, d'accord, est-ce que tu mets chacun d'eux sur une grande horloge? Eh bien, vous ne les utilisez pas tout le temps, si vous êtes en fait dans une situation suffisamment basse où une horloge inoccupée fonctionnera de toute façon sur un petit cœur. Donc vraiment, c'est en quelque sorte deux d'entre eux qui suffisent là-bas.
Et puis vous arrivez à l’endroit où nous avions ce cœur principal où, eh bien, nous avons un cœur d’horloge séparé, qui peut fonctionner jusqu’à une fréquence plus élevée. Mais ces autres cœurs, ces autres clusters de performances, ne peuvent pas atteindre la même haute fréquence. Donc, si vous souhaitez obtenir tous les droits sur ce noyau, vous devez disposer de cette troisième horloge pour celui-ci. Alors, à quoi sert ce noyau? Nous en avons un peu parlé. Les grandes choses seront [le] lanceur d’applications et la navigation Web. Et alors pourquoi un seul noyau? D'accord, les choses deviennent plus multithread maintenant. Par exemple, les moteurs de jeux – j’y reviendrai dans une seconde – évoluent de manière très agressive vers davantage de threads. Mais si vous regardez la plupart des applications, même si elles ont plusieurs threads, j'utiliserai la règle de Pareto, comme la plupart d'entre elles, 80 % de la charge est dans un seul thread. Vous pouvez donc lancer [an] une application, qui peut se lancer et s'allumer sur les 8 cœurs. Mais il est plus que probable que 80 % de cette information se trouve dans un fil conducteur dominant: c'est dans ce noyau. La navigation Web est toujours principalement, eh bien, JavaScript, je dirais – la navigation Web s'est un peu améliorée avec le multithreading où vous pouvez avoir plusieurs images et les décoder. Mais, par exemple, JavaScript: [un] seul thread va s'exécuter sur un seul cœur. Il existe donc un grand nombre de cas d’utilisation qui bénéficient de ce noyau unique qui a atteint un niveau très élevé.
Nous avons désormais trois cœurs fonctionnant un peu à une fréquence plus basse, mais ils sont également plus économes en énergie. Et donc, chaque fois que vous – je ne sais pas ce que vous savez sur la mise en œuvre des cœurs – mais chaque fois que vous commencez à atteindre le sommet de la fréquence, et la mise en œuvre de ces cœurs, il y a un compromis en matière de puissance, les choses commencent à devenir exponentielles dans ces derniers mégahertz ou gigahertz que vous avoir. Ouais, et donc j'en ai parlé il y a une seconde, où, hé, tous les jeux commencent à devenir multithread, comme tous d'un coup, si vous regardez en arrière, il y a eu quelques jeux il n'y a pas si longtemps, et ils n'en utilisent qu'un seul fil de discussion. Mais c'est étrange à quelle vitesse l'industrie peut changer. Comme au cours des 18 derniers mois, ils ont littéralement commencé à mettre tous ces jeux dans... J'ai été enthousiasmé par ces jeux haute fidélité. Et donc, alors que beaucoup de choses, comme il y a six mois ou un an auparavant, ont en fait bouleversé toute la Chine. En Chine, j'entends "Je m'en fiche des gros noyaux, donnez-moi un huit sur n'importe quoi, donnez-moi huit sur le les plus petits cœurs pour pouvoir avoir huit cœurs. " Ils ont changé parce qu'ils veulent ces jeux, ces jeux nécessitent gros noyaux. Et maintenant, nous recevons des commentaires de nos partenaires qui nous disent « non, nous voulons en fait quatre gros cœurs », à cause de tous les jeux avancés qui sortent. Et ils vont utiliser tous ces noyaux.
Ainsi, lorsque vous jouez, vous ne jouez pas pendant 30 secondes, ou 5 minutes, vous jouez plus longtemps. Il est donc logique que nous ayons ces trois autres cœurs dans la plupart de vos cas d'utilisation de gros cœurs multithread, ils veulent avoir un peu plus d'efficacité énergétique. Cela s'équilibre en quelque sorte, vous disposez de ce cœur aux performances plus élevées lorsque vous en avez besoin pour certaines de ces choses dans certains de ces cas soutenus où ils ont également de gros cœurs et vous disposez de cette solution plus économe en énergie à associer que. C'est un peu ce genre de réflexion, c'est une sorte de symétrie un peu inhabituelle. Mais j'espère que cela explique pourquoi [il y a un] noyau principal, pourquoi n'avez-vous pas d'horloges séparées et pourquoi n'avez-vous pas de tensions séparées? Et donc je pense avoir abordé tout cela. »
Mario Serrafero: "Maintenant, calcul hétérogène. C'est ce que Qualcomm souligne depuis l'abandon de l'ancienne image de marque au profit de la plate-forme mobile, et ce genre de [a] descripteur, et également l'agrégation de blocs pour décrire certaines mesures de performances comme IA. Comment s’est déroulée cette évolution vers une approche de calcul plus hétérogène? De la conception à l'exécution en passant par le marketing, ou tout ce que vous pouvez aborder."
Travis Lanier: "Ça fait un petit va-et-vient. Mais en fin de compte, vous devez disposer de ces moteurs, car le maître mot du jeu sur mobile est l’efficacité énergétique. Maintenant, on le voit parfois revenir à une généralisation de temps en temps. Si vous revenez à votre original, même pour les smartphones, les téléphones multifonctions étaient dotés du multimédia et d'un appareil photo. capacités dans une certaine mesure et ils ont donc toutes ces petites choses dédiées parce que vous ne pouviez pas fais-le. Si vous revenez aux téléphones construits sur ARM 9 ou ARM 7, ils disposaient tous d'un widget d'accélération matérielle pour tout.
Mais pour vous donner un exemple, où quelque chose est devenu général et maintenant ils demandent à nouveau du matériel, ce serait JPEG. Il y avait un accélérateur JPEG. Le processeur est finalement devenu assez bon et il était suffisamment économe en énergie et les fichiers JPEG sont restés les mêmes. même taille que, hé, vous savez quoi, nous allons simplement le faire sur le processeur [car] c'est juste plus facile à faire il. Maintenant, à mesure que les images deviennent de plus en plus grandes, tout d'un coup, les gens vont, vous savez, en fait, je veux que ces tailles de fichiers photo vraiment gigantesques soient accélérées. Les processeurs ne sont pas assez rapides ou consomment trop d'énergie. C’est tout à coup que l’on s’intéresse à nouveau aux accélérateurs JPEG. La façon dont les choses se déroulent n’est donc pas toujours linéaire, il faut alors regarder ce qui se passe actuellement avec la loi de Moore. Tout le monde n'arrête pas de dire, hé, tu n'es peut-être pas mort, mais ça ralentit un peu, non? Donc, si vous n'obtenez pas cette augmentation de puissance ou cette amélioration des performances de chaque nœud suivant, comment pouvez-vous continuer à ajouter plus de fonctionnalités au téléphone si vous n'avez pas cette surcharge? Vous pouvez donc simplement le mettre sur le processeur. Mais si vous ne disposez pas de plus de marge pour votre processeur, comment accélérer ces choses? Eh bien, la réponse est que vous mettez tous ces noyaux spécialisés et autres choses plus efficacement. Et c'est donc cette tension naturelle.
Vous verrez des gens obligés de faire ces choses pour des fonctions communes, car peut-être que tout le monde ne sera pas à la pointe de la technologie. Mais nous allons certainement essayer d'y rester le plus longtemps possible, mais nous ne pouvons pas forcer les fabs à se déplacer vers le nœud suivant s'il n'est pas forcément là. C'est pourquoi vous devez vous concentrer sur l'innovation continue et sur ces architectures pour continuer à obtenir de meilleures performances et une meilleure efficacité énergétique. C'est donc notre force et notre expérience."
Mario Serrafero: "Même s'il y a eu cette évolution vers un calcul hétérogène, de la part de Qualcomm, de nombreux publics et certainement de nombreuses publications, certainement de nombreux passionnés, étonnamment, qui, selon vous, sauraient mieux, pensent, considèrent et évaluent toujours les blocs comme des blocs distincts. entités. Ils se concentrent toujours sur: "Je veux voir les numéros de processeur parce que cela m'importe." Ils veulent voir les numéros de GPU parce qu’ils aiment les jeux, etc. Ils ne les considèrent pas comme des parties communiquées d'un seul produit intégral. Comment pensez-vous que Qualcomm a, et est, et peut, briser ce paradigme alors que les concurrents continuent de se concentrer sur ce type d'améliorations spécifiques du marketing, bloc par bloc? Plus précisément, nous passerons plus tard aux réseaux de neurones, aux moteurs neuronaux. »
Travis Lanier: "J'espère en avoir abordé un peu aujourd'hui. Nous nous concentrons, par exemple, sur le jeu soutenu, alors peut-être que vous obtenez de bons résultats sur tous les benchmarks de jeu. Les gens deviennent obsédés par ça. Mais en réalité, ce qui compte, c'est que si vous jouez à votre jeu, vos images par seconde restent-elles constamment là où vous souhaitez qu'elles soient au maximum pour ces choses? Je pense que les gens accordent beaucoup trop d'importance au chiffre d'un de ces blocs. C'est tellement difficile et je comprends ce désir de me donner un chiffre qui me dit ce qui est le meilleur. C'est tellement pratique, surtout dans l'IA en ce moment, c'est tout simplement dingue. Même avec les benchmarks CPU, que mesure un benchmark CPU? Ils mesurent tous des choses différentes. Prenez n'importe lequel des benchmarks, comme GeekBench a un tas de sous-composants. Avez-vous déjà vu quelqu'un se séparer et examiner lequel de ces sous-composants est le plus pertinent par rapport à ce que je fais réellement? »
Mario Serrafero: "Parfois, nous le faisons."
Travis Lanier: "Peut-être que vous le faites. Vous êtes comme une personne aberrante. Mais peut-être qu’un processeur est meilleur sur ce point et peut-être qu’un autre est meilleur sur un autre. Même chose avec SPEC, les gens mettront en avant le seul SPEC, eh bien, d'accord, il y a beaucoup de charges de travail différentes à l'intérieur. Et ce sont des choses assez strictes, mais même SPEC, que nous utilisons actuellement pour développer des processeurs, si vous regardez les charges de travail réelles, sont-ils réellement pertinents? C'est idéal pour comparer les charges de travail des postes de travail, mais est-ce que je fais vraiment de la modélisation moléculaire sur mon téléphone? Non. Mais encore une fois, c'est ce que je veux dire, c'est que la plupart de ces points de repère sont utiles d'une manière ou d'une autre, mais vous devez comprendre le contexte dans lequel [c'est] et comment y parvenir. Il est donc très difficile de résumer les choses à un seul chiffre.
Et je vois cela particulièrement – je pivote un peu ici – mais je vois cela avec l’IA en ce moment, c’est dingue. Je vois qu'il y a plusieurs choses différentes qui ne pourraient pas obtenir un chiffre unique pour l'IA. Et donc, même si je parlais du processeur, vous avez toutes ces charges de travail différentes et vous essayez d'obtenir un numéro. Bon sang, AI. Il existe tellement de réseaux neuronaux différents et tellement de charges de travail différentes. L'exécutez-vous en virgule flottante, l'exécutez-vous en int, l'exécutez-vous avec une précision de 8 ou 16 bits? Et donc ce qui s'est passé, c'est que je vois des gens essayer de créer ces choses et, eh bien, nous avons choisi cette charge de travail, et nous l'avons fait en virgule flottante, et nous allons pondérer 50 % de nos tests sur ce réseau et deux autres tests, et nous les pondérerons sur ce. D'accord, est-ce que quelqu'un utilise réellement cette charge de travail particulière sur ce réseau? De vraies applications? L’IA est fascinante parce qu’elle évolue si vite. Tout ce que je vous dirai sera probablement incorrect dans un mois ou deux. C’est donc aussi ce qui est cool, parce que ça change tellement.
Mais le plus important n’est pas le matériel dans l’IA, c’est le logiciel. Parce que tout le monde l'utilise, j'utilise ce réseau neuronal. Et donc, en gros, il y a tous ces multiplicateurs là-dedans. Avez-vous optimisé ce réseau neuronal particulier? Et avez-vous également optimisé celui pour le benchmark, ou optimisez-vous celui pour que certaines personnes disent, vous sais ce que j'ai créé un benchmark qui mesure la super résolution, c'est un benchmark sur une super résolution IA. Eh bien, ils utilisent ce réseau et ils l'ont peut-être fait en virgule flottante. Mais pour chaque partenaire avec lequel nous collaborons, nous avons réussi à le faire en 16 bits et/ou 8 bits et en utilisant un réseau différent. Cela signifie-t-il que nous ne sommes pas bons en super résolution, parce que ce travail ne correspond pas à cela? Mon seul point est donc que le benchmarking de l’IA est vraiment compliqué. Vous pensez que CPU et GPU sont compliqués? L'IA est tout simplement folle."
Mario Serrafero: "Oui, il y a trop de types de réseaux, trop de paramétrages: différents paramétrages entraînent des impacts différents, dans la manière dont ils sont calculés."
Travis Lanier: "Cela occupera les évaluateurs."
Mario Serrafero: "Mais si vous voulez mesurer l'ensemble des choses, eh bien, c'est beaucoup plus difficile. Mais oui, personne ne le fait. »
Michaal Rahman: "C'est pourquoi vous vous concentrez davantage sur les cas d'utilisation."
Travis Lanier: "Je pense qu'en fin de compte, une fois que vous montrez des cas d'utilisation, cela montre à quel point votre IA est bonne en ce moment. Cela revient au logiciel, je pense qu'il mûrira un peu plus dans quelques années. Mais à l'heure actuelle, il y a tellement de travail logiciel à faire, puis des changements du genre: D'accord, eh bien, ce réseau est en vogue, puis comme, l'année prochaine, "Oh, non, nous avons trouvé un nouveau réseau qui est plus efficace dans toutes ces choses", alors vous devrez refaire le logiciel. C'est assez fou."
Mario Serrafero: "En parlant de NN, tu as en quelque sorte fait la transition pour moi, une transition moins gênante en pensant pour moi. Passons à l’Hexagone. C’est en quelque sorte l’un des éléments les moins compris, je dirais, par les consommateurs, même par la plupart des passionnés, et certainement par mes collègues. Vous savez, d'autant plus qu'il n'a pas été introduit en tant que bloc d'IA, et comme une sorte d'idée de traitement du signal numérique, vous savez, lorsque vous introduisez quelque chose cette idée originale colle en quelque sorte, donc si vous faites quelque chose, d'accord, c'est une chose neuronale avec l'intelligence neuronale, neuronale, neuronale du cerveau, ça colle en quelque sorte avec personnes. Ils ont les étiquettes neuronales, neuronales et neuronales d’apprentissage automatique de l’IA pour d’autres solutions. Nous voulons donc peut-être vous donner l’occasion d’expliquer l’évolution du Hexagon DSP, pourquoi vous ne vous en êtes pas éloigné. des sortes de noms techniques comme Hexagon DSP, des extensions vectorielles, etc. qui ne ressemblent pas à du marketing amical. Mais oui, peut-être comme un bref aperçu de ce que cela a été pour vous, à la pointe du DSP, de le voir passer des débuts de la charge de travail d'imagerie au tout nouvel accélérateur tensoriel.
Travis Lanier: "C'est en fait un point intéressant car certains de nos concurrents ont en fait quelque chose qu'ils appellent un moteur neuronal ou un accélérateur neuronal - c'est en fait un DSP, c'est la même chose. Donc, je suppose que le nom est important, mais vous avez abordé un point important et, honnêtement, lorsque nous l'avons publié, c'était pour l'imagerie, il se trouve que nous prenions en charge le 8 bits. Et je me souviens que nous faisions une présentation à Hot Chips et Pete Warden de Google nous a en quelque sorte retrouvés et nous a dit: « Hé, vous… alors vous supportez le 8 bits, hein? Oui, nous le faisons. Et donc à partir de là, nous sommes immédiatement sortis et nous avons dit, hé, nous avons tous [ces] projets en cours. C'est à ce moment-là que nous avons porté TensorFlow sur Hexagon, parce que c'est comme, hé, nous avons ce processeur vectoriel pris en charge par 8 bits pour faire cela, et c'était sur notre DSP Hexagon. Si c’était à refaire, je l’appellerais probablement le processeur de signal neuronal Hexagon. Et nous avons toujours l'autre DSP, nous avons des DSP scalaires et c'est un DSP dans le vrai sens du terme. Et puis nous appelons ce type de DSP vectoriel. Peut-être devrions-nous le renommer, peut-être devrions-nous l'appeler un processeur de signal neuronal parce que nous ne nous accordons probablement pas autant de crédit que nous. je devrais le faire parce que, comme je l'ai dit, certaines personnes n'ont que des DSP vectoriels et ils l'appellent comme ça, et ils n'ont rien révélé. c'est. Ai-je répondu à votre question? »
Mario Serrafero: "Alors, oui, c'est probablement vrai pour la majeure partie."
Travis Lanier: "Quelle était la deuxième question ?"
Mario Serrafero: "Juste comment vous avez vu ce développement en interne. Comment ça s'est passé: l'expérience, les difficultés, les défis, tout ce dont vous voulez nous parler? Comment avez-vous vu l'évolution depuis les débuts du traitement d'images jusqu'à l'accélérateur tensoriel? »
Travis Lanier: "Ça a été un peu frustrant parce que c'est comme si ce qui me fait grincer des dents, c'est comme si certains membres de la presse levaient la main et disaient: « Qualcomm, qu'est-ce que tu es si en retard! » Pourquoi n'avez-vous pas… Quand allez-vous avoir un processeur de signal neuronal dédié? et je veux juste me cogner la tête. C’était comme si nous étions les premiers à avoir un processeur vectoriel! Mais cela dit, nous modifions ceci et il y aura probablement plus de choses à mesure que nous en apprendrons davantage sur l’IA. Nous avons donc ajouté cette autre chose et oui, celle-ci l'est: elle ne fait que de l'IA, elle ne fait pas de traitement d'image dans le cadre du complexe hexagonal, vous proposez donc… comme nous l'appelons toujours le DSP Hexagon, nous appelons l'ensemble du complexe le processeur Hexagon [pour] essayer d'obtenir un nom capturé pour tout le truc hexagonal maintenant. Nous avons ajouté des éléments qui, en fait, calculent plus directement, je ne devrais pas dire calculent directement, comme ça a cette gestion automatique de la façon dont vous faites cette carte d'ordre supérieur de l'endroit où vous multipliez matrices."
Mario Serrafero: "Les tenseurs sont en fait assez difficiles à comprendre pour moi. De toute façon, c’est comme s’ils s’enroulaient aussi sur eux-mêmes. »
Travis Lanier: "Ouais, je pensais que j'avais suivi mes cours d'algèbre linéaire à l'université. J'ai fait ça comme un homme: "J'espère ne plus jamais avoir à faire ça !" Et ils sont revenus en force. Je suppose que je me suis dit: « Oh mec, les équations différentielles et l'algèbre linéaire sont de retour en force! »
Mario Serrafero: "J'ai l'impression que beaucoup de mes collègues n'ont pas compris cela. Ils pensent toujours qu'il y a cet aspect mystifiant dans le NPU quand il ne s'agit que d'un tas de multiplications matricielles, de produits scalaires, de fonctions de non-linéarité, de convolutions, [et] ainsi de suite. Et je ne pense pas que personnellement, ce genre de nom de moteur de traitement neuronal aide, mais c'est le problème, n'est-ce pas? Dans quelle mesure cela n'est-il pas étendu, obscurci, en quelque sorte les mathématiques sous-jacentes pelletées, par les conventions de dénomination, et que peut-on faire peut-être? Je ne sais pas si tu y as pensé. [Que] peut-on faire pour informer les gens sur la manière dont cela fonctionne? Pourquoi, par exemple, pourquoi le DSP peut-il faire ce que les autres nouveaux moteurs de traitement neuronal peuvent faire? Je veux dire, ce ne sont que des mathématiques, mais il ne semble pas que les utilisateurs, les lecteurs, certains journalistes le comprennent. Que peut-on faire – je ne dis pas que c’est la responsabilité de Qualcomm – mais que pensez-vous qui pourrait être fait différemment? C'est probablement ma responsabilité.
Travis Lanier: "Honnêtement, je commence à me rendre. Peut-être devons-nous simplement nommer les choses « neuronales ». Nous venons de parler de la façon dont l'algèbre linéaire et les équations différentielles nous ont fait tourner la tête lorsque nous avons commencé à les examiner. choses, et donc quand vous commencez à essayer d'expliquer cela aux gens, comme lorsque vous commencez à faire l'analyse de régression, vous regardez les équations et tout, la tête des gens exploser. Vous pouvez enseigner la programmation de base à la plupart des gens, mais lorsque vous commencez à leur apprendre comment fonctionnent les équations de rétropropagation, ils vont regarder cela et leur tête va exploser. Alors oui, des trucs amusants. Ils ne veulent pas voir de dérivées partielles…"
Mario Serrafero: "Chaînes de dérivées partielles, non pas entre scalaires mais entre vecteurs et incluant des fonctions non linéaires."
Travis Lanier: "Bonne chance avec ça! Ouais, donc c’est difficile et je ne sais pas si la plupart des gens veulent savoir ça. Mais j'essaie: j'ajoute un petit truc du genre: « Hé, tout ce que nous faisons ici, ce sont des calculs vectoriels. Nous avons un processeur vectoriel. Et je pense que les gens regardent ça et se disent: « D'accord, mais mec, je veux vraiment un système neuronal. accélérateur." Le « Tensor » est toujours mathématique, mais je pense que les gens peuvent l'associer un peu plus à l'IA. traitement."
Mario Serrafero: "Cela pourrait être comme combler le fossé, le fossé sémantique."
Travis Lanier: "En fin de compte, je pense que nous devons probablement trouver un nom différent."
Tous les graphiques de cet article proviennent de la présentation de Travis Lanier au Snapdragon Tech Summit. Vous pouvez visualiser les diapositives de la présentation ici.