0 / 0

Generazione di dati sintetici non strutturati (beta)

Ultimo aggiornamento: 08 mag 2025
creato: "2025-03-11 14:09:23 -0400" title: "Generazione di dati sintetici non strutturati" fname: " synthetic\sdg-unstructured-overview.liquid.md "

creato: "2025-03-11 14:09:23 -0400" title: "Generazione di dati sintetici non strutturati" fname: " synthetic\sdg-unstructured-overview.liquid.md "

Con l'API per la generazione di dati sintetici di watsonx.ai, è possibile creare insiemi di dati testuali non strutturati di grandi dimensioni e di alta qualità che riproducono i dati in tempo reale della vostra organizzazione. Utilizzate i set di dati sintetici generati per mettere a punto e valutare i modelli di fondazione per il vostro caso d'uso specifico.

Nota:La generazione di dati sintetici non strutturati è disponibile in versione beta ed è accessibile programmaticamente tramite l'API watsonx.ai solo nelle regioni di Sydney e Toronto.

Panoramica

È possibile utilizzare modelli linguistici di grandi dimensioni (LLM) addestrati con grandi insiemi di dati per generare risultati personalizzati per la propria organizzazione. Tuttavia, è necessario sintonizzare i modelli con una grande quantità di dati di addestramento utili e accurati. Un set di dati piccolo o di bassa qualità non è sufficiente per addestrare con successo i modelli a generare risultati rilevanti per il vostro caso d'uso specifico.

Utilizzate l'API per la generazione di dati sintetici per creare grandi set di dati testuali non strutturati utilizzando pipeline di creazione dati e validatori di dati ottimizzati per la generazione di dati per la messa a punto e la valutazione dei modelli di fondazione.

Una pipeline di data builder genera dati sintetici in diversi formati che imitano i dati di partenza e i documenti di riferimento forniti come input alla pipeline. In base al vostro caso d'uso, potete scegliere tra le seguenti pipeline di creazione dati:

Chiamata dello strumento
La pipeline di costruzione dei dati crea set di dati di addestramento che possono essere utilizzati per addestrare i modelli di intelligenza artificiale a interagire con strumenti esterni, interfacce di programmazione delle applicazioni (API) o sistemi per migliorare le loro capacità.
Da testo a SQL
La pipeline di creazione di dati da testo a SQL genera triplette di dati SQL sintetici che contengono un'affermazione in linguaggio naturale che descrive un'operazione di database, un'istruzione SQL equivalente per eseguire l'operazione di database e lo schema del database.
Conoscenze
La pipeline di dati sulla conoscenza genera coppie di domande e risposte ( QnA ) basate su esempi presenti in documenti specifici di un dominio aziendale.

Per ulteriori informazioni sui formati dei dati seed e sulla scelta della pipeline di creazione dei dati, vedere Pipeline di creazione dei dati e formati dei dati seed.

API REST

È possibile utilizzare l'API per la generazione di dati sintetici (SDG) per amministrare la generazione di dati sintetici non strutturati. I dati sintetici sono generati con modelli di fondazione forniti in watsonx.ai. Il formato dei dati generati si basa sui dati di partenza forniti e sulla pipeline di creazione dei dati utilizzata. Dopo che il modello di fondazione ha generato il set di dati, questi vengono convalidati in base ai requisiti di qualità della pipeline del costruttore di dati e archiviati nella risorsa del progetto.

Nota: i costi per i token utilizzati dai modelli della fondazione per generare dati sintetici sono ancora validi durante il periodo di beta.

Per i dettagli sui metodi API, consultare la documentazione di riferimento dell'API watsonx.ai.

Per ulteriori informazioni sulle best practice da seguire quando si mettono a punto e si valutano i modelli di fondazione utilizzando i dati generati con l'API, vedere Best practice.

Il diagramma seguente mostra il flusso di lavoro dell'API REST per generare dati sintetici non strutturati fornendo dati di partenza di esempio in un formato adatto al vostro caso d'uso.

watsonx.ai flusso di lavoro API per la generazione di dati sintetici non strutturati

Prima di iniziare

Per generare dati sintetici non strutturati in modo programmatico, è necessario completare la seguente configurazione:

  1. Creare un progetto e avere il ruolo di Admin o Editor nel progetto. Il progetto deve avere un'istanza del servizio watsonx.ai Runtime associata.

  2. Creare una chiave API per l'utente IBM Cloud e un token IBM Cloud Identity and Access Management (IAM). Per maggiori dettagli, vedere Credenziali per l'accesso programmatico.

  3. Creare una credenziale dell'attività.

    La credenziale di un'attività è una chiave API utilizzata per autenticare i lavori di lunga durata avviati dai passi che si compiono durante la procedura di generazione dei dati sintetici. Non è necessario passare la credenziale dell'attività nella richiesta API. Per ulteriori informazioni, vedere Creazione delle credenziali dell'attività.

  4. Opzionale : Scegliere un modello di fondazione da utilizzare per generare set di dati sintetici.

    I seguenti modelli sono certificati per l'uso con il servizio Synthetic Data Generator :

    • granite-3-8b-instruct
    • mistral-large

    L'API utilizza il modello granite-3-8b-instruct per impostazione predefinita. Per i dettagli sul modello, comprese le informazioni sulla fatturazione e gli ID del modello API, vedere Modelli di fondazione supportati.

Procedura

Seguite questi passaggi di alto livello per generare dati sintetici di testo non strutturato utilizzando l'API REST:

  1. Scegliere una pipeline di creazione dei dati e caricare i file di dati di partenza nell'asset del progetto.

    Il formato dei dati di input del campione dipende dalla pipeline di creazione dati selezionata. Per tutti i costruttori di dati, è necessario fornire i dati di partenza come input per la richiesta di generazione dei dati. Per alcune condotte, è necessario fornire anche documenti di riferimento. Per maggiori dettagli, vedere Pipeline di creazione dati e formati di dati seed.

  2. Usare il metodo REST API Crea un lavoro di generazione di dati sintetici non strutturati per creare la configurazione del lavoro per il tipo di risorsa generatore di dati sintetici. Nella richiesta è necessario specificare le seguenti impostazioni:

    • La pipeline del costruttore di dati
    • Riferimento ai dati delle sementi in ingresso
    • Il numero di coppie QnA da generare

    È possibile specificare facoltativamente l'ID del modello API di un modello di fondazione per sovrascrivere l'impostazione predefinita del modello.

  3. Eseguire il lavoro di generazione di dati sintetici non strutturati in uno dei seguenti modi:

    Il completamento di un lavoro può richiedere alcuni minuti o ore, a seconda del volume dell'output generato, della pipeline di creazione dei dati e del modello. È possibile monitorare lo stato del lavoro di generazione di dati sintetici non strutturati facendo clic sull'esecuzione del lavoro per accedere al registro dalla pagina dei dettagli dell'esecuzione del lavoro.

    Attenzione: L'utente è tenuto a pagare i gettoni generati dal modello di fondazione. Per i dettagli, vedere Modelli di fondazione supportati.
  4. Scaricare i file JSONL di output generati che contengono i dati sintetici non strutturati dell'asset di dati del progetto. I dati generati sono formattati in base alla pipeline del costruttore di dati specificata nella richiesta API per creare il lavoro di generazione di dati sintetici non strutturati.

Esempio di richiesta

Ad esempio, il comando seguente invia una richiesta di generazione di dati sintetici non strutturati:

curl -X POST \
  'https://api.{region}.dai.cloud.ibm.com/v1/synthetic_data/generation/unstructured?version=2025-04-17' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \'
  --header 'Authorization: Bearer eyJraWQiOi...' \'
  --data @payload.json'

Di seguito è riportato un esempio di file payload.json che contiene un corpo di richiesta che sovrascrive il modello di fondazione predefinito:

{
    "project_id": "<Your project ID>",
    "name": "<Name of the job that you want to create>",
    "description": "<Description of your project>",
    "pipeline": "<Data builder pipeline>",
    "model_id": "mistralai/mistral-large",
    "parameters": {
         "num_outputs_to_generate": < A value between 1 to 1000 >,
    },
    "seed_data_reference": {
         "type": "container",
         "location": {
            "path": "<Input seed data file name in project asset>"
         }
    },
    "results_reference": {
         "type": "container",
         "location": {
            "path": "<Generated data output file name in project asset>"
         }
    }
}

Dettagli output

Durante il periodo di beta, è possibile generare un massimo di 1000 coppie QnA di dati sintetici con ogni richiesta di API REST. Per generare un set di dati più ampio, contattare il team di assistenza aprendo un caso nel portale di assistenza IBM Cloud. Per ulteriori informazioni, vedere Creazione di casi di supporto nella documentazione di IBM Cloud.

Best practice

Durante l'utilizzo dell'API per la generazione di dati sintetici, attenersi alle seguenti linee guida:

  • Per selezionare il modello di fondazione più adatto al vostro caso d'uso, sperimentate la generazione di un piccolo numero di coppie QnA con più modelli di fondazione certificati. Modificare la seguente impostazione nella richiesta API per regolare la quantità di set di dati generati:

    "parameters": {
      "num_outputs_to_generate": 10
    }
    

    Dopo aver verificato la qualità dell'output generato, scegliere un modello di base certificato e procedere con la generazione di set di dati più grandi.

  • Assicurarsi di esaminare i dati sintetici non strutturati prodotti con l'API prima di utilizzare i dati per addestrare i modelli.

  • Per utilizzare i dati sintetici per addestrare i modelli in Tuning Studio, il dataset deve contenere gli attributi input e output .

    In base alla pipeline di data builder utilizzata per generare i dati sintetici, completare i passaggi seguenti per rendere il set di dati compatibile con Tuning Studio :

    • Strumento che chiama la pipeline: Non sono necessarie modifiche, è pronto per l'uso.
    • Pipeline da testo a SQL: Rinominare l'attributo utterance in input. Rinominate l'attributo query in output.
    • Condotta della conoscenza: Rinominare l'attributo question in input. Rinominate l'attributo answer in output.

Ulteriori informazioni

Argomento principale: Preparazione dei dati