Je voudrais d'installation Mlflow pour avoir les composants suivants :
- Backend store (local) : utilisation d'une base de données SQLite localement pour stocker Mlflow entités (run_id, params, métriques...)
- Artefact store (distance) : à l'aide d'une goutte de stockage sur mon Azure Data Lac de Stockage Gen2 pour stocker les fichiers de sortie (avec version jeux de données, sérialisé, modèles, images, ...) liées à mon modèle
- Serveur de suivi : en utilisant quelque chose qui ressemble à cette commande
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
Où mlruns.db est une base de données que j'ai créé dans SQLite (à l'intérieur d'une base de données dossier) et mlartifacts est le dossier que j'ai créé à l'intérieur de la goutte récipient pour recevoir tous les fichiers de sortie.
J'ai exécuté cette commande, puis-je faire et mlflow exécuter (ou un kedro courir comme je suis en utilisant Kedro), mais presque rien ne se passe. La base de données est remplie avec 12 tables mais tous les vides, alors qu'il ne se passe rien dans le Data lake.
Ce que je veux devrait ressembler le Scénario 4 dans la documentation.
Pour l'artefact magasin, je ne pouvais pas trouver des instructions détaillées. J'ai essayé de regarder à Mlflow de la documentation ici, mais ce n'est pas très utile (je suis encore un débutant). Ils disent que:
MLflow attend de Stockage Azure informations d'identification d'accès dans le AZURE_STORAGE_CONNECTION_STRING, AZURE_STORAGE_ACCESS_KEY variables d'environnement ou d'avoir vos informations d'identification configuré de manière à ce que le DefaultAzureCredential(). la classe peut les ramasser.
Cependant, même lors de l'ajout des variables d'environnement, rien ne semble être stockées dans les données de lac. J'ai créé les deux variables d'environnement (sur 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=. Je l'ai eu en suivant ce chemin d'accès sur le Portail Azure : compte de Stockage/touches d'Accès/chaîne de Connexion (j'ai pris celui de la clé 2).
Ils affirment également que :
Aussi, vous devez exécuter pip install-azur stockage blob séparément (à la fois sur votre client et le serveur) pour l'accès Azure Blob Storage. Enfin, si vous souhaitez utiliser DefaultAzureCredential, vous devez installer pip azur identité; MLflow ne pas déclarer une dépendance sur ces paquets par défaut.
J'ai ajouté dans mon projet, mais que veulent-ils dire exactement par l'installation sur le client et le serveur ? Comment azur-identité de l'aide dans le setup ?
Pourriez-vous m'aider avec des instructions étape par étape sur la façon de faire l'installation complète ?
Je vous remercie à l'avance !
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