Generativ artificiell intelligens (generativ AI) modeller har visat imponerande förmåga att generera högkvalitativ text, bilder och annat innehåll. Dessa modeller kräver dock enorma mängder ren, strukturerad träningsdata för att nå sin fulla potential. De flesta verkliga data finns i ostrukturerade format som PDF-filer, vilket kräver förbearbetning innan det kan användas effektivt.
Enligt IDC, står ostrukturerad data för över 80 % av all affärsdata idag. Detta inkluderar format som e-post, PDF-filer, skannade dokument, bilder, ljud, video och mer. Även om dessa data innehåller värdefulla insikter, gör dess ostrukturerade karaktär det svårt för AI-algoritmer att tolka och lära av dem. Enligt a 2019 års undersökning av Deloitte, rapporterade endast 18 % av företagen att de kunde dra fördel av ostrukturerad data.
När AI-anpassningen fortsätter att accelerera, blir utvecklingen av effektiva mekanismer för att smälta och lära av ostrukturerad data ännu viktigare i framtiden. Detta kan innebära bättre förbearbetningsverktyg, halvövervakade inlärningstekniker och framsteg inom naturlig språkbehandling. Företag som använder sin ostrukturerade data mest effektivt kommer att få betydande konkurrensfördelar från AI. Ren data är viktig för god modellprestanda. Extraherade texter har fortfarande stora mängder floskler och standardtext (t.ex. läs HTML). Skrapad data från internet innehåller ofta många dubbletter. Data från sociala medier, recensioner eller annat användargenererat innehåll kan också innehålla giftigt och partiskt innehåll, och du kan behöva filtrera bort dem med några förbehandlingssteg. Det kan också finnas mycket innehåll av låg kvalitet eller botgenererade texter, som kan filtreras bort med hjälp av medföljande metadata (t.ex. filtrera bort kundtjänstsvar som fått låga kundbetyg).
Dataförberedelse är viktigt i flera stadier i Retrieval Augmented Generation (RAG) modeller. Kunskapskälldokumenten behöver förbearbetas, som att rensa text och generera semantiska inbäddningar, så att de effektivt kan indexeras och hämtas. Användarens naturliga språkfråga kräver också förbearbetning, så den kan kodas till en vektor och jämföras med dokumentinbäddningar. Efter att ha hämtat relevanta sammanhang kan de behöva ytterligare förbearbetning, som trunkering, innan de sammanfogas till användarens fråga för att skapa den sista prompten för grundmodellen. Amazon SageMaker Canvas stöder nu omfattande databeredningsfunktioner som drivs av Amazon SageMaker Data Wrangler. Med denna integrering ger SageMaker Canvas kunderna en end-to-end-arbetsyta utan kod för att förbereda data, bygga och använda ML- och grundmodeller för att påskynda tiden från data till affärsinsikter. Du kan nu enkelt upptäcka och samla data från över 50 datakällor och utforska och förbereda data med hjälp av över 300 inbyggda analyser och transformationer i SageMaker Canvas visuella gränssnitt.
Lösningsöversikt
I det här inlägget arbetar vi med en PDF-dokumentationsdatauppsättning—Amazonas berggrund Användarguide. Vidare visar vi hur man förbearbetar en datauppsättning för RAG. Specifikt rengör vi data och skapar RAG-artefakter för att svara på frågorna om innehållet i datamängden. Tänk på följande problem med maskininlärning (ML): användaren ställer en fråga med stor språkmodell (LLM): "Hur filtrerar och söker man efter modeller i Amazon Bedrock?". LLM har inte sett dokumentationen under tränings- eller finjusteringsstadiet, skulle därför inte kunna svara på frågan och kommer troligen att hallucinera. Vårt mål med det här inlägget är att hitta en relevant textbit från PDF:en (dvs RAG) och bifoga den till prompten, vilket gör det möjligt för LLM att svara på frågor som är specifika för detta dokument.
Nedan visar vi hur du kan göra alla dessa huvudsakliga förbearbetningssteg från Amazon SageMaker Canvas (drivs av Amazon SageMaker Data Wrangler):
- Extrahera text från ett PDF-dokument (driven av Textract)
- Ta bort känslig information (driven av Comprehend)
- Dela text i bitar.
- Skapa inbäddningar för varje del (driven av Bedrock).
- Ladda upp inbäddning till en vektordatabas (driven av OpenSearch)
Förutsättningar
För denna genomgång bör du ha följande:
Anmärkningar: Skapa OpenSearch Service-domäner enligt instruktionerna här.. För enkelhets skull, låt oss välja alternativet med ett huvudanvändarnamn och lösenord för finkornig åtkomstkontroll. När domänen har skapats skapar du ett vektorindex med följande mappningar och vektordimension 1536 anpassas till Amazon Titan-inbäddningar:
genomgång
Bygg ett dataflöde
I det här avsnittet tar vi upp hur vi kan bygga ett dataflöde för att extrahera text och metadata från PDF-filer, rensa och bearbeta data, generera inbäddningar med Amazon Bedrock och indexera data i Amazon OpenSearch.
Starta SageMaker Canvas
Utför följande steg för att starta SageMaker Canvas:
- På Amazonas SageMaker konsolväljer domäner i navigeringsfönstret.
- Välj din domän.
- Välj på startmenyn Målarduk.
Skapa ett dataflöde
Utför följande steg för att skapa ett dataflöde i SageMaker Canvas:
- Välj på SageMaker Canvas hemsida Data Wrangler.
- Välja Skapa till höger på sidan, ge ett dataflödesnamn och välj Skapa.
- Detta kommer att landa på en dataflödessida.
- Välja Importera datum, välj tabelldata.
Låt oss nu importera data från Amazon S3-hinken:
- Välja Importera datum och välj Tabellformat från rullgardinsmenyn.
- Datakälla och välj Amazon S3 från rullgardinsmenyn.
- Navigera till metadatafilen med PDF-filplatser och välj filen.
- Nu laddas metadatafilen till dataförberedelsens dataflöde, och vi kan fortsätta att lägga till nästa steg för att omvandla data och index till Amazon Opensearch. I det här fallet har filen följande metadata, med platsen för varje fil i Amazon S3-katalogen.
För att lägga till en ny transformation, utför följande steg:
- Välj plustecknet och välj Lägg till Transform.
- Välja Lägg till steg Och välj Anpassad omvandling.
- Du kan skapa en anpassad transformation med Pandas, PySpark, Python användardefinierade funktioner och SQL PySpark. Välja Python (PySpark) för detta användningsfall.
- Ange ett namn för steget. Bläddra och välj från exempelkodavsnitten extrahera text från pdf. Gör nödvändiga ändringar i kodavsnittet och välj Lägg till.
- Låt oss lägga till ett steg för att redigera personlig identifierbar information (PII) från den extraherade informationen genom att utnyttja Amazon Comprehend. Välj Lägg till steg Och välj Anpassad omvandling. Och välj Python (PySpark).
Bläddra och välj från exempelkodavsnitten mask PII. Gör nödvändiga ändringar i kodavsnittet och välj Lägg till.
- Nästa steg är att dela upp textinnehållet. Välja Lägg till steg Och välj Anpassad omvandling. Och välj Python (PySpark).
Bläddra och välj från exempelkodavsnitten Bittext. Gör nödvändiga ändringar i kodavsnittet och välj Lägg till.
- Låt oss konvertera textinnehållet till vektorinbäddningar med hjälp av Amazonas berggrund Titan Embeddings modell. Välja Lägg till steg Och välj Anpassad omvandling. Och välj Python (PySpark).
Bläddra och välj från exempelkodavsnitten Skapa textinbäddning med Bedrock. Gör nödvändiga ändringar i kodavsnittet och välj Lägg till.
- Nu har vi vektorinbäddningar tillgängliga för PDF-filens innehåll. Låt oss gå vidare och indexera data till Amazon OpenSearch. Välja Lägg till steg Och välj Anpassad omvandling. Och välj Python (PySpark). Du är fri att skriva om följande kod för att använda din föredragna vektordatabas. För enkelhetens skull använder vi huvudanvändarnamn och lösenord för att komma åt OpenSearch API:er, välj alternativet för produktionsarbetsbelastningar enligt din organisations policy.
Slutligen skulle det skapade dataflödet vara som följer:
Med detta dataflöde har data från PDF-filen lästs och indexerats med vektorinbäddningar i Amazon OpenSearch. Nu är det dags för oss att skapa en fil med frågor för att fråga efter indexerade data och spara dem på Amazon S3-platsen. Vi pekar vårt sökdataflöde till filen och matar ut en fil med motsvarande resultat i en ny fil på en Amazon S3-plats.
Förbereder en uppmaning
När vi har skapat en kunskapsbas av vår PDF kan vi testa den genom att söka i kunskapsbasen efter några exempel på frågor. Vi kommer att behandla varje fråga enligt följande:
- Generera inbäddning för frågan (driven av Amazon Bedrock)
- Fråga vektordatabas för närmaste grannekontext (driven av Amazon OpenSearch)
- Kombinera frågan och sammanhanget till prompten.
- Fråga LLM med en uppmaning (driven av Amazon Bedrock)
- Välj på SageMaker Canvas hemsida Dataförberedelse.
- Välja Skapa till höger på sidan, ge ett dataflödesnamn och välj Skapa.
Låt oss nu ladda användarfrågorna och skapa sedan en uppmaning genom att kombinera frågan och liknande dokument. Denna uppmaning ges till LLM för att generera ett svar på användarfrågan.
- Låt oss ladda en csv-fil med användarfrågor. Välja Importera data och välj Tabellformat från rullgardinsmenyn.
- Datakälla, och välj Amazon S3 från rullgardinsmenyn. Alternativt kan du välja att ladda upp en fil med användarfrågor.
- Låt oss lägga till en anpassad transformation för att konvertera data till vektorinbäddningar, följt av sökning av relaterade inbäddningar från Amazon OpenSearch, innan vi skickar en prompt till Amazon Bedrock med frågan och sammanhanget från kunskapsbasen. För att generera inbäddningar för frågan kan du använda samma exempelkodavsnitt Skapa textinbäddning med Bedrock som nämns i steg #7 ovan.
Låt oss anropa Amazon OpenSearch API för att söka i relevanta dokument efter de genererade vektorinbäddningarna. Lägg till en anpassad transformation med Python (PySpark).
Låt oss lägga till en anpassad transformation för att anropa Amazon Bedrock API för frågesvar och skicka dokumenten från Amazon OpenSearchs kunskapsbas. Bläddra och välj från exempelkodavsnitten Fråga Berggrund med sammanhang. Gör nödvändiga ändringar i kodavsnittet och välj Lägg till.
Sammanfattningsvis är RAG-baserat frågesvarsdataflöde som följer:
ML-utövare spenderar mycket tid på att skapa funktionsteknikkod, applicera den på sina initiala datauppsättningar, träna modeller på de konstruerade datauppsättningarna och utvärdera modellens noggrannhet. Med tanke på den experimentella karaktären av detta arbete leder även det minsta projektet till flera iterationer. Samma funktionskod körs ofta om och om igen, vilket slösar tid och beräkningsresurser på att upprepa samma operationer. I stora organisationer kan detta orsaka en ännu större produktivitetsförlust eftersom olika team ofta kör identiska jobb eller till och med skriver duplicerad funktionskod eftersom de inte har någon kunskap om tidigare arbete. För att undvika omarbetning av funktioner exporterar vi vårt dataflöde till en Amazon SageMaker pipeline. Låt oss välja +-knappen till höger om frågan. Välj exportera dataflöde och välj Kör SageMaker Pipeline (via Jupyter anteckningsbok).
Städar upp
För att undvika framtida avgifter, ta bort eller stäng av resurserna du skapade när du följde det här inlägget. Hänvisa till Logga ut från Amazon SageMaker Canvas för mer detaljer.
Slutsats
I det här inlägget visade vi dig hur Amazon SageMaker Canvas end-to-end-möjligheter genom att anta rollen som en dataprofessionell som förbereder data för en LLM. Den interaktiva dataförberedelsen möjliggjorde snabb rengöring, transformering och analys av data för att utveckla informativa funktioner. Genom att ta bort kodningskomplexiteten tillät SageMaker Canvas snabb iteration för att skapa en utbildningsdatauppsättning av hög kvalitet. Detta accelererade arbetsflöde ledde direkt till att bygga, utbilda och implementera en effektiv maskininlärningsmodell för affärseffekter. Med sin omfattande dataförberedelse och enhetliga erfarenhet från data till insikter, ger SageMaker Canvas användare möjlighet att förbättra sina ML-resultat.
Vi uppmuntrar dig att lära dig mer genom att utforska Amazon SageMaker Data Wrangler, Amazon SageMaker Canvas, Amazon Titan modeller, Amazonas berggrundoch Amazon OpenSearch-tjänsten att bygga en lösning med hjälp av exempelimplementeringen i det här inlägget och en datauppsättning som är relevant för ditt företag. Om du har frågor eller förslag, lämna gärna en kommentar.
Om författarna
Ajjay Govindaram är Senior Solutions Architect på AWS. Han arbetar med strategiska kunder som använder AI/ML för att lösa komplexa affärsproblem. Hans erfarenhet ligger i att tillhandahålla teknisk ledning samt designhjälp för blygsamma till storskaliga AI/ML-applikationer. Hans kunskap sträcker sig från applikationsarkitektur till big data, analys och maskininlärning. Han tycker om att lyssna på musik medan han vilar, uppleva utomhus och umgås med sina nära och kära.
Nikita Ivkin är en Senior Applied Scientist på Amazon SageMaker Data Wrangler med intressen för maskininlärning och datarensningsalgoritmer.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/simplify-data-prep-for-gen-ai-with-amazon-sagemaker-data-wrangler/
- : har
- :är
- :inte
- 100
- 14
- 20
- 25
- 28
- 50
- 7
- 8
- 804
- a
- Able
- Om oss
- ovan
- accelerera
- accelererad
- tillgång
- Enligt
- konton
- noggrannhet
- lägga till
- Annat
- Antagande
- framsteg
- Fördel
- fördelar
- Efter
- igen
- aggregat
- framåt
- AI
- AI / ML
- algoritmer
- Justerar
- Alla
- tillåts
- också
- amason
- Amazon SageMaker
- Amazon SageMaker Data Wrangler
- Amazon Web Services
- mängder
- an
- analyser
- analytics
- analys
- och
- svara
- vilken som helst
- api
- Ansökan
- tillämpas
- Tillämpa
- arkitektur
- ÄR
- konstgjord
- artificiell intelligens
- AS
- Bistånd
- At
- bifoga
- audio
- augmented
- tillgänglig
- undvika
- AWS
- bas
- baserat
- BE
- därför att
- blir
- varit
- innan
- Där vi får lov att vara utan att konstant prestera,
- Bättre
- partisk
- Stor
- Stora data
- SLUTRESULTAT
- Byggnad
- inbyggd
- företag
- företag
- Knappen
- by
- Ring
- KAN
- canvas
- kapacitet
- Vid
- Orsak
- Förändringar
- avgifter
- Välja
- rena
- Rengöring
- koda
- Kodning
- kombinera
- kommentar
- Företag
- jämfört
- konkurrenskraftig
- fullborda
- komplex
- komplexiteter
- förstå
- omfattande
- Compute
- Tänk
- Konsol
- innehålla
- innehåller
- innehåll
- innehåll
- sammanhang
- kontexter
- fortsätter
- kontroll
- konvertera
- Motsvarande
- kunde
- täcka
- skapa
- skapas
- kritisk
- beställnings
- kund
- Kundservice
- Kunder
- datum
- Förberedelse av data
- Databas
- datauppsättningar
- deloitte
- demonstreras
- utplacera
- distributioner
- Designa
- detaljer
- utveckla
- olika
- svårt
- Dimensionera
- riktning
- direkt
- Upptäck
- do
- dokumentera
- dokumentation
- dokument
- domän
- domäner
- ner
- under
- e
- varje
- lätt
- effektivt
- effektiv
- effektivt
- e
- inbäddning
- bemyndigar
- aktiverad
- möjliggör
- uppmuntra
- början till slut
- ingenjör
- engineered
- Teknik
- utvärdering
- Även
- exempel
- finns
- erfarenhet
- upplever
- experimentell
- utforska
- Utforska
- export
- extrahera
- Leverans
- Funktioner
- få
- Fält
- Fil
- filtrera
- slutlig
- hitta
- flöda
- följt
- efter
- följer
- För
- forbes
- fundament
- Stiftelser
- Fri
- från
- full
- funktioner
- ytterligare
- framtida
- Få
- generera
- genereras
- generera
- generering
- generativ
- Generativ AI
- skaffa sig
- Ge
- ges
- Välgörenhet
- Go
- Målet
- god
- större
- Har
- he
- headers
- hög kvalitet
- hans
- innehar
- Hem
- Hur ser din drömresa ut
- How To
- Men
- html
- HTTPS
- i
- identiska
- if
- bilder
- Inverkan
- genomförande
- importera
- med Esport
- imponerande
- förbättra
- in
- innefattar
- index
- indexeras
- informationen
- informativ
- inledande
- insikter
- instruktioner
- integrering
- Intelligens
- interaktiva
- intressen
- Gränssnitt
- Internet
- in
- engagera
- IT
- iteration
- iterationer
- DESS
- Lediga jobb
- jpg
- json
- kunskap
- land
- språk
- Large
- storskalig
- lansera
- Leads
- LÄRA SIG
- inlärning
- Lämna
- Led
- hävstångs
- ligger
- tycka om
- Lista
- Lyssna
- LLM
- läsa in
- läge
- platser
- förlust
- Lot
- älskade
- Låg
- Maskinen
- maskininlärning
- Huvudsida
- göra
- GÖR
- mask
- massiv
- Master
- Maj..
- mekanismer
- Media
- Meny
- meta
- metadata
- ML
- modell
- modeller
- blygsam
- mer
- mest
- multipel
- Musik
- namn
- Natural
- Naturlig språkbehandling
- Natur
- Navigering
- nödvändigt för
- Behöver
- Nya
- Nästa
- Nej
- anteckningsbok
- nu
- of
- Ofta
- on
- gång
- ettor
- endast
- Verksamhet
- Alternativet
- or
- organisation
- organisationer
- Övriga
- vår
- ut
- utfall
- utomhus
- produktion
- över
- sida
- pandor
- panelen
- Förbi
- Lösenord
- prestanda
- personlig
- plocka
- bit
- bitar
- rörledning
- plato
- Platon Data Intelligence
- PlatonData
- snälla du
- plus
- Punkt
- Strategier
- Inlägg
- potentiell
- drivs
- föredragen
- beredning
- Förbered
- förbereda
- Innan
- förmodligen
- Problem
- problem
- Fortsätt
- process
- bearbetning
- Produktion
- produktivitet
- professionell
- projektet
- egenskaper
- förutsatt
- ger
- tillhandahålla
- Python
- sökfrågor
- fråga
- frågor
- snabbt
- intervall
- snabb
- betyg
- nå
- Läsa
- verkliga världen
- mottagna
- hänvisa
- relaterad
- relevanta
- bort
- Rapporterad
- förfrågningar
- kräver
- Kräver
- Resurser
- respons
- svar
- vilar
- Resultat
- avkastning
- Omdömen
- höger
- Roll
- Körning
- sagemaker
- Samma
- Save
- Forskare
- Sök
- söka
- §
- sett
- välj
- skicka
- senior
- känslig
- service
- Tjänster
- inställningar
- skall
- show
- visade
- stänga
- stänga
- sida
- signera
- signifikant
- liknande
- enkelhet
- förenkla
- Storlek
- kodavsnitt
- So
- Social hållbarhet
- sociala medier
- lösning
- Lösningar
- LÖSA
- några
- Källa
- Källor
- specifik
- specifikt
- spendera
- Spendera
- Etapp
- stadier
- Steg
- Steg
- Fortfarande
- Strategisk
- strukturerade
- SAMMANFATTNING
- Stöder
- Undersökning
- Ta
- lag
- Teknisk
- tekniker
- testa
- text
- den där
- Smakämnen
- Framtiden
- deras
- Dem
- sedan
- Där.
- Dessa
- de
- detta
- Således
- tid
- titan
- till
- i dag
- verktyg
- Utbildning
- Förvandla
- Transformation
- transformationer
- omvandla
- sann
- avkortning
- Typ
- typer
- enhetlig
- us
- användning
- Begagnade
- Användare
- användare
- med hjälp av
- Värdefulla
- via
- Video
- visuell
- genomgång
- we
- webb
- webbservice
- VÄL
- som
- medan
- VEM
- kommer
- med
- Arbete
- arbetsflöde
- fungerar
- skulle
- skriva
- Om er
- Din
- zephyrnet