Schnelligkeit und Sicherheit für Deep Learning mit Baidu PaddlePaddle und den skalierbaren Intel® Xeon® Plattformen der dritten Generation

Dieser Artikel stellt vor, wie Baidus Deep-Learning-Plattform PaddlePaddle von Intel® VNNI Anweisungen und Software Guard Extension (SGX)-Technik auf den skalierbaren Intel® Xeon® Prozessoren der 3. Generation unterstützt wird. Infolgedessen kann PaddlePaddle Entwicklern dabei helfen, Deep-Learning-Modelle schneller und einfacher mithilfe von Modell-Quantisierung und Beschleunigung zu implementieren; und vertrauliche Rechenfunktionen zu erstellen, um mehr Unternehmen dabei zu helfen, Multi-Source-Daten in ihren Deep-Learning-Modellen auf sichere und zuverlässige Weise zu verwenden.

Auf einen Blick

  • Baidus Deep-Learning-Plattform PaddlePaddle wird von Intel® VNNI Anweisungen und Software Guard Extension (SGX)-Technik auf den skalierbaren Intel® Xeon® Prozessoren der 3. Generation unterstützt.

  • PaddlePaddle kann Entwicklern helfen, Deep-Learning-Modelle schneller und leichter durch Modell-Quantisierung und Beschleunigung bereitzustellen.

BUILT IN - ARTICLE INTRO SECOND COMPONENT

Deep-Learning-Technologie ist eine entscheidende treibende Kraft für eine neue Ära mit KI. Durch die Analyse von Texten, Bildern, Geräuschen und Multimedia-Daten, um Vorhersagen zu treffen, drängt Deep Learning mehr Branchen dazu, intelligenter zu werden. Allerdings machen für viele Unternehmen die reine Menge an benötigten Daten und Komplexität von Modellierungsfähigkeiten Deep Learning unerreichbar. Entwickler sind bemüht, Wege zu finden, um die reale Anwendung von Deep Learning zu erleichtern.

So werden beispielsweise die meisten Deep-Learning-Modelle mit 32-Bit Fließkommzahl-Präzision (FP32) mit hoher Rechenkomplexität und einer großen Anzahl von Modellparametern entwickelt. Diese Eigenschaften erschweren die Anwendung von Deep-Learning-Modellen in bestimmten Szenarien und Geräten, insbesondere bei mobilen und eingebetteten Geräten. Wenn wir einen Hebelpunkt für Geschwindigkeit erstellen können, indem wir diese Modelle „schlanker“ machen, mit reduziertem Speicherplatz und beschleunigter Inferenz, wird die Anwendung von Deep Learning viel durchführbarer gemacht. 
Darüber hinaus hängt die Leistung des Modells von der Datenqualität ab. Wenn Unternehmen Datensilos durchbrechen und hochwertige Daten aus mehreren Quellen aggregieren und Confidential Computing anwenden können, werden sie einen neuen Sicherheitshebelpunkt haben, um ungenutztes Datenpotenzial zu realisieren.

Baidus Open-Source Deep-Learning-Plattform PaddlePaddle, die auf den skalierbaren Intel® Xeon® Prozessoren der 3. Generation beschleunigt wurde, bietet Lösungen, die die kritischen Hebelpunkte von Geschwindigkeit und Sicherheit erfüllen. Durch die Schaffung von mehr Hebelpunkten für Deep Learning können sie Branchen dabei helfen, Deep-Learning-Fähigkeiten auf die Herausforderungen und Möglichkeiten in der Praxis anzuwenden.

Baidu PaddlePaddle

PaddlePaddle basiert auf den Jahren der Deep-Learning-Forschung und der Erfahrung in den Geschäftsanwendungen in der Praxis von Baidu. Es ist Chinas erste Open-Source Deep-Learning-Plattform auf Industrieebene mit fortschrittlicher Technik und umfassenden Funktionen. Sie integriert Deep-Learning-Kernschulung und Inferenz-Frameworks, eine grundlegende Modellbibliothek, End-to-End-Entwicklungskits und eine umfangreiche Sammlung von Toolkits. PaddlePaddle hat von mehr als 2,65 Millionen Entwicklern und 100.000 Unternehmen profitiert und die Entwicklung von 340.000 Modellen erleichtert.1 Es kann Entwicklern dabei helfen, ihre Ideen in KI schnell zu realisieren und relevante Anwendungen zu starten, wodurch mehr Unternehmen intelligente Geschäfts-Upgrades mit KI-Funktionen implementieren können.

PaddlePaddle 2.0, das im Januar 2021 eingeführt wurde, macht die Innovation und Anwendung der Deep-Learning-Technologie noch einfacher durch das neu aufgerüstete API-System. Diese neue Version bietet eine befriedigendere Coding-Erfahrung mit einem ausgereiften und vollständig dynamischen Graph-Mode. Sie verbessert die Benutzerfreundlichkeit und Flexibilität mit leistungsstärker verteilten Trainingsfunktionen. Es hat außerdem ein robustes Hardware-Technologieumfeld eingerichtet, das durch die Integration von Software und Hardware tiefgehende Optimierungen bietet.

Ein neuer „Speed Leverage Point” für die Anwendung von PaddlePaddle-Modellen: Quantisierung und Beschleunigung

PaddlePaddle geht den Hebelpunkt für Geschwindigkeit über zwei Schritte an: die Quantisierung von PaddlePaddle-Modellen mit PaddleSlim, sowie Bereitstellung und Beschleunigung auf Intel® CPUs mit Paddle-Inferenz. Abbildung 1 bietet einen Überblick über diesen Prozess.

Abbildung 1. Erstellen Sie quantisierte Modelle und stellen Sie sie auf Intel® CPUs bereit

Modell-Quantisierung

Um Benutzern dabei zu helfen, ihre Modelle einfach und in kurzer Zeit „schlanker“ zu machen, startete Baidu PaddlePaddle PaddleSlim, ein Kompressionswerkzeug für Deep-Learning-Modelle. PaddleSlim enthält eine Sammlung von Kompressionsstrategien, wie Zurückschneiden, Fixpunkt-Quantisierung, Wissens-Destillation, Hyperparametersuche und neuronale Architektursuche (NAS). Die neueste PaddleSlim 2.0-Version unterstützt sowohl dynamische als auch statische Graphen.

Die Quantisierung ist der Prozess zur Verwendung von niedrigeren Bits zum Ersatz von FP32, mit dem Schwerpunkt auf die Darstellung im INT8-Datentyp. Die Vorteile der Modellquantisierung umfassen weniger Speicherplatz, schnellere Inferenz und einen geringeren Energieverbrauch. PaddleSlim unterstützt schulungsfähige Quantisierung und statische Quantisierung nach der Schulung und behandelt die Modelle zur Computer-Vision (CV) und der natürlichen Sprachverarbeitung (NLP). Beide Methoden produzieren genaue Skalierungen und setzen einen symmetrischen Quantisierungsansatz ein.

Bereitstellung und Beschleunigung des quantisierten Modells mit Intel® Technik

Bei der Bereitstellung nutzt PaddlePaddle die integrierte KI-Beschleunigung von skalierbaren Intel® Xeon® Prozessoren der 3. Generation sowie Intel® oneAPI Toolkits.

VNNI Anweisungen

Die skalierbaren Intel® Xeon® Prozessoren der 3. Generation verfügen über Intel® Deep Learning Boost (Intel® DL Boost) Technik, die das neue VNNI umfasst. Basierend auf Intel® Advanced Vector Extensions 512 (Intel® AVX-512), verbessert VNNI die Inferenzleistung um bis zu einem Faktor von vier über FP32 und reduziert die Speicheranforderungen um bis zu vier Mal (siehe Abbildung 2). Reduzierte Speicheraufnahme und die höhere Frequenz helfen dabei, die Berechnung von geringer Präzision zu beschleunigen. Dadurch ergeben sich viel schnellere KI- und Deep-Learning-Inferenz. Zu den Beispielen der gezielten Anwendungen gehören Bildklassifizierung, Spracherkennung, Sprachübersetzung, Objekterkennung, und mehr.

Abbildung 2. Die Intel® DL Boost AVX512_VNI VPDPBUSD Anweisung ermöglicht 8-Bit Multiplikationen mit 32-Bit Akkumulationen mit 1 Anweisung u8×s8→s32. Dies bietet einen theoretischen 4-fachen Spitzen-Rechengewinn für INT8-OPS im Vergleich zu FP32-OPS.

oneAPI

Um die Beschleunigungsfunktionen von VNNI Anweisungen zu aktivieren, verwendet PaddlePaddle Intel® oneAPI Toolkits als Teil der Modellquantisierungslösung. Intel® oneAPI ist ein einheitliches und vereinfachtes Programmiermodell, das eine JIT (just-in-time) Code-Bibliothek von Vektor-Mathematik-Bedienern auf den Plattformen integriert. Es ermöglicht Entwicklern bei verschiedenen Architekturen (CPU, GPU und FPGA) einfach die sofortige universelle Schnittstelle des oneAPI-Bedieners zu verwenden, ohne sich um Probleme der Plattform-Inkompatibilität Gedanken zu machen.

Integration mit PaddlePaddle und Quantisierung

Mit der Unterstützung von VNNI Anweisungen und der einheitlichen Programmierschnittstelle von oneAPI, können die durch PaddleSlim erstellten simulierten INT8-Modelle in echte INT8-Modelle transformiert werden. Diese Modelle können dann auf skalierbaren Intel® Xeon® Prozessoren der 3. Generation eingesetzt werden. Die Kernschritte umfassen:

  1. Sammeln und verfeinern Sie die Skalierung und andere Daten, die vom Simulationsmodell gewonnen wurden.
  2. Führen Sie Modellbediener, wie z. B. conv + relu zusammen und vereinfachen Sie den Graphen.
  3. Basierend auf der Liste der unterstützten oneDNN-INT8-Bediener und unter Verwendung der Skalierung, die aus dem Simulationstraining gewonnen wurden, setzen Sie die quantisierten/dequantisierten Operator ein.
  4. Speichern Sie das quantisierte INT8-Modell für weitere Bereitstellungen und Inferenz.
     

Anwendungsbeispiele

Derzeit wird die Baidu PaddlePaddle Modellquantisierung und Beschleunigungslösung in vielen Baidu-Diensten wie Baidu OCR Services weit angewendet. Baidus kommerziell vertriebenes OCR-Angebot umfasst hochpräzise Textfindung und Erkennung in verschiedenen Szenarien und Sprachen. Sie wird für Identitätsauthentifierung aus der Ferne, Finanz- und Steuererstattung, Digitalisierung eines Dokuments und andere Bereiche als Möglichkeit für Unternehmen verwendet, die Kosten zu reduzieren und die Effizienz zu steigern. Baidu OCR bietet stabile und benutzerfreundliche Online-APIs, Offline-SDK, Softwarebereitstellungspakete und andere Dienste. In Bezug auf Modellquantisierung und -beschleunigung, hat Baidu einen Satz Slim-OCR-Tools erstellt, die erhebliche Leistungsverbesserungen ermöglichen. Da Baidu OCR-Modelle Bildklassifierungsmodelle (wie z. B. ResNet50) als Backbone verwendet, zeigt Abbildung 3 die getesteten Leistungssteigerungen an, die auf ResNet50 als Beispiel verweisen.

Abbildung 3: Einzelkernleistung auf Intel® Xeon® Platinum 8358 vor und nach INT8-Quantisierung eines Bildklassifizierungsmodells

Die Testergebnisse zeigen, dass der Full ImageNet Val Datensatz der Inferenz-Durchsatz von ResNet50 INT8 3,56-mal so hoch ist, wie FP32 (Abbildung 3). Es kann festgestellt werden, dass die PaddlePaddle Quantisierungslösung, die mit skalierbaren Intel® Xeon® Prozessoren der 3. Generation integriert ist, die Inferenzgeschwindigkeit mehrerer Deep-Learning-Modelle erheblich verbessern kann. Diese Leistungssteigerungen können Entwicklern dabei helfen, die Effizienz in ihren Deep-Learning-Anwendungen deutlich zu verbessern.

Ein neuer Sicherheitshebelpunkt für die Anwendung von PaddlePaddle-Modellen: Confidential Computing

Confidential Computing-Funktionen zu PaddlePaddle mit Intel® SGX bringen

Die Aggregierung von Multi-Source-Daten für Deep Learning können erhebliche Sicherheitsherausforderungen darstellen, insbesondere wenn sensible Daten beteiligt sind. Um diese Herausforderungen zu bewältigen, ist Baidu PaddlePaddle jetzt in MesaTEE, Baidus Computing-Framework für Confidential Computing integriert. MesaTEE, was für speichersichere vertrauenswürdige Ausführungsumgebungen steht, nutzt zwei Schlüsseltechnologien: Die Rust speichersichere Sprache und Intel® Software Guard Extensions (Intel® SGX), eine hardwarebasierte Sicherheitslösung. Intel SGX überbrücken ein Betriebssystem (OS) und Softwareschichten einer virtuellen Maschine (VM) eines Systems. Sie unterteilen sensible Anwendungsskripte und Daten in gehärtete Enklaven, was ihnen mehr Schutz vor Offenlegung oder Änderung bietet. Mit Intel® SGX bietet MesaTEE einen robusten Ansatz zur Implementierung von vertraulichem Deep Learning und dem Schutz sensibler Daten. Die kommerzielle Version MesaTEE baut auf Apache Teaclave auf, einer universellen sicheren Rechenplattform, die in Rust geschrieben wurde und derzeit in Inkubation ist. Mit dieser Version bietet Baidu kundenspezifische kommerzielle Lösungen für Unternehmensbenutzer und hat eine erstklassige kollaborative vertrauliche Rechenengine erstellt und verteiltes TEE Cluster-Computing eingesetzt, die dabei helfen, Daten in großflächigen Datenmodellen und Schulungsumgebungen zu schützen.

Bei der Integration in PaddlePaddle, fungiert MesaTEE, als Kollaborationsplattform und Taskplaner. Sie verwendet PaddlePaddle als Task-Ausführungsumgebung durch Executor Plug-Ins und liefert spezifische Deep-Learning-Aufgaben an PaddlePaddle in TEEs. Darüber hinaus unterstützt MesaTEE verschiedene TEE-Anbieterprodukte, um die Gültigkeit seines Remote Attestation-Prozesses anzupassen, und ihn in das Kommunikationsprotokoll zu integrieren. Dieser Ansatz hilft MesaTEE sicherzustellen, dass die Sicherheit seiner Betriebsumgebung messbar ist. Die Lösung unterstützt Dateispeicherprotokolle aus der Ferne, wie z. B. S3 für den Dateizugriff und alle Dateiinhalte sind verschlüsselt. Während des Trainingsprozesses und ohne Beeinträchtigung des Verwendungsmodus, sind alle Daten, auf die von PaddlePaddle in TEES zugegriffen wird, veschlüsselt. Dieses Feature wurde entwickelt, um schädlichen Angriffen zu widerstehen, indem sie den Zugriff auf Computing-Inhalt von außerhalb des TEE verhindern. Abbildung 4 zeigt die Interaktionen zwischen PaddlePaddle und MesaTEE.

Abbildung 4: Die Interaktion zwischen PaddlePaddle und MesaTEE

Potenzielle Anwendung und realer Anwendungsfall

Durch die Kombination von Deep Learning mit Confidential Computing, reagiert PaddlePaddle flexibel auf Branchentrends und positioniert sich selbst, um in vielen Branchen weiterhin eine entscheidende Rolle zu spielen. Nehmen Sie als Beispiel die Finanzbranche. Für einen längeren Zeitraum haben sich Finanzinstitute auf Technologien des maschinellen Lernens verlassen, um einfache, zweidimensionale numerische Daten für die Erstellung von Schuldnerprofilen zu modellieren und zu analysieren. Der Aufstieg der Deep-Learning-Technologie hat neue Möglichkeiten eröffnet. Deep-Learning-Modelle durchbrechen die Grenzen traditioneller Modelle für maschinelles Lernen durch Sprach-, Bild- und andere Methoden, um Multimedia-Daten und Streaming-Daten zu integrieren. Zu diesen Daten gehören Zahlungsinformationen (von Zahlungsdienstleistern von Dritten), bisherige Einkäufe (von Einzelhändlern und E-Commerce-Plattformen), Kreditdaten (von Kreditinstituten Dritter) und soziale Kontakte (von Social-Media-Plattformen). Es kann auch die Berufsvergangenheit (von Rekrutierungsplattformen) Reiseinformationen (von Reiseplattformen) und andere Datentypen umfassen.

Aus Sicht von Datenanbietern sind Benutzerdaten jedoch hochgradig sensibel und werden möglicherweise rechtlich nicht geteilt. Daher sind Datensilos in der Finanzbranche üblich. Datenanbieter, Modellentwickler, Modellbewertungen und Datenbenutzer sind alle voneinander getrennt. Durch die PaddlePaddle Deep-Learning-Plattform, die in TEES ausgeführt wird, können Finanzinstitute wie Du Xiaoman von Baidu in der Lage sein, auf sichere Weise mit Datenanbietern zu arbeiten, um ein robusteres Kreditrisikobewertungsmodell zu erstellen, und gleichzeitig Datenschutzanforderungen zu erfüllen.

Fazit

Intel® Deep Learning Boost VNNI und Intel® Software Guard Extensions (SGX)-Technik sind die wichtigsten Funktionen der neuesten skalierbaren Intel® Xeon® Prozessoren der 3. Generation. Sie sind außerdem entscheidend darin, Technologien für sicherere, leistungsstarke KI-Anwendungen zu ermöglichen. Die skalierbaren Intel Xeon Prozessoren der 3. Generation bieten eine ausgewogene Architektur mit integrierter Beschleunigung und erweiterten Sicherheitsfunktionen, die durch jahrzehntelange Innovation für die anspruchsvollsten Workload-Anforderungen entwickelt wurden. Optimiert für Cloud-, Unternehmens-, KI-, HPC-, Netzwerk-, Sicherheit s-und Internet of Things (IoT)-Workloads, bieten diese Prozessoren 8 bis 40 leistungsstarke Kerne und eine breite Palette von Frequenz, Funktion und Stromversorgung.

Skalierbare Intel® Xeon® Prozessoren der 3. Generation sind die einzige Rechenzentrums-CPUs mit integrierter KI-Beschleunigung und unterstützen End-to-End-Tools der Datenwissenschaft und ein riesiges Technologieumfeld intelligenter Lösungen. Diese leistungsstarke Kombination kann dazu beitragen, wertvolle Erkenntnisse in Apps vom Netzwerkrand bis zur Cloud zu entsperren.

Baidus Quantisierungslösung, Bereitstellungstools und weitere Optimierung und Integration mit Intel Hardware bieten einen überzeugenden Mehrwert, da PaddlePaddle-Angebote zunehmend auf Intel Plattformen online gehen. Baidus umfangreicher Pool an Modellen und zunehmend ausgereifte Anwendungs-Entwicklungskits (wie z. B. PaddleOCR und PaddleDetection) fügen weiteren Mehrwert und Komfort hinzu. Entwickler erleben die Vorteile einer optimierten Modellbeschleunigung, die durch die Lösung „Modell + Hardware“ aktiviert ist.

Darüber hinaus werden Baidus Bereitstellungstools wie z. B. Paddle Inference und Paddle Lite auch nativ mit Intel Inference Acceleration Libraries wie dem Intel® Distribution des OpenVINO™ Toolkit integriert. Eine Reihe von kontinuierlichen Bemühungen erleichtert es Benutzern des PaddlePaddle Deep-Learning-Framework, um die Beschleunigung auf Intel Hardware zu genießen. 

Weitere Informationen

Das Team von Intel und PaddlePaddle begrüßen Sie bei GitHub, um ihre Projekte zu verfolgen und ihr Feedback zu hinterlassen.

https://github.com/PaddlePaddle/Paddle

https://github.com/PaddlePaddle/Paddle-Lite


Hinweise

1 Die Daten wurden von Baidu bereitgestellt. Intel hat keinen Einfluss auf und keine Aufsicht über die Daten Dritter. Sie sollten andere Quellen heranziehen, um die Genauigkeit zu beurteilen.

2 Baidu: Platinum 8350C: Test von Intel mit Stand vom 19.3.2021. 2 Knoten, 2x Intel® Xeon® Platinum 8350C CPU mit 2,60 GHz, 32 Kerne, HT On, Turbo Off. Gesamtspeicher 256 GB (4 Slots/64 GB/2933 MHz), BIOS: WLYDCRB1.SYS.0020.P92.2103170501 (UCode: 0x8d00270), Ubuntu 18.04.3 LTS, 4.15.0-55-generic, gcc 9.3.0 Compiler, ResNet50 Modell, Deep Learning Framework: Paddle2.0, Download unter https://paddle-inference-lib.bj.bcebos.com/2.0.0-cpu-avx-mkl/paddle_inference.tgz BS=1, ImageNet Val, 1 Instanzen, Datentyp: FP32/INT8


Hinweise und Haftungsausschlüsse

Die Leistung variiert je nach Verwendung, Konfiguration und anderen Faktoren. Weitere Informationen siehe www.intel.com/PerformanceIndex. 
Die Leistungswerte basieren auf Tests, die mit den in den Konfigurationen angegebenen Daten durchgeführt wurden und spiegeln möglicherweise nicht alle öffentlich verfügbaren Updates wider. Weitere Konfigurationsdetails siehe Backup. Kein Produkt und keine Komponente bieten absolute Sicherheit.
Ihre Kosten und Ergebnisse können variieren.
Für die Funktion bestimmter Technik von Intel kann entsprechend konfigurierte Hardware, Software oder die Aktivierung von Diensten erforderlich sein.
© Intel Corporation. Intel, das Intel Logo und andere Intel Markenbezeichnungen sind Marken der Intel Corporation oder ihrer Tochtergesellschaften. Andere Marken oder Produktnamen sind Eigentum der jeweiligen Inhaber.