Me gustaría instalación Mlflow tener los siguientes componentes :
- Backend de la tienda (local) : el uso de una base de datos SQLite localmente para almacenar Mlflow entidades (run_id, parámetros, indicadores...)
- Artefacto de almacén (control remoto) : el uso de un almacenamiento de blobs en mi Azure Datos Lago de Almacenamiento Gen2 para almacenar los archivos de salida (versionada conjuntos de datos, serializado modelos, imágenes, ...) relacionados con mi modelo
- Servidor de seguimiento : mediante el uso de algo que se parece a 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
Donde mlruns.db es una base de datos que he creado en SQLite (dentro de una carpeta db) y mlartifacts es la carpeta que he creado en el interior del contenedor de blobs para recibir todos los archivos de salida.
Puedo ejecutar este comando y, a continuación, hago y mlflow ejecutar (o un kedro ejecutar como estoy usando Kedro) pero casi no pasa nada. La base de datos se llena con 12 mesas, pero todos vacío mientras que nada de lo que sucede dentro de los Datos lago.
Lo que quiero debe verse como Escenario 4 en la documentación.
Para el artefacto de la tienda, no pude encontrar instrucciones detalladas. Traté de mirar en Mlflow la documentación de aquí , pero esto no es muy útil (yo todavía soy un principiante). Dicen que:
MLflow espera Azure Almacenamiento de credenciales de acceso en el AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY variables de entorno o de tener sus credenciales configurada de forma tal que el DefaultAzureCredential(). la clase puede recoger.
Sin embargo, incluso cuando la adición de la env variables, nada parece ser almacenados en el data lago. He creado dos env variables (en 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=. Tengo que siguiendo este camino, en el Portal de Azure : cuenta de Almacenamiento/teclas de Acceso/Conexión de cadena (lo que llevó a la una de la tecla 2).
También afirman que :
Además, debe ejecutar el pip install azure de almacenamiento blob por separado (en ambos el cliente y el servidor) para el acceso de Azure Blob de Almacenamiento. Por último, si desea utilizar DefaultAzureCredential, debe instalar pip azure de identidad; MLflow no declarar una dependencia de estos paquetes por defecto.
He añadido en mi requerimientos del proyecto, pero ¿qué significan exactamente por la instalación en el cliente y en el servidor ? Cómo azure-identidad de ayuda en la instalación ?
Podría usted por favor me ayude con un paso a paso las instrucciones sobre cómo hacer la instalación completa ?
Gracias de antemano !
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