Intel Labs libère ses boffins avec des histoires d’informatique quantique, des bases de données sécurisées et la fin du débogage

  • FrançaisFrançais


  • Jeudi, Intel a fait sortir ses chercheurs scientifiques pour parler d’initiatives technologiques visant à accélérer le calcul et à réduire la responsabilité des développeurs.

    Dans une présentation Web d’Intel Labs Day, un événement généralement organisé dans une installation de Chipzilla dans la Silicon Valley, Rich Uhlig, senior fellow, vice-président et directeur d’Intel Labs, a présidé des interviews vidéo en streaming avec divers experts techniques d’Intel sur la photonique intégrée, neuromorphique, l’informatique quantique et confidentielle et la programmation de machines.

    La plupart de ces présentations se sont concentrées sur des projets orientés silicium, comme le travail d’Intel pour développer des puces qui communiquent en utilisant la lumière plutôt que l’électricité, d’autres qui imitent l’architecture du cerveau humain ou qui exploitent la mécanique quantique.

    Une série de discussions informatiques confidentielles s’est également concentrée sur l’apprentissage fédéré de confiance – former des modèles d’apprentissage automatique sur des ensembles de données distribués sans exposer les données – et sur un cryptage entièrement homomorphique, qui promet la possibilité d’analyser du texte chiffré – des données cryptées – sans les déchiffrer.

    Ce serait immédiatement attrayant pour les organisations de traitement des données du monde entier, du moins celles qui s’intéressent véritablement à la sécurité et à la confidentialité, si les informaticiens pouvaient trouver un moyen de le rendre abordable et suffisamment rapide.

    «Dans les mécanismes de chiffrement traditionnels pour transférer et stocker des données, la surcharge est relativement négligeable», a expliqué Jason Martin, ingénieur principal au laboratoire de solutions de sécurité d’Intel et responsable de l’équipe de renseignement sécurisé chez Intel Labs. “Mais avec un cryptage totalement homomorphe, la taille du texte chiffré homomorphe est nettement plus grande que celle des données simples.”

    Combien plus grand? De 1 000 à 10 000 fois plus grand dans certains cas, a déclaré Martin, et cela a des implications sur la quantité de puissance de calcul requise pour utiliser le cryptage homomorphe.

    «Cette explosion de données conduit alors à une explosion de calcul», a déclaré Martin. “Au fur et à mesure que le texte chiffré se développe, il nécessite beaucoup plus de traitement. Cette surcharge de traitement augmente, non seulement en raison de la taille des données, mais également en raison de la complexité de ces calculs.”

    Martin a déclaré que cette surcharge de calcul expliquait pourquoi le cryptage homomorphique n’était pas largement utilisé. Intel, a-t-il dit, travaille sur de nouvelles approches matérielles et logicielles, et pour construire un support et des normes d’écosystème plus larges. Cela peut prendre un certain temps.

    En attendant, les entreprises peuvent poursuivre un apprentissage fédéré en utilisant des environnements d’exécution fiables tels que les extensions Intel Software Guard ou SGX, à condition qu’elles soient à l’aise avec les correctifs de sécurité constants.

    L’humanité contre la machine

    L’initiative de programmation machine d’Intel, basée sur un document de recherche de 2018, «Three Pillars of Machine Learning», se distingue parmi les autres projets. Plutôt que d’essayer de pousser les machines à faire plus, il vise à faire en sorte que les gens en fassent moins.

    «Si nous réussissons avec la programmation machine, tout l’espace du débogage n’existera plus», a expliqué Justin Gottschlich, scientifique principal et directeur et fondateur de la recherche en programmation machine chez Intel Labs.

    Gottschlich poursuit en décrivant la vision «ciel bleu» d’Intel pour le projet comme une vision dans laquelle peu de gens font réellement ce que nous considérons maintenant comme de la programmation. Dans la plupart des cas, suggère-t-il, les gens décriront simplement une idée à une machine, feront un peu de va-et-vient pour remplir les blancs, puis attendront que ce système basé sur l’IA génère l’application demandée.

    “Le principe de base de la programmation machine est qu’une fois qu’un humain exprime son intention à la machine, la machine gère automatiquement la création de tous les logiciels nécessaires pour remplir cette intention”, a déclaré Gottschlich.

    La programmation machine fait partie des efforts continus pour développer des outils low-code ou sans code, généralement par le biais d’une forme d’automatisation. Il y a une variété de raisons à cela, principalement liées à l’offre et à la demande.

    Les entreprises aiment parler de démocratiser le codage, comme s’il fallait les applaudir pour leur altruisme civique. Ils ont tendance à moins parler du fait que plus de codeurs signifie plus de concurrence pour les emplois de programmation et la capacité de payer des salaires inférieurs.

    La réaction de Gottschlich au problème de l’offre est que les tendances de l’industrie ont aggravé la pénurie de talents.

    «Il y a deux tendances émergentes que nous avons observées et qui fonctionnent l’une contre l’autre», a-t-il expliqué. «Premièrement, les ressources de calcul deviennent de plus en plus hétérogènes à mesure que nous nous spécialisons pour certains types de charges de travail. Et cela nécessite des programmeurs experts, ce que vous pourriez appeler des programmeurs ninja, [who] comprendre profondément le matériel et comment en tirer le meilleur parti. “

    Intel parle de son système sur puces pour ordinateur portable Tiger Lake 10 nm comme si tout se passait comme prévu

    LIRE LA SUITE

    “Mais dans le même temps, les développeurs de logiciels privilégient de plus en plus les langages qui fournissent des niveaux d’abstraction plus élevés, pour soutenir une productivité plus élevée et qui à son tour rendent difficile l’obtention des performances dont le matériel est intrinsèquement capable”, at-il ajouté. “Et cet écart se creuse.”

    En d’autres termes, la passion des gens pour Python est la raison pour laquelle les entreprises de technologie ne peuvent pas trouver suffisamment d’experts C ++ qui connaissent les GPU, les FPGA et d’autres spécialités techniques.

    Gottschlich a souligné que seulement 1% des 7,8 milliards de personnes dans le monde peuvent coder. «Notre recherche en programmation machine cherche à changer ce 1 pour cent à 100 pour cent», a-t-il déclaré.

    Mais le type de programmation qu’il attend des gens ne correspond pas à ce qu’ils font actuellement.

    Imaginez un peintre qui doit d’abord créer le pinceau, la toile, le chevalet, le cadre et la peinture elle-même avant de créer une véritable œuvre d’art, suggéra Gottschlich. “Combien de peintres, de façon réaliste, pensons-nous pouvoir faire tout cela?” Il a demandé.

    “Je dirais que ce nombre se situe quelque part entre très peu et zéro. Mais cette analogie est similaire à ce qui est requis pour la façon dont beaucoup de logiciels sont développés aujourd’hui.”

    En même temps, les gens sont le problème. Ils font des erreurs et cela a un coût de productivité. Gottschlich a cité une étude de l’Université de Cambridge de 2013 qui a révélé que les programmeurs américains passaient en moyenne la moitié de leur temps à déboguer.

    “Le débogage ralentit nos programmeurs”, a déclaré Gottschlich. “Il y a une perte de productivité. Et le débogage par nature signifie que la qualité du logiciel n’est pas acceptable, sinon nous ne serions pas en train de déboguer. Donc, dans un certain sens, c’est exactement ce que nous voulons corriger.”

    Swat ces bugs

    Le débogage est presque toujours le résultat d’une mauvaise communication entre le programmeur et la machine, a déclaré Gottschlich. La programmation machine, qui se concentre sur la compréhension de cette intention, vise à corriger cela. “Si nous supposons un instant, alors que l’intention humaine peut être parfaitement capturée par la machine, en théorie, les écoutes disparaissent essentiellement. Poof. C’est parti.”

    À sa place, nous obtenons une plus grande productivité et des logiciels de meilleure qualité. Gottschlich a déclaré qu’Intel avait développé une douzaine de systèmes de programmation de machines et a ensuite décrit trois d’entre eux.

    Le premier, dit-il, peut détecter automatiquement les bogues de performances. Il écrit lui-même des tests automatisés et peut adapter ces tests à différentes architectures matérielles. Le système, appelé AutoPerf, est décrit dans un article présenté à NeurIPS, «A Zero-Positive Learning Approach for Diagnosing Software Performance Regressions».

    Le second est appelé similitude de code déduite par machine, ou MISIM. Il essaie d’identifier quand des morceaux de code remplissent la même fonction, même s’ils le font de différentes manières.

    Diapositive Intel Labs 2020 sur ControlFlag

    Cliquez pour agrandir

    Le troisième est un autre système de recherche de bogues appelé ControlFlag, qui sera présenté dans un article à NeurIPS 2020 la semaine prochaine. Il peut trouver des bogues logiques et des inefficacités non signalés par des compilateurs basés sur des règles – il s’appuie sur une détection d’anomalies basée sur des modèles qui apprend par elle-même.

    Par exemple, il a été libéré sur le code source de cURL, une bibliothèque de transfert de données populaire, et il a trouvé une comparaison non interceptée où un entier était utilisé à la place d’une valeur booléenne (vrai / faux).

    ControlFlag apprend le code sans étiquettes générées par l’homme. «Au lieu de cela, nous envoyons le système dans le monde pour en savoir plus sur le code», a déclaré Gottschlich.

    «Quand il revient, il a appris un certain nombre de choses étonnantes. Nous le dirigons ensuite vers un référentiel de code, même du code qui est de qualité de production et qui existe depuis des décennies. bogues, dont certains ont été ignorés par les développeurs depuis plus d’une décennie. “

    Interrogé par Gottschlich combien de temps il pourrait s’écouler avant que cette “vision du ciel bleu” de la programmation automatisée ne se réalise, le professeur Armando Solar-Lezama du MIT, co-auteur avec Gottschlich de l’article de 2018 “Three Pillars of Machine Learning”, a exprimé le doute que les gens sera jamais complètement coupé de la boucle.

    “Je ne pense pas qu’il y aura une sorte de point final où nous pourrons dire: ‘Nous avons terminé, la programmation est maintenant ce que font les machines, et nous allons passer notre temps à jouer de la musique et des fruits à la campagne », dit-il.

    “… Ce que je vois vraiment, c’est ce changement majeur dans l’automatisation, et dans le genre d’attentes que les gens ont sur ce que cela signifie de programmer, et le genre de choses que vous pouvez déléguer à un outil de programmation.” ®

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *