Eu gostaria de instalação Mlflow ter os seguintes componentes :
- Backend de armazenamento (local) : utilizando um banco de dados SQLite local para armazenar Mlflow entidades (run_id, params, métricas...)
- Artefato de armazenamento (remoto) : usando um armazenamento de blob no meu Azure Dados Lago de Armazenamento Gen2 para armazenar os arquivos de saída (versões de conjuntos de dados serializados modelos, imagens, ...) relacionadas com o meu modelo
- Servidor de rastreamento de : usando algo que parece este comando
z
mlflow server --backend-store-uri sqlite:///C:\sqlite\db\mlruns.db --default-artifact-root wasbs://container-name@storage_account_name.blob.core.windows.net/mlartifacts -h 0.0.0.0 -p 8000
Onde mlruns.db é um banco de dados que criei no SQLite (dentro de uma pasta db) e mlartifacts é a pasta que eu criei no interior do contêiner de blob para receber todos os arquivos de saída.
Eu executar esse comando e, em seguida, eu e mlflow executar (ou um kedro executar como eu estou usando Kedro), mas quase nada acontece. O banco de dados é preenchido com 12 mesas, mas tudo vazio enquanto nada acontece dentro de Dados lago.
O que eu quero deve olhar como Cenário 4 na documentação.
Para o artefato loja, eu não conseguia encontrar instruções detalhadas. Eu tentei olhar para Mlflow documentação aqui , mas isso não é muito útil (eu ainda sou um novato). Eles dizem que:
MLflow espera Azure Storage credenciais de acesso a AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY variáveis de ambiente ou ter suas credenciais configurado de tal modo que o DefaultAzureCredential(). classe pode pegá-los.
No entanto, mesmo quando adicionar as variáveis env, nada parece ser armazenado nos dados lago. Eu criei duas variáveis env (no Windows 10):
AZURE_STORAGE_ACCESS_KEY = wasbs://container-name@storage_account_name.blob.core.windows.net/mlartifacts
AZURE_STORAGE_CONNECTION_STRING = DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=. Eu tenho que seguindo este caminho no Portal Azure : conta de Armazenamento/chaves de Acesso/Conexão de seqüência de caracteres (levou a uma tecla de 2).
Eles também afirmam que :
Além disso, você deve executar pip install azure-armazenamento de blob separadamente (em ambos o cliente e o servidor) para acesso Azure Blob Storage. Finalmente, se você deseja usar DefaultAzureCredential, você deve pip install azure-identidade; MLflow não declara uma dependência, esses pacotes por padrão.
Eu adicionei na minha requisitos do projeto, mas o que significam exatamente por instalar o cliente e o servidor ? Como azure-identidade ajuda na instalação ?
Por favor, você poderia me ajudar com um passo a passo as instruções sobre como fazer a instalação completa ?
Obrigado antecipadamente !
mlflow server --backend-store-uri sqlite:///C:\\sqlite\\db\\mlruns.db --default-artifact-root wasbs://container-name@storage_account_name.blob.core.windows.net/mlartifacts -h 0.0.0.0 -p 5000