ARM et GPU : AWS ajuste EC2 au Machine Learning et aux processeurs dédiés
AWS a présenté un CPU ARM né de son projet Nitro et des travaux des équipes d’Annapurna Labs ainsi qu’un GPU dédié aux travaux d’inférence propre au Machine Learning.
AWS a profité de sa conférence ReInvent qui se tient actuellement à Las Vegas pour ajuster un peu plus les composants de son imposante infrastructure. Mais si l’arrivée de nouveaux formats d’instances n’est en soi pas une nouveauté chez le n°1 du cloud public, la mise à disposition d’instances motorisées par des nouveaux processeurs maison constitue en revanche une annonce structurante. A la clé, un processeur ARM nommé Graviton et un GPU dédié aux opérations d’inférence du Machine Learning, sobrement baptisé Inferentia.
Chez AWS, ce processeur ARM forme le moteur premier de la famille d’instances A1. Ces instances, et ce processeur, sont en fait le prolongement des travaux issus de Nitro, un projet présenté en 2017 par AWS et arrivé avec la famille d’instances C5. Schématiquement, Nitro dote AWS d’un hyperviseur allégé ainsi qu’une nouvelle architecture de virtualisation dont l’ambition est d’approcher de très près les performances du bare-metal avec des composants virtualisés. AWS partait du principe que Nitro lui donnait la possibilité de « proposer de nouvelles instances plus rapidement », et des capacités de personnalisation et de configuration avancées en matière de hardware.
L’architecture ARM n’est pourtant pas nouvelle chez AWS puisque le géant du cloud avait racheté en 2015 la société israélienne Annapurna Labs. Les équipes de cette société ont contribué à l’élaboration de Nitro. Les composants d’Annapurna permettent par exemple de transférer plus de données tout en consommant moins d’énergie que les puces concurrentes.
Mais jusqu’alors, si certains constructeurs, comme HPE avec Moonshot, ont essayé de porter ARM 64-bit sur le marché des serveurs, peu ont trouvé la bonne voie.
Toutefois chez les fournisseurs de cloud, ARM semble être l’architecture processeur à supporter. Par exemple, Microsoft propose depuis 2017 des instances basées sur ARM (des puces de Qualcomm et Cavium) sur Azure. Google, le 3e du marché, ne supporte que le monde Intel.
Avec Graviton, AWS pense mettre à disposition des instances adaptées aux applications bâties par exemple sur des microservices, où les besoins d’élasticité (scale-out) sont nécessaires. Le serverless ou encore l’hébergement Web constituent également des cas d’usages.
Les instances A1 démarre à 1 vCPU avec 2 GiB de RAM et jusqu’à 10 Gbps de bande passante (pour l’instance a1.medium) à 16 vCPU, 32 GiB de RAM (a1.4xlarge). Les prix oscillent de 0.0255 $ par heure pour la première à 0.4080 $ pour la seconde.
Ces instances supportent pour le moment Amazon Linux 2, RHEL et Ubuntu et sont disponibles en Europe dans la région de l’Irlande.
Des GPU pour le ML
Inferentia, le GPU présenté lors de cette édition 2018 de ReInvent, est aussi le fruit des travaux des équipes qui ont façonné Graviton. Mais cette puce est cette fois-ci dédiée à des tâches d’inférence (d’où le nom de ce processeur), ce processus clé du Machine Learning qui consiste à établir des prédictions à partir d’un modèle pré-entrainé.
Inferentia vient en fait compléter un dispositif déjà en place d’AWS en matière d’infrastructure spécialisée dans l’entrainement des modèles. Le groupe avait en effet présenté des instances GPU (NVIDIA Tesla V100) pour le Machine Learning (la famille P3). Ces instances sont optimisées pour accélérer les opérations d’apprentissage et supportent les frameworks TensorFlow, PyTorch ou encore MXNet. AWS travaille également à une 2e génération de ces instances, les P3.dn qui permettront par exemple de dimensionner les modèles sur plusieurs instances, avec des performances trois fois supérieures dans le débit réseau.
Mais AWS souhaitait aller plus loin, confirme Andy Jassy. Inferentia (les spécifications n’ont pas été communiquées) doit apporter des débits élevés avec une faible latence. Chaque puce proposera un rendu très élevé de plusieurs centaines de TOPS (Tera Operations per second) pour accélérer les prédictions nées des inférences. « Ces puces ciblent les clients qui ont une grosse consommation de GPU et ont une nécessité d’avoir des niveaux très faibles de latence », indique encore le CEO.
Pour les autres, AWS proposera Elastic Inference, autre annonce réalisée lors de ReInvent, à côté d’instances EC2 avec Inferentia. Conjugué à SageMaker, le service de création de modèles de ML du groupe, Elastic Inference permet en fait d’abaisser la facture des traitements spécifiques (jusqu’à 75 %, a compté AWS) en exploitant uniquement le bon nombre de GPU – et non pas de fonctionner en sur-capacité. Elastic Inference attache des puces GPU à des instances EC2. L’utilisateur en ajoute un nombre et ne paie que ce qu’il consomme. Là est donc l’économie de coûts souhaitée par AWS. « Exécuter des inférences en production représente 90 % des coûts d’infrastructure d’une application de ML », explique le CEO. « La complexité et les coûts induits par les inférences sont bloquants et rendent le ML inefficace. »