I grandi modelli linguistici (LLM) possono essere utilizzati per analizzare documenti complessi e fornire riepiloghi e risposte alle domande. La posta Adattamento del dominio Ottimizzazione dei modelli di base in Amazon SageMaker JumpStart sui dati finanziari descrive come mettere a punto un LLM utilizzando il proprio set di dati. Una volta che hai un solido LLM, ti consigliamo di esporre tale LLM agli utenti aziendali per elaborare nuovi documenti, che potrebbero essere lunghi centinaia di pagine. In questo post, dimostriamo come costruire un'interfaccia utente in tempo reale per consentire agli utenti aziendali di elaborare un documento PDF di lunghezza arbitraria. Una volta elaborato il file, puoi riassumere il documento o porre domande sul contenuto. La soluzione di esempio descritta in questo post è disponibile su GitHub.
Lavorare con documenti finanziari
I rendiconti finanziari come le relazioni trimestrali sugli utili e le relazioni annuali agli azionisti sono spesso lunghi decine o centinaia di pagine. Questi documenti contengono un sacco di linguaggio standard come dichiarazioni di non responsabilità e linguaggio legale. Se vuoi estrarre i punti dati chiave da uno di questi documenti, hai bisogno sia di tempo che di familiarità con il linguaggio standard in modo da poter identificare i fatti interessanti. E, naturalmente, non puoi fare domande a un LLM su un documento che non ha mai visto.
Gli LLM utilizzati per il riepilogo hanno un limite al numero di token (caratteri) passati nel modello e, con alcune eccezioni, in genere non superano poche migliaia di token. Ciò normalmente preclude la capacità di riassumere documenti più lunghi.
La nostra soluzione gestisce i documenti che superano la lunghezza massima della sequenza di token di un LLM e rende tale documento disponibile al LLM per la risposta alle domande.
Panoramica della soluzione
Il nostro design ha tre pezzi importanti:
- Ha un'applicazione web interattiva per gli utenti aziendali per caricare ed elaborare PDF
- Utilizza la libreria langchain per dividere un PDF di grandi dimensioni in blocchi più gestibili
- Utilizza la tecnica di generazione aumentata di recupero per consentire agli utenti di porre domande sui nuovi dati che l'LLM non ha mai visto prima
Come mostrato nel diagramma seguente, utilizziamo un front-end implementato con React JavaScript ospitato in un file Servizio di archiviazione semplice Amazon (Amazon S3) secchio fronteggiato da Amazon CloudFront. L'applicazione front-end consente agli utenti di caricare documenti PDF su Amazon S3. Al termine del caricamento, puoi attivare un processo di estrazione del testo alimentato da Testo Amazon. Come parte della post-elaborazione, an AWS Lambda La funzione inserisce marcatori speciali nel testo che indicano i limiti della pagina. Al termine del lavoro, puoi richiamare un'API che riepiloghi il testo o risponda a domande al riguardo.
Poiché alcuni di questi passaggi potrebbero richiedere del tempo, l'architettura utilizza un approccio asincrono disaccoppiato. Ad esempio, la chiamata per riepilogare un documento richiama una funzione Lambda che invia un messaggio a un Servizio Amazon Simple Queue (Amazon SQS). Un'altra funzione Lambda raccoglie quel messaggio e avvia un Servizio di container elastici Amazon (AmazonECS) AWS Fargate compito. L'attività Fargate chiama il file Amazon Sage Maker endpoint di inferenza. Usiamo un'attività Fargate qui perché il riepilogo di un PDF molto lungo può richiedere più tempo e memoria rispetto a una funzione Lambda disponibile. Al termine del riepilogo, l'applicazione front-end può prelevare i risultati da un file Amazon DynamoDB tabella.
Per il riepilogo, utilizziamo il modello Summarize di AI21, uno dei modelli di base disponibili tramite JumpStart di Amazon SageMaker. Sebbene questo modello gestisca documenti fino a 10,000 parole (circa 40 pagine), utilizziamo lo splitter di testo di langchain per assicurarci che ogni chiamata di riepilogo all'LLM non superi le 10,000 parole. Per la generazione del testo, utilizziamo il modello Medium di Cohere e utilizziamo GPT-J per gli incorporamenti, entrambi tramite JumpStart.
Elaborazione di riepilogo
Quando si gestiscono documenti più grandi, è necessario definire come suddividere il documento in parti più piccole. Quando otteniamo i risultati dell'estrazione del testo da Amazon Textract, inseriamo marcatori per blocchi di testo più grandi (un numero configurabile di pagine), singole pagine e interruzioni di riga. Langchain si dividerà in base a questi marcatori e assemblerà documenti più piccoli che sono al di sotto del limite di token. Vedere il seguente codice:
LLM nella catena di riepilogo è un sottile involucro attorno al nostro endpoint SageMaker:
Risposta alla domanda
Nel metodo di generazione aumentata di recupero, per prima cosa dividiamo il documento in segmenti più piccoli. Creiamo incorporamenti per ogni segmento e li memorizziamo nel database vettoriale Chroma open source tramite l'interfaccia di langchain. Salviamo il database in un file File system elastico Amazon (Amazon EFS) file system per un uso successivo. Vedere il seguente codice:
Quando gli incorporamenti sono pronti, l'utente può porre una domanda. Cerchiamo nel database vettoriale i blocchi di testo che corrispondono maggiormente alla domanda:
Prendiamo il pezzo corrispondente più vicino e lo usiamo come contesto per il modello di generazione del testo per rispondere alla domanda:
Esperienza utente
Sebbene gli LLM rappresentino una scienza dei dati avanzata, la maggior parte dei casi d'uso per gli LLM comportano in ultima analisi l'interazione con utenti non tecnici. La nostra applicazione Web di esempio gestisce un caso d'uso interattivo in cui gli utenti aziendali possono caricare ed elaborare un nuovo documento PDF.
Il diagramma seguente mostra l'interfaccia utente. Un utente inizia caricando un PDF. Dopo che il documento è stato archiviato in Amazon S3, l'utente è in grado di avviare il processo di estrazione del testo. Al termine, l'utente può richiamare l'attività di riepilogo o porre domande. L'interfaccia utente espone alcune opzioni avanzate come la dimensione del blocco e la sovrapposizione del blocco, che sarebbero utili per gli utenti avanzati che stanno testando l'applicazione su nuovi documenti.
Prossimi passi
Gli LLM forniscono nuove significative capacità di recupero delle informazioni. Gli utenti aziendali hanno bisogno di un comodo accesso a queste funzionalità. Ci sono due direzioni per il lavoro futuro da considerare:
- Sfrutta i potenti LLM già disponibili nei modelli base Jumpstart. Con poche righe di codice, la nostra applicazione di esempio potrebbe distribuire e utilizzare LLM avanzati di AI21 e Cohere per il riepilogo e la generazione del testo.
- Rendi queste funzionalità accessibili agli utenti non tecnici. Un prerequisito per l'elaborazione dei documenti PDF è l'estrazione del testo dal documento e l'esecuzione dei processi di riepilogo può richiedere diversi minuti. Ciò richiede un'interfaccia utente semplice con capacità di elaborazione back-end asincrona, che è facile da progettare utilizzando servizi nativi del cloud come Lambda e Fargate.
Notiamo anche che un documento PDF è un'informazione semi-strutturata. Segnali importanti come i titoli delle sezioni sono difficili da identificare a livello di codice, perché si basano sulle dimensioni dei caratteri e altri indicatori visivi. L'identificazione della struttura sottostante delle informazioni aiuta l'LLM a elaborare i dati in modo più accurato, almeno fino al momento in cui gli LLM possono gestire input di lunghezza illimitata.
Conclusione
In questo post, abbiamo mostrato come creare un'applicazione Web interattiva che consenta agli utenti aziendali di caricare ed elaborare documenti PDF per il riepilogo e la risposta alle domande. Abbiamo visto come sfruttare i modelli di base Jumpstart per accedere a LLM avanzati e utilizzare tecniche di generazione aumentata di suddivisione del testo e recupero per elaborare documenti più lunghi e renderli disponibili come informazioni per LLM.
A questo punto, non c'è motivo per non rendere disponibili queste potenti funzionalità ai tuoi utenti. Ti invitiamo a iniziare a utilizzare il Modelli di fondazione Jumpstart oggi.
Circa l'autore
Randy De Fauw è Senior Principal Solutions Architect presso AWS. Ha conseguito un MSEE presso l'Università del Michigan, dove ha lavorato alla visione artificiale per veicoli autonomi. Ha conseguito anche un MBA presso la Colorado State University. Randy ha ricoperto diverse posizioni nel settore tecnologico, dall'ingegneria del software alla gestione dei prodotti. In è entrato nello spazio dei Big Data nel 2013 e continua a esplorare quell'area. Sta lavorando attivamente a progetti nello spazio ML e ha presentato a numerose conferenze tra cui Strata e GlueCon.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Automobilistico/VE, Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- BlockOffset. Modernizzare la proprietà della compensazione ambientale. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/use-a-generative-ai-foundation-model-for-summarization-and-question-answering-using-your-own-data/
- :ha
- :È
- :non
- :Dove
- $ SU
- 000
- 10
- 100
- 13
- 14
- 15%
- 2013
- 25
- 40
- 500
- 7
- a
- capacità
- capace
- WRI
- a proposito
- accesso
- accessibile
- con precisione
- attivamente
- Avanzate
- Vantaggio
- Dopo shavasana, sedersi in silenzio; saluti;
- AI
- già
- anche
- Sebbene il
- Amazon
- Amazon Sage Maker
- JumpStart di Amazon SageMaker
- Testo Amazon
- Amazon Web Services
- an
- analizzare
- ed
- annuale
- Un altro
- rispondere
- risposte
- api
- Applicazioni
- approccio
- circa
- architettura
- SONO
- RISERVATA
- in giro
- AS
- At
- aumentata
- autore
- autonomo
- veicoli autonomi
- disponibile
- AWS
- precedente
- BACKEND
- basato
- BE
- perché
- Big
- Big Data
- entrambi
- confini
- pause
- costruire
- affari
- by
- chiamata
- Bandi
- Materiale
- funzionalità
- Custodie
- casi
- catena
- caratteri
- strettamente
- codice
- Colorado
- completamento di una
- complesso
- computer
- Visione computerizzata
- conferenze
- Prendere in considerazione
- costruire
- contenere
- Contenitore
- contenuto
- contesto
- continua
- Comodo
- potuto
- Portata
- creare
- dati
- punti dati
- scienza dei dati
- Banca Dati
- disaccoppiato
- definire
- dimostrare
- schierare
- descritta
- Design
- difficile
- documento
- documenti
- fatto
- ogni
- Guadagni
- facile
- incoraggiare
- fine
- endpoint
- Ingegneria
- inserito
- esempio
- superare
- esplora
- estratto
- fatti
- Familiarità
- pochi
- Compila il
- finanziario
- Nome
- i seguenti
- Nel
- Fondazione
- da
- anteriore
- Fine frontale
- function
- futuro
- ELETTRICA
- generativo
- AI generativa
- ottenere
- maniglia
- Maniglie
- Manovrabilità
- Avere
- he
- Eroe
- aiuta
- qui
- detiene
- ospitato
- Come
- Tutorial
- http
- HTTPS
- centinaia
- identificare
- identificazione
- if
- implementato
- importante
- in
- Compreso
- individuale
- informazioni
- ingresso
- Inserti
- interazione
- interattivo
- interessante
- Interfaccia
- ai miglioramenti
- invoca
- coinvolgere
- IT
- JavaScript
- Lavoro
- Offerte di lavoro
- jpg
- ad appena
- Le
- Lingua
- grandi
- superiore, se assunto singolarmente.
- dopo
- meno
- Legale
- Lunghezza
- lasciare
- Consente di
- Biblioteca
- piace
- LIMITE
- linea
- Linee
- LLM
- caricatore
- Lunghi
- più a lungo
- lotto
- make
- maneggevole
- gestione
- partita
- corrispondenza
- massimo
- Maggio..
- medie
- Memorie
- messaggio
- metodo
- Michigan
- Minuti
- ML
- modello
- modelli
- Scopri di più
- maggior parte
- Bisogno
- mai
- New
- no
- non tecnico
- normalmente
- numero
- numerose
- of
- di frequente
- on
- una volta
- ONE
- open source
- Opzioni
- or
- Altro
- nostro
- proprio
- pagina
- pagine
- parte
- Passato
- scegliere
- Scelte
- immagine
- pezzi
- Platone
- Platone Data Intelligence
- PlatoneDati
- punto
- punti
- posizioni
- Post
- Post
- alimentato
- potente
- presentata
- Direttore
- processi
- Elaborato
- lavorazione
- Prodotto
- gestione del prodotto
- progetti
- fornire
- domanda
- Domande
- che vanno
- Reagire
- pronto
- tempo reale
- ragione
- fare affidamento
- Report
- rappresentare
- risposta
- risposte
- Risultati
- ritorno
- Correre
- sagemaker
- Risparmi
- sega
- Scienze
- Cerca
- Sezione
- vedere
- visto
- segmento
- segmenti
- AUTO
- anziano
- Sequenza
- Servizi
- alcuni
- Azionisti
- ha mostrato
- mostrato
- Spettacoli
- significativa
- Un'espansione
- Taglia
- Dimensioni
- inferiore
- So
- Software
- Ingegneria del software
- solido
- soluzione
- Soluzioni
- alcuni
- lo spazio
- la nostra speciale
- dividere
- Si divide
- inizia a
- inizio
- Regione / Stato
- dichiarazioni
- Passi
- Fermare
- conservazione
- Tornare al suo account
- memorizzati
- La struttura
- tale
- riassumere
- SOMMARIO
- sicuro
- sistema
- tavolo
- Fai
- Task
- tecniche
- Tecnologia
- decine
- Testing
- di
- che
- Il
- Li
- Là.
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- questo
- quelli
- tre
- Attraverso
- tempo
- a
- oggi
- token
- Tokens
- innescare
- seconda
- tipicamente
- in definitiva
- per
- sottostante
- Università
- fino a quando
- Caricamento
- uso
- caso d'uso
- utilizzato
- Utente
- Interfaccia utente
- utenti
- usa
- utilizzando
- varietà
- Veicoli
- molto
- via
- visione
- volere
- we
- sito web
- applicazione web
- servizi web
- quando
- quale
- OMS
- volere
- con
- parole
- Lavora
- lavorato
- lavoro
- sarebbe
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro