Aller au contenu principal

Services de modèle personnalisés

Un service de modèle est un endpoint qui traduit et achemine les requêtes d'inférence vers un ou plusieurs modèles, avec une répartition du trafic et des fallbacks. Il prend en charge les requêtes en temps réel, ainsi que l'inférence par batch.

Créer un service de modèle personnalisé pour des cas d’utilisation tels que les suivants :

  • Un endpoint indépendant du modèle pour une application. Attribuez un service nommé production.ai.support-assistant à un assistant de support client. Modifiez le modèle sous-jacent sans changer le nom appelé par l'application.
  • Routage personnalisé et fallbacks. Utilisez la répartition du trafic pour envoyer 10 % du trafic vers un nouveau modèle avant un déploiement plus large, ou configurez une destination de secours pour les requêtes ayant échoué.
  • Un budget pour une charge de travail. Marquez un service avec project=support-assistant et délimitez un budget mensuel à ce tag, avec une alerte à partir de 1 000 $ de dépenses.
  • Contrôles d’accès pour une équipe. Accordez à l’équipe juridique et à ses Service Principals d’application l’accès à un service legal-review et utilisez des services distincts pour les autres équipes.
  • Limites de débit pour une charge de travail. Configurez un service de test pour 100 requêtes par minute et un service de production pour 1 000 requêtes par minute à l’aide des limites de débit du service.
  • Séparer le monitoring et les logs. Envoyez les requêtes et les réponses d'un assistant de support vers une table d'inférence dédiée afin de pouvoir inspecter son trafic séparément de celui de l'agent de codage.

Pour query un modèle de fondation servi par Databricks sans créer de service, utilisez un service de modèle fourni par le système dans system.ai.

Un service peut acheminer des requêtes vers des modèles hébergés par Databricks, en utilisant le paiement au jeton ou le throughput provisionné, ou vers des modèles externes par l'intermédiaire d'un fournisseur de modèle. Vous pouvez combiner ces destinations dans un même service.

Les services de modèle personnalisés sont des éléments sécurisables d'Unity Catalog. Les appelants les invoquent par leur nom complet, catalog.schema.name, à travers les workspaces ou depuis l'extérieur de Databricks. Voir Gouvernance et privilèges.

Exigences​

  • Un workspace Databricks dans une région prise en charge par Unity Gateway.
  • Unity Catalog activé pour votre workspace. Consultez Activer un workspace pour Unity Catalog.
  • Pour créer un service de modèle, vous devez disposer des éléments suivants :
    • USE CATALOG, USE SCHEMA et CREATE SERVICE sur le catalogue et le schéma où vous créez le service de modèle.
    • EXECUTE sur chaque modèle que le service de modèle référence comme destination.
    • EXECUTE, USE CATALOG et USE SCHEMA sur chaque fournisseur de modèles que le service de modèle référence comme destination.
    • USE CATALOG, USE SCHEMA et CREATE TABLE sur le catalogue et le schéma où la table d’inférence est créée, si vous activez la journalisation de l’inférence.

Créer un service de modèle personnalisé ​

Créer un service de modèle dans l’interface utilisateur de Unity Gateway ou dans l’Explorateur de catalogues. Pour en créer un par programmation, utilisez l’API REST, les SDK Databricks, la CLI Databricks, Terraform ou les automatisations déclaratives (DAB).

Les services de modèle et les fournisseurs de modèles partagent un espace de noms unique dans un schéma Unity Catalog. Vous ne pouvez pas utiliser un nom pour un service de modèle si un fournisseur de modèle dans le schéma l’utilise déjà, et vice versa.

  1. Effectuez l’une des actions suivantes :

    • Dans la barre latérale du workspace, cliquez sur AI Gateway , puis cliquez sur Créer .
    • Dans l'Explorateur de catalogues, accédez au schéma dans lequel vous souhaitez créer le service de modèle, puis cliquez sur Créer > Service > Service de modèle .
  2. Saisissez un nom pour le service de modèle, puis sélectionnez le catalogue et le schéma dans lesquels le créer. Si vous start à partir de l’Explorateur de catalogue, celui-ci préremplit le catalogue et le schéma.

  3. Sélectionnez la destination principale à desservir. Cette destination peut être un modèle servi par Databricks sur lequel vous avez EXECUTE et que Unity Gateway peut servir, ou un fournisseur de modèles sur lequel vous avez EXECUTE, USE CATALOG et USE SCHEMA.

  4. Cliquez sur Créer .

Une fois le service de modèle créé, Databricks ouvre sa page de présentation, où vous pouvez commencer ou configurer des fonctionnalités supplémentaires telles que la journalisation des inférences.

Accorder l’accès à un service de modèle ​

Par default, seul le propriétaire du service de modèle peut l'interroger. Pour permettre à d'autres utilisateurs d'interroger un service de modèle, accordez-leur EXECUTE sur celui-ci, ainsi que USE CATALOG et USE SCHEMA sur son catalogue et son schéma. Si le service de modèle écrit des logs dans une table d'inférence, accordez SELECT sur la table pour leur permettre de lire les requêtes et les réponses consignées.

  1. Ouvrez le service de modèle dans Catalog Explorer, ou accédez à AI Gateway et sélectionnez le service.
  2. Accédez à l’onglet tab .
  3. Cliquez sur Grant .
  4. Sélectionnez les utilisateurs, les groupes ou les Service Principals auxquels accorder l’accès.
  5. Select the EXECUTE privilege.
  6. Cliquez sur Grant .

Consultez Découvrir et gouverner l'accès aux services de modèle pour en savoir plus sur l'octroi et la découverte des accès.

Configurer les fonctionnalités sur un service de modèle ​

Configurez les limites de débit, la journalisation des inférences et les garde-fous implémentés avec les politiques de service sur le service de modèle à partir de l’interface utilisateur Unity Gateway. Voir :

Journalisation des inférences ​

Lorsque vous activez la journalisation des inférences, Databricks crée une nouvelle table Unity Catalog vide dotée d'un schéma prédéfini à l'emplacement que vous spécifiez. Notez les éléments suivants :

  • Vous devez disposer de USE CATALOG, de USE SCHEMA et de CREATE TABLE sur le catalogue et le schéma cibles.
  • Le créateur du service de modèle est le propriétaire de la table d’inférence. Aucun autre utilisateur n'a accès, sauf si vous le lui accordez.
  • Si une table existe déjà à l’emplacement spécifié, la création du service de modèle échoue.
  • La table d'inférence possède un cycle de vie indépendant du service de modèle. Si vous supprimez la table, le service de modèle continue de fonctionner mais arrête la journalisation.

Pour en savoir plus sur les tables d’inférence, consultez Logs les requêtes et les réponses dans des tables d’inférence.

Mettre à jour un service de modèle ​

Vous devez être propriétaire ou disposer de MANAGE.

Edit the model service's configuration from the Unity Gateway UI or Catalog Explorer. Les modifications s'appliquent sur place.

Supprimer un service de modèle ​

Vous devez être propriétaire ou disposer de MANAGE. Les services de modèles fournis par le système dans system.ai ne peuvent pas être supprimés.

Ouvrez le service de modèle dans l’interface utilisateur de Unity Gateway ou l’Explorateur de catalogues, puis sélectionnez Delete dans le menu kebab.

Gouvernance et privilèges ​

As a Unity Catalog securable object, a model service:

  • **Vit dans un catalogue et un schéma**, où il hérite des paramètres du schéma tels que les liaisons de workspace.
  • Contient les métadonnées standard de Unity Catalog , telles que le nom, le propriétaire, le commentaire et les tags.
  • Est régi par les privilèges Unity Catalog , vous accordez donc l'accès en utilisant les mêmes déclarations GRANT et REVOKE que vous utilisez pour les tables, les fonctions et les modèles.
  • **Est découvrable dans Catalog Explorer**, aux côtés du reste de vos assets Unity Catalog.

Les privilèges suivants s'appliquent :

Privilège

Description

USE CATALOG, USE SCHEMA

Accéder au catalogue et au schéma qui contiennent le service de modèle. Requis pour toutes les Opérations.

CREATE SERVICE

Créez des services de modèle dans un schéma. Accordé sur le catalogue ou le schéma.

EXECUTE

Interroger un service de modèle.

MANAGE

Modifier ou supprimer un service de modèle et gérer ses autorisations. Le propriétaire a un sur-ensemble de MANAGE.

Privilège

Description

USE CATALOG, USE SCHEMA

Accéder au catalogue et au schéma qui contiennent le service de modèle. Requis pour toutes les Opérations.

CREATE SERVICE

Créez des services de modèle dans un schéma. Accordé sur le catalogue ou le schéma.

EXECUTE

Interroger un service de modèle.

MANAGE

Modifier ou supprimer un service de modèle et gérer ses autorisations. Le propriétaire a un sur-ensemble de MANAGE.

Les services de modèles utilisent les privilèges du propriétaire. Databricks évalue une query en fonction des privilèges de l' owner plutôt que de ceux de l'appelant. Lorsqu'un utilisateur interroge un service de modèle, Databricks vérifie que le propriétaire dispose de EXECUTE sur les destinations référencées, telles que les modèles sous-jacents et les fournisseurs de modèles. L'appelant n'a pas besoin d'un accès direct à ces destinations.

Limitations​

Les capacités suivantes ne sont pas prises en charge :

  • Création et gestion de services de modèle avec SQL.
  • Découverte des services de modèle avec seulement le privilège BROWSE.
  • Recherche globale de services de modèle.

Ressources supplémentaires ​