Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
A partir de 20 de setembro de 2023, você não poderá criar novos recursos do Personalizador. O serviço Personalizador está sendo desativado em 1º de outubro de 2026. Recomendamos migrar para o software livre microsoft/learning-loop.
Ao implantar um novo recurso personalizador, ele é inicializado com um modelo não treinado ou em branco. Ou seja, ele não aprendeu com nenhum dado e, portanto, não terá um bom desempenho na prática. Isso é conhecido como o problema de "início a frio" e é resolvido ao longo do tempo treinando o modelo com dados reais do seu ambiente de produção. O modo aprendiz é um comportamento de aprendizado que ajuda a atenuar o problema de "início a frio" e permite que você obtenha confiança no modelo antes de tomar decisões na produção, tudo sem a necessidade de nenhuma alteração de código.
O que é o modo Aprendiz?
Semelhante a como um aprendiz pode aprender um ofício observando um especialista, o modo Aprendiz permite que o Personalizador aprenda observando as decisões tomadas pela lógica atual do aplicativo. O modelo personalizador treina imitando a mesma saída de decisão que o aplicativo. Com cada chamada à API de Classificação, o Personalizador pode aprender sem afetar a lógica e os resultados existentes. As métricas, disponíveis no portal do Azure e na API, ajudam você a entender o desempenho conforme o modelo aprende. Especificamente, quão bem o Personalize está correspondendo à sua lógica existente (também conhecida como política de linha de base).
Depois que o Personalizador for capaz de corresponder razoavelmente à lógica existente de 60 a 80% do tempo, você poderá alterar o comportamento do modo Aprendiz para o modo Online. Nesse momento, o Personalizador retorna as melhores ações na API de Classificação conforme determinado pelo modelo subjacente e pode aprender a tomar decisões melhores do que sua política de linha de base.
Por que usar o modo Aprendiz?
O modo aprendiz fornece uma maneira de seu modelo imitar sua lógica de decisão existente antes de tomar decisões online usadas pelo aplicativo. Isso ajuda a atenuar o problema de início frio mencionado acima e fornece mais confiança no serviço Personalizer e garante que os dados enviados ao Personalizer são valiosos para treinar o modelo. Isso é feito sem arriscar ou afetar o tráfego online e as experiências do cliente.
Os dois principais motivos para usar o modo Aprendiz são:
- Mitigação de Inícios Frios: o modo Aprendiz ajuda a atenuar o custo de um treinamento de um modelo "novo" em produção aprendendo sem a necessidade de tomar decisões desinformadas. O modelo aprende a imitar sua lógica de aplicativo existente.
- Validando recursos de ação e contexto: os recursos de contexto e ação podem ser inadequados, imprecisos ou suboptimamente projetados. Se houver características em número insuficiente, excessivo, incorretas, ruidosas ou malformadas, o Personalize terá dificuldade para treinar um modelo de bom desempenho. A realização de uma avaliação de recursos no modo Aprendiz permite que você descubra o quão eficazes são os recursos no treinamento do Personalizador e pode identificar áreas para melhorar a qualidade do recurso.
Quando você deve usar o modo Aprendiz?
Use o modo Aprendiz para treinar o Personalizador para melhorar sua eficácia nos seguintes cenários, deixando a experiência de seus usuários não afetada pelo Personalizador:
- Você está implementando o Personalizador em um novo cenário.
- Você fez grandes alterações nos recursos de Contexto ou Ação.
No entanto, o modo Aprendiz não é uma maneira eficaz de medir o impacto que o Personalizador pode ter para melhorar a recompensa média ou seus KPIs de negócios. Ele só pode avaliar o quão bem o serviço está aprendendo sua lógica existente, dado os dados atuais que você está fornecendo. Para medir o quão eficaz o Personalizador é ao escolher a melhor ação possível para cada chamada de Rank, o Personalizador deve estar no modo Online, ou você pode usar Avaliações Offline durante um período em que o Personalizador estava no modo Online.
Quem deve usar o modo Aprendiz?
O modo aprendiz é útil para desenvolvedores, cientistas de dados e tomadores de decisão de negócios:
Os desenvolvedores podem usar o modo Aprendiz para garantir que as APIs de Classificação e Recompensa sejam implementadas corretamente no aplicativo e que os recursos enviados ao Personalizador estejam livres de erros e erros comuns. Saiba mais sobre como criar bons recursos de Contexto e Ação.
Os cientistas de dados podem usar o modo Aprendiz para validar que os recursos são eficazes no treinamento dos modelos do Personalizador. Ou seja, os recursos contêm informações úteis que permitem ao Personalizador aprender a lógica de decisão existente.
Os Tomadores de Decisão de Negócios podem usar o modo Aprendiz para avaliar o potencial do Personalizador para melhorar os resultados (ou seja, recompensas) em comparação com a lógica de negócios existente. Especificamente, se o Personalizador pode ou não aprender com os dados fornecidos antes de entrar no modo Online. Isso permite que eles tome uma decisão informada sobre como afetar a experiência do usuário, em que a receita real e a satisfação do usuário estão em jogo.
Comparando comportamentos – modo aprendiz e modo online
O aprendizado no modo de Aprendiz difere do modo Online das seguintes maneiras.
| Área | modo Aprendiz | Modo online |
|---|---|---|
| Impacto na experiência do usuário | A experiência dos usuários e as métricas de negócios não serão alteradas. O personalizador é treinado observando as ações de linha de base da lógica do aplicativo atual, sem afetá-las. | A experiência dos usuários pode mudar conforme a decisão é tomada pelo Personalizer e não pela sua ação padrão. |
| Velocidade de aprendizado | O personalizador aprenderá mais lentamente quando estiver no modo Aprendiz em comparação com o aprendizado no modo Online. O modo aprendiz só pode aprender observando as recompensas obtidas por sua ação padrão sem exploração, o que limita o quanto o Personalizador pode aprender. | Aprende mais rápido porque pode explorar a melhor ação do modelo atual e explorar outras ações para obter resultados potencialmente melhores. |
| Eficácia do aprendizado "Limite" | O personalizador só pode aproximar e nunca exceder o desempenho da lógica atual do aplicativo (a recompensa média total obtida pela ação de linha de base). É improvável que o Personalizador alcance 100% de correspondência com a lógica do aplicativo atual, e é recomendável que, uma vez que uma correspondência de 60% a 80% seja obtida, o Personalizador seja alternado para o modo Online. | O Personalizer deve superar o desempenho da lógica básica do aplicativo. Se o desempenho do Personalizador parar ao longo do tempo, você poderá realizar avaliação offline e avaliação de recursos para buscar melhorias adicionais. |
| Classificar o valor de retorno da API para rewardActionId | RewardActionId sempre será a ID da ação padrão. Ou seja, a ação que você envia como a primeira ação no JSON da solicitação de API de Classificação. Em outras palavras, a API de Classificação não faz nada visível para seu aplicativo durante o modo Aprendiz. | RewardActionId será uma das IDs fornecidas na chamada à API de Classificação, conforme determinado pelo modelo do Personalizador. |
| Avaliações | O Personalizador mantém uma comparação entre os totais de recompensa recebidos pela lógica do aplicativo atual e os totais que ele obteria se estivesse no modo Online nesse momento. Essa comparação está disponível para exibição na folha Monitor do recurso Personalizer no Portal do Azure. | Avalie a eficácia do Personalizador executando avaliações offline, que permitem comparar as recompensas totais obtidas pelo Personalizador com as possíveis recompensas da linha de base do aplicativo. |
Observe que é improvável que o Personalizador atinja uma correspondência de desempenho de 100% com a lógica de linha de base do aplicativo e nunca a excederá. A correspondência de desempenho de 60%-80% deve ser suficiente para mudar o Personalizador para o modo Online, em que o Personalizador pode aprender melhores decisões e exceder o desempenho da lógica de linha de base do aplicativo.
Limitações do modo Aprendiz
O Modo Aprendiz treina o modelo de personalização na tentativa de imitar a lógica de linha de base do aplicativo existente, usando os recursos de Contexto e Ação presentes nas chamadas de Rank. Os fatores a seguir afetarão a capacidade do modo Aprendiz de aprender.
Cenários em que o modo Aprendiz pode não ser apropriado:
Conteúdo escolhido editorialmente:
Em alguns cenários, como notícias ou entretenimento, o item de linha de base pode ser atribuído manualmente por uma equipe editorial. Isso significa que os humanos estão usando seu conhecimento sobre o mundo mais amplo, bem como a compreensão do que pode ser conteúdo atraente, para escolher artigos ou mídias específicas de um conjunto, marcando-os como artigos "preferenciais" ou de "destaque". Como esses editores não são um algoritmo e os fatores considerados pelos editores podem ser subjetivos e possivelmente não relacionados aos recursos de Contexto ou Ação. Nesse caso, o modo Aprendiz pode ter dificuldade em prever a ação de linha de base. Nessas situações, você pode:
- Testar o Personalizador no Modo Online: considere colocar o Personalizador no Modo Online por algum tempo ou durante um teste A/B, se você tiver a infraestrutura, e em seguida, executar uma Avaliação Offline para avaliar a diferença entre a lógica de linha de base do aplicativo e o Personalizador.
- Adicione considerações editoriais e recomendações como recursos: pergunte aos seus editores quais fatores influenciam suas escolhas e veja se você pode adicioná-los como recursos em seu contexto e ação. Por exemplo, os editores de uma empresa de mídia podem realçar o conteúdo quando uma determinada celebridade está frequentemente nas notícias: esse conhecimento pode ser adicionado como um recurso de contexto.
Fatores que melhorarão e acelerarão o Modo Aprendiz
Se o modo aprendiz estiver aprendendo e atingindo um desempenho correspondente acima de zero, mas o desempenho estiver melhorando lentamente (não chegando a 60% a 80% recompensas correspondentes em duas semanas), é possível que haja muito poucos dados sendo enviados ao Personalizador. As etapas a seguir podem ajudar a facilitar o aprendizado mais rápido:
- Adicionando funcionalidades diferenciadas: você pode realizar uma inspeção visual das ações em uma chamada de rankeamento e suas características. A ação de linha de base tem recursos diferenciados de outras ações? Se eles tiverem a mesma aparência, adicione mais recursos que aumentarão a diversidade dos valores de recurso.
- Reduzindo ações por evento: o Personalizer usará a configuração "% de chamadas classificatórias a serem usadas para exploração" para descobrir preferências e tendências. Quando uma chamada de "Rank" possui mais ações, a chance de qualquer ação específica ser escolhida para exploração diminui. Reduzir o número de ações enviadas em cada chamada de Classificação para um número menor (menos de 10) pode ser um ajuste temporário que pode indicar se o Modo Aprendiz tem ou não dados suficientes para aprender.
Usando o modo Aprendiz para treinar com dados históricos
Se você tiver uma quantidade significativa de dados históricos que gostaria de usar para treinar o Personalizador, poderá usar o modo Aprendiz para reproduzir os dados por meio do Personalizador.
Configure o Personalizador no Modo Aprendiz e crie um script que chame Rank com as ações e os recursos de contexto dos dados históricos. Chame a API de Recompensa com base nos cálculos dos registros nesses dados. Talvez seja necessário aproximadamente 50.000 eventos históricos para ver o Personalizador atingir uma correspondência de 60 a 80% com a lógica de linha de base do aplicativo. Você pode obter resultados satisfatórios com menos ou mais eventos.
Ao treinar a partir de dados históricos, é recomendável que os dados enviados em [recursos para contexto e ações, seu layout no JSON usado para solicitações de Rank e o cálculo de recompensa neste conjunto de dados de treinamento] se alinhem aos dados [recursos e cálculo de recompensa] disponíveis em seu aplicativo existente.
Dados offline e históricos tendem a ser mais incompletos e mais barulhentos e podem diferir no formato do cenário em produção (ou online). Embora o treinamento com dados históricos seja possível, os resultados dessa prática podem ser inconclusivos e não são necessariamente um bom preditor de quão bem o Personalizador irá aprender no modo Online, especialmente se as características variarem entre os dados históricos e o cenário atual.
Usando o Modo Aprendiz versus Testes A/B
Só é útil fazer testes A/B de tratamentos do Personalizador depois de ter sido validado e estar aprendendo no modo Online, já que, no modo Aprendiz, somente a ação de linha de base é usada e a lógica existente é aprendida. Isso significa essencialmente que o Personalizador está retornando a ação do braço de "controle" do teste A/B, portanto, um teste A/B no modo Aprendiz não tem valor.
Depois que você tiver um caso de uso usando o Personalizador e aprendendo online, os experimentos de A/B podem permitir que você crie coortes controladas e realize comparações de resultados que podem ser mais complexos do que os sinais usados para recompensas. Uma pergunta de exemplo que um teste A/B pode responder é: "Em um site de varejo, o Personalizador otimiza um layout e leva mais usuários a finalizar a compra mais cedo, mas isso reduz a receita total por transação?"
Próximas etapas
- Saiba mais sobre eventos ativos e inativos