medtech-model-evidence-export

Par nvidia · skills

Exporte des métadonnées assainies, des paramètres, des informations de reproductibilité, des métriques de qualité et des artefacts de révision optionnels issus de runs d'inférence Medical AI ou de packs de preuves vers MLflow. À utiliser après l'inférence, y compris les runs NV-Generate ; non destiné au suivi d'entraînement en direct, à l'enregistrement de modèles ou à un usage clinique.

npx skills add https://github.com/nvidia/skills --skill medtech-model-evidence-export

Export de preuves de modèle médical vers MLflow

Objectif

Refléter un résultat d'inférence médicale existant ou un pack de preuves dans MLflow après l'exécution et émettre le contrat JSON export_result. Conserver le pack de preuves original comme source de vérité. Les skills d'entraînement doivent ajouter MLflow dans leurs boucles d'entraînement à la place.

Instructions

  1. Exécutez scripts/export_evidence_pack.py en mode dry-run par défaut.
  2. Inspectez params, metrics, artifact_plan et mlflow.note.content.
  3. Choisissez --mode local ou --mode databricks uniquement après avoir vérifié la cible.
  4. Conservez --artifact-policy metadata sauf si la cible est approuvée pour les images.
  5. Pour preview ou all en mode live, passez également --confirm-medical-artifact-upload.
  6. Gardez --source-ref, --note, les noms de fichiers de configuration et les noms de fichiers d'artifacts libres d'identifiants patient ou secret ; vérifiez toujours d'abord la sortie du dry-run.

Les hôtes avec un assistant de script peuvent utiliser run_script("scripts/export_evidence_pack.py", args=["PACK_OR_RESULT", "--mode", "dry-run"]).

Scripts disponibles

Script Objectif Arguments
scripts/export_evidence_pack.py Exporter les preuves d'inférence post-hoc via MLflow. PACK_OR_RESULT --mode dry-run --artifact-policy metadata

Prérequis

  • Python 3.10+.
  • mlflow>=2.10,<4 pour le mode local ou databricks.
  • numpy>=1.24,<3 et nibabel>=4,<6 pour les métriques de qualité NIfTI et les aperçus.
  • MLFLOW_TRACKING_URI peut sélectionner un serveur de suivi géré par l'appelant.
  • Le mode Databricks utilise DATABRICKS_HOST, DATABRICKS_TOKEN de l'appelant, ou un profil Databricks configuré. Le point de terminaison réseau déclaré est https://<caller-provided-mlflow-or-databricks-workspace> ; Docker et GPU ne sont pas requis.
  • Le mode local peut écrire le magasin MLflow sous <current-working-directory>/mlruns.

Exemples

Prévisualisez l'export sans contacter MLflow :

python skills/medtech-model-evidence-export/scripts/export_evidence_pack.py \
  runs/inference_pack --mode dry-run --artifact-policy metadata

Exportez un résultat NV-Generate direct avec métadonnées de reproductibilité :

python skills/medtech-model-evidence-export/scripts/export_evidence_pack.py \
  runs/nv-generate/result.json \
  --mode local \
  --experiment-name medical-ai-inference \
  --config configs/chest_lung_tumor.json \
  --seed 0 \
  --source-ref git:61c4ec709b84cad468852243c48e250bec732074

Enregistrez des aperçus de tranches sous-échantillonnées, mais pas les fichiers NIfTI bruts :

python skills/medtech-model-evidence-export/scripts/export_evidence_pack.py \
  runs/nv-generate/result.json \
  --mode databricks \
  --experiment-name /Shared/medical-ai-inference \
  --artifact-policy preview \
  --confirm-medical-artifact-upload

--artifact-policy all télécharge en outre les images et masques NIfTI découverts ou explicitement fournis, sous réserve de --max-artifact-mb. Utilisez --image et --mask quand les chemins ne sont pas présents dans le JSON de résultat.

L'exportateur enregistre :

  • les métriques d'exécution et de qualité scalaires, y compris les statistiques HU moyennes/std/min/max échantillonnées pour CT (statistiques d'intensité génériques sinon), une heuristique SNR d'intensité documentée, le pourcentage de premier plan du masque et le pourcentage de volume tumoral mappé quand un mapping d'étiquette tumorale est disponible ;
  • les paramètres de génération, l'identité du modèle/checkpoint, la graine RNG et le hash de recette ;
  • le digest de configuration source ou --source-ref, plus un digest de prompt si présent ;
  • mlflow.note.content avec un court résumé lisible par l'humain ;
  • un bundle de métadonnées désinfecté par défaut, des aperçus de tranches PNG optionnels et des artifacts image/masque bruts uniquement sous la politique all explicite.

Limitations

  • C'est un export d'inférence post-hoc, non un suivi de courbe d'entraînement en direct.
  • Les statistiques de volume SNR d'intensité globale et sous-échantillonnées sont des vérifications d'ingénierie, non des revendications de qualité d'image ou de performance clinique.
  • Les aperçus et artifacts bruts peuvent contenir des informations médicales sensibles. L'appelant doit approuver la destination et la politique de données avant le téléchargement.
  • L'exportateur n'évalue pas la qualité du modèle, n'enregistre pas les modèles et n'altère pas le pack de preuves source.

Dépannage

Erreur Cause Solution
Source de preuves non reconnue Pas de JSON de résultat direct ou de manifest.json de pack. Passez le fichier de résultat, le répertoire du pack de preuves ou la racine d'exécution de confiance.
L'import MLflow échoue Le mode live manque du package déclaré. Installez mlflow>=2.10,<4 ou utilisez --mode dry-run.
Erreur de confirmation preview/all Un téléchargement d'image live n'a pas été reconnu. Vérifiez la destination, puis passez --confirm-medical-artifact-upload.
Image référencée non trouvée Les chemins de résultats ont bougé après l'inférence. Passez les chemins actuels avec --image et --mask.

Skills similaires