Build 2020 : du machine learning « responsable » aux nouveautés Azure
Entrainer ou ne pas entrainer
Notre dossier sur la Build 2020 de Microsoft :
Le 04 juin 2020 à 07h54
11 min
Logiciel
Logiciel
Dernier chapitre de notre dossier sur la Build 2020, consacré aux évolutions du machine learning et du cloud chez Azure. Grands modèles à entrainer, performances de l'ONNX Runtime, questionnement éthique, Kubernetes ou encore Cosmos DB sont au programme.
Difficile d’évoquer la Build de Microsoft sans aborder les annonces dans le domaine du cloud et du machine learning. Le premier parce que la section Azure affiche une insolente croissance à deux chiffres trimestres après trimestres. Le second parce qu’il est désormais indissociable de nombreux logiciels et services.
Microsoft s’est également penchée sur les très grands modèles nécessitant une phase d’entrainement à l’aide de milliards d’objets. C’est dans ce contexte que la firme a présenté son superordinateur dans Azure.
- WSL 2 gérera les GPU et les interfaces Linux, Terminal 1.0, WinGet en preview
- Reunion d'UWP et Win32, Visual Studio, Live Share et Codespaces
- Au sein de Microsoft 365, Teams reste la star
- C# 9.0 : de nombreuses nouveautés, souvent inspirées de la programmation fonctionnelle
- Du machine learning « responsable » aux nouveautés Azure
Un nouveau superordinateur et l’évolution des modèles
Ce projet a été construit « en collaboration avec et exclusivement pour OpenAI », avec qui Microsoft avait noué un partenariat l’année dernière. Il est le résultat d’un constat : plutôt que d’entrainer différents « petits » modèles destinés à des tâches précises comme reconnaître des mots dans un email ou l’énoncé d’une phrase, il est plus efficace de les rassembler sous l’égide d’un seul vaste modèle auquel on fera ingérer des quantités faramineuses d’informations.
Ces grands modèles sont une tendance émergente de la communauté de chercheurs en intelligence artificielle. « Ce type de modèle peut absorber si profondément les nuances de langage, de grammaire, de connaissances, de concepts et de contexte qu’il peut exceller dans les tâches multiples : résumer un grand discours, modérer en direct le contenu des discussions dans les jeux, trouver les passages pertinents à travers des milliers de fichiers juridiques ou même générer du code dans GitHub ».
L’entrainement de ces gros modèles nécessite une vaste puissance de calcul. La structure dédiée ajoutée dans Azure contient ainsi 285 000 cœurs et 10 000 GPU, chaque serveur GPU étant relié par une bande passante réseau de 400 Gb/s. Selon Microsoft, cette structure viendrait se placer en cinquième position du TOP500 des superordinateurs.
Pour OpenAI, l’arrivée de ce superordinateur sert un double objectif. D’une part, accélérer la recherche en intelligence artificielle. D’autre part – et c’est sans doute le plus important pour l’entreprise – développer des technologies que d’autres pourront utiliser. Les travaux réalisés sont pour l’instant réservés à OpenAI, mais l’objectif est bien de les rendre accessibles ensuite à n’importe quel développeur, via plusieurs étapes et à travers Azure AI.
Microsoft rendra ainsi prochainement ses modèles Turing (ses propres gros modèles) open source, et indiquera comment les entrainer dans Azure Machine Learning. Dans ce contexte, une nouvelle version de DeepSpeed a également été publiée. Bibliothèque open source dédiée au deep learning pour PyTorch, elle a reçu des améliorations significatives en efficacité. Selon les chiffres de l’éditeur, l'entrainement peut concerner des modèles 15 fois plus grands en 10 fois moins de temps.
Les modèles ONNX évoluent également. Pour rappel, ils ont été développés pour devenir un standard de l’industrie, capables d’être repris sur différents matériels et OS. ONNX Runtime supporte ainsi désormais l’entrainement distribué. Se focalisant jusqu’à présent sur l’inférence à hautes performances, il s'ouvre de l’entrainement. En combinant cette distribution à la nouvelle version de DeepSpeech, Microsoft évoque des calculs jusqu’à 17 fois plus rapides.
Le machine learning « responsable »
Un point intéressant abordé durant la Build concerne la confiance que l’on peut accorder aux résultats fournis par les modèles, même longuement entrainés. Microsoft cite notamment l’exemple de la compagnie aérienne Scandinavian Airlines, qui s’est construit un système de détection des fraudes au sein de son programme de fidélité EuroBonus.
Plus globalement, il existe un monde entre l’idée de départ et sa réalisation, entre ce que l’on espère d’un modèle entrainé et les résultats qu’il va effectivement produire. Le machine learning « responsable » repose, selon Microsoft, sur trois concepts : la compréhension, le contrôle et la protection.
On reste finalement dans ce qui fait la base de l’informatique : une solution de calcul fait toujours bêtement ce qu’on lui demande. Eric Boyd, vice-président de la division Azure, note à ce sujet une évolution très nette dans les demandes : les développeurs sont enjoints à construire des systèmes IA à la fois simples à expliquer et se conformant avec l’ensemble des règles de non-discrimination et de vie privée.
Des technologies spécifiques sont donc développées pour éviter les biais. InterpretML est par exemple conçu pour aider à la compréhension du comportement d’un modèle pendant son fonctionnement. On trouve également Fairlearn, dédié à l’équité des systèmes IA et qui sera directement intégré dans Azure Machine Learning avant la fin du mois.
Microsoft a annoncé en outre la disponibilité de WhiteNoise, conçu pour faciliter la création de modèles capables de gérer une vie privée différentielle, également poussé par Google ces dernières années. Cette technique permet globalement de construire des structures pouvant générer des statistiques à partir de données privées, et qui doivent le rester.
Des informations sensibles qui, une fois entrées dans le modèle, ne peuvent plus en sortir et ne doivent pas être accessibles au moindre regard. Exemple : un réseau d’hôpitaux qui pourrait bâtir un modèle sur l’efficacité de traitements contre le cancer. Le modèle prendrait appui sur l’ensemble des patients, sans que les données ingérées puissent fuiter.
Le sujet de l’éthique dans le machine learning va finalement beaucoup plus loin. La réflexion sur la construction d’un modèle où le choix des données est capital pour tendre, autant que possible, vers une absence de biais, que l’on parle de genre, de couleur de peau, de mille-feuille socioculturel ou de n’importe quel critère qui, entre les rouages du machine learning, peut se transformer en vecteur de discrimination.
Sarah Bird dirige l’effort sous-jacent dans ce domaine et va plus loin : avant même de parler éthique d’un modèle, il faut mesurer celle de la démarche conduisant à ce modèle. Elle évoque le concept de « bandit contextuel », un type d’agent capable de repérer plus efficacement les habitudes d’un(e) internaute pour personnaliser au mieux le contenu présenté.
Dans la mise en place d’une expérimentation et donc la recherche de testeurs, la question a émergé : « Est-ce même éthique de réaliser une expérimentation dans ces scénarios ? ». L’interrogation a provoqué un débat, puis l’apparition d’une réflexion à plus long terme, intégrée maintenant dans le groupe de recherche FATE (Fairness, Accountability, Transparency and Ethics in AI).
Si Microsoft creuse le sujet au point d’y dédier un billet entier, c’est que l’éditeur est conscient que le machine learning est sujet à une potentielle crise de confiance. Les questions éthiques peuvent devenir des questions financières. Une grande similitude en fin de compte avec le cloud : tout ce qui est lointain et/ou réalisé automatiquement génère de la méfiance. De flagrants délits de discrimination pourraient briser l’actuelle envolée autour du machine learning.
Ces réflexions ont entrainé la création de plusieurs outils, dont Fairlearn, devant montrer qu'il ne s’agit pas uniquement d’un exercice de communication.
Azure Arc se rapproche naturellement de Kubernetes
Azure, comme offre cloud de Microsoft, « profite » de la crise sanitaire. Cette dernière a précipité certaines évolutions, intégrant le télétravail dans des entreprises qui le refusaient jusqu’à présent, ou encore en accélérant le déploiement de terminaux de paiement compatibles avec le sans contact.
Avec cette accélération, les structures hébergeant les services distants ne peuvent que s’épanouir. Satya Nadella l’a répété durant son intervention (distante) d’ouverture de la Build : « Nous construisons Azure comme l’ordinateur du monde ». La messe est dite. Et de noter que 95 % des sociétés du classement Fortune 500 sont clients d’Azure… sans préciser si elles se fournissent également dans d’autres crémeries, en particulier Amazon Web Services et Google.
Quoi de neuf alors pour Azure ? Plusieurs annonces, et pas des moindres. On commence avec Arc, service initialement conçu pour permettre le déploiement des services Azure n’importe où et étendre leur gestion à n’importe quelle infrastructure. Microsoft lui adjoint désormais des clusters compatibles Kubernetes, pour l’instant en préversion.
Microsoft vante la simplicité de l’approche, un développeur pouvant récupérer ses pipelines DevOps, ses manifestes Kubernetes et ses graphiques Helm pour s’en servir dans Arc, permettant le déploiement sur n’importe quel cluster connecté. L’ensemble adopte une méthodologie GitOps, les applications et configurations de clusters étant définies dans le contrôle de code source. Toute modification sera donc journalisée et appliquée à tous les clusters concernés.
Azure Synapse Link et nouveautés Cosmos DB
Préversion également pour Azure Synapse Link (ASL), conçu pour le traitement transactionnel et analytique (HTAP) hybride. Le nom « Link » reflète l’intégration qu’il crée entre Cosmos DB et Synapse Analytics, permettant des analyses en quasi-temps réel sur les données opérationnelles.
Plus concrètement, ASL autorise un accès direct au magasin analytique Cosmos DB sans déplacement de données complexe. Il faut en effet pour l’instant s’appuyer sur des pipelines ETL (Extract-Transform-Load), coûteux en temps et impliquant des latences dans les analyses.
Puisque l’on parle de Cosmos DB, plusieurs apports ont été réalisés. D’abord, la mise en place d’un chiffrement au repos avec gestion des clés par le client. Une nouvelle version du SDK Python Azure est également disponible, avec notamment des fonctions Jupyter Notebook améliorées (dont des notebooks C#).
Une nouvelle version du SDK Cosmos DB pour Java et des fonctionnalités de flux de modification conservant tous les historiques des opérations et la prise en charge des mises à jour partielles (HTTP PATCH) doivent arriver prochainement. Cosmos DB introduit également une prise en charge spécifique des charges de travail intenses et imprédictibles. Microsoft promet jusqu’à 70 % d’économies par rapport au modèle classique de tarification avec débit provisionné.
On parle ainsi de débit provisionné par mise à l’échelle automatique, avec maintien des contrats SLA et jusqu’à un maximum spécifié par le client (la fonction était nommée AutoPilot pendant la préversion). La facturation est basée sur la consommation, à partir de 10 % de ce maximum décidé par le client.
Microsoft Cloud for Healthcare
On continue dans les préversions Microsoft Cloud for Healthcare, en fait une appellation parapluie pour un groupe de services provenant d’Azure, Azure IoT, Microsoft 365, Dynamics et Power Platform, à destination du monde de la santé, plus particulièrement des hôpitaux. Ils se partagent un même modèle de données.
Une machine à tout faire en somme, dans laquelle les établissements de santé pourront connecter tous leurs jeux de données, mettre en relation les personnes, gérer les emplois du temps, coordonner les différents effets, bref : administrer. L’annonce se fait bien sûr dans le cadre très particulier de la crise sanitaire due au SARS-CoV-2.
La forte pression exercée sur les systèmes de soins a mis au jour certains besoins, notamment d’interopérabilité. À vrai dire, Cloud for Healthcare n’est pas tant un nouveau produit qu’une collection de solutions existantes, en plus de pouvoir s’interfacer avec les produits et services d’autres entreprises comme Epic, Allscripts, GE Healthcare, Adaptive Biotechnologies et Nuance, avec qui des partenariats ont été noués.
La préversion est gratuite et disponible pour six mois. La version finale doit être lancée à la fin de l’année.
Build 2020 : du machine learning « responsable » aux nouveautés Azure
-
Un nouveau superordinateur et l’évolution des modèles
-
Le machine learning « responsable »
-
Azure Arc se rapproche naturellement de Kubernetes
-
Azure Synapse Link et nouveautés Cosmos DB
-
Microsoft Cloud for Healthcare
Commentaires (1)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 04/06/2020 à 14h22
J’ai vu dans une vidéo du build que Microsoft allait lancer un nouveau service Azure pour faciliter/promouvoir la signature électronique de code. Avez-vous plus d’info ? Merci.