Estrattore personalizzato con AI generativa

L'addestramento e l'estrazione di AI generativa ti consentono di:

  • Utilizza la tecnologia zero-shot e few-shot per ottenere un modello ad alte prestazioni con pochi o nessun dato di addestramento utilizzando il modello di base.
  • Utilizza la messa a punto fine per migliorare ulteriormente l'accuratezza man mano che fornisci sempre più dati di addestramento.

Metodi di addestramento dell'IA generativa

Il metodo di addestramento che scegli dipende dalla quantità di documenti a tua disposizione e dall'impegno che puoi dedicare all'addestramento del modello. Esistono tre modi per addestrare un modello di AI generativa:

Metodo di addestramento Zero-shot Few-shot Ottimizzazione
Accuratezza Medio Medio-alto Alta
Impegno Bassa Bassa Medio
Numero consigliato di documenti di addestramento 0 Da 5 a 10 Da 10 a più di 50

Versioni del modello dell'estrattore personalizzato

Per l'estrattore personalizzato sono disponibili i seguenti modelli. Per modificare le versioni del modello, consulta Gestire le versioni del processore.

Le versioni 1.0 e 1.3 supportano i punteggi di confidenza, mentre le versioni 1.1 e 1.2 no.

Versione del modello Descrizione Stabile Elaborazione ML negli Stati Uniti/nell'UE Ottimizzazione negli Stati Uniti/nell'UE Data di uscita
pretrained-foundation-model-v1.0-2023-08-22

Candidato pronto per la produzione specializzato per casi d'uso relativi ai documenti basati su modelli di visione e modelli di base specializzati.

No Solo Stati Uniti (GA) 9 gennaio 2024
pretrained-foundation-model-v1.1-2024-03-12

Release candidate basata su LLM Gemini 1.0 Pro e tecnologie di nuova evoluzione, inclusi modelli linguistici e di visione specializzati.

Questa e le versioni successive includono funzionalità OCR avanzate come il rilevamento delle caselle di controllo. Consigliato per l'utilizzo dei limiti di token aumentati o per fare esperimenti con modelli più recenti.

No Stati Uniti, UE (anteprima) 3 maggio 2024
pretrained-foundation-model-v1.2-2024-05-10

Candidato pronto per la produzione basato su LLM Gemini 1.5 Pro e tecnologie di nuova evoluzione, inclusi modelli di lingua e visione specializzati.

Consigliato per la migliore qualità, per utilizzare i limiti di token supportati più elevati, per impiegare la migliore qualità nell'identificazione delle entità o per fare esperimenti con modelli più recenti.

Stati Uniti, UE (anteprima) 27 maggio 2024
pretrained-foundation-model-v1.3-2024-08-31 Candidato pronto per la produzione basato sull'LLM Gemini 1.5 Flash. Consigliato per chi vuole la latenza più bassa. Stati Uniti, UE (anteprima) 23 agosto 2024

Per modificare la versione del processore nel progetto, consulta Gestione delle versioni del processore.

Prima di iniziare

Se non l'hai ancora fatto, abilita la fatturazione e le API Document AI.

Crea e valuta un modello di AI generativa

  1. Crea un processore e definisci i campi da estrarre seguendo le best practice, che sono importanti perché influiscono sulla qualità dell'estrazione.

    • Vai a Workbench > Extractor personalizzato > Crea elaboratore > Assegna un nome.

    processor-version-genai-1

    • Vai a Inizia > Crea nuovo campo.

    processor-version-genai-2

  2. Importa documenti

    • Importa i documenti con l'etichettatura automatica e assegnali al set di addestramento e di test.
    • Per zero-shot, è richiesto solo lo schema. Per valutare l'accuratezza del modello, è necessario solo un set di test.
    • Per il modello few-shot, consigliamo cinque documenti di addestramento.
    • Il numero di documenti di test necessari dipende dal caso d'uso. In genere, più sono i documenti di test, meglio è.
    • Conferma o modifica le etichette nel documento.
  3. Addestra il modello:

    • Seleziona Compilazione, quindi Crea nuova versione.
    • Inserisci un nome e seleziona Crea.

    processor-version-genai-12

  1. Valutazione:

    • Vai a Valuta e verifica, seleziona la versione appena addestrata e poi Visualizza la valutazione completa.

    processor-version-genai-13

    • Ora vedrai metriche come F1, precisione e richiamo per l'intero documento e per ogni campo.
    • Decidi se il rendimento soddisfa i tuoi obiettivi di produzione. In caso contrario, rivaluta gli insiemi di addestramento e di test.
  2. Imposta una nuova versione come predefinita:

    • Vai a Gestisci versioni.
    • Seleziona per espandere le opzioni, quindi seleziona Imposta come predefinito.

    processor-version-genai-14

    Il modello è stato implementato. I documenti inviati a questo processore utilizzano la tua versione personalizzata. Puoi valutare le prestazioni del modello per verificare se richiede ulteriore addestramento.

Riferimento alla valutazione

Il motore di valutazione può eseguire sia la corrispondenza esatta sia la corrispondenza approssimativa. Per una corrispondenza esatta, il valore estratto deve corrispondere esattamente al dato di fatto o viene conteggiato come mancante.

Le estrazioni con corrispondenza approssimativa che presentano lievi differenze, ad esempio differenze di maiuscole, vengono comunque conteggiate come corrispondenze. Questo valore può essere modificato nella schermata Valutazione.

processor-version-genai-15

Ottimizzazione

Con la messa a punto, utilizzi centinaia o migliaia di documenti per l'addestramento.

  1. Crea un elaboratore e definisci i campi da estrarre seguendo le best practice, che sono importanti perché influiscono sulla qualità dell'estrazione.

  2. Importa i documenti con l'etichettatura automatica e assegnali al set di addestramento e di test.

  3. Conferma o modifica le etichette nel documento.

  4. Addestra il modello.

    • Seleziona la scheda Crea e seleziona Crea nuova versione.
    • Prova i valori o i parametri di addestramento predefiniti forniti. Se i risultati non sono soddisfacenti, prova queste opzioni avanzate:

    • Passaggi di addestramento (tra 100 e 400): controlla la frequenza con cui i pesi vengono ottimizzati su un batch di dati durante la regolazione.

      • Un valore troppo basso indica il rischio che l'addestramento termini prima della convergenza (sottoadattamento).
      • Se è troppo alto, il modello potrebbe vedere lo stesso batch di dati più volte durante l'addestramento, il che può portare a un overfitting.
      • Meno passaggi significano tempi di addestramento più rapidi. Conteggi più elevati possono essere utili per i documenti con poche variazioni del modello (e conteggi più bassi per quelli con più variazioni).
    • Moltiplicatore del tasso di apprendimento (tra 0,1 e 10): controlla la velocità con cui i parametri del modello vengono ottimizzati sui dati di addestramento. Corrisponde approssimativamente alle dimensioni di ogni passaggio di addestramento.

      • Le tariffe ridotte comportano piccole variazioni nei pesi del modello in ogni fase di addestramento. Se è troppo basso, il modello potrebbe non convergere a una soluzione stabile.
      • I tassi elevati indicano variazioni significative e, se sono troppo elevati, il modello potrebbe superare la soluzione ottimale e convergere su una soluzione non ottimale.
      • Il tempo di addestramento non è influenzato dalla scelta del tasso di apprendimento.
    • Assegna un nome, seleziona la versione del processore di base richiesta e seleziona Crea.

    processor-version-genai-21

  5. Valutazione: vai a Valuta e verifica, seleziona la versione appena addestrata e seleziona Visualizza la valutazione completa.

    processor-version-genai-13

    • Ora vedrai metriche come F1, precisione e richiamo per l'intero documento e per ogni campo.
    • Decidi se il rendimento soddisfa i tuoi obiettivi di produzione. In caso contrario, potrebbero essere necessari ulteriori documenti di formazione.
  6. Imposta una nuova versione come predefinita:

    • Vai a Gestisci versioni.
    • Seleziona per espandere le opzioni e seleziona Imposta come predefinita.

    processor-version-genai-14

    Il modello è stato implementato e i documenti inviati a questo elaboratore ora utilizzano la tua versione personalizzata. Vuoi valutare le prestazioni del modello per verificare se richiede ulteriore addestramento.

Etichettatura automatica con il modello di base

Il modello di base è in grado di estrarre con precisione i campi per vari tipi di documenti, ma puoi anche fornire dati di addestramento aggiuntivi per migliorare l'accuratezza del modello per strutture di documenti specifiche.

Document AI utilizza i nomi delle etichette che definisci e le annotazioni precedenti per rendere più rapida e semplice l'etichettatura dei documenti su larga scala grazie all'etichettatura automatica.

  1. Dopo aver creato un processore personalizzato, vai alla scheda Inizia.
  2. Seleziona Crea nuovo campo.
  3. Assegna all'etichetta un nome distinto e descrittivo. In questo modo migliorerai la precisione e le prestazioni del modello di base.

    processor-version-genai-17

  4. Per l'accuratezza e il rendimento dell'estrazione, aggiungi una descrizione (ad esempio contesto aggiuntivo, approfondimenti e conoscenze precedenti per ogni entità) per i tipi di entità che deve recuperare.

processor-version-genai-23

  1. Vai alla scheda Crea e seleziona Importa documenti.

    processor-version-genai-18

  2. Seleziona il percorso dei documenti e l'insieme in cui devono essere importati. Seleziona l'opzione di etichettatura automatica e il modello di base.

  3. Nella scheda Crea, seleziona Gestisci set di dati.

  4. Quando visualizzi i documenti importati, selezionane uno.

    processor-version-genai-19

Le previsioni del modello ora vengono evidenziate in viola.

  1. Esamina ogni etichetta prevista dal modello e assicurati che sia corretta.
  2. Se mancano dei campi, aggiungili.

    processor-version-genai-20

  3. Una volta esaminato il documento, seleziona Contrassegna come etichettato. Il documento è ora pronto per essere utilizzato dal modello.

  4. Assicurati che il documento sia nel set di test o di addestramento.

Annidamento a tre livelli

L'estrattore personalizzato ora offre tre livelli di nidificazione. Questa funzionalità consente un'estrazione migliore per le tabelle complesse.

Puoi determinare il tipo di modello utilizzando le seguenti chiamate API:

La risposta è un ProcessorVersion, che contiene il campo modelType nell'anteprima della versione 1 beta 3.

Procedura ed esempio

Utilizziamo questo esempio:

processor-version-genai-3

  1. Seleziona Inizia e poi crea un campo:

    • Crea il primo livello.
    • In questo esempio viene utilizzato officer_appointments.
    • Seleziona Questa è un'etichetta padre.
    • Seleziona Evento: Optional multiple.

    processor-version-genai-4 processor-version-genai-5 processor-version-genai-6

  2. Seleziona Aggiungi campo secondario. Ora puoi creare l'etichetta di secondo livello:

    • Per l'etichetta di questo livello, crea officer.
    • Seleziona Questa è un'etichetta padre.
    • Seleziona Evento: Optional multiple.

    processor-version-genai-7 processor-version-genai-8

  3. Seleziona Aggiungi campo secondario dal secondo livello officer. Crea etichette secondarie per il terzo livello di nidificazione. processor-version-genai-9

  4. Una volta impostato lo schema, puoi ottenere le previsioni dai documenti con tre livelli di nidificazione utilizzando l'etichettatura automatica.

    processor-version-genai-10 processor-version-genai-11

Configurazione del set di dati

Per addestrare, valutare una versione del processore o addestrare un modello predefinito del processore è necessario un set di dati di documenti. I processori Document AI apprendono dagli esempi, proprio come gli esseri umani. Il set di dati migliora la stabilità del processore in termini di prestazioni.

Set di dati di addestramento

Per migliorare il modello e la sua accuratezza, addestra un set di dati sui tuoi documenti. Il modello è costituito da documenti con dati di fatto.
  • Per la messa a punto fine, sono necessari almeno 10 documenti per addestrare un nuovo modello con la versione pretrained-foundation-model-v1.0-2023-08-22, 16 per la versione pretrained-foundation-model-v1.1-2024-03-12 e 1 documento per pretrained-foundation-model-v1.2-2024-05-10 e pretrained-foundation-model-v1.3-2024-08-31.
  • Per un'esperienza few-shot, consigliamo cinque documenti.
  • Per lo zero-shot è richiesto solo uno schema.

Set di dati di test

Il set di dati di test viene utilizzato dal modello per generare un punteggio F1 (accuratezza). È costituito da documenti con dati di fatto. Per vedere con quale frequenza il modello è corretto, i dati empirici reali vengono utilizzati per confrontare le previsioni del modello (campi estratti dal modello) con le risposte corrette. Il set di dati di test deve contenere almeno 10 documenti per la versione di ottimizzazione fine pretrained-foundation-model-v1.0-2023-08-22, 16 per la versione pretrained-foundation-model-v1.1-2024-03-12 e 1 documento per pretrained-foundation-model-v1.2-2024-05-10 e pretrained-foundation-model-v1.3-2024-08-31.

Estrattore personalizzato con descrizioni delle proprietà

Con le descrizioni delle proprietà, puoi addestrare un modello descrivendo la natura dei campi etichettati. Puoi fornire ulteriore contesto e approfondimenti per ogni entità. In questo modo, il modello può essere addestrato associando i campi che corrispondono alla descrizione fornita e migliorando l'accuratezza dell'estrazione. Le descrizioni delle proprietà possono essere specificate sia per le entità principali che per quelle secondarie.

Alcuni esempi di descrizioni delle proprietà sono i dati sulla posizione e i pattern di testo dei valori delle proprietà, che aiutano a distinguere le potenziali fonti di confusione nel documento. Descrizioni delle proprietà chiare e precise guidano il modello con regole che garantiscono estrazioni più affidabili e coerenti, indipendentemente dalla struttura specifica del documento o dalle variazioni dei contenuti.

Aggiornare lo schema del documento per un elaboratore

Per informazioni su come impostare le descrizioni delle proprietà, consulta Aggiornare lo schema del documento.

Inviare una richiesta di elaborazione con le descrizioni delle proprietà

Se nello schema del documento sono già impostate le descrizioni, puoi inviare una richiesta di elaborazione con le istruzioni riportate in Inviare una richiesta di elaborazione.

Ottimizzare un elaboratore con le descrizioni delle proprietà

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: la posizione del tuo elaboratore, ad esempio:
    • us - Stati Uniti
    • eu - Unione Europea
  • PROJECT_ID: l'ID del tuo progetto Google Cloud .
  • PROCESSOR_ID: l'ID del tuo processore personalizzato.
  • DISPLAY_NAME: il nome visualizzato del processore.
  • PRETRAINED_PROCESSOR_VERSION: l'identificatore della versione del processore. Per saperne di più, consulta Selezionare una versione del processore. Ad esempio:
    • pretrained-TYPE-vX.X-YYYY-MM-DD
    • stable
    • rc
  • TRAIN_STEPS: passaggi di addestramento per la messa a punto del modello.
  • LEARN_RATE_MULTIPLIER: moltiplicatore del tasso di apprendimento per la messa a punto del modello.
  • DOCUMENT_SCHEMA: schema del processore. Fai riferimento alla rappresentazione di DocumentSchema.

Metodo HTTP e URL:

POST https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process

Corpo JSON della richiesta:

{
  "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
      }
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Passaggi successivi

Eseguire l'upgrade di un processore specializzato