Condividi tramite


Inviare un'esecuzione batch per valutare un flusso

Un'esecuzione batch esegue un flusso di richiesta con un set di dati di grandi dimensioni e genera output per ogni riga di dati. Per valutare le prestazioni del flusso di richiesta con un set di dati di grandi dimensioni, è possibile inviare un'esecuzione batch e usare metodi di valutazione per generare punteggi di prestazioni e metriche.

Al termine del flusso batch, i metodi di valutazione vengono eseguiti automaticamente per calcolare i punteggi e le metriche. È possibile usare le metriche di valutazione per valutare l'output del flusso in base ai criteri e agli obiettivi delle prestazioni.

Questo articolo descrive come inviare un'esecuzione batch e usare un metodo di valutazione per misurare la qualità dell'output del flusso. Si apprenderà come visualizzare i risultati e le metriche di valutazione e come avviare un nuovo round di valutazione con un metodo o un subset diverso di varianti.

Prerequisiti

Per eseguire un flusso batch con un metodo di valutazione, sono necessari i componenti seguenti:

  • Flusso di richiesta di Azure Machine Learning funzionante per cui si vuole testare le prestazioni.

  • Set di dati di test da usare per l'esecuzione batch.

    Il set di dati di test deve essere in formato CSV, TSV o JSONL e deve avere intestazioni corrispondenti ai nomi di input del flusso. Tuttavia, è possibile eseguire il mapping di colonne del set di dati diverse alle colonne di input durante il processo di installazione dell'esecuzione della valutazione.

Creare e inviare un'esecuzione batch di valutazione

Per inviare un'esecuzione batch, selezionare il set di dati con cui testare il flusso. È anche possibile selezionare un metodo di valutazione per calcolare le metriche per l'output del flusso. Se non si vuole usare un metodo di valutazione, è possibile ignorare i passaggi di valutazione ed eseguire l'esecuzione batch senza calcolare alcuna metrica. È anche possibile eseguire un ciclo di valutazione in un secondo momento.

  1. Per avviare un'esecuzione batch con o senza valutazione, selezionare Valuta nella parte superiore della pagina del flusso di richiesta.

    Screenshot della classificazione Web con esecuzione batch evidenziata.

  2. Nella pagina Impostazioni di base della procedura guidata Esecuzione e valutazione batch personalizzare il nome visualizzato Esegui se necessario e, facoltativamente, specificare una descrizione e tag di esecuzione. Selezionare Avanti.

    Screenshot delle impostazioni di esecuzione batch in cui si specificano il nome e la descrizione dell'esecuzione.

  3. Nella pagina Impostazioni esecuzione Batch selezionare il set di dati da usare e configurare il mapping di input.

    Il flusso di richiesta supporta il mapping dell'input del flusso a una colonna di dati specifica nel set di dati. È possibile assegnare una colonna del set di dati a un determinato input usando ${data.<column>}. Se si desidera assegnare un valore costante a un input, è possibile immettere direttamente tale valore.

    Screenshot delle impostazioni di esecuzione batch in cui si seleziona un set di dati di test.

  4. È possibile selezionare Rivedi e invia a questo punto per ignorare i passaggi di valutazione ed eseguire l'esecuzione batch senza usare alcun metodo di valutazione. L'esecuzione batch genera quindi singoli output per ogni elemento nel set di dati. È possibile controllare gli output manualmente o esportarli per ulteriori analisi.

    In caso contrario, per usare un metodo di valutazione per convalidare le prestazioni di questa esecuzione, selezionare Avanti. È anche possibile aggiungere un nuovo round di valutazione a un'esecuzione batch completata.

  5. Nella pagina Seleziona valutazione selezionare una o più valutazioni personalizzate o predefinite da eseguire. È possibile selezionare Il pulsante Visualizza dettagli per visualizzare altre informazioni sul metodo di valutazione, ad esempio le metriche generate e le connessioni e gli input richiesti.

    Screenshot delle impostazioni di valutazione in cui è possibile selezionare il metodo di valutazione predefinito.

  6. Nella schermata Configura valutazione specificare quindi le origini degli input necessari per la valutazione. Ad esempio, la colonna verità del terreno potrebbe provenire da un set di dati. Per impostazione predefinita, la valutazione usa lo stesso set di dati dell'esecuzione batch complessiva. Tuttavia, se le etichette corrispondenti o i valori di verità di destinazione si trovano in un set di dati diverso, è possibile usarlo.

    Nota

    Se il metodo di valutazione non richiede dati da un set di dati, la selezione del set di dati è una configurazione facoltativa che non influisce sui risultati della valutazione. Non è necessario selezionare un set di dati o fare riferimento alle colonne del set di dati nella sezione mapping di input.

  7. Nella sezione Mapping di input di valutazione indicare le origini degli input necessari per la valutazione.

    • Se i dati provengono dal set di dati di test, impostare l'origine su ${data.[ColumnName]}.
    • Se i dati provengono dall'output dell'esecuzione, impostare l'origine su ${run.outputs.[OutputName]}.

    Screenshot del mapping di input di valutazione.

  8. Alcuni metodi di valutazione richiedono modelli di linguaggio di grandi dimensioni come GPT-4 o GPT-3 oppure richiedono altre connessioni per usare credenziali o chiavi. Per questi metodi, è necessario immettere i dati di connessione nella sezione Connessione nella parte inferiore di questa schermata per poter usare il flusso di valutazione. Per altre informazioni, vedere Configurare una connessione.

    Screenshot della connessione in cui è possibile configurare la connessione per il metodo di valutazione.

  9. Selezionare Rivedi e invia per esaminare le impostazioni e quindi selezionare Invia per avviare l'esecuzione batch con la valutazione.

Nota

  • Alcuni processi di valutazione usano molti token, quindi è consigliabile usare un modello in grado di supportare >=16.000 token.
  • Le esecuzioni batch hanno una durata massima di 10 ore. Se un'esecuzione batch supera questo limite, termina e viene visualizzato come non riuscito. Monitorare la capacità LLM per evitare la limitazione. Se necessario, valutare la possibilità di ridurre le dimensioni dei dati. In caso di problemi, inviare un modulo di feedback o una richiesta di supporto.

Visualizzare i risultati e le metriche di valutazione

È possibile trovare l'elenco delle esecuzioni batch inviate nella scheda Esecuzioni nella pagina studio di Azure Machine Learning Flusso prompt.

  1. Per controllare i risultati di un'esecuzione batch, selezionare l'esecuzione e quindi selezionare Visualizza output.

    Screenshot della pagina dell'elenco di esecuzione del flusso di richiesta in cui sono disponibili esecuzioni batch.

    Nella schermata Visualizza output la sezione Esecuzioni e metriche mostra i risultati complessivi per l'esecuzione batch e l'esecuzione della valutazione. La sezione Output mostra la riga di input di esecuzione in base alla riga in una tabella dei risultati che include anche l'ID riga, l'esecuzione, lo stato e le metriche di sistema.

    Screenshot della pagina dei risultati dell'esecuzione batch nella scheda output in cui si controllano gli output di esecuzione batch.

  2. Se si abilita l'icona Visualizza accanto all'esecuzione della valutazione nella sezione Esecuzioni e metriche, la tabella Output visualizza anche il punteggio di valutazione o il grado per ogni riga.

    Screenshot degli output di esecuzione batch per l’aggiunta dell'output di valutazione.

  3. Selezionare l'icona Visualizza dettagli accanto a ogni riga della tabella Output per osservare ed eseguire il debug della visualizzazione Traccia e dettagli per il test case. La visualizzazione Traccia mostra informazioni quali il numero di token e la durata per tale caso. Espandere e selezionare qualsiasi passaggio per visualizzare panoramica e input per tale passaggio.

    Screenshot della visualizzazione Traccia con i passaggi espansi e i dettagli.

È anche possibile visualizzare i risultati dell'esecuzione della valutazione dal flusso di richiesta testato. In Visualizza esecuzioni batch selezionare Visualizza esecuzioni batch per visualizzare l'elenco di esecuzioni batch per il flusso oppure selezionare Visualizza output di esecuzione batch più recenti per visualizzare gli output per l'esecuzione più recente.

Screenshot della classificazione Web con il pulsante Visualizza esecuzioni bulk selezionato.

Nell'elenco di esecuzione batch selezionare un nome di esecuzione batch per aprire la pagina del flusso per l'esecuzione.

Nella pagina del flusso per un'esecuzione di valutazione selezionare Visualizza output o Dettagli per visualizzare i dettagli del flusso. È anche possibile clonare il flusso per creare un nuovo flusso o Distribuirlo come endpoint online.

Screenshot delle esecuzioni batch che illustrano la cronologia.

Nella schermata Dettagli :

  • La scheda Panoramica mostra informazioni complete sull'esecuzione, tra cui proprietà di esecuzione, set di dati di input, set di dati di output, tag e descrizione.

  • Nella scheda Output viene visualizzato un riepilogo dei risultati nella parte superiore della pagina, seguito dalla tabella dei risultati di esecuzione batch. Se si seleziona l'esecuzione della valutazione accanto a Accoda risultati correlati, nella tabella vengono visualizzati anche i risultati dell'esecuzione della valutazione.

    Screenshot della scheda Output della schermata Dettagli flusso di valutazione.

  • La scheda Log mostra i log di esecuzione, che possono essere utili per il debug dettagliato degli errori di esecuzione. È possibile scaricare i file di log.

  • La scheda Metriche fornisce un collegamento alle metriche per l'esecuzione.

  • La scheda Traccia mostra informazioni dettagliate, ad esempio il numero di token e la durata per ogni test case. Espandere e selezionare qualsiasi passaggio per visualizzare panoramica e input per tale passaggio.

  • La scheda Snapshot mostra i file e il codice dell'esecuzione. È possibile visualizzare la definizione del flusso flow.dag.yaml e scaricare uno qualsiasi dei file.

    Screenshot dello snapshot di esecuzione batch.

Avviare un nuovo round di valutazione per la stessa esecuzione

È possibile eseguire un nuovo round di valutazione per calcolare le metriche per un'esecuzione batch completata senza eseguire di nuovo il flusso. Questo processo consente di risparmiare il costo di riesecuzione del flusso ed è utile negli scenari seguenti:

  • Non è stato selezionato un metodo di valutazione quando è stata inviata un'esecuzione batch e ora si vuole valutare le prestazioni dell'esecuzione.
  • È stato usato un metodo di valutazione per calcolare una determinata metrica e ora si vuole calcolare una metrica diversa.
  • L'esecuzione della valutazione precedente non è riuscita, ma l'esecuzione batch ha generato correttamente output e si vuole ritentare la valutazione.

Per avviare un altro round di valutazione, selezionare Valuta nella parte superiore della pagina del flusso di esecuzione batch. Verrà visualizzata la procedura guidata Nuova valutazione nella schermata Seleziona valutazione . Completare l'installazione e inviare la nuova esecuzione di valutazione.

La nuova esecuzione viene visualizzata nell'elenco Di esecuzione del flusso di richiesta ed è possibile selezionare più di una riga nell'elenco e quindi selezionare Visualizza output per confrontare gli output e le metriche.

Confrontare la cronologia delle esecuzioni di valutazione e le metriche

Se si modifica il flusso per migliorarne le prestazioni, è possibile inviare più esecuzioni batch per confrontare le prestazioni delle diverse versioni del flusso. È anche possibile confrontare le metriche calcolate con metodi di valutazione diversi per vedere quale metodo è più adatto per il flusso.

Per controllare la cronologia di esecuzione batch del flusso, selezionare Visualizza esecuzioni batch nella parte superiore della pagina del flusso. È possibile selezionare ogni esecuzione per controllare i dettagli. È anche possibile selezionare più esecuzioni e selezionare Visualizza output per confrontare le metriche e gli output di tali esecuzioni.

Screenshot del confronto delle metriche di più esecuzioni batch.

Informazioni sulle metriche di valutazione predefinite

Il flusso dei prompt di Azure Machine Learning offre diversi metodi di valutazione predefiniti che consentono di misurare le prestazioni dell'output del flusso. Ogni metodo di valutazione calcola metriche diverse. Nella tabella seguente vengono descritti i metodi di valutazione predefiniti disponibili.

Metodo di valutazione Metrico Descrizione Connessione necessaria? Input richiesto Assegnare un punteggio ai valori
Valutazione dell'accuratezza della classificazione Accuratezza Misura le prestazioni di un sistema di classificazione confrontando gli output con la verità di base No previsione, verità di base Nell'intervallo [0, 1]
Valutazione del radicamento del sistema di domande e risposte Allineamento Misura quanto sono allineate le risposte previste dal modello nell'origine di input. Anche se le risposte LLM sono accurate, non sono in primo piano se non sono verificabili rispetto all'origine. domanda, risposta, contesto (nessuna verità di base) da 1 a 5, con 1 = peggiore e 5 = migliore
Valutazione della somiglianza di GPT per Domande e risposte Somiglianza di GPT Misura la somiglianza tra le risposte alla verità di base fornite dall'utente e la risposta stimata dal modello usando un modello GPT domanda, risposta, verità di base (contesto non necessario) da 1 a 5, con 1 = peggiore e 5 = migliore
Valutazione della pertinenza del sistema di domande e risposte Pertinenza Misura la rilevanza delle risposte stimate del modello alle domande poste domanda, risposta, contesto (nessuna verità di base) da 1 a 5, con 1 = peggiore e 5 = migliore
Valutazione della coerenza del sistema di domande e risposte Coerenza Misura la qualità di tutte le frasi nella risposta stimata di un modello e il modo in cui si adattano naturalmente domanda, risposta (nessuna verità di base o contesto) da 1 a 5, con 1 = peggiore e 5 = migliore
Valutazione della scorrevolezza del sistema di domande e risposte Scorrevolezza Misura la correttezza grammaticale e linguistica della risposta stimata del modello domanda, risposta (nessuna verità di base o contesto) da 1 a 5, con 1 = peggiore e 5 = migliore
Valutazione dei punteggi QnA F1 Punteggio F1 Misura il rapporto tra il numero di parole condivise tra la stima del modello e la verità sul terreno No domanda, risposta, verità di base (contesto non necessario) Nell'intervallo [0, 1]
Valutazione della somiglianza Ada del sistema di domande e risposte Somiglianza Ada Calcola incorporamenti a livello di frase (documento) usando l'API incorporamenti Ada per la verità e la stima, quindi calcola la somiglianza del coseno tra di essi (un numero a virgola mobile) domanda, risposta, verità di base (contesto non necessario) Nell'intervallo [0, 1]

Migliorare le prestazioni del flusso

Se l'esecuzione non riesce, controllare i dati di output e di log ed eseguire il debug di eventuali errori del flusso. Per correggere il flusso o migliorare le prestazioni, provare a modificare la richiesta del flusso, il messaggio di sistema, i parametri del flusso o la logica del flusso.

Progettazione prompt

La costruzione di richieste può essere difficile. Per informazioni sui concetti relativi alla costruzione dei prompt, vedere Panoramica delle richieste. Per informazioni su come creare un prompt che possa aiutare a raggiungere gli obiettivi, vedere Tecniche di progettazione dei prompt.

Messaggio di sistema

È possibile usare il messaggio di sistema, talvolta noto come richiesta di metaprompt o di sistema, per guidare il comportamento di un sistema di intelligenza artificiale e migliorare le prestazioni del sistema. Per informazioni su come migliorare le prestazioni del flusso con i messaggi di sistema, vedere Creazione dettagliata dei messaggi di sistema.

Set di dati golden

La creazione di un copilota che usa IMS comporta in genere il grounding del modello in realtà usando i set di dati di origine. Un set di dati golden consente di garantire che i llms forniscano le risposte più accurate e utili alle query dei clienti.

Un set di dati d'oro è una raccolta di domande realistiche sui clienti e risposte appositamente create che fungono da strumento di controllo della qualità per le macchine virtuali usate dal copilota. I set di dati golden non vengono usati per eseguire il training di un LLM o inserire un contesto in un prompt LLM, ma per valutare la qualità delle risposte generate dall'LLM.

Se lo scenario prevede un copilota o si sta creando un copilota personalizzato, vedere Produzione di set di dati golden per indicazioni dettagliate e procedure consigliate.