Extracteur personnalisé avec IA générative
L'entraînement et l'extraction d'IA générative vous permettent:
- Utilisez la technologie "zero-shot" et "few-shot" pour obtenir un modèle performant avec peu ou pas de données d'entraînement à l'aide du modèle de référence.
- Utilisez l'ajustement pour améliorer encore la précision à mesure que vous fournissez davantage de données d'entraînement.
Méthodes d'entraînement de l'IA générative
La méthode d'entraînement que vous choisissez dépend de la quantité de documents dont vous disposez et de l'effort que vous pouvez consacrer à l'entraînement de votre modèle. Il existe trois façons d'entraîner un modèle d'IA générative:
Méthode d'entraînement | Zero-shot | Few-shot | Affinage |
---|---|---|---|
Précision | Moyenne | Moyenne à élevée | Élevée |
Effort | Faible | Faible | Moyenne |
Nombre recommandé de documents d'entraînement | 0 | 5 à 10 | 10 à 50 et plus |
Versions du modèle d'extraction personnalisé
Les modèles suivants sont disponibles pour l'extracteur personnalisé. Pour modifier les versions de modèle, consultez la section Gérer les versions de l'outil de traitement.
Les versions 1.0 et 1.3 sont compatibles avec les scores de confiance, tandis que les versions 1.1 et 1.2 ne le sont pas.
Version de modèle | Description | Stable | Traitement du ML aux États-Unis/dans l'UE | Affinage aux États-Unis/dans l'UE | Date de disponibilité |
---|---|---|---|---|---|
pretrained-foundation-model-v1.0-2023-08-22 |
Candidat prêt à la production spécialisé pour les cas d'utilisation des documents, basé sur des modèles de vision et des modèles de fondation spécialisés. |
Oui | Non | États-Unis uniquement (DG) | 9 janvier 2024 |
pretrained-foundation-model-v1.1-2024-03-12 |
Version candidate basée sur le LLM Gemini 1.0 Pro et sur des technologies nouvellement développées, y compris des modèles de langage et de vision spécialisés. Cette version et les versions ultérieures incluent des fonctionnalités avancées d'OCR, telles que la détection de cases à cocher. Recommandé pour utiliser les limites de jetons augmentées ou tester de nouveaux modèles. |
Non | Oui | États-Unis, Europe (preview) | 3 mai 2024 |
pretrained-foundation-model-v1.2-2024-05-10 |
Version candidate prête à la production, basée sur le LLM Gemini 1.5 Pro et sur de nouvelles technologies, y compris des modèles de langage et de vision spécialisés. Recommandé pour une qualité optimale, en utilisant les limites de jeton les plus élevées, en utilisant la meilleure qualité pour identifier les entités ou en testant de nouveaux modèles. |
Oui | Oui | États-Unis, Europe (preview) | 27 mai 2024 |
pretrained-foundation-model-v1.3-2024-08-31 |
Version candidate prête pour la production, basée sur le LLM Gemini 1.5 Flash. Recommandé pour ceux qui souhaitent obtenir la latence la plus faible possible. | Oui | Oui | États-Unis, Europe (preview) | 23 août 2024 |
Pour modifier la version de l'outil de traitement dans votre projet, consultez Gérer les versions de l'outil de traitement.
Avant de commencer
Si vous ne l'avez pas déjà fait, activez la facturation et les API Document AI.
Créer et évaluer un modèle d'IA générative
Créez un processeur et définissez les champs que vous souhaitez extraire en suivant les bonnes pratiques, ce qui est important, car cela a un impact sur la qualité de l'extraction.
- Accédez à Workbench > Extracteur personnalisé > Créer un processeur > Attribuer un nom.
- Accédez à Commencer > Créer un champ.
Importer des documents
- Importez des documents avec l'étiquetage automatique et attribuez-les aux ensembles d'entraînement et de test.
- Pour le mode sans échantillon, seul le schéma est obligatoire. Pour évaluer la justesse du modèle, un seul ensemble de test est nécessaire.
- Pour le few-shot, nous vous recommandons cinq documents d'entraînement.
- Le nombre de documents de test nécessaires dépend du cas d'utilisation. En règle générale, plus vous avez de documents de test, mieux c'est.
- Confirmez ou modifiez les libellés du document.
Entraîner le modèle:
- Sélectionnez Build (Compilation), puis Create new version (Créer une version).
- Saisissez un nom, puis sélectionnez Créer.
Évaluation:
- Accédez à Évaluer et tester, sélectionnez la version que vous venez d'entraîner, puis sélectionnez Afficher l'évaluation complète.
- Des métriques telles que f1, précision et rappel s'affichent désormais pour l'ensemble du document et chaque champ.
- Déterminez si les performances répondent à vos objectifs de production. Si ce n'est pas le cas, réévaluez les ensembles d'entraînement et de test.
Définissez une nouvelle version par défaut:
- Accédez à Gérer les versions.
- Sélectionnez pour développer les options, puis sélectionnez Définir comme par défaut.
Votre modèle est maintenant déployé. Les documents envoyés à cet outil de traitement utilisent votre version personnalisée. Vous pouvez évaluer les performances du modèle pour vérifier s'il nécessite un nouvel entraînement.
Référence d'évaluation
Le moteur d'évaluation peut effectuer une correspondance exacte ou une correspondance proche. Pour une correspondance exacte, la valeur extraite doit correspondre exactement à la vérité terrain, sinon elle est comptabilisée comme une erreur.
Les extractions de correspondance floue qui présentent de légères différences, comme des différences de casse, sont toujours comptabilisées comme des correspondances. Vous pouvez modifier ce paramètre sur l'écran Évaluation.
Affinage
Avec l'ajustement, vous utilisez des centaines ou des milliers de documents pour votre entraînement.
Créez un processeur et définissez les champs que vous souhaitez extraire en suivant les bonnes pratiques, ce qui est important, car cela a un impact sur la qualité de l'extraction.
Importez des documents avec l'étiquetage automatique, puis attribuez-les aux ensembles d'entraînement et de test.
Confirmez ou modifiez les libellés du document.
Entraîner le modèle
- Sélectionnez l'onglet Compilation, puis Créer une nouvelle version.
Essayez les paramètres ou valeurs d'entraînement par défaut fournis. Si les résultats ne sont pas satisfaisants, essayez les options avancées suivantes:
Étapes d'entraînement (entre 100 et 400): contrôle la fréquence à laquelle les pondérations sont optimisées sur un lot de données lors du réglage.
- Un nombre trop faible indique un risque que l'entraînement se termine avant la convergence (sous-ajustement).
- Si le nombre est trop élevé, le modèle peut voir le même lot de données plusieurs fois pendant l'entraînement, ce qui peut entraîner un surapprentissage.
- Moins d'étapes, plus l'entraînement est rapide. Un nombre plus élevé peut être utile pour les documents présentant peu de variations de modèle (et un nombre inférieur pour ceux qui en présentent davantage).
Multiplicateur du taux d'apprentissage (entre 0,1 et 10): contrôle la rapidité avec laquelle les paramètres du modèle sont optimisés sur les données d'entraînement. Il correspond à peu près à la taille de chaque étape d'entraînement.
- Les taux faibles entraînent de faibles modifications des poids du modèle à chaque étape d'entraînement. Si elle est trop faible, le modèle risque de ne pas converger vers une solution stable.
- Des taux élevés indiquent de grands changements. Si les taux sont trop élevés, le modèle peut passer outre la solution optimale et converger vers une solution non optimale.
- Le choix du taux d'apprentissage n'a aucune incidence sur la durée de l'entraînement.
Attribuez un nom, sélectionnez la version de processeur de base requise, puis sélectionnez Créer.
Évaluation: accédez à Évaluer et tester, puis sélectionnez la version que vous venez d'entraîner et Voir l'évaluation complète.
- Des métriques telles que f1, précision et rappel s'affichent désormais pour l'ensemble du document et chaque champ.
- Déterminez si les performances répondent à vos objectifs de production. Si ce n'est pas le cas, d'autres documents de formation peuvent être nécessaires.
Définissez une nouvelle version comme version par défaut:
- Accédez à Gérer les versions.
- Développez les options, puis sélectionnez Définir comme par défaut.
Votre modèle est désormais déployé, et les documents envoyés à ce processeur utilisent désormais votre version personnalisée. Vous souhaitez évaluer les performances du modèle pour vérifier s'il nécessite un nouvel entraînement.
Étiquetage automatique avec le modèle de base
Le modèle de fondation peut extraire avec précision des champs à partir de types de documents divers, mais vous pouvez également fournir des données d'entraînement supplémentaires afin d'améliorer sa précision pour des structures de documents spécifiques.
Document AI utilise les noms d'étiquettes que vous avez définis et les annotations précédentes pour faciliter et accélérer l'étiquetage des documents à grande échelle grâce à l'étiquetage automatique.
- Une fois que vous avez créé un outil de traitement personnalisé, accédez à l'onglet Premiers pas.
- Sélectionnez Créer un champ.
Attribuez au libellé un nom distinctif et descriptif. Cela améliorera la précision et les performances du modèle de base.
Pour améliorer la précision et les performances de l'extraction, ajoutez une description (par exemple, un contexte, des insights et des connaissances préalables supplémentaires pour chaque entité) pour les types d'entités qu'elle doit détecter.
Accédez à l'onglet Compilation, puis sélectionnez Importer des documents.
Sélectionnez le chemin d'accès des documents et l'ensemble dans lequel ils doivent être importés. Cochez l'option d'étiquetage automatique, puis sélectionnez le modèle de fondation.
Dans l'onglet Compilation, sélectionnez Gérer l'ensemble de données.
Lorsque vous voyez vos documents importés, sélectionnez-en un.
Les prédictions du modèle sont désormais surlignées en violet.
- Examinez chaque étiquette prédite par le modèle et assurez-vous qu'elle est correcte.
Si des champs sont manquants, ajoutez-les également.
Une fois le document examiné, sélectionnez Marquer comme étiqueté. Le document est maintenant prêt à être utilisé par le modèle.
Assurez-vous que le document se trouve dans l'ensemble de test ou d'entraînement.
Imbrication à trois niveaux
L'extracteur personnalisé propose désormais trois niveaux d'imbrication. Cette fonctionnalité permet une meilleure extraction des tableaux complexes.
Vous pouvez déterminer le type de modèle à l'aide des appels d'API suivants:
La réponse est un ProcessorVersion
, qui contient le champ modelType
dans la version preview v1beta3.
Procédure et exemple
Nous utilisons cet exemple:
Sélectionnez Commencer, puis créez un champ:
- Créez le niveau racine.
- Dans cet exemple,
officer_appointments
est utilisé. - Sélectionnez Il s'agit d'une étiquette parente.
- Sélectionnez Événement:
Optional multiple
.
Sélectionnez Ajouter un champ enfant. Vous pouvez maintenant créer le libellé de deuxième niveau:
- Pour ce libellé de niveau, créez
officer
. - Sélectionnez Il s'agit d'une étiquette parente.
- Sélectionnez Événement:
Optional multiple
.
- Pour ce libellé de niveau, créez
Sélectionnez Ajouter un champ enfant dans le
officer
de deuxième niveau. Créez des libellés enfants pour le troisième niveau d'imbrication.Une fois votre schéma défini, vous pouvez obtenir des prédictions à partir de documents avec trois niveaux d'imbrication à l'aide de l'étiquetage automatique.
Configuration d'ensemble de données
Un ensemble de données de documents est requis pour entraîner, surentraîner ou évaluer une version de l'outil de traitement. Les processeurs Document AI apprennent à partir d'exemples, comme les humains. L'ensemble de données alimente la stabilité du processeur en termes de performances.Ensemble de données d'entraînement
Pour améliorer le modèle et sa précision, entraînez un ensemble de données sur vos documents. Le modèle est composé de documents avec des données de vérité terrain.- Pour le paramétrage fin, vous avez besoin d'au moins 10 documents pour entraîner un nouveau modèle avec la version
pretrained-foundation-model-v1.0-2023-08-22
, 16 pour la versionpretrained-foundation-model-v1.1-2024-03-12
et un document pourpretrained-foundation-model-v1.2-2024-05-10
etpretrained-foundation-model-v1.3-2024-08-31
. - Pour un few-shot, cinq documents sont recommandés.
- Pour le mode zéro-shot, seul un schéma est requis.
Ensemble de données de test
C'est l'ensemble de données de test que le modèle utilise pour générer un score F1 (précision). Il est composé de documents avec une vérité terrain. Pour savoir à quelle fréquence le modèle est correct, la vérité terrain est utilisée pour comparer les prédictions du modèle (champs extraits du modèle) aux bonnes réponses. L'ensemble de données de test doit contenir au moins 10 documents pour la versionpretrained-foundation-model-v1.0-2023-08-22
, 16 pour la version pretrained-foundation-model-v1.1-2024-03-12
et un document pour pretrained-foundation-model-v1.2-2024-05-10
et pretrained-foundation-model-v1.3-2024-08-31
.
Extracteur personnalisé avec des descriptions de propriétés
Les descriptions de propriétés vous permettent d'entraîner un modèle en décrivant les champs libellés. Vous pouvez fournir des informations supplémentaires et des insights pour chaque entité. Cela permet au modèle de s'entraîner en faisant correspondre les champs qui correspondent à la description que vous fournissez et d'améliorer la précision de l'extraction. Vous pouvez spécifier des descriptions de propriété pour les entités parents et enfants.
De bons exemples de descriptions de propriétés incluent des informations sur l'emplacement et des modèles de texte des valeurs des propriétés, qui aident à dissiper les sources potentielles de confusion dans le document. Les descriptions de propriété claires et précises guident le modèle avec des règles qui garantissent des extractions plus fiables et cohérentes, quelles que soient les variations de structure ou de contenu des documents.
Mettre à jour le schéma de document d'un outil de traitement
Pour savoir comment définir les descriptions des propriétés, consultez Mettre à jour le schéma du document.
Envoyer une demande de traitement avec des descriptions de propriétés
Si des descriptions sont déjà définies pour le schéma de document, vous pouvez envoyer une demande de traitement en suivant les instructions de la section Envoyer une demande de traitement.
Ajuster un processeur avec des descriptions de propriétés
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION: emplacement de votre processeur, par exemple :
us
: États-Uniseu
: Union européenne
- PROJECT_ID : ID de votre projet Google Cloud .
- PROCESSOR_ID: ID de votre processeur personnalisé.
- DISPLAY_NAME: nom à afficher de l'outil de traitement.
- PRETRAINED_PROCESSOR_VERSION: identifiant de la version du processeur. Pour en savoir plus, consultez Sélectionner une version de l'outil de traitement. Par exemple :
- .
pretrained-TYPE-vX.X-YYYY-MM-DD
stable
rc
- TRAIN_STEPS: étapes d'entraînement pour le réglage fin du modèle.
- LEARN_RATE_MULTIPLIER: multiplicateur du taux d'apprentissage pour le réglage fin du modèle.
- DOCUMENT_SCHEMA: schéma du processeur. Consultez la section Représentation de DocumentSchema.
Méthode HTTP et URL :
POST https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process
Corps JSON de la requête :
{ "rawDocument": { "parent": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID", "processor_version": { "name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/DISPLAY_NAME", "display_name": "DISPLAY_NAME", "model_type": "MODEL_TYPE_GENERATIVE", }, "base_processor_version": "projects/PROJECT_ID/locations/us/processors/PROCESSOR_ID/processorVersions/PRETRAINED_PROCESSOR_VERSION", "foundation_model_tuning_options": { "train_steps": TRAIN_STEPS, "learning_rate_multiplier": LEARN_RATE_MULTIPLIER, } "document_schema": DOCUMENT_SCHEMA } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process" | Select-Object -Expand Content
Étape suivante
Surentraîner un outil de traitement spécialisé