Surveiller les coûts de mise à disposition de modèles
Cet article fournit des exemples d'utilisation des tables système pour surveiller le coût des endpoints Model Serving dans votre compte Databricks.
Exigences
- Pour accéder aux tables système, votre Workspace doit être activé pour Unity Catalog. Pour plus d'informations, consultez Activer les tables système.
Référence SKU de la table système d'utilisation de la facturation
Vous pouvez suivre les coûts de service de modèle dans Databricks à l'aide de la table système d'utilisation facturable. Une fois la table système d'utilisation de la facturation activée, la table se remplit automatiquement avec la dernière utilisation de votre compte Databricks. Les coûts apparaissent dans la table system.billing.usage avec la colonne sku_name comme l'un des éléments suivants :
| Description |
|---|---|
| Ce SKU inclut toutes les DBU accumulées lorsqu'un Endpoint start après une mise à l'échelle à zéro. |
| Tous les autres coûts de service de modèle sont regroupés sous ce SKU. Où |
Query et visualiser l'utilisation
Vous pouvez query la table system.billing.usage pour agréger toutes les DBU (Databricks Units) associées au Model Serving. Voici un exemple de query qui agrège les DBU de Model Serving par jour pour les 30 derniers jours à l'aide de SQL :
SELECT SUM(usage_quantity) AS model_serving_dbus,
usage_date
FROM system.billing.usage
WHERE sku_name LIKE '%SERVERLESS_REAL_TIME_INFERENCE%'
GROUP BY(usage_date)
ORDER BY usage_date DESC
LIMIT 30
Utilisation des charges de travail d’inférence par batch
Vous pouvez interroger la table system.billing.usage afin d'isoler les DBU (Databricks Units) qui ont été utilisés pour les charges de travail d'inférence par lots.
SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE"
Pour obtenir la liste de tous les endpoints de service de modèles qui gèrent des charges de travail d'inférence par batch, utilisez la commande suivante :
SELECT DISTINCT(usage_metadata.endpoint_name)
FROM system.billing.usage
WHERE u.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";
Consultez Afficher les coûts des workloads d'inférence par batch pour des exemples supplémentaires.
Tableau de bord d’observabilité des coûts
Pour vous aider à start le monitoring de vos coûts de déploiement de modèle, download l'exemple de tableau de bord d'attribution des coûts depuis GitHub. Consultez le tableau de bord d'attribution des coûts de Model Serving.
Après avoir download le fichier JSON, importez le tableau de bord dans votre workspace. Pour obtenir des instructions sur l'importation de tableaux de bord, consultez Importer un fichier de tableau de bord.
Comment utiliser ce tableau de bord
Ce tableau de bord est alimenté par AI/BI et vous devez avoir accès aux tables système. Il fournit des insights sur les coûts et l'utilisation de vos Endpoint de service au niveau du Workspace.
Les étapes suivantes vous permettent de start :
- Saisissez l'ID du workspace.
- Sélectionnez la date de start et la date de fin.
- Filtrez le tableau de bord en sélectionnant le nom d'endpoint spécifique dans la liste déroulante (si vous êtes intéressé par un endpoint particulier).
- Séparément, saisissez la clé de tag si vous utilisez des tags personnalisés pour votre Endpoint.
Vous pouvez également utiliser des budgets pour gérer les alertes.
Model Serving applique des limites par default au workspace pour s'assurer qu'il n'y a pas de dépenses excessives. Voir les limites et les régions de Model Serving.
Graphiques que vous pouvez utiliser
Les graphiques suivants sont inclus dans ce tableau de bord. Ceux-ci sont censés être un point de départ pour que vous puissiez créer votre propre version personnalisée du tableau de bord d'attribution des coûts de service de modèle.
-
Consommation principale d'Endpoint des 7 derniers jours
-
Utilisation quotidienne totale de DBU
-
Coûts de Model Serving par type d'Endpoint
- Paiement par jeton
- CPU/GPU
- Modèle de fondation
-
Consommation quotidienne par type de Model Serving
-
Les 10 Endpoint de service les plus coûteux
-
Les 10 Endpoint de paiement par jeton les plus coûteux
-
Affinement des LLM : Dépenses des 7 derniers jours
-
Dépenses d'affinement de LLM par e-mail
Utilisez des tags pour surveiller les coûts
Initialement, les coûts agrégés pourraient être suffisants pour observer les coûts globaux de Model Serving. Cependant, à mesure que le nombre d'Endpoints augmente, vous pourriez vouloir ventiler les coûts en fonction du cas d'utilisation, de l'unité commerciale ou d'autres identifiants personnalisés. La diffusion de modèles prend en charge la création de balises personnalisées qui peuvent être appliquées à vos Endpoint de diffusion de modèles.
Tous les tags personnalisés appliqués aux Endpoint de service de modèles se propagent à la table system.billing.usage sous la colonne custom_tags et peuvent être utilisés pour agréger et visualiser les coûts. Databricks recommande d'ajouter des étiquettes descriptives à chaque Endpoint pour un suivi précis des coûts.
Exemples de requêtes
Principaux Endpoint par coût :
SELECT
usage_metadata.endpoint_name AS endpoint_name,
SUM(usage_quantity) AS model_serving_dbus
FROM
system.billing.usage
WHERE
sku_name LIKE '%SERVERLESS_REAL_TIME_INFERENCE%'
AND usage_metadata.endpoint_name IS NOT NULL
GROUP BY endpoint_name
ORDER BY model_serving_dbus DESC
LIMIT 30;
Coût avec des tags (« business_unit » : « data science ») au fil du temps :
SELECT
SUM(usage_quantity) AS model_serving_dbus,
usage_date
FROM
system.billing.usage
WHERE sku_name LIKE '%SERVERLESS_REAL_TIME_INFERENCE%'
AND custom_tags['business_unit'] = 'data science'
GROUP BY usage_date
ORDER BY usage_date DESC
LIMIT 30
Ressources supplémentaires
Pour des exemples sur la façon de surveiller le coût des Jobs dans votre compte, consultez Surveiller les coûts et les performances des Jobs avec les tables système.