Inviare un'esecuzione batch e valutare un flusso
Per valutare le prestazioni del flusso con un set di dati di grandi dimensioni, è possibile inviare l'esecuzione batch e usare i metodi di valutazione integrati nel prompt flow.
Questo articolo illustra come:
- Inviare un'esecuzione batch e usare un metodo di valutazione integrato
- Visualizzare i risultati e le metriche di valutazione
- Avviare un nuovo ciclo di valutazione
- Controllare la cronologia di esecuzione batch e confrontare le metriche
- Informazioni sulle metriche di valutazione integrate
- Modi per migliorare le prestazioni del flusso
- Altre informazioni: Linee guida per la creazione di set di dati golden usati per il controllo di qualità Copilot
È possibile iniziare rapidamente a testare e valutare il flusso seguendo questa esercitazione video inviare l'esecuzione batch e valutare un'esercitazione video del flusso.
Prerequisiti
Per eseguire un'esecuzione batch e usare un metodo di valutazione, è necessario disporre degli elementi seguenti:
- Set di dati di test per l'esecuzione batch. Il set di dati deve trovarsi in uno dei formati seguenti:
.csv
,.tsv
o.jsonl
. I dati devono includere anche intestazioni che corrispondono ai nomi di input del flusso. Altre informazioni: Se si sta creando un copilota personalizzato, è consigliabile fare riferimento a Linee guida per la creazione di set di dati golden usati per il controllo di qualità Copilot.
Inviare un'esecuzione batch e usare un metodo di valutazione integrato
Un'esecuzione batch consente di eseguire il flusso con un set di dati di grandi dimensioni e generare output per ogni riga di dati. È anche possibile scegliere un metodo di valutazione per confrontare l'output del flusso con determinati criteri e obiettivi. Un metodo di valutazione è un tipo speciale di flusso che calcola le metriche per l'output del flusso in base a diversi aspetti. Viene eseguita un'esecuzione di valutazione per calcolare le metriche quando vengono inviate con l'esecuzione batch.
Per avviare un'esecuzione batch con valutazione, è possibile selezionare il pulsante "Valuta" nell'angolo superiore destro della pagina del flusso.
Per inviare l'esecuzione batch, è possibile selezionare un 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 questo passaggio ed eseguire l'esecuzione batch senza calcolare alcuna metrica. È anche possibile avviare un nuovo ciclo di valutazione in un secondo momento.
Prima di tutto, viene chiesto di assegnare al batch un nome descrittivo e riconoscibile. È anche possibile scrivere una descrizione e aggiungere tag (coppie chiave-valore) all'esecuzione batch. Al termine della configurazione, selezionare "Avanti" per continuare.
In secondo luogo, è necessario selezionare o caricare un set di dati con cui testare il flusso.
Il prompt flow supporta anche il mapping dell'input del flusso a una colonna di dati specifica nel set di dati. Ciò significa che è possibile assegnare una colonna a un determinato input. È possibile assegnare una colonna a un input facendo riferimento al formato ${data.XXX}
. Se si desidera assegnare un valore costante a un input, è possibile digitare direttamente tale valore.
Quindi, nel passaggio successivo, è possibile decidere di usare un metodo di valutazione per convalidare le prestazioni di questa esecuzione immediatamente o successiva. Per un'esecuzione batch completata, è comunque possibile aggiungere un nuovo ciclo di valutazione.
È possibile selezionare direttamente il pulsante "Avanti" per ignorare questo passaggio ed eseguire l'esecuzione batch senza usare alcun metodo di valutazione per calcolare le metriche. In questo modo, questa esecuzione batch genera solo output per il set di dati. È possibile controllare gli output manualmente o esportarli per ulteriori analisi con altri metodi.
In caso contrario, se si vuole eseguire batch con la valutazione ora, è possibile selezionare uno o più metodi di valutazione in base alla descrizione fornita. È possibile selezionare il pulsante "Altri dettagli" per visualizzare altre informazioni sul metodo di valutazione, ad esempio le metriche generate e le connessioni e gli input richiesti.
Passare al passaggio successivo e configurare le impostazioni di valutazione. Nella sezione "Mapping dell'input di valutazione", è necessario specificare le origini dei dati di input necessari per il metodo di valutazione. Ad esempio, la colonna della verità di base potrebbe provenire da un set di dati. Per impostazione predefinita, la valutazione usa lo stesso set di dati di quello di test fornito all'esecuzione testata. Tuttavia, se le etichette corrispondenti o i valori delle verità di base di destinazione si trovano in un set di dati diverso, è possibile passare facilmente a quest'ultimo.
Pertanto, per eseguire una valutazione, è necessario indicare le origini di questi input necessari. A tale scopo, quando si invia una valutazione, viene visualizzata una sezione "Mapping dell'input di valutazione".
- Se l'origine dati proviene dall'output di esecuzione, viene indicata come "${run.output.[OutputName]}"
- Se l'origine dati proviene dal set di dati di test, viene indicata come "${data.[ColumnName]}"
Nota
Se la valutazione non richiede dati dal set di dati, non è necessario fare riferimento ad alcuna colonna del set di dati nella sezione mapping di input, perché la selezione del set di dati è una configurazione facoltativa. La selezione del set di dati non influisce sul risultato della valutazione.
Se un metodo di valutazione usa modelli linguistici di grandi dimensioni (Large Language Models, LLM) per misurare le prestazioni della risposta del flusso, è necessario impostare anche le connessioni per i nodi LLM nei metodi di valutazione.
Nota
Alcuni metodi di valutazione richiedono l'esecuzione di GPT-4 o GPT-3. È necessario fornire connessioni valide per questi metodi di valutazione prima di usarle. Alcuni processi di valutazione possono richiedere molti token, quindi è consigliabile usare un modello che può supportare >=16.000 token.
Dopo aver completato il mapping di input, selezionare "Avanti" per esaminare le impostazioni e selezionare "Invia" per avviare l'esecuzione batch con la valutazione.
Nota
Le esecuzioni batch hanno una durata massima di 10 ore. Se un'esecuzione batch supera questo limite, verrà terminata e contrassegnata come non riuscita. È consigliabile monitorare la capacità LLM (Large Language Model) per evitare la limitazione. Se necessario, valutare la possibilità di ridurre le dimensioni dei dati. Se si continuano a riscontrare problemi o è necessaria ulteriore assistenza, contattare il nostro team di prodotto tramite il modulo di feedback o la richiesta di supporto.
Visualizzare i risultati e le metriche di valutazione
Dopo l'invio, è possibile trovare l'esecuzione batch inviata nella scheda dell'elenco di esecuzioni nella pagina prompt flow.
Selezionare un'esecuzione per passare alla pagina Esegui risultato per controllare i risultati di questa esecuzione batch.
Output
Risultato e traccia di base
Verrà innanzitutto visualizzata la scheda Output che mostra gli input e gli output riga per riga. Nella scheda Output viene visualizzato un elenco di risultati della tabella, inclusi l’ID riga, l’input, l’output, lo stato, le metriche di sistema e l’ora di creazione.
Per ogni riga, selezionando Visualizza traccia è possibile osservare ed eseguire il debug di un test case specifico nella pagina dettagliata della traccia.
Accodamento dei risultati e della traccia della valutazione
Se si seleziona Accoda output di valutazione, è possibile selezionare le esecuzioni di valutazione correlate e visualizzare le colonne accodate alla fine della tabella che mostra il risultato della valutazione per ogni riga di dati. È possibile aggiungere più output di valutazione per confrontarli.
È possibile visualizzare le metriche di valutazione più recenti nel pannello Panoramica a sinistra.
Panoramica essenziale
Sul lato destro, la panoramica offre informazioni generali sull'esecuzione, ad esempio il numero di esecuzioni per punto dati, i token totali e la durata dell'esecuzione.
Le metriche aggregate più recenti dell'esecuzione della valutazione sono visualizzate qui per impostazione predefinita. È possibile selezionare Visualizza esecuzione valutazione per passare alla visualizzazione dell'esecuzione della valutazione stessa.
La panoramica può essere espansa e compressa qui ed è possibile selezionare Visualizza informazioni complete, che consentono di passare alla scheda Panoramica accanto alla scheda Output, in cui sono contenute informazioni più dettagliate su questa esecuzione.
Avviare un nuovo ciclo di valutazione
Se è già stata completata un'esecuzione batch, è possibile avviare un altro ciclo di valutazione per inviare una nuova esecuzione di valutazione e calcolare le metriche per gli output senza eseguire di nuovo il flusso. Questo è utile e consente di risparmiare sui costi per rieseguire il flusso quando:
- Non è stato selezionato un metodo di valutazione per calcolare le metriche durante l'invio dell'esecuzione batch e si decide di farlo ora.
- È già stato usato il metodo di valutazione per calcolare una metrica. È possibile avviare un altro ciclo di valutazione per calcolare un'altra metrica.
- L'esecuzione della valutazione non è riuscita, ma il flusso ha generato correttamente gli output. È possibile inviare di nuovo la valutazione.
È possibile selezionare Valuta per avviare un altro ciclo di valutazione.
Dopo aver configurato la configurazione, è possibile selezionare "Invia" per questo nuovo ciclo di valutazione. Dopo l'invio, sarà possibile visualizzare un nuovo record nell'elenco di esecuzione del prompt flow. Al termine dell'esecuzione della valutazione, in modo analogo, è possibile controllare il risultato della valutazione nella scheda "Output" del pannello dei dettagli esecuzione batch. È necessario selezionare la nuova esecuzione di valutazione per visualizzarne il risultato.
Per altre informazioni sulle metriche calcolate dai metodi di valutazione integrati, passare a comprendere le metriche di valutazione integrate.
Panoramica
Se si seleziona la scheda Panoramica vengono visualizzate informazioni complete sull'esecuzione, incluse le proprietà di esecuzione, il set di dati di input, il set di dati di output, i tag e la descrizione.
Registri
Se si seleziona la scheda Log è possibile visualizzare i log di esecuzione, che possono essere utili per il debug dettagliato degli errori di esecuzione. È possibile scaricare i file di log nel computer locale.
Snapshot
Se si seleziona la scheda Snapshot viene visualizzato lo snapshot di esecuzione. È possibile visualizzare il DAG del flusso. Inoltre, è possibile clonarlo per creare un nuovo flusso. È anche possibile distribuirlo come endpoint online.
Controllare la cronologia di esecuzione batch e confrontare le metriche
In alcuni scenari si modifica il flusso per migliorarne le prestazioni. È possibile inviare più esecuzioni batch per confrontare le prestazioni del flusso con versioni diverse. È anche possibile confrontare le metriche calcolate con metodi di valutazione diversi per vedere quale è più adatto per il flusso.
Per controllare la cronologia di esecuzione batch del flusso, è possibile selezionare il pulsante "Visualizza esecuzione batch" nell'angolo superiore destro della pagina del flusso. Viene visualizzato un elenco di esecuzioni batch inviate per questo flusso.
È possibile selezionare ogni esecuzione batch per controllare i dettagli. È anche possibile selezionare più esecuzioni batch e selezionare "Visualizza output" per confrontare le metriche e gli output di queste esecuzioni batch.
Nel pannello "Visualizza output" la tabella Esecuzioni e metriche mostra le informazioni delle esecuzioni selezionate evidenziate. Vengono elencate anche altre esecuzioni che accettano gli output delle esecuzioni selezionate come input.
Nella tabella "Output" è possibile confrontare le esecuzioni batch selezionate in base a ogni riga di esempio. Selezionando l'icona "visualizzazione oculare" nella tabella "Esecuzioni e metriche", gli output di tale esecuzione verranno accodati all'esecuzione di base corrispondente.
Informazioni sulle metriche di valutazione integrate
Nel prompt flow sono disponibili più metodi di valutazione integrati che consentono di misurare le prestazioni dell'output del flusso. Ogni metodo di valutazione calcola metriche diverse. Ora sono disponibili nove metodi di valutazione predefiniti. È possibile controllare la tabella seguente per un riferimento rapido:
Metodo di valutazione | Metrica di | Descrizione | Richiesta di connessione | Input richiesto | Valore del punteggio |
---|---|---|---|---|---|
Valutazione dell'accuratezza della classificazione | Accuratezza | Misura le prestazioni di un sistema di classificazione confrontando gli output con le verità di base. | No | previsione, verità di base | nell'intervallo [0, 1]. |
Valutazione pairwise dei punteggi di pertinenza di domande e risposte | Punteggio, vittoria/perdita | Valuta la qualità delle risposte generate da un sistema di risposte alle domande. Implica l'assegnazione di punteggi di pertinenza a ogni risposta in base al livello di corrispondenza alla domanda dell'utente, confrontando risposte diverse con una risposta di base e aggregando i risultati per produrre metriche come i tassi medi di vittoria e i punteggi pertinenza. | Sì | domanda, risposta (nessuna verità di base o contesto) | Punteggio: 0-100, vittoria/perdita: 1/0 |
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 di LLM sono vere, se non sono verificabili con l'origine, non sono allineate. | Sì | domanda, risposta, contesto (nessuna verità di base) | da 1 a 5, con 1 corrispondente al voto più basso e 5 al voto più alto. |
Valutazione della somiglianza di GPT per Domande e risposte | Somiglianza di GPT | Misura la somiglianza tra le risposte di verità di base fornite dall'utente e la risposta prevista dal modello con il modello GPT. | Sì | domanda, risposta, verità sul terreno (contesto non necessario) | da 1 a 5, con 1 voto più basso e 5 voto più alto. |
Valutazione della pertinenza QnA | Pertinenza | Misura la pertinenza delle risposte previste del modello alle domande poste. | Sì | domanda, risposta, contesto (nessuna verità di base) | da 1 a 5, con 1 corrispondente al voto più basso e 5 al voto più alto. |
Valutazione della coerenza del sistema di domande e risposte | Coerenza | Misura la qualità di tutte le frasi nella risposta prevista dal modello e il modo in cui si abbinano in modo naturale. | Sì | domanda, risposta (nessuna verità di base o contesto) | da 1 a 5, con 1 corrispondente al voto più basso e 5 al voto più alto. |
Valutazione della scorrevolezza del sistema di domande e risposte | Scorrevolezza | Misura la correttezza grammaticale e linguistica della risposta prevista del modello. | Sì | domanda, risposta (nessuna verità di base o contesto) | da 1 a 5, con 1 corrispondente al voto più basso e 5 al voto più alto |
Valutazione dei punteggi F1 del sistema di domande e risposte | Punteggio F1 | Misura il rapporto del numero di parole condivise tra la stima del modello e la verità di base. | 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 di incorporamento Ada sia per la verità di base che per la stima. Calcola quindi la somiglianza del coseno tra di essi (un numero a virgola mobile) | Sì | domanda, risposta, verità di base (contesto non necessario) | nell'intervallo [0, 1]. |
Modi per migliorare le prestazioni del flusso
Dopo aver controllato le metriche integrate dalla valutazione, è possibile provare a migliorare le prestazioni del flusso:
- Controllare i dati di output per eseguire il debug di eventuali potenziali errori del flusso.
- Modificare il flusso per migliorarne le prestazioni. Si include tra l'altro:
- Modificare il prompt
- Modificare il messaggio del sistema
- Modificare i parametri del flusso
- Modificare la logica del flusso
La costruzione di richieste può essere difficile. Viene fornita una Introduzione alla progettazione del prompt per apprendere il concetto di costruzione di un prompt che possa raggiungere l'obiettivo. Per altre informazioni su come creare un prompt per raggiungere l'obiettivo, vedere tecniche di progettazione dei prompt.
Messaggio di sistema, talvolta definito metaprompt o prompt del sistema che può essere usato per guidare il comportamento di un sistema di intelligenza artificiale e migliorare le prestazioni del sistema. Leggere questo documento sul Framework dei messaggi di sistema e raccomandazioni sui modelli per LLM per capire come migliorare le prestazioni del flusso con i messaggi di sistema.
Altre informazioni: Linee guida per la creazione di set di dati golden usati per il controllo di qualità Copilot
La creazione di un copilota che usa LLM in genere comporta il grounding del modello nella realtà usando i set di dati di origine. Tuttavia, per garantire che i LLM forniscano le risposte più accurate e utili alle query dei clienti, è necessario un "Set di dati golden".
Un set di dati golden è una raccolta di domande realistiche sui clienti e risposte create in modo esperto. Funge da strumento di controllo qualità per LLM 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. Vengono invece utilizzati per valutare la qualità delle risposte generate dall'LLM.
Se lo scenario prevede un copilota o se si sta creando un copilota personalizzato, è consigliabile fare riferimento a questo documento specifico per indicazioni e procedure consigliate più dettagliate: Produzione di set di dati golden: linee guida per la creazione di set di dati golden usati per il controllo di qualità copilot.
Passaggi successivi
In questo documento si è appreso come inviare un'esecuzione batch e usare un metodo di valutazione integrato per misurare la qualità dell'output del flusso. Si è anche appreso come visualizzare i risultati e le metriche di valutazione e come avviare un nuovo ciclo di valutazione con un metodo o un subset diverso di varianti. Questo documento consente di migliorare le prestazioni del flusso e di raggiungere obiettivi con il prompt flow.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per