Usare la modalità Apprendista per eseguire il training di Personalizza esperienze senza influire sull'applicazione esistente
Importante
A partire dal 20 settembre 2023 non sarà possibile creare nuove risorse di Personalizza esperienze. Il servizio Personalizza esperienze verrà ritirato il 1° ottobre 2026.
Quando si distribuisce una nuova risorsa Personalizza esperienze, viene inizializzata con un modello non sottoposto a training o vuoto. Ciò significa che non ha imparato da alcun dato e quindi non riuscirà bene in pratica. Questo problema è noto come "avvio a freddo" e viene risolto nel tempo eseguendo il training del modello con dati reali dall'ambiente di produzione. Modalità Apprendista è un comportamento di apprendimento che consente di attenuare il problema di "avvio a freddo" e acquisire fiducia nel modello prima di prendere decisioni nell'ambiente di produzione, senza richiedere alcuna modifica del codice.
Che cos'è la modalità apprendista?
Analogamente a come un apprendista può imparare un mestiere osservando un esperto, la modalità apprendista consente a Personalizza esperienze di apprendere osservando le decisioni prese dalla logica corrente dell'applicazione. Il modello di Personalizza esperienze esegue il training simulando lo stesso output decisionale dell'applicazione. Con ogni chiamata API Classificazione, Personalizza esperienze può apprendere senza influire sulla logica e sui risultati esistenti. Le metriche, disponibili nel portale di Azure e nell'API, consentono di comprendere le prestazioni apprese dal modello. In particolare, il livello di corrispondenza di Personalizza corrisponde alla logica esistente (nota anche come criterio di base).
Quando Personalizza esperienze è in grado di corrispondere ragionevolmente alla logica esistente il 60-80% del tempo, è possibile modificare il comportamento dalla modalità Apprendista alla Modalità online. In quel momento Personalizza esperienze restituisce le azioni migliori nell'API Classificazione come determinato dal modello sottostante e può imparare a prendere decisioni migliori rispetto ai criteri di base.
Perché usare la modalità Apprendista?
La modalità Apprendista consente al modello di simulare la logica decisionale esistente prima di prendere decisioni online usate dall'applicazione. Ciò consente di attenuare il problema di avvio a freddo menzionato in precedenza e offre maggiore fiducia nel servizio Personalizza esperienze e garantisce che i dati inviati a Personalizza esperienze siano utili per il training del modello. Questa operazione viene eseguita senza rischiare o influire sul traffico online e sulle esperienze dei clienti.
I due motivi principali per usare la modalità Apprendista sono:
- Mitigazione degli Avvii a freddo: la modalità Apprendista consente di ridurre il costo di un training di un modello "nuovo" nell'ambiente di produzione imparando senza dover prendere decisioni non informate. Il modello apprende come simulare la logica dell'applicazione esistente.
- Convalida delle funzionalità di azione e contesto: le funzionalità di contesto e azione possono risultare inadeguate, imprecise o ottimizzate. Se le funzionalità sono troppo poche, troppe, errate, rumorose o malformate , Personalizza avrà difficoltà a eseguire il training di un modello con prestazioni corrette. L'esecuzione di una valutazione delle funzionalità in modalità Apprendista consente di scoprire quanto siano efficaci le funzionalità in fase di training di Personalizza esperienze e di identificare le aree per migliorare la qualità delle funzionalità.
Quando è consigliabile usare la modalità Apprendista?
Usare la modalità Apprendista per eseguire il training di Personalizza esperienze per migliorarne l'efficacia tramite gli scenari seguenti, lasciando invariata l'esperienza degli utenti da Personalizza esperienze:
- Si sta implementando Personalizza esperienze in un nuovo scenario.
- Sono state apportate modifiche importanti alle funzionalità contesto o azione.
Tuttavia, la modalità Apprendista non è un modo efficace per misurare l'impatto che Personalizza esperienze può avere per migliorare la ricompensa media o gli indicatori KPI aziendali. Può solo valutare l'integrità del servizio che sta imparando la logica esistente in base ai dati correnti forniti. Per misurare l'efficacia di Personalizza esperienze nella scelta dell'azione migliore possibile per ogni chiamata rank, Personalizza esperienze deve essere in modalità online oppure è possibile usare Valutazioni offline in un periodo di tempo in cui Personalizza esperienze era in modalità online.
Chi deve usare la modalità Apprendista?
La modalità Apprendista è utile per sviluppatori, data scientist e decision maker aziendali:
Gli sviluppatori possono usare la modalità Apprendista per assicurarsi che le API Classificazione e Ricompensa siano implementate correttamente nell'applicazione e che le funzionalità inviate a Personalizza esperienze siano libere da errori ed errori comuni. Altre informazioni sulla creazione di buone funzionalità di contesto e azione.
Data scientist possono usare la modalità Apprendista per verificare che le funzionalità siano efficaci per il training dei modelli di Personalizza esperienze. Ovvero, le funzionalità contengono informazioni utili che consentono a Personalizza esperienze di apprendere la logica decisionale esistente.
Decision maker aziendali possono usare la modalità Apprendista per valutare il potenziale di Personalizza esperienze per migliorare i risultati (ovvero premi) rispetto alla logica di business esistente. In particolare, se Personalizza esperienze può apprendere dai dati forniti prima di passare alla modalità online oppure no. Ciò consente loro di prendere una decisione informata sull'impatto sull'esperienza utente, in cui sono in gioco ricavi reali e soddisfazione degli utenti.
Confronto dei comportamenti - Modalità Apprendista e modalità online
Imparare quando la modalità Apprendista differisce dalla modalità Online nei modi seguenti.
Area | Modalità Apprentice | Modalità online |
---|---|---|
Impatto sull'esperienza utente | L'esperienza degli utenti e le metriche aziendali non cambieranno. Personalizza esperienze viene sottoposto a training osservando le azioni di base della logica dell'applicazione corrente, senza influire su di essi. | L'esperienza degli utenti può cambiare a mano a mano che la decisione viene presa da Personalizza esperienze e non dall'azione di base. |
Velocità di apprendimento | Personalizza esperienze apprenderà più lentamente quando si usa la modalità Apprendista rispetto all'apprendimento in modalità online. La modalità Apprendista può imparare solo osservando le ricompense ottenute dall'azione predefinita senza l'esplorazione, che limita quanto Personalizza esperienze può imparare. | Impara più velocemente perché può sfruttare l'azione migliore dal modello corrente e esplorare altre azioni per ottenere risultati potenzialmente migliori. |
Efficacia dell'apprendimento "Ceiling" | Personalizza esperienze può solo approssimarsi e non superare mai le prestazioni della logica corrente dell'applicazione (la ricompensa media totale ottenuta dall'azione di base). È improbabile che Personalizza esperienze ottenga una corrispondenza del 100% con la logica dell'applicazione corrente ed è consigliabile che una volta ottenuta la corrispondenza del 60%-80%, Personalizza esperienze passi alla modalità online. | Personalizza esperienze deve superare le prestazioni della logica dell'applicazione di base. Se le prestazioni di Personalizza esperienze si bloccano nel tempo, è possibile eseguire Valutazione offline e Valutazione delle funzionalità per ottenere miglioramenti aggiuntivi. |
Valore restituito dell'API classificazione per rewardActionId | Il rewardActionId sarà sempre l'ID dell'azione predefinita. Ovvero, l'azione inviata come prima azione nel file JSON della richiesta API classificazione. In altre parole, l'API Classificazione non è visibile per l'applicazione durante la modalità Apprendista. | Il rewardActionId sarà uno degli ID forniti nella chiamata all'API Classificazione come determinato dal modello di Personalizza esperienze. |
Valutazioni | Personalizza esperienze mantiene un confronto dei totali di ricompensa ricevuti dalla logica dell'applicazione corrente e i totali di ricompensa di Personalizza esperienze verranno recuperati se è in modalità online a quel punto. Questo confronto è disponibile per la visualizzazione nel pannello Monitoraggio della risorsa Personalizza esperienze nel portale di Azure. | Valutare l'efficacia di Personalizza esperienze eseguendo Valutazioni offline, che consentono di confrontare i premi totali ottenuti da Personalizza esperienze con i potenziali premi della linea di base dell'applicazione. |
Si noti che è improbabile che Personalizza esperienze raggiunga una corrispondenza delle prestazioni del 100% con la logica di base dell'applicazione e non supererà mai questo risultato. La corrispondenza delle prestazioni del 60%-80% deve essere sufficiente per passare alla modalità online di Personalizza esperienze, in cui Personalizza esperienze può acquisire decisioni migliori e superare le prestazioni della logica di base dell'applicazione.
Limitazioni della modalità Apprendista
La modalità Apprendista esegue il training del modello di Personalizza esperienze tentando di imitare la logica di base dell'applicazione esistente, usando le funzionalità Contesto e Azione presenti nelle chiamate rank. I fattori seguenti influiscono sulla capacità dell'apprendista di imparare.
Scenari in cui la modalità Apprendista potrebbe non essere appropriata:
Contenuto scelto in modo editoriale:
In alcuni scenari, ad esempio notizie o intrattenimento, l'elemento di base potrebbe essere assegnato manualmente da un team editoriale. Ciò significa che gli esseri umani utilizzano la loro conoscenza del mondo in generale e la comprensione di ciò che può essere un contenuto interessante per scegliere articoli o media specifici da un pool e segnalarli come articoli “preferiti” o “eroici”. Questo perché questi editor non sono un algoritmo e i fattori considerati dagli editor possono essere soggettivi e non correlati alle funzionalità contesto o azione. In questo caso, la modalità Apprendista potrebbe avere difficoltà a prevedere l'azione di base. In questi casi, è possibile:
- Testare Personalizza esperienze in modalità Online: provare a inserire Personalizza esperienze in modalità Online per tempo o in un test A/B se si dispone dell'infrastruttura e quindi eseguire una valutazione offline per valutare la differenza tra la logica di base dell'applicazione e Personalizza esperienze.
- Aggiungere considerazioni e consigli editoriali come funzionalità: chiedere agli editor quali fattori influenzano le proprie scelte e verificare se è possibile aggiungerli come funzionalità nel contesto e nell'azione. Ad esempio, gli editor di un'azienda multimediale possono evidenziare il contenuto quando una certa celebrità è spesso presente nelle notizie: questa conoscenza potrebbe essere aggiunta come funzionalità contesto.
Fattori che miglioreranno e accelerano la modalità Apprendista
Se la modalità Apprendista sta imparando e ottenendo prestazioni corrispondenti al di sopra dello zero, ma le prestazioni migliorano lentamente (non arrivano al 60% a 80% delle ricompense abbinate entro due settimane), è possibile che ci siano troppi dati inviati a Personalizza esperienze. I passaggi seguenti possono facilitare l'apprendimento più rapido:
- Aggiunta di funzionalità di differenziazione: è possibile eseguire un'ispezione visiva delle azioni in una chiamata di classificazione e le relative funzionalità. L'azione di base dispone di funzionalità che sono differenziate da altre azioni? Se sembrano per lo più uguali, aggiungere altre funzionalità che aumenteranno la diversità dei valori delle funzionalità.
- Riduzione delle azioni per evento: Personalizza esperienze userà l'impostazione "% delle chiamate rank da usare per l'esplorazione" per individuare preferenze e tendenze. Quando una chiamata rank ha più azioni, la possibilità di scegliere un'azione specifica per l'esplorazione diventa inferiore. La riduzione del numero di azioni inviate in ogni chiamata rank a un numero minore (inferiore a 10) può essere una modifica temporanea che può indicare se la modalità Apprendista ha dati sufficienti per imparare.
Uso della modalità Apprendista per eseguire il training con dati cronologici
Se si dispone di una quantità significativa di dati cronologici da usare per eseguire il training di Personalizza esperienze, è possibile usare la modalità Apprendista per riprodurre i dati tramite Personalizza esperienze.
Configurare Personalizza esperienze in modalità Apprendista e creare uno script che chiama Rank con le azioni e le funzionalità di contesto dai dati cronologici. Chiamare l'API Reward in base ai calcoli dei record in questi dati. Potrebbero essere necessari circa 50.000 eventi cronologici per vedere Personalizza esperienze ottenere una corrispondenza del 60-80% con la logica di base dell'applicazione. È possibile ottenere risultati soddisfacenti con meno o più eventi.
Quando si esegue il training dai dati cronologici, è consigliabile che i dati inviati in [funzionalità per il contesto e le azioni, il layout nel codice JSON usato per le richieste di classificazione e il calcolo della ricompensa in questo set di dati di training], corrispondano ai dati [funzionalità e calcolo della ricompensa] disponibili nell'applicazione esistente.
I dati offline e cronologici tendono a essere più incompleti e più rumorosi e possono differire dal formato in produzione (o online). Anche se il training dai dati cronologici è possibile, i risultati di questa operazione possono essere inconcludenti e non sono necessariamente un buon predittore di quanto Personalizza esperienze imparerà in modalità Online, soprattutto se le funzionalità variano tra i dati cronologici e lo scenario corrente.
Uso della modalità Apprendista e test A/B
È utile solo eseguire test A/B dei trattamenti di Personalizza esperienze dopo che è stato convalidato ed è in modalità online, poiché in modalità Apprendista viene usata solo l'azione di base e viene appresa la logica esistente. Ciò significa essenzialmente che Personalizza esperienze restituisce l'azione del braccio "controllo" del test A/B, quindi un test A/B in modalità apprendista non ha alcun valore.
Una volta ottenuto un caso d'uso usando Personalizza esperienze e l'apprendimento online, gli esperimenti A/B possono consentire di creare coorti controllate e condurre confronti di risultati che possono essere più complessi rispetto ai segnali usati per i premi. Una domanda di esempio a cui un test A/B può rispondere è: "In un sito Web di vendita al dettaglio Personalizza esperienze ottimizza un layout e ottiene più utenti per controllare prima, ma riduce i ricavi totali per transazione?"
Passaggi successivi
- Informazioni su eventi attivi e inattivi