Menü

Machine Learning: Facebook veröffentlicht ein Modell für Empfehlungsdienste

Das Deep Learning Recommendation Model soll beim Verwenden neuronaler Netze für passende Empfehlungen helfen.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag
Von

Facebook hat ein Deep Learning Recommendation Model (DLRM) veröffentlicht, das beim Verwenden neuronaler Netze für persönliche Empfehlungen helfen soll. Es soll das Verständnis für die Arbeitsweise der Modelle für Empfehlungsdienste verbessern. Außerdem bietet das Open-Source-Projekt Benchmarks sowohl hinsichtlich der Performance als auch bezüglich der Genauigkeit der Modelle.

Das DLRM-Projekt bringt Implementierungen für die ebenfalls quelloffenen Machine-Learning-Frameworks (ML) PyTorch und Caffe2 mit, die beide ihre Ursprünge beim sozialen Netz haben. Daneben finden sich im GitHub-Repository zu DLRM Implementierungen für Tests, Benchmarks und das Generieren und Laden von Daten.

Die auch mit den englischen Begriffen Recommender Systems oder Recommendation Systems bezeichneten Empfehlungsdienste spielen eine große Rolle im praktischen Einsatz von Machine Learning. Unternehmen wie Amazon, Spotify, Netflix und freilich Facebook nutzen solche Systeme, um ihren Kunden passende Waren, Musik, Serien oder Inhalte zu empfehlen.

In akademischen Untersuchungen kommt ihnen jedoch nach Ansicht der Autoren einer Ende Mai von Facebook veröffentlichten Abhandlung zu DLRM, die Facebook Ende Mai veröffentlicht hat, eine zu geringe Bedeutung zu. In der Tat widmet sich ein Großteil prominenter Beispiele der Bilderkennung, und manche bezeichnen das Erkennen von Katzen auf Fotos als "Hello World" des Machine Learning.

Der Einsatz von ML für Recommender Systems bringt eine Besonderheit gegenüber vielen Aufgaben mit sich: die Kombination aus großen, kontinuierlich anfallenden Datenmengen und überschaubaren Daten, die Attribute wie Nutzer oder Produkte kategorisieren. Erstere werden als Dense Data und letztere als Sparse Data bezeichnet, also dichte im Kontrast zu spärlichen Daten. DLRM ist speziell darauf ausgelegt, die unterschiedlichen Features zu kombinieren.

Die Verarbeitung der Daten stellt auf den einzelnen Ebenen unterschiedliche Herausforderung an die zugrundeliegende Infrastruktur.

(Bild: Facebook)

Die Verarbeitung der Daten erfolgt parallel über ein mehrlagiges Perzeptron (Multilayer Perceptron, MLP) für die kontinuierlich anfallenden Daten und über Embeddings für die Sparse Features. Das oben gezeigte Schema führt auf, welche Bereiche der Infrastruktur jeweils besonders gefordert sind:

  • die Speicherkapazität für die Datensammlung,
  • die Speicherbandbreite für die Embeddings und die MLP-Verarbeitung,
  • die Kommunikationsschicht für die Kombination der Features und
  • die Rechenleistung für die abschließende MLP-Verarbeitung.

Der DLRM-Benchmark kann unter anderem die Trainings- und Testgenauigkeit messen.

(Bild: Facebook)

Das DLRM-Projekt ist explizit auch als Benchmark ausgelegt. Entwickler und Data Scientists können damit die Geschwindigkeit, mit der Modelle Daten verarbeiten, messen. Außerdem misst ein Benchmark die Testgenauigkeit. Dazu läuft das Modell laut den Angaben von Facebook auf einem realistischen Datensatz. Der DLRM-Benchmark ist in Python geschrieben, und DLRM lässt sich sowohl zum Training als auch für das Anwenden des trainierten Modells auf neue Daten einsetzen.

ML-Konferenz: M³ London 2019

Vom 30. September bis zum 2. Oktober findet in London die M³ 2019 statt. Auf der von heise Developer und The Register ausgerichteten Entwicklerkonferenz zu Machine Learning wird Sebastian Riedel von Facebook AI Research, der zudem Professor für Natural Language Processing und ML am University College London ist, eine Keynote halten.

mehr anzeigen

Weitere Details zum Deep Learning Recommendation Model lassen sich dem Facebook-KI-Blog entnehmen. Die Intention hinter der Open-Source-Legung ist demnach vor allem, mehr Aufmerksamkeit für die spezifische Problemstellung bei Empfehlungsdiensten zu erzeugen und passende Tools bereitzustellen. (rme)