Este tópico descreve como executar tarefas de machine learning com SQL no AnalyticDB for MySQL. Você implantará um modelo Behavior Sequence Transformer (BST), abrangendo transformação de dados, criação, treinamento, avaliação e previsão do modelo.
Cenários
O AnalyticDB for MySQL permite treinar e executar modelos de machine learning inteiramente por meio de SQL, sem configurar uma infraestrutura separada de ML. O SQL gerencia todo o pipeline: pré-processamento de dados, treinamento e inferência.
O AnalyticDB for MySQL oferece suporte a modelos de classificação BST. Esses modelos são projetados para cenários em que é necessário compreender padrões de comportamento do usuário, como:
Análise de preferências de usuários ao longo do tempo.
Previsão de ações futuras dos usuários.
Fornecimento de recomendações personalizadas.
O BST se destaca na captura de dependências de longo prazo em dados de comportamento sequencial. Isso o torna ideal para setores como jogos e comércio eletrônico, nos quais as sequências de interação do usuário orientam as decisões de negócios.
Pré-requisitos
Antes de começar, verifique se seu ambiente atende aos seguintes requisitos:
O cluster executa a Enterprise Edition, Basic Edition ou Data Lakehouse Edition.
-
A versão do kernel do cluster é 3.2.4.0 ou posterior.
NotaPara visualizar e atualizar a versão secundária, acesse a seção Configuration Information na página Cluster Information no console do AnalyticDB for MySQL.
O recurso de grupo de recursos de IA está ativado. Esse recurso está em visualização pública. Para ativá-lo, entre em contato com o suporte técnico.
Etapa 1: Criar um grupo de recursos de IA e anexá-lo a um grupo de recursos comum
Executar tarefas de machine learning via SQL requer dois tipos de grupos de recursos:
Grupo de recursos de IA: Gerencia os recursos de GPU necessários para operações computacionalmente intensivas, como treinamento e previsão de modelos.
Grupo de recursos comum: Processa consultas SQL padrão, incluindo aquelas que geram dados de treinamento ou chamam funções de previsão.
Ao enviar uma instrução SQL para o grupo de recursos comum, o sistema detecta se a instrução requer computação de IA. Em caso afirmativo, o sistema encaminha automaticamente a tarefa para o grupo de recursos de IA anexado para execução.
Crie primeiro um grupo de recursos de IA e, em seguida, anexe-o a um grupo de recursos comum.
Faça login no console do AnalyticDB for MySQL. No canto superior esquerdo do console, selecione uma região. No painel de navegação à esquerda, clique em Clusters. Localize o cluster que deseja gerenciar e clique no ID do cluster.
No painel de navegação à esquerda, escolha Cluster Management > Resource Management e clique na aba Resource Groups.
-
No canto superior direito da lista de grupos de recursos, clique em Create Resource Group para criar um grupo de recursos de IA.
Parâmetro
Descrição
Resource Group Name
Nome personalizado para o grupo de recursos. O nome deve ter de 2 a 30 caracteres, começar com uma letra e conter apenas letras, dígitos e sublinhados.
Job Type
Na lista suspensa, selecione AI.
ImportanteSe a opção AI não estiver disponível, o recurso de grupo de recursos de IA não está habilitado para sua instância. Entre em contato com o suporte técnico.
Specifications
Combinação de recursos de GPU, CPU e memória. Selecione ADB.MLLarge.24 ou ADB.MLLarge.2.
Minimum Resources
Quantidade mínima de unidades de recursos.
Maximum Resources
Quantidade máxima de unidades de recursos.
Clique em OK para criar o grupo de recursos.
Localize o grupo de recursos comum desejado. Na coluna Actions, clique em Modify. Use as ML Job Resubmission Rules para anexar o grupo de recursos comum ao grupo de recursos de IA recém-criado.
Etapa 2: Transformação de dados
A transformação de dados converte seus dados brutos no formato esperado pelo modelo BST para treinamento. A necessidade desta etapa depende do formato e da localização dos seus dados originais.
Se seus dados brutos já atenderem aos requisitos de formato descritos abaixo, pule esta etapa e prossiga para a Etapa 3.
Requisitos de esquema da tabela
A tabela de treinamento deve possuir duas colunas:
|
Coluna |
Tipo |
Descrição |
|
Coluna de recurso de entrada |
String |
Inteiros separados por vírgulas representando a sequência de IDs de eventos de comportamento para uma amostra. |
|
Coluna de rótulo alvo |
Integer |
Valor binário (0 ou 1) representando o rótulo da classe. |
Exemplo: ('1,2,3',0), ('3,2,1',1)
Como transformar seus dados
Caso seus dados brutos não correspondam ao formato necessário, transforme-os da seguinte maneira:
Prepare um pacote JAR: Empacote seu programa de transformação de dados Spark em um arquivo JAR e faça upload para um bucket do OSS.
Configure os parâmetros do job Spark: Ao enviar o job Spark, defina os parâmetros obrigatórios. Para mais informações, consulte Parâmetros de configuração do aplicativo Spark.
Etapa 3: Criação e treinamento do modelo
Com os dados de treinamento prontos, crie e treine o modelo BST usando SQL.
No painel de navegação à esquerda, escolha .
-
No SQL Console, execute as instruções a seguir para criar e treinar o modelo:
-- Create a model -- Specify the resource group /*+resource_group=itrain*/ CREATE MODEL bstdemo.bst-- Model name OPTIONS ( model_type='bst_classification', -- Model type feature_cols=(event_list), -- Feature column target_cols=(target), -- Target column to predict hyperparameters = ( -- Other model hyperparameters use_best_ckpt = 'False', early_stopping_patience='0' ) ) AS SELECT event_list, target FROM bstdemo.adb; -- Source of model data. The result of this query is used to train the model with the specified variables. -- Check the model training status. The training is complete when the status changes to READY. SHOW MODEL bstdemo.bst; Após o envio da instrução
CREATE MODEL, o treinamento começa. ExecuteSHOW MODEL bstdemo.bst;para verificar o progresso. O treinamento estará concluído quando o status mudar para READY.
Etapa 4: Avaliação do modelo
Após a conclusão do treinamento, avalie o desempenho do modelo para validar sua qualidade de classificação.
-- The statement format is similar to the one for creating a model.
/*resource_group=rg1*/
EVALUATE MODEL bstdemo.bst
OPTIONS (
feature_cols=(event_list),
target_cols=(target),
)
AS SELECT event_list, target FROM bstdemo.adb01;
Analise as métricas de avaliação retornadas para determinar se o modelo atende aos seus requisitos antes de usá-lo para previsões.
Etapa 5: Previsão do modelo
Depois de confirmar que os resultados da avaliação são satisfatórios, use a função ML_PREDICT para gerar previsões sobre novos dados. O primeiro parâmetro da função é o nome do modelo. Os parâmetros subsequentes são as colunas de entrada do modelo. A função retorna um resultado de classificação 0 ou 1 para cada linha.
-- Use the trained model for prediction.
-- The first parameter of the ml_predict function is the model name. Subsequent parameters are the model's input columns.
SELECT ML_PREDICT('bstdemo.bst', event_list) FROM bstdemo.adb02;