Machine Learning: Facebook gibt PyTorch-Library Opacus als Open Source frei

Für das Training von PyTorch-Modellen mit Differential Privacy bietet Opacus mehr Leistung und höhere Skalierbarkeit, versprechen die Facebook-Forscher.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Machine Learning: Facebook gibt die PyTorch-Library Opacus als Open Source frei

(Bild: deepadesigns/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Matthias Parbel

Um auch den erweiterten Datenschutzanforderungen von Differential Privacy beim Training von Machine-Learning-Modellen gerecht werden zu können, haben die Forscher von Facebooks AI-Abteilung eine neue Library für das PyTorch-Framework entwickelt. Opacus soll sowohl Entwickler von ML-Anwendungen wie auch Forscher beim Privacy-preserving Machine Learning (PPML) unterstützen, ohne dass sie Leistungs- oder Skalierungseinbußen beim Modelltraining hinnehmen müssen – so zumindest lautet das Versprechen von Facebook AI. Die PyTorch-Library Opacus steht ab sofort als Open Source frei zur Verfügung.

Opacus verfolgt den Ansatz des Differentially Private Stochastic Gradient Descent (DP-SGD) und modifiziert über die PrivacyEngine-API den Standardoptimierer von PyTorch, um Differential Privacy während des Trainings durchsetzen und überwachen zu können. Dabei nutzt Opacus einen kryptographisch sicheren Pseudozufallszahlengenerator. Die Idee hinter dem Algorithmus ist Facebook zufolge, die Privatsphäre eines Trainingsdatensatzes schützen zu können, indem nicht direkt in die Daten, sondern lediglich in die Parametergradienten eingegriffen wird, die das Modell zur Aktualisierung seiner Gewichte verwendet.

Opacus und die PrivacyEngine lassen sich mit wenigen Zeilen in den ML-Modelltrainingscode einbinden

(Bild: Facebook AI)

Um dabei zu verhindern, dass sich das Modell seine Trainingsbeispiele merkt, fügt Opacus den Gradienten in jeder Iteration ein Rauschen hinzu. Die geeignete Dosierung für das Rauschen ermitteln die Facebook-Forscher aus der Norm der Gradienten und berechnen den Gradienten für jede einzelne Probe in einer Minibatch – denn zu wenig Rauschen sichert die Privatsphäre nicht, zu viel zerstört das Signal. Während bei PyTorch üblicherweise Autograd den Gradiententensor für die gesamte Charge berechnet, beschneidet Opacus die Gradienten einzeln, akkumuliert sie anschließend zu einem einzigen Gradiententensor und addiert dann Rauschen zur Gesamtsumme. Laut Facebook soll der Per-Sample-Ansatz Opacus zudem einen Geschwindigkeitsvorteil gegenüber vergleichbaren Differential-Privacy-Librarys verschaffen, die sich typischerweise auf Microbatching fokussieren.

Nähere Details zur PyTorch-Library für Differential Privacy finden sich in der Ankündigung von Facebook AI. Opacus steht unter Apache-2.0-Lizenz auf GitHub frei zur Verfügung.

(map)