Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
A partir de 20 de setembro de 2023, não poderá criar novos recursos Personalizer. O serviço Personalizer será retirado a 1 de outubro de 2026. Recomendamos migrar para o open-source microsoft/learning-loop.
Ao implementar um novo recurso Personalizer, este é inicializado com um modelo não treinado, ou em branco. Ou seja, não aprendeu a partir de quaisquer dados e, consequentemente, não terá um bom desempenho na prática. Isto é conhecido como o problema do "arranque 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 aprendizagem que ajuda a mitigar o problema do "arranque a frio" e permite-lhe ganhar confiança no modelo antes de tomar decisões em produção, tudo isto sem necessidade de alterações de código.
O que é o modo Aprendiz?
Tal como um aprendiz pode aprender um ofício ao observar um especialista, o modo Aprendiz permite ao Personalizador aprender observando as decisões tomadas pela lógica atual da sua candidatura. O modelo Personalizer treina imitando a mesma saída de decisão da aplicação. Com cada chamada Rank API, o Personalizer pode aprender sem afetar a lógica e os resultados existentes. Métricas, disponíveis no portal Azure e na API, ajudam-no a compreender o desempenho à medida que o modelo aprende. Especificamente, quão eficazmente o Personalize está a corresponder à sua lógica existente (também conhecida como política padrão).
Quando o Personalizer conseguir corresponder razoavelmente à sua lógica existente 60-80% das vezes, pode mudar o comportamento do modo Aprendiz para o modo Online. Nesse momento, o Personalizer devolve as melhores ações na API Rank conforme determinado pelo modelo subjacente e pode aprender a tomar decisões melhores do que a sua política base.
Porque usar o modo Aprendiz?
O modo aprendiz oferece uma forma do seu modelo imitar a lógica de decisão existente antes de tomar decisões online usadas pela sua aplicação. Isto ajuda a mitigar o problema de arranque a frio mencionado anteriormente e dá-lhe mais confiança no serviço Personalizer e a garantia de que os dados enviados ao Personalizer são valiosos para treinar o modelo. Isto é feito sem arriscar ou afetar o seu tráfego online e a experiência dos seus clientes.
As duas principais razões para usar o modo Aprendiz são:
- Mitigar Arranques a Frio: O modo aprendiz ajuda a mitigar o custo de treinar um modelo "novo" em produção, aprendendo sem a necessidade de tomar decisões não informadas. O modelo aprende a imitar a lógica de aplicação existente.
- Validação das Funcionalidades de Ação e Contexto: As funcionalidades de Contexto e Ação podem ser inadequadas, imprecisas ou subotimizadas. Se houver poucas, demasiadas funcionalidades, incorretas, ruidosas ou mal formadas, a Personalize terá dificuldades em treinar um modelo com bom desempenho. Realizar uma avaliação de funcionalidades enquanto está em modo Aprendiz permite-lhe descobrir quão eficazes são as funcionalidades no treino do Personalizador e identificar áreas para melhorar a qualidade das funcionalidades.
Quando deves usar o modo Aprendiz?
Use o modo Aprendiz para treinar o Personalizer e melhorar a sua eficácia através dos seguintes cenários, mantendo a experiência dos seus utilizadores inalterada pelo Personalizer:
- Estás a implementar o Personalizador num novo cenário.
- Fizeste grandes alterações às funcionalidades de Contexto ou Ação.
No entanto, o modo Aprendiz não é uma forma eficaz de medir o impacto que o Personalizer pode ter na melhoria da recompensa média ou dos KPIs do seu negócio. Só pode avaliar quão bem o serviço está a aprender a sua lógica existente, tendo em conta os dados atuais que está a fornecer. Para medir a eficácia do Personalizador na escolha da melhor ação possível para cada chamada de Rank, o Personalizador deve estar em modo Online, ou pode usar avaliações Offline durante um período em que o Personalizador esteve em modo Online.
Quem deve usar o modo Aprendiz?
O modo aprendiz é útil para programadores, cientistas de dados e decisores empresariais:
Os programadores podem usar o modo Aprendiz para garantir que as APIs de Classificação e Recompensa são implementadas corretamente na aplicação, e que as funcionalidades enviadas ao Personalizador estão livres de erros e erros comuns. Saiba mais sobre como criar boas funcionalidades de Contexto e Ação.
Os cientistas de dados podem usar o modo Aprendiz para validar que as funcionalidades são eficazes no treino dos modelos Personalizer. Ou seja, as funcionalidades contêm informação útil que permite ao Personalizer aprender a lógica de decisão existente.
Os decisores empresariais podem usar o modo Aprendiz para avaliar o potencial do Personalizador para melhorar resultados (ou seja, recompensas) em comparação com a lógica de negócio existente. Especificamente, se o Personalizer pode ou não aprender com os dados fornecidos antes de entrar no modo Online. Isto permite-lhes tomar uma decisão informada sobre o impacto na experiência do utilizador, onde a receita real e a satisfação do utilizador estão em jogo.
Comparando Comportamentos - Modo Aprendiz e Modo Online
Aprender no modo Aprendiz difere do modo Online nas seguintes aspetos.
| Área | modo de aprendiz | Modo online |
|---|---|---|
| Impacto na Experiência do Utilizador | A experiência dos utilizadores e as métricas de negócio não vão mudar. O Personalizer é treinado observando as ações base da lógica atual da sua aplicação, sem as afetar. | A experiência dos seus utilizadores pode mudar à medida que a decisão é tomada pelo Personalizer e não pela sua ação base. |
| Velocidade de aprendizagem | O Personalizer aprende mais devagar no modo Aprendiz do que no modo Online. O modo Aprendiz só pode aprender observando as recompensas obtidas pela tua 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 da aprendizagem "Teto" | O Personalizer só pode aproximar, e nunca ultrapassar, o desempenho da lógica atual da sua aplicação (a recompensa média total alcançada pela ação base). É improvável que o Personalizer consiga 100% correspondência com a lógica da tua aplicação atual, e recomenda-se que, uma vez alcançadas as correspondências de 60%-80%, o Personalizer seja transferido para o modo Online. | O personalizador deve exceder o desempenho da lógica base da sua aplicação. Se o desempenho do Personalizer estagnar ao longo do tempo, pode realizar avaliações offline e de funcionalidades para procurar melhorias adicionais. |
| Rank API retorna valor para rewardActionId | O rewardActionId será sempre o Id da ação padrão. Ou seja, a ação que envias como primeira ação no pedido JSON da API Rank. Por outras palavras, a Rank API não faz nada visível para a sua aplicação durante o modo de Aprendizagem. | O rewardActionId será um dos IDs fornecidos na chamada Rank API, conforme determinado pelo modelo Personalizer. |
| Avaliações | O Personalizer mantém uma comparação entre os totais de recompensas recebidos pela tua lógica de candidatura atual e os totais de recompensas que o Personalizer receberia se estivesse em modo Online nesse momento. Esta comparação está disponível para visualização na lâmina Monitor do seu recurso Personalizador no portal Azure. | Avalie a eficácia do Personalizer executando avaliações offline, que lhe permitem comparar as recompensas totais que o Personalizer obteve com as potenciais recompensas da base da aplicação. |
Note que o Personalizer dificilmente alcançará uma correspondência de desempenho de 100% com a lógica base da aplicação, e nunca a ultrapassará. A correspondência de desempenho entre 60%-80% deverá ser suficiente para mudar o Personalizador para o modo Online, onde o Personalizador pode aprender melhores decisões e superar o desempenho da lógica base da sua aplicação.
Limitações do Modo Aprendiz
O Modo Aprendiz treina o modelo Personalizador tentando imitar a lógica base da sua aplicação existente, usando as funcionalidades de Contexto e Ação presentes nas chamadas de Rank. Os seguintes fatores vão afetar a capacidade de aprendizagem do modo Aprendiz.
Cenários em que o Modo Aprendiz pode não ser apropriado:
Conteúdo Editorialmente Escolhido:
Em alguns cenários, como notícias ou entretenimento, o item de base pode ser atribuído manualmente por uma equipa editorial. Isto significa que os humanos usam o seu conhecimento sobre o mundo mais amplo, e a compreensão do que pode ser conteúdo apelativo, para escolher artigos ou media específicos de um conjunto, e assinalando-os como artigos "preferidos" ou "heróis". Porque estes editores não são um algoritmo, e os fatores considerados pelos editores podem ser subjetivos e possivelmente não relacionados com as funcionalidades Contexto ou Ação. Neste caso, o modo Aprendiz pode ter dificuldade em prever a ação base. Nestas situações pode:
- Teste do Personalizador em Modo Online: Considere colocar o Personalizador em Modo Online por um período de tempo ou colocá-lo num teste A/B se tiver a infraestrutura, e depois execute uma Avaliação Offline para avaliar a diferença entre a lógica base da sua aplicação e o Personalizador.
- Adicione considerações editoriais e recomendações como funcionalidades: Pergunte aos seus editores que fatores influenciam as suas escolhas e veja se pode adicioná-los como funcionalidades no seu contexto e ação. Por exemplo, editores numa empresa de media podem destacar conteúdos quando uma certa celebridade está frequentemente nas notícias: Este conhecimento pode ser adicionado como uma funcionalidade de Contexto.
Fatores que irão melhorar e acelerar o Modo Aprendiz
Se o modo de aprendizagem está a aprender e a alcançar um desempenho compatível acima de zero, mas o desempenho está a melhorar lentamente (não atingindo 60% a 80% de recompensas correspondentes em duas semanas), é possível que haja poucos dados enviados ao Personalizer. Os seguintes passos podem ajudar a facilitar uma aprendizagem mais rápida:
- Adicionar funcionalidades diferenciadoras: Pode fazer uma inspeção visual das ações numa chamada de Rank e das suas características. A ação base tem características que se diferenciam de outras ações? Se parecerem maioritariamente iguais, adicione mais funcionalidades que aumentem a diversidade dos valores das características.
- Redução de Ações por Evento: O Personalizador usará a definição "% das chamadas de Rank a usar para exploração" para descobrir preferências e tendências. Quando uma chamada de Rank tem mais ações, a probabilidade de qualquer Ação ser escolhida para exploração diminui. Reduzir o número de ações enviadas em cada chamada de Rank para um número menor (menos de 10) pode ser um ajuste temporário que pode indicar se o Modo Aprendiz tem dados suficientes para aprender.
Usar o modo Aprendiz para treinar com dados históricos
Se tiver uma quantidade significativa de dados históricos que gostaria de usar para treinar o Personalizer, pode usar o modo Aprendiz para reproduzir os dados através do Personalizer.
Configura o Personalizador no Modo Aprendiz e cria um script que chame o Rank com as ações e características de contexto dos dados históricos. Invoque a API de Recompensas com base nos cálculos dos registos destes dados. Pode precisar de aproximadamente 50.000 eventos históricos para ver o Personalizer atingir uma correspondência de 60-80% com a lógica base da sua aplicação. Pode conseguir resultados satisfatórios com menos ou mais eventos.
Ao treinar a partir de dados históricos, recomenda-se que os dados enviados [características para contexto e ações, o seu layout no JSON usado para pedidos de Rank, e o cálculo da recompensa neste conjunto de dados de treino], correspondam aos dados [características e cálculo da recompensa] disponíveis na sua aplicação existente.
Dados offline e históricos tendem a ser mais incompletos e ruidosos e podem diferir no formato do seu cenário em produção (ou online). Embora seja possível treinar com dados históricos, os resultados podem ser inconclusivos e não são necessariamente um bom preditor de quão bem o Personalizer aprenderá no modo Online, especialmente se as funcionalidades variarem entre os dados históricos e o cenário atual.
Utilização do Modo Aprendiz versus Testes A/B
É útil realizar testes A/B nos tratamentos do Personalizer apenas depois de terem sido validados e quando estão a ser aprendidos em modo Online, já que no modo Aprendiz apenas a ação base é utilizada e a lógica existente é assimilada. Isto significa essencialmente que o Personalizer está a devolver a ação do braço de "controlo" do teu teste A/B, por isso um teste A/B no modo Aprendiz não tem valor.
Uma vez que tenhas um caso de uso usando o Personalizer e aprendendo online, os experimentos A/B podem permitir-te criar coortes controladas e fazer comparações de resultados que podem ser mais complexos do que os sinais usados para recompensas. Um exemplo de pergunta que um teste A/B poderia responder é: "Num site de retalho, o Personalizer otimiza um layout e faz com que mais utilizadores paguem mais cedo, mas isto reduz a receita total por transação?"
Próximos passos
- Saiba sobre eventos ativos e inativos