[ad_1]
Neste artigo, vamos demonstrar como monitorar um modelo em um provedor de Machine Learning customizado usando o IBM watsonx.governance (IBM Watson OpenScale). Embora você possa usar qualquer mecanismo de implementação de modelo, aqui criaremos um container com Python Flask.
- Implementação do servidor de aplicação: Implementa o servidor de aplicação usando VM ou Code Engine na IBM Cloud.
- Configuração do watsonx.governance: Com o Jupyter Notebook configura o watsonx.governance. (diretório do Github).
- Monitoramento do modelo: O watsonx.governance é usado para monitorar a qualidade do modelo de Machine Learning e suas transações (scoring).
Usaremos o Code Engine na IBM Cloud para simular um framework de Machine Learning personalizado existente. Siga as instruções abaixo para criar o container do modelo e fazer upload da imagem no Container Registry da IBM Cloud.
- Crie o container do modelo utilizando o código. (Para mais detalhes sobre como implementar um modelo scikit-learn em container, veja o artigo “Implemente um modelo Scikit-learn em container”)
- Faça upload da imagem para o registry da IBM Cloud.
$ ibmcloud plugin install container-registry -r 'IBM Cloud'
$ ibmcloud login -a https://cloud.ibm.com$ ibmcloud cr region-set global
$ ibmcloud cr namespace-add 'tutorial-watsonx-governance'
$ ibmcloud cr login
$ docker tag sample-model-container \
icr.io/tutorial-watsonx-governance/sample-model-container:latest
$ docker push icr.io/tutorial-watsonx-governance/sample-model-container:latest
$ ibmcloud cr image-list
- Abra o seu serviço do Code Engine.
- Na aba
Projects-> Clique emCreate +
Agora precisamos configurar a integração do Container Registry ao nosso projeto.
- Na aba
Integrations-> Clique emGlobal. (utilizamos o registry na localidade global com o comandoibmcloud cr region-set global). - Clique em
Configure
Com a configuração do Container Registry no projeto Code Engine, vamos criar a nossa aplicação.
- Na aba
Applications-> Clique emCreate + - Na aba
Code-> Clique emConfigure image - No menu de configuração, selecione o
Registry server(utilizamos oIBM Registry Global). - Selecione o
NamespaceeRepositorypara o deploy da aplicação.
- Na aba
Image start options - Ajuste a
Listening portpara3000, porta utilizada pela aplicação Flask. - Clique em
Create
Por último, armazene o endpoint (URL) gerado pelo Code Engine:
- Na aba
Domain mappings - IMPORTANTE: Anote o endpoint público da aplicação.
Para acessar o seu serviço do watsonx.governance via Jupyter Notebook, precisamos criar uma API key no painel do IBM Cloud.
- No menu, clique em
Gerenciar->Acesso (IAM)
- Na aba
Chaves de API - Clique em
Criar uma chave API da IBM Cloud - Dê um nome a sua API Key.
- Clique em
Criar
IMPORTANTE: Anote sua API key, você não poderá visualizá-la novamente.
Para que o watsonx.governance possa acessar os dados utilizados no treinamento do modelo, faça o upload do dataset em um bucket do COS.
- Abra o seu serviço do COS.
- Clique em
Create bucket +
- Neste artigo vamos utilizar a segunda opção
Quickly get started
- Dê um nome ao seu bucket.
- Faça upload do dataset de treinamento
credit_risk_training.csv
- Na aba
Configuration - IMPORTANTE: Anote sua
apikeyeresource_instance_id
Abra o Jupyter Notebook e execute o código para configurar o watsonx.governance e criar o monitor de qualidade do modelo.
- Execute o bloco
1, e adicione aAPI_KEYcriada noPasso 2 - Execute o bloco
2 - No bloco
3e3.1vamos criar o nosso provedor de Machine Learning customizado.
4. Com o provedor de Machine Learning criado, no bloco 3.2 crie a Subscription do seu modelo.
5. Adicione suas credenciais:
- SCORING_ENDPOINT_URL: Endpoint da aplicação Code Engine criada no
Passo 1. Adicione o seguinte path ao endpoint:/api/v1/predict. ex.:https://application.us-south.codeengine.appdomain.cloud/api/v1/predict - COS_API_KEY_ID: API Key do COS criado no
Passo 3 - COS_RESOURCE_CRN: Resource CRN criado no
Passo 3 - BUCKET_NAME: Nome do bucket criado no
Passo 3
6. Agora vamos executar chamadas ao modelo, e registrar o resultado (payload logging) no watsonx.governance.
7. Por último, configure e execute alguns monitores de qualidade para o modelo.
- Acurácia
- Precisão
- Recall
- AUC
IMPORTANTE: Execute o Jupyter Notebook até o fim para efetuar o monitor de qualidade com o dataset de teste.
o IBM watsonx.governance é uma ferramenta poderosa para monitorar e garantir a qualidade de modelos de Machine Learning. Seguindo os passos descritos no artigo, é possível monitorar modelos de provedores customizados. Explore novos monitores para aprimorar ainda mais a robustez e transparência do seu modelo.
[ad_2]
