Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Ab dem 20. September 2023 können Sie keine neuen Personalizer-Ressourcen erstellen. Der Personalizer-Dienst wird am 1. Oktober 2026 eingestellt. Es wird empfohlen, zu microsoft/learning-loop als Open-Source-Alternative zu migrieren.
Bei der Bereitstellung einer neuen Personalizer-Ressource wird sie mit einem ungeübten oder leeren Modell initialisiert. Das heißt, sie hat noch aus keinerlei Daten gelernt und wird daher in der Praxis nicht gut funktionieren. Dies wird als "Kaltstart"-Problem bezeichnet und wird im Laufe der Zeit gelöst, indem das Modell mit realen Daten aus Ihrer Produktionsumgebung trainiert wird. Der Lehrlingsmodus ist ein Lernverhalten, das dazu beiträgt, das Problem "Kaltstart" zu mindern, und ermöglicht es Ihnen, Vertrauen in das Modell zu gewinnen, bevor sie Entscheidungen in der Produktion trifft, ohne dass Codeänderungen erforderlich sind.
Was ist der Lehrlingsmodus?
Ähnlich wie ein Lehrling ein Handwerk lernen kann, indem er einen Experten beobachtet, ermöglicht der Lehrlingsmodus Personalizer, die Entscheidungen zu beobachten, die durch die aktuelle Logik Ihrer Anwendung getroffen wurden. Das Personalizer-Modell trainiert, indem er die gleiche Entscheidungsausgabe wie die Anwendung nachahmt. Mit jedem Rang-API-Aufruf kann Personalizer lernen, ohne die vorhandene Logik und Ergebnisse zu beeinträchtigen. Metriken, die im Azure-Portal und der API verfügbar sind, helfen Ihnen, die Leistung zu verstehen, während das Modell lernt. Insbesondere, wie gut Personalize mit Ihrer vorhandenen Logik übereinstimmt (auch als Grundrichtlinie bezeichnet).
Sobald Personalizer in der Lage ist, Ihre vorhandene Logik 60-80% der Zeit angemessen abzugleichen, können Sie das Verhalten vom Lehrlingsmodus in den Online-Modus ändern. Zu diesem Zeitpunkt gibt die Personalisierung die besten Aktionen, die vom zugrunde liegenden Modell bestimmt werden, in der Rangfolge-API zurück und kann lernen, wie sie bessere Entscheidungen als Ihre Baselinerichtlinie treffen kann.
Warum den Lehrlingsmodus verwenden?
Der Lehrlingsmodus bietet eine Möglichkeit für Ihr Modell, Ihre vorhandene Entscheidungslogik nachzuahmen, bevor sie Onlineentscheidungen trifft, die von Ihrer Anwendung verwendet werden. Dies trägt dazu bei, das oben genannte Kaltstartproblem zu mindern und Ihnen mehr Vertrauen in den Personalizer-Dienst zu geben und zu versichern, dass die an Personalizer gesendeten Daten für die Schulung des Modells wertvoll sind. Dies geschieht ohne Risiko oder Auswirkungen auf Ihren Online-Datenverkehr und Ihre Kundenerfahrungen.
Die beiden Hauptgründe für die Verwendung des Lehrlingsmodus sind:
- Entschärfung der Kaltstarts: Der Ausbildungsmodus hilft dabei, die Kosten eines „neuen“ Modells in der Produktion zu verringern, indem es lernt, ohne uninformierte Entscheidungen treffen zu müssen. Das Modell lernt, Ihre vorhandene Anwendungslogik nachzuahmen.
- Überprüfen von Aktions- und Kontextfeatures: Kontext- und Aktionsfeatures sind möglicherweise unzureichend, ungenau oder suboptimal entwickelt. Wenn zu wenige, zu viele, falsche, störende oder falsch formatierte Features vorhanden sind, hat Personalize Schwierigkeiten, ein leistungsfähiges Modell zu trainieren. Durch die Durchführung einer Funktionsauswertung im Lehrlingsmodus können Sie ermitteln, wie effektiv die Features bei der Schulung von Personalizer sind und Bereiche zur Verbesserung der Funktionsqualität identifizieren können.
Wann sollten Sie den Lehrlingsmodus verwenden?
Verwenden Sie den Ausbildungsmodus, um die Personalisierung zu trainieren, um die Effektivität der Personalisierung durch die folgenden Szenarien zu verbessern, ohne die Erfahrung Ihrer Benutzer durch die Personalisierung zu beeinträchtigen:
- Sie implementieren Personalizer in einem neuen Szenario.
- Sie haben wichtige Änderungen an den Features "Kontext" oder "Aktion" vorgenommen.
Der Lehrlingsmodus ist jedoch keine effektive Möglichkeit, den Einfluss von Personalizer auf die Verbesserung der durchschnittlichen Belohnung oder Ihrer Geschäftskennzahlen zu messen. Es kann nur ausgewertet werden, wie gut der Dienst Ihre vorhandene Logik anhand der aktuellen Daten lernt, die Sie bereitstellen. Um zu messen, wie effektiv Personalizer bei der Auswahl der bestmöglichen Aktion für jeden Ranganruf ist, muss Personalizer im Onlinemodus sein, oder Sie können Offline-Auswertungen über einen Zeitraum verwenden, in dem Personalizer im Onlinemodus war.
Wer sollte den Lehrlingsmodus verwenden?
Der Lehrlingsmodus ist für Entwickler, Datenwissenschaftler und Entscheidungsträger nützlich:
Entwickler können den Apprentice-Modus verwenden, um sicherzustellen, dass die Ranking- und Belohnungs-APIs in der Anwendung richtig implementiert werden und dass die an Personalizer gesendeten Features fehlerfrei und frei von häufigen Fehlern sind. Erfahren Sie mehr über das Erstellen guter Kontext- und Aktionsfeatures.
Data Scientists können den Lehrlingsmodus verwenden, um zu überprüfen, ob die Funktionen effektiv sind, um die Personalizer-Modelle zu trainieren. Das heißt, die Features enthalten nützliche Informationen, mit denen Personalizer die vorhandene Entscheidungslogik erlernen kann.
Entscheidungsträger können den Lehrlingsmodus verwenden, um das Potenzial von Personalizer zu bewerten, um die Ergebnisse (d. h. Belohnungen) im Vergleich zu bestehender Geschäftslogik zu verbessern. Insbesondere, ob Personalizer aus den bereitgestellten Daten lernen kann, bevor sie in den Onlinemodus wechseln. Dies ermöglicht es ihnen, eine fundierte Entscheidung über die Auswirkungen auf die Benutzererfahrung zu treffen, wo echte Einnahmen und Benutzerzufriedenheit auf dem Spiel stehen.
Vergleich von Verhaltensweisen – Lehrlingsmodus und Onlinemodus
Das Lernen im Lehrlingsmodus unterscheidet sich auf folgende Weise vom Onlinemodus.
| Bereich | Lehrlingsmodus | Onlinemodus |
|---|---|---|
| Auswirkungen auf die Benutzererfahrung | Die Benutzerfreundlichkeit und Geschäftsmetriken werden sich nicht ändern. Personalizer wird trainiert, indem die grundlegenden Aktionen Ihrer aktuellen Anwendungslogik beobachtet werden, ohne sie zu beeinträchtigen. | Die Benutzererfahrung kann sich ändern, da die Entscheidung vom Personalizer und nicht von Ihrer Basisaktion getroffen wird. |
| Lerngeschwindigkeit | Personalizer lernt langsamer im Anfängermodus im Vergleich zum Lernen im Online-Modus. Der Ausbildungsmodus kann nur lernen, indem die Belohnungen beobachtet werden, die von Ihrer Standardaktion verdient werden, ohne Erkundung, was begrenzt, wie viel die Personalisierung lernen kann. | Lernen Sie schneller, da sie sowohl die beste Aktion aus dem aktuellen Modell ausnutzen kann als auch andere Aktionen für potenziell bessere Ergebnisse untersuchen kann. |
| Lerneffektivität "Obergrenze" | Personalizer kann nur die Leistung der aktuellen Logik Ihrer Anwendung (die durch die Basisaktion erzielte durchschnittliche Gesamtbelohnung) annähern und niemals übertreffen. Sobald eine Übereinstimmung von 60%-80% erreicht ist, wird empfohlen, den Personalizer in den Online-Modus zu schalten, da es unwahrscheinlich ist, dass er eine Übereinstimmung von 100% mit der Logik Ihrer aktuellen Anwendung erreicht. | Personalizer sollte die Leistung Ihrer Basisanwendungslogik überschreiten. Wenn die Leistung der Personalisierung mit der Zeit stagnieren sollte, können Sie eine Offlineauswertung und eine Featureauswertung durchführen, um weitere Verbesserungen zu verfolgen. |
| Rang-API-Rückgabewert für rewardActionId | Die rewardActionId ist immer die ID der Standardaktion. Das heißt, die Aktion, die Sie als erste Aktion im JSON der Rank-API-Anforderung senden. Mit anderen Worten, die Rang-API macht nichts für Ihre Anwendung im Lehrlingsmodus sichtbar. | Die rewardsActionId ist eine der IDs, die im Rang-API-Aufruf bereitgestellt werden, wie vom Personalisierungsmodell bestimmt. |
| Bewertungen | Personalizer hält einen Vergleich der Belohnungssummen, die von Ihrer aktuellen Anwendungslogik erhalten werden, und der Belohnungssummen, die Personalizer zum gleichen Zeitpunkt im Onlinemodus erhalten würde. Dieser Vergleich steht im Monitor-Bereich Ihrer Personalizer Ressource im Azure-Portal zur Verfügung. | Bewerten Sie die Effektivität von Personalizer, indem Sie Offline-Auswertungen ausführen, mit denen Sie die Gesamtprämien vergleichen können, die Personalizer mit den potenziellen Belohnungen der Anwendungsgrundlage erreicht hat. |
Beachten Sie, dass die Personalisierung wahrscheinlich keine 100 %ige Übereinstimmung mit der Leistung der Basislogik Ihrer Anwendung erreicht und sie nie übertreffen wird. Ein Erreichen von 60–80 % der Leistung sollte ausreichen, um die Personalisierung auf den Onlinemodus umzustellen, in dem die Personalisierung bessere Entscheidungen erlernen und die Leistung der Basislogik Ihrer Anwendung schließlich übertreffen kann.
Einschränkungen des Lehrlingsmodus
Im Ausbildungsmodus wird das Personalisierungsmodell trainiert, indem versucht wird, die Basislogik Ihrer vorhandenen Anwendung mithilfe der Kontext- und Aktionsfeatures in den Rangaufrufen zu imitieren. Die folgenden Faktoren beeinflussen die Fähigkeit des Apprentice-Modus zu lernen.
Szenarien, in denen der Lehrlingsmodus möglicherweise nicht geeignet ist:
Redaktionsisch ausgewählte Inhalte:
In einigen Szenarien wie Nachrichten oder Unterhaltungen kann das Basiselement manuell von einem Redaktionsteam zugewiesen werden. Dies bedeutet, dass Menschen ihr Wissen über die breitere Welt verwenden und verstehen, was ansprechend sein kann, um bestimmte Artikel oder Medien aus einem Pool auszuwählen und sie als "bevorzugt" oder "Hero"-Artikel zu kennzeichnen. Da es sich bei diesen Editoren nicht um einen Algorithmus handelt, und die Faktoren, die von Editoren berücksichtigt werden, können subjektiv und möglicherweise nicht mit den Kontext- oder Aktionsfeatures zusammenhängen. In diesem Fall kann der Lehrlingsmodus Schwierigkeiten haben, die geplante Aktion vorherzusagen. In diesen Situationen können Sie:
- Testen Sie Personalizer im Onlinemodus: Erwägen Sie, personalizer in den Onlinemodus für Zeit oder in einen A/B-Test zu versetzen, wenn Sie über die Infrastruktur verfügen, und führen Sie dann eine Offlineauswertung aus, um den Unterschied zwischen der Basislogik Ihrer Anwendung und Personalizer zu bewerten.
- Fügen Sie redaktionelle Überlegungen und Empfehlungen als Features hinzu: Fragen Sie Ihre Redakteure, welche Faktoren ihre Auswahl beeinflussen, und sehen Sie, ob Sie diese als Features in Ihrem Kontext und Ihrer Aktion hinzufügen können. Beispielsweise können Redakteure in einem Medienunternehmen Inhalte hervorheben, wenn sich ein bestimmter Prominenter häufig in den Nachrichten befindet: Dieses Wissen könnte als Kontextfeature hinzugefügt werden.
Faktoren, die den Lehrlingsmodus verbessern und beschleunigen
Wenn der Ausbildungsmodus lernt und eine Anpassungsleistung über Null erreicht, sich die Leistung jedoch nur langsam verbessert (sie erreicht innerhalb von zwei Wochen nicht 60 bis 80 % Abgleichrelevanz), ist es möglich, dass zu wenig Daten an die Personalisierung gesendet werden. Die folgenden Schritte können dazu beitragen, schnelleres Lernen zu erleichtern:
- Hinzufügen von unterscheidenden Merkmalen: Sie können eine visuelle Überprüfung der Aktionen in einem Rank-Aufruf und deren Merkmale durchführen. Verfügt die geplante Aktion über Features, die sich von anderen Aktionen unterscheiden? Wenn sie hauptsächlich gleich aussehen, fügen Sie weitere Features hinzu, die die Vielfalt der Featurewerte erhöhen.
- Reduzieren von Aktionen pro Ereignis: Die Personalisierung verwendet die Einstellung „% von Rangfolgeaufrufen für Erkundung verwenden“, um Vorlieben und Trends zu erkennen. Wenn ein Rangaufruf mehr Aktionen hat, wird die Wahrscheinlichkeit, dass eine bestimmte Aktion für die Erkundung ausgewählt wird, niedriger. Das Verringern der Anzahl von Aktionen, die in jedem Rangaufruf auf eine kleinere Zahl (unter 10) gesendet werden, kann eine temporäre Anpassung sein, die angeben kann, ob der Lehrlingsmodus über ausreichende Daten verfügt, um zu lernen.
Verwenden des Lehrlingsmodus zum Trainieren mit historischen Daten
Wenn Sie eine erhebliche Menge an historischen Daten haben, die Sie zum Trainieren von Personalizer verwenden möchten, können Sie den Lehrlingsmodus verwenden, um die Daten über Personalizer wiederzuverwenden.
Richten Sie den Personalizer im Lehrlingsmodus ein und erstellen Sie ein Skript, das 'Rank' mit den Aktionen und Kontextmerkmalen aus den historischen Daten aufruft. Rufen Sie die Relevanz-API auf der Grundlage Ihrer Berechnungen der Datensätze in diesen Daten auf. Möglicherweise benötigen Sie ca. 50.000 historische Ereignisse, damit Personalizer eine 60-80% Übereinstimmung mit der Basislogik Ihrer Anwendung erzielen kann. Möglicherweise können Sie zufriedenstellende Ergebnisse mit weniger oder mehr Ereignissen erzielen.
Wenn Trainingsdaten aus historischen Daten gezogen werden, wird empfohlen, dass die übermittelten Daten [Features für Kontext und Aktionen, ihr Layout im JSON-Format, das für Ranganfragen verwendet wird, sowie die Berechnung der Belohnung in diesem Trainingsdatensatz] mit den Daten [Features und Berechnung der Belohnung], die in Ihrer bestehenden Anwendung verfügbar sind, übereinstimmen.
Offline- und historische Daten sind tendenziell unvollständiger und lauter und können sich im Format von Ihrem Inproduktionsszenario (oder online) unterscheiden. Während das Training aus historischen Daten möglich ist, sind die Ergebnisse daraus möglicherweise nicht eindeutig und sind nicht unbedingt ein guter Prädiktor dafür, wie gut Personalizer im Onlinemodus lernen wird, insbesondere, wenn die Features zwischen den historischen Daten und dem aktuellen Szenario variieren.
Verwenden des Lehrlingsmodus im Vergleich zu A/B-Tests
A/B-Tests von Personalisierungsbehandlungen sind erst sinnvoll, nachdem die Personalisierung validiert und in den Onlinemodus versetzt wurde, da im Ausbildungsmodus nur die Baselineaktion verwendet und die vorhandene Logik erlernt wird. Dies bedeutet im Wesentlichen, dass der Personalizer die Aktion des "Kontrollarms" Ihres A/B-Tests zurückgibt, weshalb ein A/B-Test im Apprentice-Modus keinen Wert hat.
Sobald Sie einen Anwendungsfall mit Personalizer und Onlinelernen haben, können Sie mit A/B-Experimenten kontrollierte Kohorten erstellen und Vergleiche von Ergebnissen durchführen, die komplexer sein können als die signale, die für Belohnungen verwendet werden. Ein Beispiel für eine Frage, die ein A/B-Test beantworten könnte, lautet: "Auf einer Einzelhandelsseite optimiert Personalizer ein Layout und bringt mehr Benutzer dazu, den Kauf schneller abzuschließen. Führt dies jedoch zu einem geringeren Gesamtumsatz je Transaktion?"
Nächste Schritte
- Informationen zu aktiven und inaktiven Ereignissen