Yksi hyödyllisimmistä sovellusmalleista generatiivisen tekoälyn työkuormille on Retrieval Augmented Generation (RAG). RAG-mallissa löydämme syöttökehotteeseen liittyviä viitesisältöjä suorittamalla samankaltaisuushakuja upotuksille. Upotukset kaappaavat tietosisällön tekstikappaleisiin, jolloin luonnollisen kielen käsittelymallit (NLP) voivat työskennellä kielen kanssa numeerisessa muodossa. Upotukset ovat vain liukulukujen vektoreita, joten voimme analysoida niitä vastataksemme kolmeen tärkeään kysymykseen: Muuttuvatko viitetietomme ajan myötä? Muuttuvatko käyttäjien esittämät kysymykset ajan myötä? Ja lopuksi, kuinka hyvin viitetietomme kattavat esitetyt kysymykset?
Tässä viestissä opit joistakin vektorianalyysin upottamiseen ja upottamisen ajautumien signaalien havaitsemiseen liittyvistä seikoista. Koska upotukset ovat tärkeä tietolähde NLP-malleille yleensä ja generatiivisille tekoälyratkaisuille erityisesti, tarvitsemme tavan mitata, muuttuvatko upotukset ajan myötä (drifting). Tässä viestissä näet esimerkin ajautuman havaitsemisesta upotettaville vektoreille käyttämällä klusterointitekniikkaa, jossa käytetään suuria kielimalleja (LLMS) Amazon SageMaker JumpStart. Voit myös tutkia näitä käsitteitä kahden esimerkin avulla, mukaan lukien päästä päähän -mallisovellus tai valinnaisesti sovelluksen osajoukko.
Yleiskatsaus RAG:sta
- RAG kuvio avulla voit hakea tietoa ulkoisista lähteistä, kuten PDF-dokumenteista, wiki-artikkeleista tai kutsujen transkriptioista, ja käyttää tätä tietoa täydentämään LLM:lle lähetettyä ohjekehotetta. Tämän ansiosta LLM voi viitata asiaankuuluvampaan tietoon vastausta luodessaan. Jos esimerkiksi kysyt LLM:ltä, kuinka suklaakeksejä tehdään, se voi sisältää tietoja omasta reseptikirjastostasi. Tässä mallissa reseptiteksti muunnetaan upotusvektoreiksi käyttämällä upotusmallia ja tallennetaan vektoritietokantaan. Saapuvat kysymykset muunnetaan upotuksiksi, ja sitten vektoritietokanta suorittaa samankaltaisuushaun löytääkseen liittyvän sisällön. Kysymys ja viitetiedot menevät sitten LLM:n kehotteeseen.
Katsotaanpa lähemmin luotuja upotusvektoreita ja sitä, kuinka näiden vektorien ryömimäanalyysi suoritetaan.
Upotusvektoreiden analyysi
Upotusvektorit ovat numeerisia esityksiä tiedoistamme, joten näiden vektorien analyysi voi antaa käsityksen viitetietojemme, jota voidaan myöhemmin käyttää havaitsemaan mahdollisia ajautumasignaaleja. Upotusvektorit edustavat alkiota n-ulotteisessa avaruudessa, jossa n on usein suuri. Esimerkiksi tässä viestissä käytetty GPT-J 6B -malli luo vektoreita, joiden koko on 4096. Mittaaksesi ajautumista oletetaan, että sovelluksemme kaappaa upotusvektorit sekä viitetietoa että saapuvia kehotteita varten.
Aloitamme suorittamalla mittojen pienentämisen pääkomponenttianalyysillä (PCA). PCA yrittää vähentää ulottuvuuksien määrää säilyttäen samalla suurimman osan tietojen varianssista. Tässä tapauksessa yritämme löytää dimensioiden lukumäärän, joka säilyttää 95 % varianssista, jonka pitäisi kaapata mitä tahansa kahden keskihajonnan sisällä.
Sitten tunnistamme K-Meansin avulla joukon klusterikeskuksia. K-Means yrittää ryhmitellä pisteet yhteen klusteriksi siten, että kukin klusteri on suhteellisen kompakti ja klusterit mahdollisimman kaukana toisistaan.
Laskemme seuraavat tiedot seuraavassa kuvassa esitetyn klusteroinnin tulosten perusteella:
- PCA:n dimensioiden lukumäärä, jotka selittävät 95 % varianssista
- Kunkin klusterin keskuksen tai painopisteen sijainti
Lisäksi tarkastelemme näytteiden osuutta (suurempi tai pienempi) kussakin klusterissa, kuten seuraavassa kuvassa näkyy.
Lopuksi käytämme tätä analyysiä seuraavan laskemiseen:
- Inertia – Inertia on klusterin sentroidien neliöityjen etäisyyksien summa, joka mittaa kuinka hyvin data klusteroitiin K-Meansin avulla.
- Siluetti pisteet – Siluettipistemäärä on mitta, jolla vahvistetaan klustereiden yhtenäisyys, ja se vaihtelee -1:stä 1:een. Arvo lähellä 1 tarkoittaa, että klusterin pisteet ovat lähellä muita saman klusterin pisteitä ja kaukana klusterin pisteistä. muiden klustereiden pisteitä. Visuaalinen esitys siluettipisteistä näkyy seuraavassa kuvassa.
Voimme ajoittain kaapata nämä tiedot upotusten tilannekuvia varten sekä lähdeviitetietojen että kehotteiden osalta. Näiden tietojen kerääminen antaa meille mahdollisuuden analysoida mahdollisia signaaleja upottamisen ajautumisesta.
Tunnistaa upottamisen ajautumisen
Ajoittain voimme verrata klusterointitietoja tietojen tilannekuvien avulla, jotka sisältävät viitetietojen upotukset ja pikaupotukset. Ensin voimme verrata mittojen määrää, joka tarvitaan selittämään 95 % upotustietojen vaihtelusta, inertiasta ja klusterointityön siluettipisteistä. Kuten seuraavasta taulukosta näet, uusin upotusten tilannekuva vaatii perustilaan verrattuna 39 ulottuvuutta lisää selittämään varianssia, mikä osoittaa, että tietomme ovat hajautetumpia. Inertia on kasvanut, mikä osoittaa, että näytteet ovat kokonaisuutena kauempana klusterikeskuksistaan. Lisäksi siluettipistemäärä on laskenut, mikä osoittaa, että klusterit eivät ole yhtä hyvin määriteltyjä. Nopeat tiedot voivat tarkoittaa, että järjestelmään tulevat kysymykset kattavat enemmän aiheita.
Seuraavaksi seuraavassa kuvassa voimme nähdä, kuinka näytteiden osuus kussakin klusterissa on muuttunut ajan myötä. Tämä voi näyttää meille, ovatko uudemmat viitetietomme suurin piirtein samankaltaisia kuin edellinen joukko vai kattavatko ne uusia alueita.
Lopuksi voimme nähdä, liikkuvatko klusterikeskukset, mikä osoittaisi ajautumista klustereiden tiedoissa seuraavan taulukon mukaisesti.
Viitetietojen kattavuus saapuvia kysymyksiä varten
Voimme myös arvioida, kuinka hyvin vertailutietomme sopivat tuleviin kysymyksiin. Tätä varten määritämme jokaisen kehotteen upotuksen viitetietoklusteriin. Laskemme etäisyyden kustakin kehotteesta sen vastaavaan keskustaan ja tarkastelemme näiden etäisyyksien keskiarvoa, mediaania ja keskihajontaa. Voimme tallentaa nämä tiedot ja nähdä, kuinka ne muuttuvat ajan myötä.
Seuraavassa kuvassa on esimerkki nopean upotuksen ja viitetietokeskusten välisen etäisyyden analysoinnista ajan kuluessa.
Kuten näet, keskimääräinen, mediaani ja keskihajonnan etäisyystilastot pikaupotusten ja viitetietokeskusten välillä pienenevät alkuperäisen lähtötilanteen ja viimeisimmän tilannekuvan välillä. Vaikka etäisyyden absoluuttista arvoa on vaikea tulkita, voimme käyttää trendejä määrittääksemme, paraneeko vai huononeeko semanttinen päällekkäisyys vertailutietojen ja saapuvien kysymysten välillä ajan myötä.
Esimerkkisovellus
Edellisessä osiossa käsiteltyjen kokeellisten tulosten keräämiseksi rakensimme mallisovelluksen, joka toteuttaa RAG-mallin käyttämällä upotus- ja generointimalleja, jotka on otettu käyttöön SageMaker JumpStartin kautta ja isännöity Amazon Sage Maker reaaliaikaisia päätepisteitä.
Sovelluksessa on kolme ydinosaa:
- Käytämme interaktiivista kulkua, joka sisältää käyttöliittymän kehotteiden sieppaamiseen yhdistettynä RAG-orkesterikerrokseen LangChainin avulla.
- Tietojenkäsittelyvirta poimii tiedot PDF-dokumenteista ja luo upotuksia, jotka tallennetaan Amazon OpenSearch-palvelu. Käytämme näitä myös sovelluksen lopullisessa upotusryömintäanalyysikomponentissa.
- Upotukset on tallennettu Amazonin yksinkertainen tallennuspalvelu (Amazon S3) kautta Amazon Kinesis Data Firehose, ja käytämme yhdistelmää AWS-liima pura, muunna ja lataa (ETL) työt ja Jupyter-muistikirjat upotusanalyysin suorittamiseksi.
Seuraava kaavio havainnollistaa päästä päähän -arkkitehtuuria.
Täysi esimerkkikoodi on saatavilla osoitteessa GitHub. Toimitettu koodi on saatavana kahdella eri mallilla:
- Esimerkki täyden pinon sovelluksesta Streamlit-käyttöliittymällä – Tämä tarjoaa päästä päähän -sovelluksen, mukaan lukien käyttöliittymän, joka käyttää Streamlitiä kehotteiden sieppaamiseen yhdistettynä RAG-orkesterikerrokseen, jossa käytetään LangChainia Amazonin elastisten säiliöiden palvelu (Amazon ECS) kanssa AWS-veljeskunta
- Taustasovellus – Niille, jotka eivät halua ottaa käyttöön koko sovelluspinoa, voit halutessasi ottaa käyttöön vain taustajärjestelmän AWS Cloud Development Kit (AWS CDK) pino ja käytä sitten mukana toimitettua Jupyter-muistikirjaa RAG-orkesterointiin LangChainilla
Annettujen mallien luomiseksi on useita seuraavissa osioissa kuvattuja edellytyksiä. Aloitetaan generatiivisten ja tekstin upotusmallien käyttöönotosta ja siirrytään sitten lisäedellytyksiin.
Ota mallit käyttöön SageMaker JumpStartin kautta
Molemmat mallit olettavat upotusmallin ja generatiivisen mallin käyttöönoton. Tätä varten otat käyttöön kaksi mallia SageMaker JumpStartista. Ensimmäistä mallia, GPT-J 6B, käytetään upotusmallina ja toista mallia, Falcon-40b, käytetään tekstin luomiseen.
Voit ottaa kaikki nämä mallit käyttöön SageMaker JumpStart -sovelluksen kautta AWS-hallintakonsoli, Amazon SageMaker Studiotai ohjelmallisesti. Lisätietoja on kohdassa JumpStart-pohjamallien käyttäminen. Käyttöönoton yksinkertaistamiseksi voit käyttää toimitettu muistikirja johdettu SageMaker JumpStartin automaattisesti luomista muistikirjoista. Tämä muistikirja hakee mallit SageMaker JumpStart ML -keskittimestä ja ottaa ne käyttöön kahteen erilliseen SageMakerin reaaliaikaiseen päätepisteeseen.
Esimerkkimuistikirjassa on myös puhdistusosio. Älä suorita tätä osaa vielä, koska se poistaa juuri käyttöönotetut päätepisteet. Teet siivouksen loppuun esittelyn lopussa.
Kun olet vahvistanut päätepisteiden onnistuneen käyttöönoton, olet valmis ottamaan käyttöön täyden mallisovelluksen. Jos olet kuitenkin kiinnostunut tutkimaan vain tausta- ja analyysimuistikirjoja, voit valinnaisesti ottaa käyttöön vain sen, jota käsitellään seuraavassa osassa.
Vaihtoehto 1: Ota käyttöön vain taustasovellus
Tämän mallin avulla voit ottaa käyttöön vain taustaratkaisun ja olla vuorovaikutuksessa ratkaisun kanssa Jupyter-muistikirjan avulla. Käytä tätä mallia, jos et halua rakentaa koko käyttöliittymää.
Edellytykset
Sinulla tulee olla seuraavat edellytykset:
- SageMaker JumpStart -mallin päätepiste otettu käyttöön – Ota mallit käyttöön SageMakerin reaaliaikaisissa päätepisteissä SageMaker JumpStartin avulla, kuten aiemmin on kuvattu
- Käyttöönottoparametrit – Tallenna seuraavat tiedot:
- Tekstimallin päätepisteen nimi – SageMaker JumpStartin kanssa käyttöön otetun tekstin luontimallin päätepisteen nimi
- Upotusmallin päätepisteen nimi – SageMaker JumpStartin kanssa käyttöön otetun upotusmallin päätepisteen nimi
Ota resurssit käyttöön AWS CDK:n avulla
Käytä edellisessä osassa mainittuja käyttöönottoparametreja ottaaksesi AWS CDK -pinon käyttöön. Lisätietoja AWS CDK -asennuksesta on kohdassa Aloittaminen AWS CDK: n kanssa.
Varmista, että Docker on asennettu ja käynnissä työasemassa, jota käytetään AWS CDK:n käyttöönottoon. Viitata Hanki Docker lisäohjeita varten.
Vaihtoehtoisesti voit syöttää kontekstiarvot tiedostoon nimeltä cdk.context.json
vuonna pattern1-rag/cdk
hakemistoon ja suorita cdk deploy BackendStack --exclusively
.
Käyttöönotto tulostaa tulosteet, joista osa tarvitaan muistikirjan käyttämiseen. Ennen kuin voit aloittaa kysymyksen ja vastaamisen, upota viiteasiakirjat seuraavassa osiossa esitetyllä tavalla.
Upota viiteasiakirjat
Tässä RAG-lähestymistavassa viiteasiakirjat upotetaan ensin tekstin upotusmalliin ja tallennetaan vektoritietokantaan. Tässä ratkaisussa on rakennettu sisäänottoputki, joka vastaanottaa PDF-dokumentteja.
An Amazonin elastinen laskentapilvi (Amazon EC2) -esiintymä on luotu PDF-dokumenttien käsittelyä ja an Amazonin elastinen tiedostojärjestelmä (Amazon EFS) -tiedostojärjestelmä on asennettu EC2-instanssiin PDF-dokumenttien tallentamista varten. An AWS DataSync tehtävä suoritetaan tunnin välein EFS-tiedostojärjestelmän polusta löytyvien PDF-dokumenttien noutamiseksi ja lataamiseksi S3-säihöön tekstin upotusprosessin aloittamiseksi. Tämä prosessi upottaa viiteasiakirjat ja tallentaa upotukset OpenSearch-palveluun. Se myös tallentaa upotusarkiston S3-ämpäriin Kinesis Data Firehosen kautta myöhempää analysointia varten.
Voit käyttää viiteasiakirjoja suorittamalla seuraavat vaiheet:
- Hae luodun mallin EC2-ilmentymän tunnus (katso AWS CDK -lähtö
JumpHostId
) ja yhdistä käyttämällä Session Manager, kyky AWS-järjestelmien päällikkö. Katso ohjeet kohdasta Yhdistä Linux-esiintymääsi AWS Systems Manager -istunnonhallinnan avulla. - Siirry hakemistoon
/mnt/efs/fs1
, johon EFS-tiedostojärjestelmä on asennettu, ja luo kansio nimeltäingest
: - Lisää PDF-viiteasiakirjasi tiedostoon
ingest
hakemistoon.
DataSync-tehtävä on määritetty lataamaan kaikki tästä hakemistosta löydetyt tiedostot Amazon S3:een upotusprosessin aloittamiseksi.
DataSync-tehtävä suoritetaan tuntiaikataulun mukaisesti; Voit halutessasi käynnistää tehtävän manuaalisesti aloittaaksesi lisäämiesi PDF-dokumenttien upottamisen välittömästi.
- Aloita tehtävä etsimällä tehtävän tunnus AWS CDK -lähdöstä
DataSyncTaskID
ja aloita tehtävä oletusarvojen kanssa.
Kun upotukset on luotu, voit aloittaa RAG-kysymyksen ja vastaamisen Jupyter-muistikirjan kautta, kuten seuraavassa osiossa näytetään.
Kysymys ja vastaus Jupyter-muistikirjan avulla
Suorita seuraavat vaiheet:
- Hae SageMaker-muistikirjan ilmentymän nimi AWS CDK -lähdöstä
NotebookInstanceName
ja muodosta yhteys JupyterLabiin SageMaker-konsolista. - Siirry hakemistoon
fmops/full-stack/pattern1-rag/notebooks/
. - Avaa ja käynnistä muistikirja
query-llm.ipynb
muistikirja-esiintymässä kysymysten ja vastausten suorittamiseen RAG:n avulla.
Varmista, että käytät conda_python3
ydin muistikirjaa varten.
Tämä malli on hyödyllinen taustaratkaisun tutkimiseen ilman, että sinun tarvitsee luoda täyden pinon sovellukselle vaadittavia lisäehtoja. Seuraava osio kattaa täyden pinon sovelluksen toteuttamisen, mukaan lukien sekä käyttöliittymä- että taustakomponentit, jotta voidaan tarjota käyttöliittymä vuorovaikutukseen generatiivisen AI-sovelluksesi kanssa.
Vaihtoehto 2: Ota käyttöön täyden pinon esimerkkisovellus Streamlit-käyttöliittymällä
Tämän mallin avulla voit ottaa ratkaisun käyttöön käyttöliittymän avulla kysymyksiä ja vastauksia varten.
Edellytykset
Jotta voit ottaa mallisovelluksen käyttöön, sinulla on oltava seuraavat edellytykset:
- SageMaker JumpStart -mallin päätepiste otettu käyttöön – Ota mallit käyttöön SageMakerin reaaliaikaisissa päätepisteissä käyttämällä SageMaker JumpStart -ohjelmaa, kuten edellisessä osiossa kuvattiin, käyttämällä mukana toimitettuja muistikirjoja.
- Amazon Route 53 isännöi vyöhyke - Luo Amazon-reitti 53 julkinen isännöity vyöhyke käyttää tähän ratkaisuun. Voit myös käyttää olemassa olevaa Route 53:n julkista isännöintivyöhykettä, kuten
example.com
. - AWS Certificate Manager -sertifikaatti – Varaa an AWS-varmenteen hallinta (ACM) TLS-sertifikaatti Route 53 -isännöidyn alueen verkkotunnukselle ja sen soveltuville aliverkkotunnuksille, kuten
example.com
ja*.example.com
kaikille aliverkkotunnuksille. Katso ohjeet kohdasta Julkisen varmenteen pyytäminen. Tätä varmennetta käytetään HTTPS:n määrittämiseen Amazon CloudFront ja lähtökuormituksen tasapainotin. - Käyttöönottoparametrit – Tallenna seuraavat tiedot:
- Käyttöliittymäsovelluksen mukautettu verkkotunnuksen nimi – Mukautettu toimialueen nimi, jota käytetään käyttöliittymän esimerkkisovelluksen käyttämiseen. Annettua toimialueen nimeä käytetään Route 53 DNS -tietueen luomiseen, joka osoittaa käyttöliittymän CloudFront-jakelun; esimerkiksi,
app.example.com
. - Kuormantasaajan alkuperän mukautettu verkkotunnuksen nimi – Mukautettu toimialueen nimi, jota käytetään CloudFront-jakelun kuormituksen tasapainottimen alkuperässä. Annettua verkkotunnuksen nimeä käytetään luomaan Route 53 DNS -tietue, joka osoittaa alkuperän kuormituksen tasapainottajaan; esimerkiksi,
app-lb.example.com
. - Reitin 53 isännöidyn vyöhykkeen tunnus – Route 53:n isännöimä vyöhyketunnus toimitettujen mukautettujen verkkotunnusten isännöimiseksi; esimerkiksi,
ZXXXXXXXXYYYYYYYYY
. - Reitin 53 isännöidyn vyöhykkeen nimi – Route 53 -isännöidyn vyöhykkeen nimi toimitettujen mukautettujen verkkotunnusten isännöimiseksi; esimerkiksi,
example.com
. - ACM-sertifikaatti ARN – Mukautetun toimialueen kanssa käytettävän ACM-varmenteen ARN.
- Tekstimallin päätepisteen nimi – SageMaker JumpStartin kanssa käyttöön otetun tekstin luontimallin päätepisteen nimi.
- Upotusmallin päätepisteen nimi – SageMaker JumpStartin kanssa käyttöön otetun upotusmallin päätepisteen nimi.
- Käyttöliittymäsovelluksen mukautettu verkkotunnuksen nimi – Mukautettu toimialueen nimi, jota käytetään käyttöliittymän esimerkkisovelluksen käyttämiseen. Annettua toimialueen nimeä käytetään Route 53 DNS -tietueen luomiseen, joka osoittaa käyttöliittymän CloudFront-jakelun; esimerkiksi,
Ota resurssit käyttöön AWS CDK:n avulla
Käytä AWS CDK -pinon käyttöönottoa edellytyksissä mainitsemiasi käyttöönottoparametreja. Lisätietoja on kohdassa Aloittaminen AWS CDK: n kanssa.
Varmista, että Docker on asennettu ja käynnissä työasemassa, jota käytetään AWS CDK:n käyttöönotossa.
Edellisessä koodissa -c edustaa kontekstiarvoa vaadittujen edellytysten muodossa, joka annetaan syötteessä. Vaihtoehtoisesti voit syöttää kontekstiarvot tiedostoon nimeltä cdk.context.json
vuonna pattern1-rag/cdk
hakemistoon ja suorita cdk deploy --all
.
Huomaa, että määritämme alueen tiedostossa bin/cdk.ts
. ALB-käyttölokien määrittäminen vaatii tietyn alueen. Voit vaihtaa tämän alueen ennen käyttöönottoa.
Käyttöönotto tulostaa URL-osoitteen Streamlit-sovelluksen käyttöä varten. Ennen kuin voit aloittaa kysymyksen ja vastaamisen, sinun on upotettava viiteasiakirjat seuraavassa osiossa esitetyllä tavalla.
Upota viiteasiakirjat
RAG-lähestymistavassa viiteasiakirjat upotetaan ensin tekstin upotusmalliin ja tallennetaan vektoritietokantaan. Tässä ratkaisussa on rakennettu sisäänottoputki, joka vastaanottaa PDF-dokumentteja.
Kuten ensimmäisessä käyttöönottovaihtoehdossa totesimme, PDF-dokumenttien käsittelyä varten on luotu esimerkki EC2-esiintymästä ja EC2-ilmentymään on asennettu EFS-tiedostojärjestelmä PDF-dokumenttien tallentamiseksi. DataSync-tehtävä suoritetaan tunnin välein EFS-tiedostojärjestelmän polusta löytyvien PDF-dokumenttien hakemiseksi ja ne lataamiseksi S3-säihöön tekstin upotusprosessin aloittamiseksi. Tämä prosessi upottaa viiteasiakirjat ja tallentaa upotukset OpenSearch-palveluun. Se myös tallentaa upotusarkiston S3-ämpäriin Kinesis Data Firehosen kautta myöhempää analysointia varten.
Voit käyttää viiteasiakirjoja suorittamalla seuraavat vaiheet:
- Hae luodun mallin EC2-ilmentymän tunnus (katso AWS CDK -lähtö
JumpHostId
) ja muodosta yhteys Istuntohallinnan avulla. - Siirry hakemistoon
/mnt/efs/fs1
, johon EFS-tiedostojärjestelmä on asennettu, ja luo kansio nimeltäingest
: - Lisää PDF-viiteasiakirjasi tiedostoon
ingest
hakemistoon.
DataSync-tehtävä on määritetty lataamaan kaikki tästä hakemistosta löydetyt tiedostot Amazon S3:een upotusprosessin aloittamiseksi.
DataSync-tehtävä suoritetaan tuntiaikataulun mukaan. Voit halutessasi käynnistää tehtävän manuaalisesti aloittaaksesi lisäämiesi PDF-dokumenttien upottamisen välittömästi.
- Aloita tehtävä etsimällä tehtävän tunnus AWS CDK -lähdöstä
DataSyncTaskID
ja aloita tehtävä oletusarvojen kanssa.
Kysymys ja vastaus
Kun viiteasiakirjat on upotettu, voit aloittaa RAG-kysymyksen ja vastaamisen käymällä URL-osoitteessa päästäksesi Streamlit-sovellukseen. An Amazon Cognito todennuskerrosta käytetään, joten se vaatii käyttäjätilin luomisen Amazon Cognito -käyttäjäpooliin, joka on otettu käyttöön AWS CDK:n kautta (katso käyttäjäryhmän nimi AWS CDK -ulostulosta), jotta sovellukseen pääsee ensimmäistä kertaa. Katso ohjeet Amazon Cognito -käyttäjän luomiseen Uuden käyttäjän luominen AWS-hallintakonsolissa.
Upota ajautumisanalyysi
Tässä osiossa näytämme, kuinka voit suorittaa poikkeama-analyysin luomalla ensin vertailutietojen upotusten ja kehoteupotusten perusviiva ja luomalla sitten tilannekuvan upotuksista ajan mittaan. Tämän avulla voit verrata perustason upotuksia tilannekuva-upotuksiin.
Luo upottamisen perusviiva viitetiedoille ja kehota
Luodaksesi upottamisen perusviivan viitetiedoista avaamalla AWS Glue -konsoli ja valitsemalla ETL-työn. embedding-drift-analysis
. Aseta ETL-työn parametrit seuraavasti ja suorita työ:
- Asettaa
--job_type
ettäBASELINE
. - Asettaa
--out_table
että Amazon DynamoDB taulukko viitetietojen upottamista varten. (Katso AWS CDK -lähtöDriftTableReference
taulukon nimeksi.) - Asettaa
--centroid_table
DynamoDB-taulukkoon keskipistetietojen viitetietojen saamiseksi. (Katso AWS CDK -lähtöCentroidTableReference
taulukon nimeksi.) - Asettaa
--data_path
S3-ämpäriin etuliitteellä; esimerkiksi,s3://
/embeddingarchive/
. (Katso AWS CDK -lähtöBucketName
ämpärin nimeä varten.)
Vastaavasti käyttämällä ETL-työtä embedding-drift-analysis
, luo kehotteiden upottamisen perusviiva. Aseta ETL-työn parametrit seuraavasti ja suorita työ:
- Asettaa
--job_type
ettäBASELINE
- Asettaa
--out_table
DynamoDB-taulukkoon tietojen nopeaa upottamista varten. (Katso AWS CDK -lähtöDriftTablePromptsName
taulukon nimeksi.) - Asettaa
--centroid_table
DynamoDB-taulukkoon nopeaa sentroiditietoja varten. (Katso AWS CDK -lähtöCentroidTablePrompts
taulukon nimeksi.) - Asettaa
--data_path
S3-ämpäriin etuliitteellä; esimerkiksi,s3://
/promptarchive/
. (Katso AWS CDK -lähtöBucketName
ämpärin nimeä varten.)
Luo upotusvedos viitetiedoista ja kehota
Kun olet syöttänyt lisätietoja OpenSearch-palveluun, suorita ETL-työ embedding-drift-analysis
uudelleen ottaaksesi tilannekuvan viitetietojen upotuksista. Parametrit ovat samat kuin ETL-työ, jonka suoritit luodaksesi viitetietojen upottamisen perusviivan edellisessä osiossa esitetyllä tavalla, lukuun ottamatta --job_type
parametri SNAPSHOT
.
Samoin voit ottaa tilannekuvan kehoteupotuksista suorittamalla ETL-työn embedding-drift-analysis
uudelleen. Parametrit ovat samat kuin ETL-työ, jonka suoritit luodaksesi upottamisen perusviivan kehotteisiin kuten edellisessä osiossa näytettiin, lukuun ottamatta --job_type
parametri SNAPSHOT
.
Vertaa perusviivaa tilannekuvaan
Vertaaksesi upotuksen perusviivaa ja tilannekuvaa viitetietojen ja kehotteiden saamiseksi, käytä mukana toimitettua muistikirjaa pattern1-rag/notebooks/drift-analysis.ipynb
.
Jos haluat tarkastella upotusvertailua viitetietojen tai kehotteiden saamiseksi, muuta DynamoDB-taulukon nimimuuttujia (tbl
ja c_tbl
) muistikirjassa sopivaan DynamoDB-taulukkoon jokaiselle muistikirjan ajolle.
Muistikirjan muuttuja tbl
tulee vaihtaa sopivaksi drift-taulukon nimeksi. Seuraavassa on esimerkki muuttujan määrittämisestä muistikirjassa.
Taulukoiden nimet voidaan hakea seuraavasti:
- Hae drift-taulukon nimi AWS CDK -lähdöstä upotustietoja varten
DriftTableReference
- Jos haluat upotustiedot, nouta drift-taulukon nimi AWS CDK -tulosta
DriftTablePromptsName
Lisäksi muistikirjan muuttuja c_tbl
tulee vaihtaa sopivaksi sentroiditaulukon nimeksi. Seuraavassa on esimerkki muuttujan määrittämisestä muistikirjassa.
Taulukoiden nimet voidaan hakea seuraavasti:
- Upotustietoja varten hae sentroiditaulukon nimi AWS CDK -lähdöstä
CentroidTableReference
- Jos haluat upotustiedot, hae sentroiditaulukon nimi AWS CDK -tulosta
CentroidTablePrompts
Analysoi etäisyys viitetiedoista
Suorita ensin AWS-liimatyö embedding-distance-analysis
. Tässä työssä selvitetään, mihin klusteriin kukin kehote kuuluu K-Means-arvioinnin perusteella. Sitten se laskee etäisyyden keskiarvon, mediaanin ja keskihajonnan kustakin kehotteesta vastaavan klusterin keskustaan.
Voit käyttää muistikirjaa pattern1-rag/notebooks/distance-analysis.ipynb
nähdäksesi etäisyysmittareiden trendit ajan mittaan. Tämä antaa sinulle käsityksen yleisestä suuntauksesta nopean upotusetäisyyden jakautumisessa.
Muistikirja pattern1-rag/notebooks/prompt-distance-outliers.ipynb
on AWS Glue -muistikirja, joka etsii poikkeavuuksia, joiden avulla voit tunnistaa, saatko lisää kehotteita, jotka eivät liity viitetietoihin.
Tarkkaile samankaltaisuuspisteitä
Kaikki OpenSearch-palvelun samankaltaisuuspisteet kirjataan sisään amazonin pilvikello alla rag
nimiavaruus. Kojelauta RAG_Scores
näyttää keskimääräisen pistemäärän ja syötettyjen pisteiden kokonaismäärän.
Puhdistaa
Vältä tulevia maksuja poistamalla kaikki luomasi resurssit.
Poista käyttöönotetut SageMaker-mallit
Katso puhdistus-osio toimitettu esimerkkimuistikirja Jos haluat poistaa käyttöönotetut SageMaker JumpStart -mallit, tai voit poista mallit SageMaker-konsolista.
Poista AWS CDK -resurssit
Jos syötit parametrit kohtaan a cdk.context.json
tiedosto, puhdista seuraavasti:
Jos syötit parametrit komentoriville ja otit käyttöön vain taustasovelluksen (taustaohjelman AWS CDK -pino), puhdista se seuraavasti:
Jos syötit parametrit komentoriville ja otit käyttöön koko ratkaisun (etu- ja tausta-AWS CDK -pinot), puhdista se seuraavasti:
Yhteenveto
Tässä viestissä tarjosimme toimivan esimerkin sovelluksesta, joka kaappaa upotusvektorit sekä referenssitiedoille että kehotteita RAG-malliin generatiiviselle tekoälylle. Näitimme, kuinka klusterointianalyysi tehdään sen määrittämiseksi, ajautuvatko viite- tai pikatiedot ajan myötä ja kuinka hyvin viitetiedot kattavat käyttäjien esittämät kysymykset. Jos havaitset ajautumisen, se voi antaa signaalin siitä, että ympäristö on muuttunut ja mallisi saa uusia tuloja, joita ei ehkä ole optimoitu käsittelemään. Tämä mahdollistaa nykyisen mallin ennakoivan arvioinnin muuttuvia syötteitä vastaan.
Tietoja Tekijät
Abdullahi Olaoye on vanhempi ratkaisuarkkitehti Amazon Web Servicesissä (AWS). Abdullahi on suorittanut tietokoneverkon MSC-tutkinnon Wichita State Universitystä, ja hän on julkaistu kirjailija, joka on toiminut eri teknologia-aloilla, kuten DevOpsissa, infrastruktuurin modernisoinnissa ja tekoälyssä. Hän keskittyy tällä hetkellä generatiiviseen tekoälyyn, ja hänellä on keskeinen rooli auttaessaan yrityksiä suunnittelemaan ja rakentamaan Generative AI -ratkaisuja. Tekniikan alan lisäksi hän iloitsee tutkimisen taiteesta. Kun hän ei luo tekoälyratkaisuja, hän nauttii matkustamisesta perheensä kanssa tutkimaan uusia paikkoja.
Randy DeFauw on AWS:n vanhempi ratkaisuarkkitehti. Hän on suorittanut MSEE-tutkinnon Michiganin yliopistosta, jossa hän työskenteli autonomisten ajoneuvojen tietokonenäön parissa. Hän on myös suorittanut MBA-tutkinnon Colorado State Universitystä. Randy on toiminut erilaisissa tehtävissä teknologia-alalla ohjelmistosuunnittelusta tuotehallintaan. In astui Big Data -avaruuteen vuonna 2013 ja jatkaa tämän alueen tutkimista. Hän työskentelee aktiivisesti projekteissa ML-tilassa ja on esiintynyt lukuisissa konferensseissa, mukaan lukien Strata ja GlueCon.
Shelbee Eigenbrode on johtava tekoäly- ja koneoppimisasiantuntijaratkaisujen arkkitehti Amazon Web Servicesissä (AWS). Hän on työskennellyt tekniikan parissa 24 vuoden ajan useilla toimialoilla, teknologioilla ja rooleilla. Hän keskittyy parhaillaan yhdistämään DevOps- ja ML-taustansa MLOps-alueeseen auttaakseen asiakkaita toimittamaan ja hallitsemaan ML-työkuormia laajasti. Hänellä on yli 35 patenttia, jotka on myönnetty eri teknologia-alueille, ja hän on intohimoinen jatkuvaan innovaatioon ja tiedon käyttämiseen liiketoiminnan tulosten edistämiseen. Shelbee on Courseran Practical Data Science -erikoisalan luoja ja ohjaaja. Hän on myös naisten Big Datan (WiBD) Denver-luvun apulaisjohtaja. Vapaa-ajallaan hän viettää mielellään aikaa perheensä, ystäviensä ja yliaktiivisten koirien kanssa.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/monitor-embedding-drift-for-llms-deployed-from-amazon-sagemaker-jumpstart/
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 1
- 10
- 100
- 2013
- 24
- 35%
- 39
- 7
- 9
- 95%
- a
- pystyy
- Meistä
- absoluuttinen
- pääsy
- Tili
- ACM
- poikki
- aktiivisesti
- lisä-
- Lisäksi
- lisä-
- lisäinformaatio
- Lisäksi
- uudelleen
- vastaan
- aggregaatti
- AI
- Kohdistaa
- Kaikki
- Salliminen
- mahdollistaa
- Myös
- Vaikka
- Amazon
- Amazon Cognito
- Amazon EC2
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- analyysi
- analysoida
- analysointi
- ja
- vastaus
- puhelinvastaaja
- mitään
- sovelletaan
- Hakemus
- lähestymistapa
- sopiva
- arkkitehtuuri
- Archive
- OVAT
- ALUE
- alueet
- Art
- artikkelit
- AS
- kysyä
- pyytäminen
- avustaminen
- olettaa
- At
- lisätä
- täydennetty
- Authentication
- kirjoittaja
- automaattisesti
- autonominen
- autonomiset ajoneuvot
- saatavissa
- keskimäärin
- välttää
- pois
- AWS
- AWS-liima
- taustaosa
- tausta
- swing
- perustua
- Lähtötilanne
- BE
- koska
- ollut
- ennen
- ovat
- kuuluu
- Paremmin
- välillä
- Jälkeen
- Iso
- Big Data
- elimet
- sekä
- laajasti
- rakentaa
- rakennettu
- liiketoiminta
- by
- laskea
- laskee
- soittaa
- nimeltään
- CAN
- valmiudet
- kaapata
- kiinni
- kaappaa
- Kaappaaminen
- tapaus
- CD
- keskus
- keskuksissa
- todistus
- muuttaa
- muuttunut
- Muutokset
- muuttuviin
- Luku
- maksut
- siru
- Suklaa
- Valita
- puhdas
- lähellä
- lähempänä
- pilvi
- Cluster
- klustereiden
- koodi
- Colorado
- yhdistelmä
- yhdistetty
- yhdistely
- tuleva
- kompakti
- verrata
- verrattuna
- vertailu
- täydellinen
- komponentti
- osat
- Laskea
- tietokone
- Tietokoneen visio
- käsitteet
- konferenssit
- määritetty
- konfigurointi
- kytkeä
- näkökohdat
- Console
- Kontti
- pitoisuus
- tausta
- jatkuu
- jatkuva
- muunnetaan
- keksit
- Ydin
- vastaava
- kattavuus
- katettu
- päällyste
- Covers
- luoda
- luotu
- luo
- Luominen
- Nykyinen
- Tällä hetkellä
- asiakassuhde
- Asiakkaat
- leikkaamisreuna
- kojelauta
- tiedot
- datakeskukset
- tietojenkäsittely
- tietojenkäsittely
- tietokanta
- oletusarvot
- määritelty
- toimittaa
- Denver
- sijoittaa
- käyttöön
- levityspinnalta
- käyttöönotto
- lauennut
- johdettu
- tuhota
- yksityiskohtainen
- havaita
- Detection
- Määrittää
- Kehitys
- poikkeama
- kaavio
- eri
- vaikea
- Ulottuvuus
- mitat
- keskusteltiin
- dispergoituneena
- etäisyys
- kaukainen
- jakelu
- dns
- do
- Satamatyöläinen
- asiakirja
- asiakirjat
- verkkotunnuksen
- Domain Name
- DOMAIN-NIMET
- verkkotunnuksia
- Dont
- alas
- ajaa
- kukin
- Upottaa
- upotettu
- upottamisen
- loppu
- päittäin
- päätepiste
- Tekniikka
- enter
- astui sisään
- yrityksille
- ympäristö
- arvioida
- arviointi
- Joka
- esimerkki
- Esimerkit
- poikkeus
- olemassa
- kokeellinen
- Selittää
- tutkimus
- tutkia
- Tutkiminen
- ulkoinen
- uute
- otteet
- perhe
- paljon
- Kuva
- filee
- Asiakirjat
- lopullinen
- Vihdoin
- Löytää
- löydöt
- Etunimi
- kelluva
- virtaus
- keskityttiin
- tarkennus
- jälkeen
- seuraa
- varten
- muoto
- löytyi
- perusta
- ystäviä
- alkaen
- Frontend
- koko
- tulevaisuutta
- kerätä
- general
- tuottaa
- sukupolvi
- generatiivinen
- Generatiivinen AI
- saada
- saada
- Antaa
- Go
- poissa
- myönnetty
- Ryhmä
- ohjaus
- kahva
- Olla
- he
- sankari
- auttaa
- hänen
- korkeampi
- hänen
- pitää
- isäntä
- isännöi
- tunti
- Miten
- Miten
- Kuitenkin
- HTML
- http
- HTTPS
- Napa
- ID
- tunnistaa
- if
- havainnollistaa
- heti
- täytäntöönpano
- työkoneet
- tärkeä
- in
- sisältää
- sisältää
- Mukaan lukien
- Saapuva
- osoittaa
- teollisuuden
- inertia
- tiedot
- Infrastruktuuri
- ensimmäinen
- Innovaatio
- panos
- tuloa
- tietoa
- asennus
- asennetaan
- esimerkki
- ohjeet
- olla vuorovaikutuksessa
- vuorovaikutuksessa
- vuorovaikutteinen
- kiinnostunut
- liitäntä
- tulee
- IT
- SEN
- Job
- Työpaikat
- ilo
- jpg
- vain
- avain
- Kinesis Data Firehose
- tuntemus
- Kieli
- suuri
- myöhemmin
- uusin
- kerros
- OPPIA
- oppiminen
- Lets
- Kirjasto
- tykkää
- linja
- linux
- OTK
- kuormitus
- sijainti
- kirjattu
- katso
- ulkonäkö
- alentaa
- kone
- koneoppiminen
- tehdä
- hoitaa
- johto
- johtaja
- käsin
- Saattaa..
- tarkoittaa
- välineet
- mitata
- toimenpiteet
- Metrics
- Michigan
- ehkä
- ML
- MLOps
- malli
- mallit
- monitori
- lisää
- eniten
- liikkuvat
- moninkertainen
- täytyy
- nimi
- nimet
- Luonnollinen
- Luonnollinen kielen käsittely
- Tarve
- tarvitaan
- tarvitsevat
- verkostoituminen
- Uusi
- uudempi
- seuraava
- NLP
- muistikirja
- huomattava
- numero
- numerot
- useat
- of
- usein
- on
- vain
- avata
- optimoitu
- Vaihtoehto
- or
- orkestrointi
- tilata
- alkuperä
- Muut
- meidän
- ulos
- tuloksiin
- hahmoteltu
- ulostulo
- lähdöt
- yli
- yleinen
- päällekkäisyys
- oma
- parametri
- parametrit
- erityinen
- intohimo
- Patentit
- polku
- Kuvio
- kuviot
- Suorittaa
- esittävä
- kappaletta
- putki
- paikat
- Platon
- Platonin tietotieto
- PlatonData
- soittaa
- Kohta
- pistettä
- pool
- kantoja
- mahdollinen
- Kirje
- mahdollinen
- powered
- Käytännön
- edeltävä
- edellytyksiä
- esitetty
- säilöntä
- edellinen
- aiemmin
- Pääasiallinen
- Painaa
- Ennakoiva
- prosessi
- käsittely
- Tuotteet
- tuotehallinta
- hankkeet
- ohjeita
- osa
- toimittaa
- mikäli
- tarjoaa
- säännös
- julkinen
- julkaistu
- Vetää
- kysymys
- kysymykset
- rätti
- vaihtelee
- alainen
- valmis
- reaaliaikainen
- valtakunta
- resepti
- ennätys
- vähentää
- vähentäminen
- katso
- viite
- alue
- liittyvä
- suhteellisesti
- merkityksellinen
- edustaa
- edustus
- edustaa
- tarvitaan
- Vaatii
- Esittelymateriaalit
- vastaus
- tulokset
- haku
- Rooli
- roolit
- Reitti
- ajaa
- juoksu
- toimii
- sagemaker
- sama
- Säästä
- Asteikko
- aikataulu
- tiede
- pisteet
- Haku
- haut
- Toinen
- Osa
- osiot
- nähdä
- nähneet
- valita
- semanttinen
- vanhempi
- tunne
- lähetetty
- erillinen
- palvelu
- Palvelut
- Istunto
- setti
- asetus
- useat
- hän
- shouldnt
- näyttää
- osoittivat
- esitetty
- Näytä
- signaali
- signaalit
- samankaltainen
- Yksinkertainen
- yksinkertaistaa
- Koko
- Kuva
- So
- Tuotteemme
- ohjelmistotuotanto
- ratkaisu
- Ratkaisumme
- jonkin verran
- lähde
- Lähteet
- Tila
- jännitys
- asiantuntija
- määritelty
- viettää
- Squared
- pino
- Stacks
- standardi
- Alkaa
- alkoi
- Aloita
- Osavaltio
- tilasto
- Askeleet
- Levytila
- verkkokaupasta
- tallennettu
- onnistunut
- niin
- varma
- järjestelmä
- järjestelmät
- taulukko
- ottaa
- Tehtävä
- tekniikka
- Technologies
- Elektroniikka
- teksti
- että
- -
- tiedot
- Lähde
- heidän
- Niitä
- sitten
- Siellä.
- Nämä
- tätä
- ne
- kolmella
- Kautta
- aika
- että
- yhdessä
- Aiheet
- Yhteensä
- Muuttaa
- Matkustaminen
- Trend
- Trendit
- yrittää
- kaksi
- tyypit
- varten
- yliopisto
- URL
- us
- käyttää
- käytetty
- hyödyllinen
- käyttäjä
- Käyttöliittymä
- Käyttäjät
- käyttämällä
- validointi
- arvo
- arvot
- muuttuja
- lajike
- eri
- Ajoneuvot
- kautta
- visio
- visuaalinen
- läpikäynti
- haluta
- oli
- Tapa..
- we
- verkko
- verkkopalvelut
- HYVIN
- kun
- onko
- joka
- vaikka
- tulee
- with
- sisällä
- ilman
- Naiset
- Referenssit
- työskenteli
- työskentely
- työasema
- huonompi
- olisi
- vuotta
- vielä
- Voit
- Sinun
- zephyrnet
- vyöhyke