Generazione di codici da documenti utilizzando LLM

Generazione di codici da documenti utilizzando LLM Un modo innovativo per automatizzare la creazione di codici

La generazione di codice dalle note dei medici può essere un compito complesso in quanto richiede una profonda comprensione del linguaggio medico e la capacità di tradurre tali informazioni nei codici specifici utilizzati nella fatturazione e nel rimborso medico. I Large Language Models (LLMs) con la conoscenza del mondo codificata hanno un grande potenziale per rendere questo compito più efficiente e accurato.

Evoluzione dell’apprendimento automatico ai LLM

Il campo dell’apprendimento automatico ha subito una trasformazione significativa nell’ultimo decennio. In passato, la generazione di codici dalle note dei medici utilizzando l’apprendimento automatico era un processo lento, difficile e impreciso. Coinvolgeva la raccolta e la pre-elaborazione dei dati pertinenti, la creazione manuale delle caratteristiche, la selezione del modello giusto, l’ottimizzazione del modello attraverso l’aggiustamento degli iperparametri e la creazione dell’infrastruttura per implementare il modello. Questi compiti erano tediosi ed costosi, ma il risultato finale spesso era un modello con prestazioni subottimali.

Figura 1: Processo tradizionale di apprendimento automatico

Tuttavia, con l’avvento dell’apprendimento profondo, il processo è diventato più facile e preciso. Le reti profonde sono state in grado di codificare le conoscenze attraverso i loro embedding. Il problema dei modelli profondi era la loro dipendenza da una quantità significativa di dati necessari per l’addestramento.

Ora, l’evoluzione dei grandi modelli di linguaggio come GPT ha reso le attività legate al linguaggio, come nel settore sanitario, molto più semplici. Questi modelli, con O(100B) parametri, codificano una vasta quantità di conoscenze provenienti da domini e fonti diverse come la sanità, la programmazione software, libri, blog, articoli scientifici e social media. L’apprendimento da una grande quantità di dati consente loro di apprendere rappresentazioni ricche del linguaggio dai dati e di generalizzare a nuovi compiti. Per una vasta gamma di compiti semplici, i modelli possono essere utilizzati con zero o poche prove di apprendimento e, per compiti più complessi, questi modelli possono essere affinati con una piccola quantità di dati.

LLMs e Progettazione dei Prompts

Uno degli obiettivi nel campo dell’apprendimento automatico è stato quello di sviluppare algoritmi che possano apprendere in modo simile agli esseri umani. Questi algoritmi dovrebbero comprendere semplici insiemi di compiti quando vengono fornite istruzioni ed esempi. Nel campo dei Large Language Models, queste istruzioni ed esempi vengono chiamati prompts.

Apprendimento Zero-Shot

I prompts potrebbero essere richieste dirette dagli utenti, come ad esempio:

  1. Riassumi il testo
  2. Parafrasa il testo
  3. Perché il cielo è blu?
  4. Scrivi un codice per verificare se una stringa è palindroma.

Questi modelli possono rispondere a queste domande senza bisogno di ulteriori esempi, un processo noto come apprendimento zero-shot.

Apprendimento Few-Shot e Catena di Pensiero Prompting

Alcuni compiti richiedono istruzioni più dettagliate, simili a quelle che un essere umano riceverebbe. Un esempio di questo tipo di prompt potrebbe essere:

Qui, il compito è capire un pattern dagli input-output e prevedere che l’output sia “no”. Il pattern è restituire l’ultima lettera di ogni parola.

Ecco l’output da ChatGPT dove ha sbagliato:

Dando istruzioni più dettagliate al modello ha generato la risposta corretta. Questa spiegazione data ai prompts per ottenere le risposte richieste è chiamata chain-of-thought prompting.

Questo processo di creazione, progettazione e affinamento dei prompts è chiamato progettazione dei prompts. Lo scopo della progettazione dei prompts è fornire input al modello di linguaggio in modo specifico in modo che generi output rilevanti, coerenti e coerenti con il significato inteso. Questo coinvolge la scrittura di prompts efficaci e chiari che possano guidare il modello di linguaggio a generare output di alta qualità che soddisfino le esigenze di un caso d’uso specifico, come generare risposte a domande, scrivere storie, comporre poesie o tradurre testi. Il processo di progettazione dei prompts comporta anche la verifica e la valutazione delle prestazioni del modello di linguaggio con diversi prompts, apportando eventuali modifiche necessarie per migliorare il suo output.

Nel contesto della generazione di codici dalle note del medico, la progettazione dei prompts comporterebbe affrontare le abbreviazioni e comprendere le differenze e le sottigliezze delle malattie, dei sintomi e delle prescrizioni di farmaci.

Passaggi di Sviluppo

Il processo di utilizzo dei Large Language Models (LLMs) per produrre codici medici dalle note del medico coinvolge i seguenti passaggi:

  1. Acquisire i dati: Ottenere i dati e eseguire una pre-elaborazione manuale per una sperimentazione iniziale.
  2. Definizione delle metriche: Determinare le metriche per valutare le prestazioni del sistema, come la precisione e la richiamata delle risposte previste e la latenza temporale delle risposte.
  3. Selezionare LLM: Esplorare diversi LLM e le loro API. Possibili scelte: GPT, BARD.
  4. Impostare lo spazio di lavoro: Preparare uno spazio di lavoro per l’ingegneria delle prompt.
  5. Ingegneria delle prompt: Sperimentare con la creazione di prompt per trovare il set di prompt ottimale.
  6. Definire il benchmark: Stabilire un benchmark per le prestazioni e confrontarlo con i processi attuali e le soluzioni di mercato.
  7. Generare un dataset: Generare un dataset attraverso l’inferenza di LLM.
  8. Distillazione: Allenare un modello studente tramite la distillazione del modello insegnante.
  9. Benchmark delle prestazioni: Valutare le prestazioni del modello studente e individuare punti di forza e debolezza.
  10. Infrastruttura di servizio: Configurare un’infrastruttura di servizio per il modello studente, inclusi adattatori e sistemi software necessari per l’integrazione con i sistemi esistenti.

Figura 2: Pipeline ad alto livello di addestramento ed infrastruttura