Descartes Labs : un atlas vivant

Descartes Labs accélère la compression de ses données en adoptant la dernière génération de processeurs Intel®.

Descartes Labs aide les entreprises à obtenir des informations commerciales à partir d'énormes volumes de données satellitaires et géographiques, à l'aide d'une combinaison de Software as a Service et de développement personnalisé. La compression, qui traite des pétaoctets de données, est extrêmement importante pour regrouper les données dans des fichiers de taille pratique et réduire les frais de stockage. En passant à la dernière génération des processeurs Intel®, disponibles sur la plateforme Google Cloud*, Descartes Labs a pu accélérer sa compression.

Enjeux

  • Pouvoir stocker et traiter des pétaoctets de données satellitaires et géographiques
  • Créer une architecture qui évolue en fonction du stockage, du calcul et de la mise en réseau afin de pouvoir absorber régulièrement d'énormes volumes de données à mesure qu'ils augmentent
  • Réduire le coût de l'architecture

Solution

  • Descartes Labs a choisi la plateforme Google Cloud* pour son évolutivité linéaire en matière de stockage, de calcul et de mise en réseau
  • L'entreprise utilise des machines virtuelles préemptibles pour réduire les coûts
  • Le processeur Intel® Xeon® Scalable 96 cœurs sert à fournir les performances requises, notamment pour la compression
  • Intel® VTune™ Amplifier permet d'identifier les goulots d'étranglement des performances et d'affiner le code

Résultats

  • Descartes compte désormais Cargill et DARPA parmi ses clients. L'entreprise dessert également des entreprises dans les secteurs de l'agriculture, des services financiers et des services publics

Donner un sens aux énormes volumes de données satellitaires
Au cours de ces dernières décennies, la taille des satellites a considérablement rétréci. Alors que les premiers satellites avaient la taille d'un petit bus et pesaient une tonne, les CubeSats d'aujourd'hui s'approchent plus de la taille d'un smartphone et ne pèsent pas plus de 1,3 kg par unité. En termes de prix, nous sommes passés d'environ 100 millions de dollars à environ 65 000 dollars.1 L'industrie spatiale commerciale travaille dur pour trouver des moyens plus abordables de lancer et également récupérer des fusées, afin de faire des économies supplémentaires sur le coût du lancement des satellites et l'acquisition de données depuis l'espace. Avec l'essor des satellites privés, d'ici cinq ans, nous devrions avoir accès à des mises à jour continues couvrant la planète entière, toutes les 20 minutes.

L'accès à des données satellitaires plus actuelles donne aux entreprises une occasion unique de comprendre et de prévoir les changements, tant environnementaux qu'économiques. Par exemple : les infrastructures peuvent être mesurées au fur et à mesure de leur construction, les rendements des cultures peuvent être prédits sur la base d'imageries des terres agricoles mondiales, et la capacité solaire peut être mesurée pour éclairer les décisions dans le secteur de l'énergie.

Donner un sens aux énormes volumes de données satellitaires représente cependant un grand défi. Le satellite Landsat 8 capture 3,1 trillions de pixels par bande de couleur (rouge, vert, bleu), soit un total de 70 trillions de pixels entre 2013 et 2017. Cela représente 320 téraoctets de données, capturées par un seul satellite.1 Pour obtenir une image plus complète, il est possible de combiner les données de différents satellites. Cependant, cela représente des enjeux particuliers car il est peu probable que les données soient alignées et formatées de manière cohérente.

Détails de la solution
Descartes Labs construit un jumeau numérique du monde en appliquant l'apprentissage automatique à l'imagerie satellitaire et à d'autres ensembles de données volumineux, comme les données météorologiques, les prix et les données sur les clients. La solution est basée sur le cloud. Cela signifie qu'elle peut non seulement échelonner le stockage pour les ensembles de données massifs mais également mettre la capacité de calcul à l'échelle pour permettre un retour plus rapide des résultats et des données d'analyse.

La raffinerie de données Descartes Labs propose des données géographiques et notamment la bibliothèque complète des données satellites des missions Landsat de la NASA et Sentinel de l'ESA, l'ensemble du catalogue Airbus OneAtlas* et l'ensemble de données météorologiques de Global Surface Summary of the Day de la NOAA. Les données ont été combinées et nettoyées. Elles sont donc prêtes pour l'analyse par apprentissage automatique.

Les clients ayant une expérience de l'apprentissage automatique peuvent construire leurs propres applications et accéder aux données de Descartes Labs à l'aide d'une interface de programmation d'applications (API). Les données disponibles comprennent des imageries et des données vectorielles décrivant des caractéristiques telles que les limites des comtés. En utilisant un programme Python court, il est possible construire des applications qui s'adaptent à des milliers de cœurs de processeur dans le cloud, permettant ainsi de traiter rapidement les énormes volumes de données. Les clients peuvent demander des données géographiques couvrant une région et une période particulières. En retour, ils recevront les données sous forme d'imagerie ou d'un fichier CSV adapté à l'analyse dans un tableur.

Les clients n'ayant pas l'expérience nécessaire pour écrire leurs propres solutions peuvent collaborer avec l'équipe de Descartes Labs. En combinant les ensembles de données des clients avec les données géographiques propres à Descartes Labs, elle pourra construire un modèle d'apprentissage automatique et l'exécuter sur la base d'un abonnement, avec l'ajout continu de nouvelles données.

« Nous étions vraiment impressionnés par la façon dont les BPC ont évolué linéairement sur plusieurs composants, pas seulement dans le calcul, mais aussi dans la manière dont le réseau, le stockage sur le cloud et le Google Cloud PubSub* [utilisé pour la messagerie] ont tous évolué linéairement », a déclaré Tim Kelton, co-fondateur et directeur des opérations sur le cloud chez Descartes Labs. « Quand nous avons commencé, nous n'étions que quelques personnes installées au-dessus d'une pizzeria au Nouveau-Mexique, sans serveurs physiques. L'une des premières choses que nous avons faites a été de nettoyer et d'étalonner 43 ans d'images satellites de la NASA, et à l'aide du BPC, nous avons mis à l'échelle 30 000 cœurs dans le cloud. »

Figure 1. Descartes Labs absorbe des données satellitaires provenant de sources multiples et écrit des données vectorielles dans une base de données à mesure que les images sont analysées.

Composants techniques de la solution

  • Plateforme Google Cloud*. Pour stocker les énormes volumes de données qu'elle traite et permettre des capacités de calcul hautement évolutives, Descartes Labs utilise la plateforme Google Cloud pour prendre en charge à la fois le calcul et le stockage.
  • Processeurs Intel Xeon Scalable . Comparé à la famille de processeurs Intel® Xeon® E5 v3 que l'entreprise utilisait auparavant, le processeur Intel de dernière génération optimise les performances. L'introduction de la technologie Intel® Advanced Vector Extensions 512 (Intel® AVX-512) a tout particulièrement contribué à l'accélération des opérations de compression, essentielles à l'optimisation des coûts de stockage et au conditionnement des données en volumes de taille utile.

Ces 43 années d'imagerie de la NASA s'élevaient à 1 pétaoctet. Le traitement de ce volume de données pourrait être une exigence hebdomadaire d'ici cinq ans, estime Descartes Labs. Son utilisation de données historiques est donc importante non seulement pour analyser les changements dans le temps mais aussi pour tester l'évolutivité de l'environnement cloud.

Descartes Labs utilise des machines virtuelles préemptibles, c'est-à-dire des machines virtuelles que Google peut retirer à tout moment et qui seront disponibles pendant 24 heures au maximum. Elles sont proposées à un prix très réduit et ont aidé Descartes Labs réduire ses coûts. Le pipeline de traitement est un problème parallèle embarrassant, ce qui signifie qu'il peut être facilement divisé et réparti entre plusieurs cœurs. Descartes Labs utilise une file d'attente Python appelée Celery* pour gérer les tâches et s'assurer qu'elles sont toutes achevées. Redis Stackdriver* est utilisé pour la surveillance. Les applications de mise en file d'attente et de surveillance fonctionnent sur des machines virtuelles non préemptibles pour assurer la continuité à travers l'application.

À mesure que les images sont analysées, les informations sont saisies et écrites dans une base de données PostGIS pour les requêtes géospatiales, en utilisant Google Cloud Pub/Sub comme messagerie. Google Kubernetes Engine* sert à gérer et à isoler les charges de travail des différents clients.

Les processeurs Intel alimentent le Cloud
La solution de Descartes Labs fonctionne aujourd'hui sur le processeur évolutif Intel Xeon 96 cœurs, disponible sur la plateforme Google Cloud. Le processeur Intel Xeon Scalable introduit la technologie Intel Advanced Vector Extensions 512 (Intel AVX-512), qui double la quantité de données pouvant être traitées simultanément à l'aide d'une seule instruction, par rapport au processeur de la génération précédente. « Nous avons choisi la plateforme évolutive Intel Xeon pour ses performances », a déclaré Kelton. « Nous avons découvert que nous pouvions recompiler notre code sans avoir besoin de le modifier pour profiter d'Intel AVX-512. »

Le Google Compute Engine fonctionnant sur le processeur évolutif Intel Xeon sert à absorber les pipelines de traitement, où la compression est l'une des exigences, et pour la plateforme Software as a Service où les modèles sont exécutés contre l'imagerie (ce qui nécessite une expansion de l'imagerie). Le logiciel est la pile propriétaire de Descartes Labs, écrite en C, C+++ et Python. Les clients exécutant des modèles sur la plateforme utilisent souvent des bibliothèques de la pile d'apprentissage automatique Python telles que Numpy, SciPy, SciKit-Learn, TensorFlow et Keras.

Compte tenu des volumes de données avec lesquels Descartes Labs travaille, la compression est essentielle pour réduire les frais de stockage et fournir des données dans des fichiers de taille utile. Par exemple, même si un satellite peut capter 15 bandes de lumière, disons qu'un cas d'utilisation particulier ne nécessite que la bande infrarouge. La solution doit pouvoir fournir uniquement les données requises dans un fichier compressé pour en faciliter l'utilisation.

Les modèles d'apprentissage automatique peuvent avoir besoin de 1000 itérations pour s'entraîner. « Nous constatons une amélioration des performances du processeur évolutif Intel Xeon, par rapport à la famille de processeurs Intel Xeon E5 v3 que nous utilisions auparavant », a déclaré Kelton. « J'adore ça lorsque j'arrive à obtenir une réponse plus rapidement ou à réduire mon temps de traitement facturé. C'est assez incroyable ! Je prendrai n'importe lequel des deux ! »

Alors que la plupart des développeurs de l'entreprise travaillent au niveau de l'algorithme, en codant en C, C++ et Python, l'un des ingénieurs se consacre au réglage des performances. « Nous avons utilisé Intel VTune Amplifier pour permettre d'optimiser les premières étapes du prétraitement des images », a déclaré Kelton. « Cela nous a permis de voir à quel endroit notre code passait trop de temps sur une opération particulière et de déboguer et affiner ainsi les détails que nous ne pouvions pas voir dans un environnement de développement intégré normal. Intel fabrique certains des meilleurs outils parce qu'ils comprennent l'architecture principale et ce qui se passe dans le processeur. »

Intel a aidé Descartes Labs en prodiguant des conseils sur l'isolation des charges de travail dans un environnement multi-locataires et Descartes Labs explore le projet open source Kata Containers pour la sécurité des conteneurs, auquel Intel a contribué, et la distribution Intel® pour Python*, qui est réglée pour optimiser les performances sur les processeurs Intel.

Conquérir de nouvelles entreprises
Descartes a obtenu de nouveaux contrats de clients dans les secteurs de l'agriculture, de l'énergie et des services financiers, entre autres. « Auparavant, pour un produit donné, une entreprise pouvait posséder 70 % de la production, du transport et de la chaîne d'approvisionnement », a déclaré Kelton. « Ils pouvaient commercer sur le marché avec plus de discernement que n'importe qui d'autre. Maintenant, à l'aide de l'imagerie satellite, il y a plus de transparence dans ce domaine. Nous commençons à voir plus de possibilités de perturbation. »

Pour le marchand de grains Cargill, Descartes Labs a combiné les jeux de données de Cargill avec les leurs afin de créer un modèle qui a permis aux deux sociétés d'améliorer leurs modèles de prévision de la production de maïs aux États-Unis.

La Defense Advanced Research Projects Agency (DARPA) aux États-Unis a chargé Descartes Labs de construire une infrastructure cloud pour son programme Geospatial Cloud Analytics, qui intégrera jusqu'à 75 types de données différentes. Pour cette phase, Descartes Labs aidera les organisations à construire des projets types en plus de la nouvelle infrastructure. Les applications potentielles comprennent la détection de la pêche illégale et la surveillance de la construction des sites de fracturation.

Enseignements tirés

  • En établissant une relation étroite avec son fournisseur de services cloud, Descartes Labs a eu l'occasion d'accéder très tôt à des technologies, dont le processeur Intel Xeon Scalable, et de contribuer à façonner les propres innovations de Google.
  • Passez au processeur Intel Xeon Scalable et à la recompilation du logiciel pour tirer parti des nouvelles fonctionnalités du processeur et améliorer considérablement les performances, en fonction de la charge de travail.
  • L'utilisation de machines virtuelles préemptibles peut faire baisser les coûts de manière significative. Le pipeline de traitement utilisé dans les charges de travail de Descartes Labs peut être facilement réparti entre les machines virtuelles. De plus, la société a mis en place un système de file d'attente pour tenir compte de la possibilité qu'une machine virtuelle soit retirée à court terme.

Pleins feux sur Descartes Labs
Fondé par une équipe du laboratoire national de Los Alamos en 2014, Descartes Labs est en train de construire un jumeau numérique du monde. Grâce à son API et à ses services personnalisés, elle aide les entreprises à utiliser d'énormes volumes de données géographiques pour éclairer leurs décisions commerciales. Parmi ses clients, on compte Cargill et DARPA ainsi que des entreprises de secteurs tels que l'agriculture, les services financiers et les services publics.

Découvrez les produits et solutions associés

Processeurs Intel® Xeon® Scalable

Générez des données exploitables, comptez sur la sécurité matérielle et mettez en place des prestations de services dynamiques avec les processeurs Intel® Xeon® Scalable.

En savoir plus

Intel® Advanced Vector Extensions 512

L'innovation optimisée pour la charge de travail avec les extensions Intel® Advanced Vector Extensions 512 est maintenant disponible sur les processeurs Intel® Xeon® Scalable.

En savoir plus

Avis et avertissements

Les fonctionnalités et avantages des technologies Intel® dépendent de la configuration du système et peuvent nécessiter du matériel et des logiciels compatibles et l'activation de certains services. Les performances varient d'une configuration à une autre. Aucun ordinateur ne saurait être totalement sécurisé. Consultez le constructeur ou le revendeur de votre ordinateur.vous pouvez consulter le site https://www.intel.fr pour en savoir plus. // Les logiciels et charges de travail utilisés dans les tests de performance ont peut-être été optimisés uniquement pour les microprocesseurs Intel®. Les tests de performance tels que SYSmark* et MobileMark* portent sur des configurations, composants, logiciels, opérations et fonctions spécifiques. Les résultats peuvent varier en fonction de ces facteurs. Pour l'évaluation d'un produit, il convient de consulter d'autres tests et d'autres sources d'information, notamment pour connaître le comportement de ce produit avec d'autres composants. Pour des informations plus complètes, visitez https://www.intel.fr/benchmarks. // Les résultats de performances s'appuient sur les tests réalisés aux dates indiquées dans les configurations et peuvent ne pas refléter toutes les mises à jour de sécurité disponibles. Pour obtenir plus de détails, veuillez lire les informations de configuration. Aucun produit ou composant ne saurait être totalement sécurisé. // Les scénarios de réduction de coûts décrits sont fournis à titre d'exemples montrant comment un produit de technologie Intel® donné, dans les circonstances et configurations spécifiées, peut affecter les coûts futurs et entraîner des économies de coûts. Les circonstances peuvent varier selon les cas. Intel ne garantit aucun coût ni réduction de coûts. // Intel ne maîtrise et ne vérifie pas les bancs d'essai cités ici ou sur les sites Web mentionnés en référence. Vous êtes invité à consulter vous-même ces sites Web et à vérifier l'exactitude des données. // Dans certains cas, les résultats ont été estimés ou simulés à l'aide d'une analyse, d'une simulation ou d'une modélisation d'architecture réalisée en interne par Intel et sont mentionnés à titre indicatif. Toute différence matérielle, logicielle ou de configuration du système peut avoir une incidence sur vos performances effectives.

Infos sur le produit et ses performances

1How Computers See the Earth: A ML Approach to Understanding Satellite Imagery (Cloud Next '18), Kyle Story, Descartes Labs. https://www.youtube.com/watch?v=5PNnPagENxQ