Descartes Labs: Ein lebender Atlas

Durch ein Upgrade auf den Intel® Prozessor der neuesten Generation konnte Descartes Labs seine Datenkompression beschleunigen.

Descartes Labs unterstützt Unternehmen, durch enorme Mengen an Satelliten- und geografischen Daten Einblick in Geschäftsabläufe zu erhalten, indem es eine Kombination von „Software as a Service“ und benutzerdefinierten Entwicklungen verwendet. Da hierbei Petabytes an Daten verarbeitet werden, ist eine Komprimierung enorm wichtig, um die Daten in Dateien brauchbarer Größe zu verpacken und die Datenspeicherkosten zu senken. Durch ein Upgrade auf den Intel® Prozessor der neuesten Generation, der in der Google Cloud Platform* bereitgestellt wurde, konnte Descartes Labs seine Komprimierung beschleunigen.

Herausforderung

  • Speicherung und Verarbeitung von Petabytes an Satelliten- und geografischen Daten ermöglichen
  • Eine Architektur erstellen, die über Datenspeicher, Rechner und Netzwerke hinweg skaliert werden kann, wodurch sie in der Lage ist, regelmäßig enorme Datenmengen aufzunehmen, da sich das Datenvolumen erhöht
  • Die Kosten der Architektur senken

Lösung

  • Descartes Labs wählte Google Cloud Platform* aufgrund der linearen Skalierbarkeit über Datenspeicherung, Rechenleistung und Vernetzung hinweg
  • Das Unternehmen verwendet zur Kostensenkung präemptible VMs
  • Der skalierbare Intel® Xeon® Prozessor mit 96 Kernen bietet die erforderliche Leistung, einschließlich zur Kompression
  • Intel® VTune™ Amplifier dient zur Identifizierung von Leistungsengpässen und der Feinabstimmung des Codes

Ergebnisse

  • Descartes zählt jetzt Cargill und DARPA zu seinen Kunden, die auch Unternehmen in den Bereichen Landwirtschaft, Finanzdienstleistungen und Versorgungswirtschaft umfassen

Interpretation enormer Mengen an Satellitendaten
In den letzten Jahrzehnten ist die Größe von Satelliten drastisch geschrumpft. Während früher Satelliten so groß wie ein kleiner Bus waren und eine Tonne wogen, ähneln die heutigen CubeSats größenmäßig einem Smartphone und wiegen pro Einheit nicht mehr als 1,3 kg. Die Kosten sind von etwa 100 Millionen US-Dollar auf circa 65.000 US-Dollar gesunken.1 Die kommerzielle Raumfahrtindustrie unternimmt große Anstrengungen, um kostengünstigere Startmethoden zu finden und Raketen wiederverwertbar zu machen, was die Kosten für den Satellitenstart und die Erfassung von Daten aus dem Weltraum weiter senkt. Innerhalb von fünf Jahren könnte der Boom bei den privaten Satelliten uns alle 20 Minuten kontinuierliche Updates liefern, die den gesamten Planeten abdecken.

Für Unternehmen stellen aktuellere Satellitendaten eine einzigartige Gelegenheit dar, Veränderungen in den Bereichen Umwelt und Wirtschaft zu verstehen und vorauszusagen. Ein Beispiel: Die Infrastruktur kann während des Baus gemessen werden, Ernteerträge können auf der Basis von Bildern landwirtschaftlicher Flächen weltweit vorhergesagt werden, und die solare Kapazität kann gemessen werden, um Entscheidungen in der Energiewirtschaft zu beeinflussen.

Allerdings stellt die Analyse von enormen Mengen von Satellitendaten eine große Herausforderung dar. Der Landsat-8-Satellit erfasst 3,1 Billionen Pixel pro Farbband (rot, grün, blau) und hat zwischen 2013 und 2017 insgesamt 70 Billionen Pixel aufgenommen Das sind 320 Terabyte an Daten, die von einem einzigen Satelliten erfasst wurden.1 Für eine vollständigere Ansicht können Daten verschiedener Satelliten kombiniert werden, was aber seine eigenen Herausforderungen bietet, da die Daten wahrscheinlich nicht gleichmäßig ausgerichtet und formatiert sind.

Einzelheiten der Lösung
Descartes Labs entwickelt einen digitalen Zwilling der Welt, indem es maschinelles Lernen auf Satellitenbilder und andere massive Datenmengen anwendet, wie Wetterdaten, Preise und Kundendaten. Die Lösung ist Cloud-gestützt, was bedeutet, dass sie den Datenspeicher für die massiven Datenmengen skalieren und auch die Rechenleistung erhöhen kann, um Analyseergebnisse zu unterstützen und schneller Daten zu erhalten.

Die Datenraffinerie von Descartes Labs bietet geografische Daten, einschließlich der gesamten Bibliothek an Satellitendaten der Missionen NASA Landsat und ESA Sentinel, den gesamten Airbus OneAtlas* Katalog und den Wetter-Datensatz NOAA Global Surface Summary of the Day. Die Daten wurden kombiniert und gereinigt, damit sie für die Analyse durch maschinelles Lernen vorbereitet sind.

Kunden mit Erfahrung im Bereich des maschinellen Lernens können ihre eigenen Anwendungen erstellen und auf die Daten von Descartes Labs mithilfe einer Programmierschnittstelle (API) zugreifen. Die verfügbaren Daten umfassen Bilder und Vektordaten, die Merkmale wie Bezirksgrenzen beschreiben. Mit einem kurzen Python-Programm können Anwendungen aufgebaut werden, die auf Tausende von Prozessorkernen in der Cloud skalierbar sind, wodurch enorme Datenmengen schnell verarbeitet werden können. Kunden können geografische Daten anfordern, die eine bestimmte Region und Zeitspanne umfassen und die Daten als Bilder oder als CSV-Datei erhalten, die in einer Kalkulationstabelle analysiert werden können.

Kunden, die keine Erfahrung dabei haben, ihre eigenen Lösungen zu entwickeln, können in Zusammenarbeit mit dem Team von Descartes Labs ihre Datensätze mit den geografischen Daten von Descartes Labs kombinieren, dann ein Modell für maschinelles Lernen erstellen und dieses auf Abo-Basis ausführen, wobei kontinuierlich neue Daten hinzugefügt werden.

„Wir waren äußerst beeindruckt wie GCP linear über mehrere Komponenten skalierbar war, nicht nur bei der Rechenleistung, sondern auch wie gut Netzwerk, Cloud-Speicher und Google Cloud PubSub* [für das Messaging] linear skalierten“, meinte Tim Kelton, Mitbegründer und Head of Cloud Operations bei Descartes Labs. „Zu Beginn waren wir nur einige Leute in einem Büro über einer Pizzeria in New Mexico, ohne physikalische Server. Als eines unserer ersten Projekte reinigten und kalibrierten wir 43 Jahre an NASA-Satellitendaten, und mit GCP haben wir das auf 30.000 Kerne in der Cloud skaliert.“

Abbildung 1. Descartes Labs analysiert Satellitendaten aus mehreren Quellen und schreibt Vektordaten in eine Datenbank, während die Bilder analysiert werden.

Technische Komponenten der Lösung

  • Google Cloud Platform*. Um die großen zu verarbeitenden Datenmengen zu speichern und hoch skalierbare Rechenkapazitäten zu ermöglichen, verwendet Descartes Labs Google Cloud Platform sowohl für die Rechenleistung als auch für den Datenspeicher.
  • Skalierbarer Intel Xeon Prozessor. Der neueste Generation von Intel-Prozessoren erhöht die Leistung, verglichen mit der Prozessorreihe Intel® Xeon® E5 v3, welche das Unternehmen vorher verwendete. Insbesondere die Einführung von Intel® Advanced Vector Extensions 512 (Intel® AVX-512) beschleunigte die Komprimierungsverfahren, die für die Optimierung der Datenspeicherkosten und die Verpackung von Daten in Volumen sinnvoller Größer entscheidend sind.

Diese 43 Jahre an NASA-Bilddaten summierten sich auf 1 Petabyte. Die Verarbeitung dieses Datenvolumens könnte innerhalb von fünf Jahren wöchentlich erforderlich sein, wie Descartes Labs schätzt. Daher ist die Verwendung historischer Daten nicht nur für die Analyse von Veränderungen im Laufe der Zeit wichtig, sondern auch als Test der Skalierbarkeit der Cloud-Umgebung.

Descartes Labs präemptible virtuelle Maschinen (VMs), also VMs, die Google jederzeit zurückziehen kann und welche maximal 24 Stunden zur Verfügung stehen. Sie werden zu einem deutliche niedrigeren Preis angeboten und haben Descartes Labs bei der Kostensenkung geholfen. Die Verarbeitungs-Pipeline ist ein sehr paralleles Problem, was bedeutet, dass sie leicht auf mehrere Kerne aufgeteilt und verteilt werden kann. Descartes Labs verwendet eine Python-Warteschlange namens Celery* für die Verwaltung von Aufgaben und um sicherzustellen, dass sie alle abgeschlossen werden. Redis Stackdriver* wird für die Überwachung verwendet. Sowohl die Warteschlangen- als auch die Überwachungsanwendung laufen auf nicht-präemptiblen VMs, um die Kontinuität in der gesamten Anwendung sicherzustellen.

Während die Bilder analysiert werden, werden auch Informationen erfasst und in eine PostGIS-Datenbank für Geodaten-Abfragen geschrieben, wobei Google Cloud Pub/Sub für das Messaging verwendet wird. Die Google Kubernetes Engine* wird für die Verwaltung und die Isolierung der Workloads verschiedener Kunden verwendet.

Intel-Prozessoren für die Cloud
Die Lösung von Descartes Lab läuft heute auf dem skalierbaren Intel Xeon Prozessor mit 96 Kernen, der über Google Cloud Platform bereitgestellt wird. Der skalierbare Intel Xeon Prozessor führt die Intel Advanced Vector Extensions 512 (Intel AVX-512) ein, die im Vergleich zum Prozessor der vorherigen Generation die Datenmenge verdoppeln, die mit einer einzigen Anweisung verarbeitet werden kann. „Wir haben die skalierbare Intel Xeon Plattform für ihre Leistung gewählt“, so Kelton. „Wir haben festgestellt, dass wir unseren Code zur Nutzung von Intel AVX-512 neu kompilieren konnten, ohne dass Codeänderungen nötig waren.“

Die auf dem skalierbaren Intel Xeon Prozessor laufende Google Compute Engine dient dazu, die Verarbeitungs-Pipelines einzulesen, wobei die Komprimierung eine der Anforderungen darstellt, sowie für die Software-as-a-Service-Plattform, wo die Bilddaten mit Modellen verarbeitet werden (was eine Bilderweiterung erfordert). Die Software ist der proprietäre Stack von Descartes Labs, der in C, C++ und Python geschrieben wird. Kunden, die Modelle auf der Plattform ausführen, verwenden häufig Bibliotheken aus dem Python-Stack für maschinelles Lernen, wie Numpy, SciPy, SciKit-Learn, TensorFlow und Keras.

Angesichts der Datenmengen, mit denen Descartes Labs arbeitet, ist eine Komprimierung unerlässlich, um die Kosten für die Datenspeicherung zu minimieren und Daten in Dateien mit brauchbarer Größe zu liefern. Ein Satellit könnte beispielsweise 15 Lichtbänder erfassen, aber für einen bestimmten Anwendungsfall könnte nur Infrarot erforderlich sein. Die Lösung muss in der Lage sein, nur die benötigten Daten bereitzustellen, und das in einer benutzerfreundlichen komprimierten Datei.

Die Modelle für maschinelles Lernen können beim Training bis zu 1000 Iterationen erfordern. „Wir sehen eine verbesserte Leistung auf dem skalierbaren Intel Xeon Prozessor, verglichen mit der Produktreihe Intel Xeon E5 v3, die wir früher verwendet hatten“, so Kelton. „Es ist wunderbar, wenn ich eine Antwort schneller erhalte oder die kostenpflichtige Verarbeitungszeit reduzieren kann. Das ist echt fantastisch! Und ich wäre schon mit einem dieser Vorteile zufrieden!“

Während die meisten Entwickler des Unternehmens auf der Algorithmus-Ebene arbeiten und in C, C++ und Python programmieren, ist einer der Ingenieure mit der Feinabstimmung der Leistung beschäftigt. „Wir haben Intel VTune Amplifier verwendet, um die frühen Phasen der Bild-Vorverarbeitung zu optimieren“, sagte Kelton. „Es half uns, zu sehen, wo unser Code zu viel Zeit für eine bestimmte Aufgabe benötigte, wodurch wir die Details korrigieren und optimieren konnten, die wir in einer regulären integrierten Entwicklungsumgebung (IDE) nicht gesehen hätten. Intel stellt einige der besten Tools her, da das Unternehmen sowohl die Backend-Architektur als auch das versteht, was im Prozessor abläuft.“

Intel hat Descartes Labs dabei geholfen, Workloads in einer mandantenfähigen Umgebung zu isolieren, und Descartes Labs untersucht das Open-Source-Projekt, Kata Containers für die Container-Sicherheit, an dem Intel mitgearbeitet hat, sowie die Intel® Distribution für Python*, die auf die optimale Leistung auf Intel Prozessoren abgestimmt ist.

Neue Kunden finden
Descartes hat nun neue Kunden unter anderem in den Bereichen Landwirtschaft, Energie und Finanzdienstleitungen gefunden. „Früher besaß ein Unternehmen vielleicht 70 Prozent an Produktion, Transport und der Lieferkette für eine bestimmte Ware“, so Kelton. „Sie konnten auf dem Markt mit mehr Einblicken agieren als jeder andere. Jetzt gibt es durch die Verwendung von Satellitenbildern mehr Transparenz. Wir sehen zunehmend mehr Möglichkeiten für revolutionäre Neuerungen.“

Für das Agrarunternehmen Cargill hat Descartes Labs die Datensätze von Cargill mit seinen eigenen kombiniert und ein Modell erstellte, das die vorherigen Modelle beider Firmen zur Vorhersage der Maisproduktion in den Vereinigten Staaten verbesserte.

Die Defense Advanced Research Projects Agency (DARPA) in den USA hat Descartes Labs beauftragt, die Cloud-Infrastruktur für sein Programm Geospatial Cloud Analytics zu entwickeln, das bis zu 75 verschiedene Datentypen integriert. In dieser Phase hilft Descartes Labs Organisationen, Probeprojekte auf der Grundlage der neuen Infrastruktur zu entwickeln. Zu möglichen Anwendungen zählen die Erkennung illegaler Fischerei und die Überwachung der Einrichtung von Fracking-Standorten.

Erkenntnisse

  • Durch die Entwicklung einer engen Beziehung zu seinem Cloud-Provider hatte Descartes Labs die Möglichkeit, frühzeitig Zugang zu Technologien zu erhalten, einschließlich der skalierbaren Intel Xeon Prozessoren, und es konnte auch Googles eigene Innovationen mitgestalten.
  • Ein Upgrade auf die skalierbare Intel Xeon Prozessoren und die Neukompilierung der Software, um die Vorteile neuer Prozessorfunktionen zu nutzen, kann je nach Workload erhebliche Leistungsverbesserungen liefern.
  • Die Verwendung von präemptiblen VMs kann die Kosten erheblich senken. Die für die Workloads von Descartes Lab genutzte Verarbeitungspipeline kann einfach auf VMs verteilt werden, und das Unternehmen hat ein Warteschlangensystem entwickelt, um die Möglichkeit zu berücksichtigen, dass eine VM kurzfristig zurückgezogen wird.

Spotlight auf Descartes Labs
Das von einem Team aus dem Los Alamos National Laboratory 2014 gegründete Descartes Labs will einen digitalen Zwilling der Welt entwickeln. Mit seiner API und speziellen Diensten hilft es Unternehmen, riesige Mengen an geografischen Daten zu nutzen, um die richtigen Geschäftsentscheidungen zu treffen. Zu seinen Kunden gehören Cargill und DARPA. Sie stammen aus Sektoren wie Landwirtschaft, Finanzdienstleistungen und Versorgungswirtschaft.

Informationen über zugehörige Produkte und Lösungen

Skalierbare Intel® Xeon® Prozessoren

Fördern Sie verwertbare Erkenntnisse, verlassen Sie sich auf Hardware-basierte Sicherheit und stellen Sie dynamische Servicelieferung mit skalierbaren Intel® Xeon® Prozessoren bereit.

Weitere Informationen

Intel® Advanced Vector Extensions 512

Workload-optimierte innovative Technik mit Intel® Advanced Vector Extensions 512 – jetzt verfügbar bei der skalierbaren Intel® Xeon® Prozessorreihe.

Weitere Informationen

Hinweise und Disclaimer

Durch Intel® Technik ermöglichte Funktionsmerkmale und Vorteile hängen von der Systemkonfiguration ab und können entsprechend geeignete Hardware, Software oder die Aktivierung von Diensten erfordern. Die Leistungsmerkmale variieren je nach Systemkonfiguration. Kein Computersystem bietet absolute Sicherheit. Informieren Sie sich beim Systemhersteller oder Einzelhändler oder auf https://www.intel.de. In Leistungstests verwendete Software und Workloads können speziell für die Leistungseigenschaften von Intel® Mikroprozessoren optimiert worden sein. Leistungstests wie SYSmark und MobileMark werden mit spezifischen Computersystemen, Komponenten, Softwareprogrammen, Operationen und Funktionen durchgeführt. Jede Veränderung bei einem dieser Faktoren kann abweichende Ergebnisse zur Folge haben. Für eine umfassende Bewertung Ihrer vorgesehenen Anschaffung, auch im Hinblick auf die Leistung des betreffenden Produkts in Verbindung mit anderen Produkten, sollten Sie zusätzliche Informationen und Leistungstests heranziehen.Ausführlichere Informationen finden Sie unter https://www.intel.de/benchmarks. Die Leistungsergebnisse basieren auf Tests, die zum Zeitpunkt, der in den Konfigurationen angegeben ist, durchgeführt wurden und berücksichtigen möglicherweise nicht alle öffentlich verfügbaren Sicherheitsupdates. Weitere Einzelheiten finden Sie in den veröffentlichten Konfigurationsdaten. Kein Produkt und keine Komponente bieten absolute Sicherheit. // Die beschriebenen Kostensenkungsszenarien sind als Beispiele dafür gedacht, wie ein bestimmtes Produkt mit Intel®-Technik unter den genannten Umständen und in der angegebenen Konfiguration zukünftige Kosten beeinflussen und Einsparungen ermöglichen kann. Die Umstände unterscheiden sich von Fall zu Fall. Intel übernimmt keine Gewähr für Kosten oder Kostensenkungen. // Intel hat keinen Einfluss auf und keine Aufsicht über die Benchmarkdaten Dritter oder die Websites, auf die in diesem Dokument Bezug genommen wird. Besuchen Sie die genannten Websites, um sich davon zu überzeugen, dass die angeführten Benchmarkdaten zutreffen. // Bei einigen Tests wurden die Ergebnisse unter Verwendung interner Analysen oder Architektursimulationen bzw. -modellen von Intel geschätzt oder nachempfunden. Sie dienen nur informatorischen Zwecken. Unterschiede in der Hardware, Software oder Konfiguration des Systems können die tatsächliche Leistung beeinflussen.

Produkt- und Leistungsinformationen

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