Utilisez le mode Apprenti pour effectuer l'apprentissage de Personalizer sans affecter l'application existante
Important
À compter du 20 septembre 2023, vous ne pourrez pas créer de ressources Personalizer. Le service Personalizer est mis hors service le 1er octobre 2026.
Quand une nouvelle ressource Personalizer est déployée, elle est initialisée avec un modèle non entraîné, ou vide. Autrement dit, elle n’a encore rien appris à partir de données et ne fonctionnera donc pas correctement. Il s’agit du problème de « démarrage à froid », qui se résout au fil du temps en formant le modèle avec des données réelles de votre environnement de production. Le mode Apprenti est un comportement d’apprentissage qui permet d’atténuer le problème de « démarrage à froid » et vous permet de faire confiance au modèle avant de prendre des décisions en production, tout cela sans modifier le code.
Qu'est-ce que le mode Apprenti ?
Comme un apprenti apprend un métier en observant un expert, le mode Apprenti permet à Personalizer d’apprendre en observant les décisions prises par la logique actuelle de votre application. Le modèle Personalizer se forme en imitant les décisions prises par l'application. Avec chaque appel d’API Rank, Personalizer peut apprendre sans avoir d’impact sur la logique et les résultats existants. Les mesures, disponibles à partir du portail Azure et de l'API, vous aident à comprendre les performances au fil de l'apprentissage du modèle. Plus précisément, elles vous aident à comprendre dans quelle mesure Personalizer correspond à votre logique existante (ou stratégie de référence).
Quand Personalizer peut correspondre raisonnablement à votre logique existante 60 à 80 % du temps, vous pouvez changer le comportement en passant du mode Apprenti au mode En ligne. À ce moment-là, Personalizer retourne les meilleures actions dans l’API Rank comme déterminé par le modèle sous-jacent et peut apprendre à prendre de meilleures décisions que votre stratégie de référence.
Pourquoi utiliser le mode Apprenti ?
Le mode Apprenti permet à votre modèle d’imiter votre logique de décision existante avant de prendre des décisions en ligne utilisées par votre application. Ceci permet d’atténuer le problème de démarrage à froid mentionné plus haut, renforce votre confiance dans le service Personalizer et garantit que les données envoyées à Personalizer sont vraiment utiles pour l’entraînement du modèle. Ceci s’effectue sans que votre trafic en ligne et l’expérience client ne soient affectés ou ne courent le moindre risque.
Les deux principales raisons d'utiliser le mode Apprenti sont les suivantes :
- Atténuation des démarrages à froid : le mode Apprenti permet d’atténuer le coût de formation d’un « nouveau » modèle en production en apprenant sans avoir à prendre de décisions non éclairées. Le modèle apprend à imiter votre logique d’application existante.
- Validation des caractéristiques d’action et de contexte : Les caractéristiques de contexte et d’action peuvent être incorrectes, manquer de justesse ou conçues de manière non optimale. S’il y a trop peu ou trop de fonctionnalités, ou si elles sont incorrectes, bruyantes ou mal formées, Personalize aura des difficultés à entraîner un modèle performant. La mise en œuvre d’une évaluation des caractéristiques en mode Apprenti vous permet de découvrir à quel point les caractéristiques sont efficaces pour l’entraînement de Personalizer et d’identifier les domaines d’amélioration de la qualité des caractéristiques.
Quand devez-vous utiliser le mode Apprenti ?
Utilisez le mode Apprenti pour effectuer l'apprentissage de Personalizer afin d'améliorer son efficacité lors des scénarios suivants sans altérer l'expérience de vos utilisateurs :
- Vous implémentez Personalizer dans un nouveau scénario.
- Vous avez apporté des modifications majeures aux caractéristiques de contexte ou d’action.
Cependant, le mode Apprenti n’est pas efficace pour mesurer l’impact de Personalizer sur l’amélioration de la récompense moyenne ou de vos KPI métier. Il peut uniquement évaluer la manière dont le service apprend votre logique existante en fonction des données actuelles que vous fournissez. Pour mesurer l’efficacité de Personalizer dans le choix de la meilleure action possible pour chaque appel à Rank, Personalizer doit être en mode En ligne. Vous pouvez également utiliser les évaluations hors connexion durant les périodes où Personalizer est en mode En ligne.
Qui doit utiliser le mode Apprenti ?
Le mode Apprenti s'adresse aux développeurs, aux scientifiques des données et aux décisionnaires d'entreprise :
Les développeurs peuvent utiliser le mode Apprenti pour s’assurer que les API Rank et Reward sont correctement implémentées dans l’application et que les caractéristiques envoyées à Personalizer sont exemptes d’erreurs et de problèmes courants. Apprenez-en davantage sur la création de bonnes caractéristiques de contexte et d’action.
Les scientifiques des données peuvent utiliser le mode Apprenti pour vérifier l’efficacité des caractéristiques dans le cadre de l’apprentissage des modèles Personalizer. Autrement dit, les caractéristiques contiennent des informations utiles permettant à Personalizer d’apprendre la logique de décision existante.
Les décisionnaires d’entreprise peuvent utiliser le mode Apprenti pour évaluer la capacité de Personalizer à améliorer les résultats (c’est-à-dire les récompenses) par rapport à la logique métier existante. Plus précisément, si Personalizer peut apprendre à partir des données fournies avant de passer en mode En ligne. Ils peuvent ainsi prendre des décisions éclairées sur l’impact sur l’expérience utilisateur quand le chiffre d’affaires et la satisfaction des utilisateurs sont en jeu.
Comparaison des comportements : mode Apprenti et mode En ligne
L'apprentissage n'est pas le même en mode Apprenti et en mode En ligne.
Domaine | Mode Apprenti | Mode En ligne |
---|---|---|
Impact sur l'expérience utilisateur | L’expérience des utilisateurs et les métriques métier ne changent pas. Personalizer est entraîné en observant les actions de référence de la logique actuelle de votre application, sans les affecter. | L’expérience de vos utilisateurs peut changer quand la décision est prise par Personalizer et non par votre action de référence. |
Vitesse d'apprentissage | Personalizer apprendra plus lentement en mode Apprenti qu'en mode En ligne. Le mode Apprenti ne peut apprendre qu’en observant les récompenses obtenues par votre action par défaut sans exploration, ce qui limite la quantité d’apprentissage de Personalizer. | L’apprentissage est plus rapide, car il est possible d’exploiter la meilleure action du modèle actuel et d’explorer d’autres actions pour des résultats potentiellement meilleurs. |
Efficacité d'apprentissage « plafond » | Personalizer ne peut qu’approcher, sans jamais dépasser, les performances de la logique actuelle de votre application (la récompense moyenne totale obtenue par l’action de référence). Il est peu probable que Personalizer atteigne 100 % de correspondance avec la logique actuelle de votre application. Il est recommandé de faire passer Personalizer en mode En ligne quand une correspondance de 60 %-80 % est atteinte. | Personalizer doit dépasser les performances de votre logique d’application de référence. Si les performances de Personalizer stagnent au fil du temps, vous pouvez effectuer l’évaluation hors connexion et l’évaluation des caractéristiques pour poursuivre l’amélioration. |
Valeur de retour de l'API Rank pour rewardActionId | rewardActionId sera toujours l’ID de l’action par défaut. Cela signifie qu’il s’agit de l’action que vous envoyez comme première action dans la requête JSON de l’API Rank. En d'autres termes, l'API Rank ne fait rien de visible pour votre application en mode Apprenti. | rewardActionId sera l’un des ID fournis dans l’appel de l’API Rank, tel que déterminé par le modèle Personalizer. |
Évaluations | Personalizer compare les récompenses totales obtenues par votre logique d’application actuelle et les récompense totales que Personalizer obtiendrait s'il était en mode En ligne. Cette comparaison peut être consultée dans le panneau Surveiller de votre ressource Personalizer dans le portail Azure. | Évaluez l'efficacité de Personalizer en procédant à des évaluations hors connexion afin de pouvoir comparer les récompenses totales obtenues par Personalizer et les récompenses potentielles de la référence de l'application. |
Notez qu’il est peu probable que Personalizer atteigne une correspondance de performances de 100 % avec la logique de référence de l’application et qu’il ne la dépassera jamais. Une correspondance de performances de 60 % à 80 % doit être suffisante pour faire passer Personalizer au mode En ligne. Personalizer pourra alors apprendre à prendre de meilleures décisions et dépasser les performances de la logique de référence de votre application.
Limitations du mode Apprenti
Le mode Apprenti entraîne le modèle Personalizer en tentant d’imiter la logique de référence existante de votre application avec les caractéristiques de contexte et d’action présentes dans les appels à Rank. Les facteurs suivants affectent la capacité du mode Apprenti à apprendre.
Scénarios où le mode Apprenti peut ne pas convenir :
Contenu éditorial choisi :
Dans certains scénarios, comme les actualités ou les loisirs, la base de référence peut être affectée manuellement par une équipe éditoriale. Cela signifie que des êtres humains utilisent leurs connaissances sur le vaste monde et leur compréhension de ce qui peut être un contenu attrayant pour choisir des articles ou des médias spécifiques dans un pool et les marquent comme des articles « préférés » ou « cultes ». En effet, ces éditeurs ne sont pas un algorithme. De plus, les facteurs pris en compte par les éditeurs peuvent être subjectifs et, parfois, ne sont pas liés aux caractéristiques de contexte ou d’action. Dans ce cas, le mode Apprenti peut avoir des difficultés à prédire l’action de référence. Dans ces situations, vous pouvez :
- Tester Personalizer en mode En ligne : envisagez de placer Personalizer en mode En ligne pendant un certain temps ou dans un test A/B si vous disposez de l’infrastructure, puis exécutez une évaluation hors connexion pour évaluer la différence entre la logique de référence de votre application et Personalizer.
- Ajoutez des considérations et des recommandations éditoriales comme fonctionnalités : demandez à vos éditeurs quels facteurs influencent leurs choix et voyez si vous pouvez les ajouter comme fonctionnalités dans votre contexte et votre action. Par exemple, les éditeurs d’une société de médias peuvent mettre en évidence du contenu quand une célébrité donnée fait souvent la une de l’actualité : cette connaissance peut être ajoutée comme caractéristiques de contexte.
Facteurs qui améliorent et accélèrent le mode Apprenti
Si le mode Apprenti apprend et atteint une performance de correspondance supérieure à zéro, mais que les performances s’améliorent lentement (elles n’atteignent pas 60 % à 80 % des récompenses mises en correspondance en deux semaines), il est possible qu’il y ait trop peu de données envoyées à Personalizer. Les étapes suivantes peuvent vous aider à accélérer l’apprentissage :
- Ajout de fonctionnalités de différenciation : vous pouvez effectuer une inspection visuelle des actions dans un appel à Rank et de leurs fonctionnalités. L’action de référence a-t-elle des fonctionnalités différentes de celles des autres actions ? Si elles se ressemblent d’une manière générale, ajoutez d’autres caractéristiques qui augmenteront la diversité des valeurs de caractéristique.
- Réduction des actions par événement : Personalizer utilise le paramètre « % des appels Rank à utiliser pour l’exploration » pour découvrir les préférences et les tendances. Quand un appel à Rank comporte plus d’actions, la probabilité qu’une action donnée soit choisie à des fins d’exploration est plus faible. La réduction du nombre d’actions envoyées dans chaque appel Rank à un nombre plus petit (moins de 10) peut être un ajustement temporaire qui peut indiquer si le mode Apprenti a suffisamment de données pour apprendre.
Utilisation du mode Apprenti pour effectuer l'apprentissage avec des données historiques
Si vous disposez d'une grande quantité de données historiques que vous souhaitez utiliser dans le cadre de l'apprentissage de Personalizer, vous pouvez utiliser le mode Apprenti pour relire les données via Personalizer.
Configurez Personalizer en mode Apprenti et créez un script qui appelle l'API Rank avec les caractéristiques d'actions et de contexte des données historiques. Appelez l'API Reward en vous basant sur vos calculs des enregistrements de ces données. Vous aurez peut-être besoin d’environ 50 000 événements historiques pour voir Personalizer atteindre une correspondance de 60 à 80 % avec la logique de référence votre application. Vous pourrez peut-être obtenir des résultats satisfaisants avec moins d’événements ou plus d’événements.
Lors d’un entraînement à partir de données historiques, il est préférable que les données envoyées (caractéristiques liées au contexte et aux actions, disposition de celles-ci dans le fichier JSON utilisé pour les requêtes Rank et calcul de la récompense dans ce jeu de données d’entraînement) correspondent aux données (caractéristiques et calcul de la récompense) disponibles dans votre application existante.
Les données hors connexion et historiques sont généralement moins complètes et plus bruyantes et leur format peut différer par rapport à votre scénario de production (ou en ligne). Il est possible d’effectuer l’entraînement à partir de données historiques, mais les résultats obtenus sont parfois peu concluants et ne permettent pas toujours de déterminer si l’entraînement de Personalizer en mode En ligne est efficace, surtout si les caractéristiques varient entre les données historiques et le scénario actuel.
Utilisation du mode Apprenti et tests A/B
Il n’est utile d’effectuer des tests A/B des traitements Personalizer que quand il a été validé et que l’entraînement s’effectue en mode En ligne. En effet, en mode Apprenti, seule l’action de référence est utilisée et seule la logique existante est apprise. Ainsi, Personalizer retourne l’action du segment « témoin » de votre test A/B. Un test A/B en mode Apprenti n’a donc aucune valeur.
Quand votre cas d’usage implique Personalizer et le mode d’entraînement En ligne, les tests A/B vous permettent de créer des cohortes contrôlées et de mener une comparaison de résultats pouvant être plus complexes que les signaux utilisés pour les récompenses. Par exemple, un test A/B peut répondre à la question : « Dans un site de commerce en ligne, Personalizer optimise la disposition et permet à plus d’utilisateurs de régler les achats plus rapidement, mais ceci réduit-il le chiffre d’affaires total par transaction ? »
Étapes suivantes
- En savoir plus sur les événements actifs et inactifs