O ABTest é uma plataforma para executar experimentos controlados em services de modelo e otimizar o desempenho online. Ela permite comparar versões de experimentos, analisar métricas e promover a configuração com melhor desempenho para produção.
Limites
Atualmente, o ABTest:
Está disponível apenas nas regiões China (Beijing), China (Shanghai), China (Hangzhou) e China (Shenzhen).
Não oferece suporte a acesso SSO baseado em função. Acesse o ABTest exclusivamente como usuário RAM.
Faturamento
O ABTest está em visualização por convite e seu uso é gratuito. No entanto, ele utiliza outros produtos da Alibaba Cloud, como Elastic Algorithm Service (EAS) e MaxCompute, que são faturados separadamente. Para mais informações, consulte EAS billing e MaxCompute billing overview.
Termos
Gerenciamento de experimentos
Experimento: Comparação controlada entre diferentes versões (AA, AB ou ABC). Cada experimento extrai tráfego de uma camada específica. Dentro de uma camada, vários experimentos rodam com tráfego mutuamente exclusivo, e cada versão recebe uma parcela alocada aleatoriamente para comparação de parâmetros. O experimento gerencia as configurações de parâmetros que controlam o fluxo de execução do programa.
Projeto de experimento: Agrupamento lógico de services relacionados. Por exemplo, services em cenários semelhantes de LLM Agent podem compartilhar um único projeto.
Domínio de experimento: Pool de tráfego filtrado por condições baseadas em propriedades de negócio ou alocação aleatória. Quando a lógica de negócio rege a divisão de tráfego, implemente uma lógica de divisão personalizada para o domínio.
Camada de experimento: Uma ou mais camadas dentro de um domínio de experimento. O tráfego em cada camada é ortogonal — cada camada transporta todo o tráfego do domínio de forma independente, evitando interferência entre experimentos em camadas diferentes.
Gerenciamento de tráfego
Público-alvo: Conjunto definido de IDs de tráfego — como UIDs de usuários — incluídos em um experimento.
Gerenciamento de métricas
Métrica: Indicador — como desempenho ou qualidade de service — usado para avaliar os resultados do experimento.
Tabela de dados: Fonte de dados e campos associados usados para calcular as métricas do experimento.
Configuração global
Gerenciamento de publicação: Promove e aplica os parâmetros de uma versão de experimento mais eficaz.
Arquitetura
Arquitetura geral
Use o console web do ABTest da Alibaba Cloud para configure experimentos e métricas.
O ABTest fornece SDKs Go e Java para aplicações server-side. Cada SDK obtém metadados do experimento, divide o tráfego com base no contexto de acesso e executa a lógica de negócio relevante.
Registre uma tabela de log do MaxCompute como tabela de dados de source; o sistema a registrará no servidor ABTest. Quando sua aplicação gera logs de comportamento, a instrumentação envia os dados de volta para essa tabela. Se a tabela de log produzir dados quase em tempo real, configure as métricas do experimento no console para gerar relatórios de métricas horários e diários. As métricas ficam armazenadas na instância Hologres do service ABTest.
Visualize os dados do relatório de experimentos no console web do ABTest.
Evolução do experimento
-
Experimento de camada única: Ao crie um projeto, o ABTest cria automaticamente um domínio e uma camada padrão. Crie um experimento nessa camada padrão usando todo o tráfego disponível ou um subconjunto alocado aleatoriamente. Um experimento inclui múltiplas versões. Divida o tráfego total entre as versões do experimento atribuindo uma porcentagem a cada uma.
-
Experimento multicamada: Expanda um experimento de camada única para múltiplas camadas. O tráfego em cada camada é ortogonal, permitindo que cada uma execute experimentos independentes sem interferência.
-
Combinação de camada e domínio: Uma camada pode conter vários domínios, e um domínio pode abranger várias camadas. Use esta configuração para executar experimentos entre camadas ou isolar um experimento em uma única camada.
Permissões
Conceder permissões de usuário RAM para acessar o ABTest
Conceder permissões de gerenciamento do ABTest a um usuário RAM garante a esse usuário acesso total a todos os recursos do ABTest.
Faça login no console RAM com sua conta raiz.
-
Crie uma política personalizada. No editor de scripts, cole o conteúdo a seguir e defina Policy Name como pai_abtest_full_access. Para mais informações, consulte Create a custom policy.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "paiabtest:*", "Resource": "*" } ] } Na página de autorização, conceda pai_abtest_full_access ao usuário RAM. Para mais informações, consulte Manage permissions for a RAM user.
Conceder permissões ao ABTest para acessar outros produtos cloud
O ABTest usa uma função vinculada a service (SLR) chamada AliyunServiceRoleForPAIABTest para acessar outros produtos cloud. A função inclui as seguintes permissões.
{
"Version": "1",
"Statement": [
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "abtest.pai.aliyuncs.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"odps:ActOnBehalfOfAnotherUser",
"odps:ListProjects",
"odps:ListTables"
],
"Resource": "acs:odps:*:*:users/*"
}
]
}