A generatív AI-munkaterhelések egyik leghasznosabb alkalmazási mintája a Retrieval Augmented Generation (RAG). A RAG mintában egy beviteli prompthoz kapcsolódó referenciatartalom-darabokat találunk a beágyazásokon végzett hasonlósági keresések végrehajtásával. A beágyazások az információtartalmat szövegtestekben rögzítik, lehetővé téve a természetes nyelvi feldolgozási (NLP) modellek számára, hogy numerikus formában működjenek együtt a nyelvvel. A beágyazások csak lebegőpontos számok vektorai, így elemezhetjük őket, hogy megválaszoljunk három fontos kérdést: Változnak-e referenciaadataink az idő múlásával? Változnak a felhasználók által feltett kérdések az idő múlásával? És végül, mennyire fedik le referenciaadataink a feltett kérdéseket?
Ebből a bejegyzésből megtudhat néhány szempontot a beágyazás vektoranalízisével és a beágyazási sodródás jeleinek észlelésével kapcsolatban. Mivel a beágyazások általában az NLP-modellek és különösen a generatív AI-megoldások fontos adatforrásai, szükségünk van egy módra annak mérésére, hogy a beágyazásaink változnak-e az idő múlásával (sodródás). Ebben a bejegyzésben láthat egy példát a beágyazott vektorok elsodródás-észlelésének végrehajtására fürtözési technikával, nagy nyelvi modellekkel (LLMS) Amazon SageMaker JumpStart. Ezeket a fogalmakat két példán keresztül is felfedezheti, beleértve egy végponttól végpontig terjedő példaalkalmazást vagy opcionálisan az alkalmazás egy részhalmazát.
A RAG áttekintése
A RAG minta Lehetővé teszi ismeretek lekérését külső forrásokból, például PDF-dokumentumokból, wiki-cikkekből vagy hívási átiratokból, majd ezen ismeretek felhasználásával kiegészítheti az LLM-nek küldött utasításokat. Ez lehetővé teszi az LLM számára, hogy relevánsabb információkra hivatkozzon a válasz generálásakor. Például, ha megkérdez egy LLM-et, hogyan készítsen csokis kekszeket, az információkat tartalmazhat a saját receptkönyvtárából. Ebben a mintában a recept szövegét beágyazási modell segítségével beágyazó vektorokká alakítják, és vektoradatbázisban tárolják. A beérkező kérdéseket a rendszer beágyazásokká alakítja, majd a vektoradatbázis hasonlósági keresést futtat a kapcsolódó tartalom megtalálása érdekében. A kérdés és a referenciaadatok ezután az LLM promptjába kerülnek.
Nézzük meg közelebbről a létrejövő beágyazási vektorokat, és azt, hogy hogyan lehet ezeken a vektorokon drift-elemzést végezni.
Beágyazó vektorok elemzése
A beágyazó vektorok az adataink numerikus reprezentációi, így ezeknek a vektoroknak az elemzése betekintést nyújthat referenciaadatainkba, amelyeket később felhasználhatunk a potenciális sodródási jelek kimutatására. A beágyazó vektorok egy elemet képviselnek az n-dimenziós térben, ahol n gyakran nagy. Például az ebben a bejegyzésben használt GPT-J 6B modell 4096-os méretű vektorokat hoz létre. Az eltolódás méréséhez tegyük fel, hogy alkalmazásunk rögzíti a beágyazási vektorokat mind a referenciaadatokhoz, mind a bejövő promptokhoz.
Kezdjük a méretcsökkentés végrehajtásával a főkomponens-elemzés (PCA) segítségével. A PCA megpróbálja csökkenteni a dimenziók számát, miközben megőrzi az adatok eltérésének nagy részét. Ebben az esetben megpróbáljuk megtalálni a dimenziók számát, amely megőrzi a variancia 95%-át, aminek két szóráson belül bármit meg kell fognia.
Ezután a K-Means segítségével azonosítjuk a klaszterközpontok halmazát. A K-Means megpróbálja a pontokat klaszterekbe csoportosítani úgy, hogy mindegyik klaszter viszonylag kompakt legyen, és a klaszterek a lehető legtávolabb legyenek egymástól.
Az alábbi ábrán látható klaszterezési kimenet alapján a következő információkat számítjuk ki:
- A PCA azon dimenzióinak száma, amelyek a variancia 95%-át magyarázzák
- Az egyes klaszterközpontok vagy centroidok helye
Ezenkívül megvizsgáljuk a minták arányát (magasabb vagy alacsonyabb) az egyes klaszterekben, amint az a következő ábrán látható.
Végül ezt az elemzést a következők kiszámításához használjuk:
- Tehetetlenség – A tehetetlenség a klaszterközpontok távolságának négyzetes összege, amely azt méri, hogy az adatok mennyire voltak klaszterezve a K-Means segítségével.
- Sziluett pontszám – A sziluett pontszám a klasztereken belüli konzisztencia érvényesítésének mértéke, és -1 és 1 között mozog. Az 1-hez közeli érték azt jelenti, hogy a klaszterben lévő pontok közel vannak ugyanabban a klaszterben lévő többi ponthoz, és távol vannak a többi klaszter pontjait. A sziluett pontszámának vizuális ábrázolása a következő ábrán látható.
Időnként rögzíthetjük ezeket az információkat a beágyazások pillanatképeihez mind a forrás referenciaadatokhoz, mind a promptokhoz. Ezen adatok rögzítése lehetővé teszi a beágyazási sodródás lehetséges jeleinek elemzését.
Beágyazási eltolódás észlelése
Időnként összehasonlíthatjuk a klaszterezési információkat az adatok pillanatképein keresztül, amelyek magukban foglalják a referenciaadat-beágyazásokat és a prompt beágyazásokat. Először is összehasonlíthatjuk a beágyazási adatok variációinak 95%-ának magyarázatához szükséges dimenziók számát, a tehetetlenséget és a klaszterezési feladatból származó sziluett pontszámot. Amint az a következő táblázatban látható, az alapvonalhoz képest a beágyazásokról készült legújabb pillanatkép 39 további dimenziót igényel az eltérés magyarázatához, ami azt jelzi, hogy adataink szétszórtabbak. A tehetetlenség megnőtt, ami azt jelzi, hogy a minták összességében távolabb vannak a klaszterközpontjuktól. Ezenkívül a sziluett pontszáma csökkent, ami azt jelzi, hogy a klaszterek nincsenek olyan jól meghatározottak. Az azonnali adatok esetében ez azt jelezheti, hogy a rendszerbe érkező kérdések több témát fednek le.
Ezután a következő ábrán láthatjuk, hogy az egyes klaszterekben a minták aránya hogyan változott az idők során. Ez megmutathatja, hogy az újabb referenciaadataink nagyjából hasonlóak-e az előző halmazhoz, vagy új területeket fednek le.
Végül láthatjuk, hogy a klaszterközpontok mozognak-e, ami a klaszterekben lévő információk eltolódását mutatná, amint az a következő táblázatban látható.
Referenciaadat-lefedettség a bejövő kérdésekhez
Azt is értékelhetjük, hogy referenciaadataink mennyire igazodnak a bejövő kérdésekhez. Ehhez minden prompt beágyazást hozzárendelünk egy referenciaadat-fürthöz. Kiszámoljuk az egyes promptok és a megfelelő középpont közötti távolságot, és megnézzük e távolságok átlagát, mediánját és szórását. Ezeket az információkat tárolhatjuk, és láthatjuk, hogyan változik az idő múlásával.
A következő ábra egy példát mutat be a prompt beágyazás és a referencia adatközpontok közötti távolság időbeli elemzésére.
Amint látható, az azonnali beágyazások és a referencia-adatközpontok közötti távolság átlagos, medián és szórás-statisztikája csökken a kezdeti alapvonal és a legutóbbi pillanatkép között. Bár a távolság abszolút értéke nehezen értelmezhető, a trendek segítségével megállapíthatjuk, hogy a referenciaadatok és a beérkező kérdések szemantikai átfedése idővel javul-e vagy romlik.
Alkalmazási minta
Az előző részben tárgyalt kísérleti eredmények összegyűjtése érdekében építettünk egy minta alkalmazást, amely megvalósítja a RAG mintát a SageMaker JumpStarton keresztül telepített és a webhelyen tárolt beágyazási és generálási modellekkel. Amazon SageMaker valós idejű végpontok.
Az alkalmazás három fő összetevőből áll:
- Interaktív folyamatot használunk, amely egy felhasználói felületet tartalmaz a promptok rögzítéséhez, kombinálva egy RAG hangszerelési réteggel, a LangChain segítségével.
- Az adatfeldolgozási folyamat kivonja az adatokat a PDF-dokumentumokból, és beágyazásokat hoz létre, amelyek tárolásra kerülnek Amazon OpenSearch szolgáltatás. Ezeket az alkalmazás végső beágyazási sodródáselemző komponensében is használjuk.
- A beágyazások rögzítve vannak Amazon egyszerű tárolási szolgáltatás (Amazon S3) keresztül Amazon Kinesis Data Firehose, és a kombinációt futtatjuk AWS ragasztó a beágyazási elemzés elvégzéséhez kibontja, átalakítani és betölteni (ETL) feladatokat és Jupyter notebookokat.
A következő ábra a végpontok közötti architektúrát szemlélteti.
A teljes mintakód elérhető itt GitHub. A megadott kód két különböző mintában érhető el:
- Példa full-stack alkalmazásra Streamlit előtérrel – Ez egy végpontok közötti alkalmazást biztosít, beleértve a Streamlitet használó felhasználói felületet a promptok rögzítésére, kombinálva a RAG hangszerelési réteggel, a LangChain használatával. Amazon Elastic Container Service (Amazon ECS) -val AWS Fargate
- Háttér alkalmazás – Azok számára, akik nem szeretnék a teljes alkalmazáscsomagot telepíteni, opcionálisan választhatják, hogy csak a háttérrendszert telepítik. AWS Cloud Development Kit (AWS CDK) verem, majd a mellékelt Jupyter notebook segítségével végezze el a RAG hangszerelést a LangChain segítségével
A megadott minták létrehozásához számos előfeltétel szükséges, amelyeket a következő szakaszokban részletezünk, kezdve a generatív és szövegbeágyazási modellek telepítésével, majd a további előfeltételekkel.
Telepítse a modelleket a SageMaker JumpStart segítségével
Mindkét minta egy beágyazási modell és egy generatív modell telepítését feltételezi. Ehhez két modellt kell telepítenie a SageMaker JumpStartból. Az első modell, a GPT-J 6B, beágyazási modellként, a második modell, a Falcon-40b pedig szöveggenerálásra szolgál.
Ezeket a modelleket a SageMaker JumpStart segítségével telepítheti a AWS felügyeleti konzol, Amazon SageMaker Studio, vagy programozottan. További információkért lásd: A JumpStart alapozó modellek használata. A telepítés egyszerűsítése érdekében használhatja a biztosított notebook a SageMaker JumpStart által automatikusan létrehozott notebookokból származik. Ez a notebook a SageMaker JumpStart ML hubból gyűjti a modelleket, és telepíti őket két különálló SageMaker valós idejű végpontra.
A mintafüzetnek van egy tisztító része is. Még ne futtassa ezt a szakaszt, mert törli az imént telepített végpontokat. A takarítást a bemutató végén fejezi be.
A végpontok sikeres telepítésének megerősítése után készen áll a teljes minta alkalmazás üzembe helyezésére. Ha azonban inkább csak a háttér- és elemzési jegyzetfüzeteket szeretné felfedezni, akkor opcionálisan csak azt telepítheti, amelyről a következő szakaszban olvashat.
1. lehetőség: Csak a háttéralkalmazást telepítse
Ez a minta lehetővé teszi csak a háttérmegoldás üzembe helyezését, és a megoldással való interakciót egy Jupyter notebook használatával. Használja ezt a mintát, ha nem szeretné kiépíteni a teljes felületet.
Előfeltételek
A következő előfeltételekkel kell rendelkeznie:
- A SageMaker JumpStart modell végpontja telepítve – Telepítse a modelleket a SageMaker valós idejű végpontjaira a SageMaker JumpStart segítségével, a korábban leírtak szerint
- Telepítési paraméterek - Rögzítse a következőket:
- Szöveges modell végpont neve – A SageMaker JumpStarttal telepített szöveggenerálási modell végpontjának neve
- Beágyazási modell végpont neve – A SageMaker JumpStart segítségével telepített beágyazási modell végpontjának neve
Telepítse az erőforrásokat az AWS CDK használatával
Az AWS CDK-verem üzembe helyezéséhez használja az előző szakaszban leírt telepítési paramétereket. Az AWS CDK telepítésével kapcsolatos további információkért lásd: Az AWS CDK használatának megkezdése.
Győződjön meg arról, hogy a Docker telepítve van és fut az AWS CDK központi telepítéséhez használt munkaállomáson. Hivatkozni Szerezd meg a Dockert további útmutatásért.
Alternatív megoldásként megadhatja a környezeti értékeket egy nevű fájlban cdk.context.json
a pattern1-rag/cdk
könyvtárat és futtassa cdk deploy BackendStack --exclusively
.
A telepítés kinyomtatja a kimeneteket, amelyek egy része a notebook futtatásához szükséges. Mielőtt elkezdené a kérdések megválaszolását, ágyazza be a referenciadokumentumokat a következő részben látható módon.
Referencia dokumentumok beágyazása
Ennél a RAG-megközelítésnél a referenciadokumentumokat először egy szövegbeágyazási modellbe ágyazzák be, és egy vektoros adatbázisban tárolják. Ebben a megoldásban egy feldolgozási folyamatot építettek ki, amely PDF dokumentumokat fogad be.
An Amazon rugalmas számítási felhő (Amazon EC2) példányt hoztak létre a PDF-dokumentum feldolgozásához és egy Amazon elasztikus fájlrendszer (Amazon EFS) fájlrendszer van felszerelve az EC2 példányra a PDF dokumentumok mentéséhez. An AWS DataSync A feladat óránként lefut, hogy lekérje az EFS fájlrendszer elérési útjában található PDF dokumentumokat, és feltöltse azokat egy S3 tárolóba a szövegbeágyazási folyamat elindításához. Ez a folyamat beágyazza a referenciadokumentumokat, és elmenti a beágyazásokat az OpenSearch szolgáltatásba. A Kinesis Data Firehose segítségével egy beágyazási archívumot is elment egy S3 tárolóba későbbi elemzés céljából.
A referenciadokumentumok lenyeléséhez hajtsa végre a következő lépéseket:
- Kérje le a létrehozott minta EC2 példányazonosítót (lásd az AWS CDK kimenetet
JumpHostId
), és csatlakoztassa a használatával Session Manager, képessége AWS rendszermenedzser. Az utasításokat lásd Csatlakozzon Linux-példányához az AWS Systems Manager Session Manager segítségével. - Menjen a könyvtárba
/mnt/efs/fs1
, amelyre az EFS fájlrendszer fel van szerelve, és hozzon létre egy mappátingest
: - Adja hozzá a referencia PDF-dokumentumokat a
ingest
könyvtárban.
A DataSync feladat úgy van beállítva, hogy az ebben a könyvtárban található összes fájlt feltöltse az Amazon S3-ba a beágyazási folyamat elindításához.
A DataSync feladat óránkénti ütemezés szerint fut; opcionálisan manuálisan is elindíthatja a feladatot, hogy azonnal elindítsa a hozzáadott PDF-dokumentumok beágyazási folyamatát.
- A feladat elindításához keresse meg a feladatazonosítót az AWS CDK kimenetén
DataSyncTaskID
és a kezdje el a feladatot alapértelmezett értékekkel.
A beágyazások létrehozása után elindíthatja a RAG-kérdést és a megválaszolást egy Jupyter-jegyzetfüzeten keresztül, ahogy az a következő részben látható.
Kérdések és válaszok Jupyter notebook segítségével
Hajtsa végre a következő lépéseket:
- Kérje le a SageMaker notebook példány nevét az AWS CDK kimenetről
NotebookInstanceName
és csatlakozzon a JupyterLabhoz a SageMaker konzolról. - Menjen a könyvtárba
fmops/full-stack/pattern1-rag/notebooks/
. - Nyissa meg és futtassa a notebookot
query-llm.ipynb
a notebook-példányban a kérdések és válaszok RAG használatával történő végrehajtásához.
Ne felejtse el használni a conda_python3
kernel a notebookhoz.
Ez a minta hasznos a háttérmegoldás felfedezéséhez anélkül, hogy további előfeltételeket kellene megadnia, amelyek a teljes veremű alkalmazáshoz szükségesek. A következő szakasz egy teljes veremű alkalmazás megvalósítását fedi le, beleértve a frontend és a háttérkomponenseket is, hogy felhasználói felületet biztosítson a generatív AI-alkalmazással való interakcióhoz.
2. lehetőség: Telepítse a teljes veremű példaalkalmazást Streamlit előtérrel
Ez a minta lehetővé teszi a megoldás telepítését egy felhasználói felülettel a kérdésekhez és a válaszokhoz.
Előfeltételek
A mintaalkalmazás üzembe helyezéséhez a következő előfeltételekkel kell rendelkeznie:
- A SageMaker JumpStart modell végpontja telepítve – Telepítse a modelleket a SageMaker valós idejű végpontjaira a SageMaker JumpStart segítségével, az előző szakaszban leírtak szerint, a mellékelt jegyzetfüzetek használatával.
- Amazon Route 53 hosted zóna - Hozzon létre egy Amazon út 53 nyilvánosan hostolt zóna használni ehhez a megoldáshoz. Használhat egy meglévő Route 53 nyilvános hosztolt zónát is, mint pl
example.com
. - AWS Certificate Manager tanúsítvány – Ellátás an AWS tanúsítványkezelő (ACM) TLS-tanúsítvány a Route 53 által üzemeltetett zóna tartománynévhez és a vonatkozó aldomainekhez, mint pl.
example.com
és a*.example.com
minden aldomainhez. Az utasításokat lásd Nyilvános tanúsítvány kérése. Ez a tanúsítvány a HTTPS bekapcsolására szolgál Amazon CloudFront és az eredeti terheléselosztó. - Telepítési paraméterek - Rögzítse a következőket:
- Frontend alkalmazás egyéni domain név – Egyéni tartománynév, amelyet a frontend mintaalkalmazás eléréséhez használnak. A megadott domain név egy Route 53 DNS-rekord létrehozására szolgál, amely a frontend CloudFront disztribúcióra mutat; például,
app.example.com
. - A terheléselosztó eredetű egyéni domain név – Egyéni tartománynév, amelyet a CloudFront elosztási terheléselosztó eredetéhez használnak. A megadott domain név egy Route 53 DNS-rekord létrehozására szolgál, amely az eredet terheléselosztóra mutat; például,
app-lb.example.com
. - Route 53 hosted zone ID – Az 53-as útvonalon tárolt zónaazonosító a megadott egyéni tartománynevek tárolására; például,
ZXXXXXXXXYYYYYYYYY
. - Route 53 hostolt zóna neve – Az 53-as útvonalon tárolt zóna neve a megadott egyéni tartománynevek tárolására; például,
example.com
. - ACM tanúsítvány ARN – A megadott egyéni tartományhoz használandó ACM-tanúsítvány ARN-je.
- Szöveges modell végpont neve – A SageMaker JumpStarttal telepített szöveggenerálási modell végpontjának neve.
- Beágyazási modell végpont neve – A SageMaker JumpStart segítségével telepített beágyazási modell végpontjának neve.
- Frontend alkalmazás egyéni domain név – Egyéni tartománynév, amelyet a frontend mintaalkalmazás eléréséhez használnak. A megadott domain név egy Route 53 DNS-rekord létrehozására szolgál, amely a frontend CloudFront disztribúcióra mutat; például,
Telepítse az erőforrásokat az AWS CDK használatával
Az AWS CDK-verem üzembe helyezéséhez használja az előfeltételekben megadott központi telepítési paramétereket. További információkért lásd: Az AWS CDK használatának megkezdése.
Győződjön meg arról, hogy a Docker telepítve van és fut az AWS CDK központi telepítéséhez használt munkaállomáson.
Az előző kódban a -c egy kontextusértéket jelent, a szükséges előfeltételek formájában, amelyeket a bemeneten adnak meg. Alternatív megoldásként megadhatja a környezeti értékeket egy nevű fájlban cdk.context.json
a pattern1-rag/cdk
könyvtárat és futtassa cdk deploy --all
.
Vegye figyelembe, hogy a fájlban megadjuk a régiót bin/cdk.ts
. Az ALB hozzáférési naplók konfigurálásához egy adott régióra van szükség. Ezt a régiót a telepítés előtt módosíthatja.
A telepítés kinyomtatja a Streamlit alkalmazás eléréséhez szükséges URL-t. Mielőtt elkezdené a kérdéseket és a válaszokat, be kell ágyaznia a referenciadokumentumokat, ahogy az a következő részben látható.
A referenciadokumentumok beágyazása
A RAG megközelítésben a referenciadokumentumokat először egy szövegbeágyazási modellbe ágyazzák be, és egy vektoros adatbázisban tárolják. Ebben a megoldásban egy feldolgozási folyamatot építettek ki, amely PDF dokumentumokat fogad be.
Amint azt az első telepítési lehetőségnél tárgyaltuk, egy példa EC2-példány jött létre a PDF-dokumentum feldolgozásához, és az EC2-példányra egy EFS-fájlrendszer van csatlakoztatva a PDF-dokumentumok mentéséhez. Óránként lefut egy DataSync-feladat az EFS-fájlrendszer elérési útjában található PDF-dokumentumok lekérésére, majd feltöltésére egy S3-tárolóba a szövegbeágyazási folyamat elindításához. Ez a folyamat beágyazza a referenciadokumentumokat, és elmenti a beágyazásokat az OpenSearch szolgáltatásba. A Kinesis Data Firehose segítségével egy beágyazási archívumot is elment egy S3 tárolóba későbbi elemzés céljából.
A referenciadokumentumok lenyeléséhez hajtsa végre a következő lépéseket:
- Kérje le a létrehozott minta EC2 példányazonosítót (lásd az AWS CDK kimenetet
JumpHostId
), és csatlakozzon a Session Manager segítségével. - Menjen a könyvtárba
/mnt/efs/fs1
, amelyre az EFS fájlrendszer fel van szerelve, és hozzon létre egy mappátingest
: - Adja hozzá a referencia PDF-dokumentumokat a
ingest
könyvtárban.
A DataSync feladat úgy van beállítva, hogy az ebben a könyvtárban található összes fájlt feltöltse az Amazon S3-ba a beágyazási folyamat elindításához.
A DataSync feladat óránkénti ütemezés szerint fut. Opcionálisan elindíthatja a feladatot manuálisan is, hogy azonnal elindítsa a hozzáadott PDF-dokumentumok beágyazási folyamatát.
- A feladat elindításához keresse meg a feladatazonosítót az AWS CDK kimenetén
DataSyncTaskID
és a kezdje el a feladatot alapértelmezett értékekkel.
Kérdés és válasz
A referenciadokumentumok beágyazása után elindíthatja a RAG-kérdést és a választ az URL-cím meglátogatásával a Streamlit alkalmazás eléréséhez. An Amazon Cognito hitelesítési réteget használnak, ezért az alkalmazáshoz való első hozzáféréshez felhasználói fiók létrehozása szükséges az Amazon Cognito felhasználói csoportjában, amely az AWS CDK-n keresztül van telepítve (lásd az AWS CDK kimenetét a felhasználói készlet nevéhez). Az Amazon Cognito felhasználó létrehozására vonatkozó utasításokért lásd: Új felhasználó létrehozása az AWS Management Console-ban.
Sodródáselemzés beágyazása
Ebben a részben bemutatjuk, hogyan végezhet eltolódási elemzést úgy, hogy először létrehozza a referenciaadat-beágyazások és prompt-beágyazások alapvonalát, majd elkészíti a beágyazások időbeli pillanatnyi képét. Ez lehetővé teszi az alapszintű beágyazások és a pillanatkép beágyazások összehasonlítását.
Hozzon létre egy beágyazási alapvonalat a referenciaadatokhoz, és kérjen rá
A referenciaadatok beágyazási alapvonalának létrehozásához nyissa meg az AWS Glue konzolt, és válassza ki az ETL-feladatot embedding-drift-analysis
. Állítsa be az ETL job paramétereit az alábbiak szerint, és futtassa a jobot:
- Készlet
--job_type
nak nekBASELINE
. - Készlet
--out_table
hoz Amazon DynamoDB táblázat a referencia adatok beágyazásához. (Lásd az AWS CDK kimenetetDriftTableReference
a táblázat nevéhez.) - Készlet
--centroid_table
a DynamoDB táblába a referencia centroid adatokért. (Lásd az AWS CDK kimenetetCentroidTableReference
a táblázat nevéhez.) - Készlet
--data_path
az S3 vödörre az előtaggal; például,s3://
/embeddingarchive/
. (Lásd az AWS CDK kimenetetBucketName
a vödör nevéhez.)
Hasonlóképpen, az ETL job használatával embedding-drift-analysis
, hozza létre a promptok beágyazási alapvonalát. Állítsa be az ETL job paramétereit az alábbiak szerint, és futtassa a jobot:
- Készlet
--job_type
nak nekBASELINE
- Készlet
--out_table
a DynamoDB táblába az adatok azonnali beágyazásához. (Lásd az AWS CDK kimenetetDriftTablePromptsName
a táblázat nevéhez.) - Készlet
--centroid_table
a DynamoDB táblába, hogy azonnali centroid adatokat kapjon. (Lásd az AWS CDK kimenetetCentroidTablePrompts
a táblázat nevéhez.) - Készlet
--data_path
az S3 vödörre az előtaggal; például,s3://
/promptarchive/
. (Lásd az AWS CDK kimenetetBucketName
a vödör nevéhez.)
Hozzon létre egy beágyazási pillanatképet a referenciaadatokhoz és kérje le
Miután további információkat vett fel az OpenSearch szolgáltatásba, futtassa az ETL-feladatot embedding-drift-analysis
ismét, hogy pillanatképet készítsen a referenciaadat-beágyazásokról. A paraméterek megegyeznek az előző szakaszban bemutatott módon a referenciaadatok beágyazási alapvonalának létrehozásához futtatott ETL-feladattal, kivéve a --job_type
paraméter a SNAPSHOT
.
Hasonlóképpen, a prompt beágyazások pillanatképének elkészítéséhez futtassa az ETL-feladatot embedding-drift-analysis
újra. A paraméterek megegyeznek az ETL-feladattal, amelyet a promptok beágyazási alapvonalának létrehozásához futtatott, az előző részben látható módon, kivéve a --job_type
paraméter a SNAPSHOT
.
Hasonlítsa össze az alapvonalat a pillanatfelvétellel
A beágyazás alapvonalának és pillanatképének összehasonlításához referenciaadatokhoz és promptokhoz használja a mellékelt jegyzetfüzetet pattern1-rag/notebooks/drift-analysis.ipynb
.
A referenciaadatok vagy promptok beágyazási összehasonlításának megtekintéséhez módosítsa a DynamoDB táblanév változóit (tbl
és a c_tbl
) a jegyzetfüzetben a megfelelő DynamoDB táblához a notebook minden egyes futtatásához.
A notebook változó tbl
módosítani kell a megfelelő drift tábla nevére. A következő egy példa arra, hogy hol kell konfigurálni a változót a notebookban.
A táblázatok nevei a következőképpen kérdezhetők le:
- A referencia beágyazási adatokhoz kérje le az eltolódási tábla nevét az AWS CDK kimenetéről
DriftTableReference
- Az azonnali beágyazási adatokhoz kérje le az eltolódási tábla nevét az AWS CDK kimenetéről
DriftTablePromptsName
Ezen kívül a notebook változó c_tbl
módosítani kell a megfelelő centroid tábla nevére. A következő egy példa arra, hogy hol kell konfigurálni a változót a notebookban.
A táblázatok nevei a következőképpen kérdezhetők le:
- A referencia beágyazási adatokhoz kérje le a centroid tábla nevét az AWS CDK kimenetéről
CentroidTableReference
- Az azonnali beágyazási adatokhoz kérje le a centroid tábla nevét az AWS CDK kimenetéről
CentroidTablePrompts
Elemezze a referenciaadatoktól való prompt távolságot
Először futtassa az AWS ragasztó feladatot embedding-distance-analysis
. Ez a feladat a referenciaadat-beágyazások K-Means kiértékeléséből kideríti, hogy az egyes promptok melyik fürthöz tartoznak. Ezután kiszámítja az egyes promptok és a megfelelő klaszter közepe közötti távolság átlagát, mediánját és szórását.
Futtathatja a notebookot pattern1-rag/notebooks/distance-analysis.ipynb
hogy megtekinthesse a távolságmutatók időbeli trendjeit. Így érzékelheti az azonnali beágyazási távolságok eloszlásának általános tendenciáját.
A jegyzetfüzet pattern1-rag/notebooks/prompt-distance-outliers.ipynb
egy AWS Glue jegyzetfüzet, amely kiugró értékeket keres, amelyek segíthetnek azonosítani, hogy kap-e több olyan felszólítást, amely nem kapcsolódik a referenciaadatokhoz.
Figyelje a hasonlósági pontszámokat
Az OpenSearch Service összes hasonlósági pontszáma bejelentkezve van amazonfelhőóra alatt a rag
névtér. A műszerfal RAG_Scores
az átlagos pontszámot és a bevitt pontszámok teljes számát mutatja.
Tisztítsuk meg
A jövőbeni költségek elkerülése érdekében törölje az összes létrehozott erőforrást.
Törölje a telepített SageMaker modelleket
Tekintse meg a tisztítási szakaszt a megadott példafüzet a telepített SageMaker JumpStart modellek törléséhez, vagy megteheti törölje a modelleket a SageMaker konzolon.
Törölje az AWS CDK-erőforrásokat
Ha megadta a paramétereit a cdk.context.json
fájlt, tisztítsa meg az alábbiak szerint:
Ha megadta a paramétereket a parancssorban, és csak a háttéralkalmazást (a háttér AWS CDK veremét) telepítette, tisztítsa meg a következőket:
Ha megadta a paramétereket a parancssorban, és üzembe helyezte a teljes megoldást (az előtér és a háttér AWS CDK verem), tisztítsa meg a következőket:
Következtetés
Ebben a bejegyzésben egy működő példát mutattunk be egy olyan alkalmazásra, amely rögzíti a beágyazási vektorokat mind a referenciaadatokhoz, mind a generatív mesterséges intelligencia RAG mintájának promptjaihoz. Megmutattuk, hogyan kell klaszterezési elemzést végezni annak meghatározására, hogy a referencia- vagy azonnali adatok idővel sodródnak-e, és hogy a referenciaadatok mennyire fedik le a felhasználók által feltett kérdések típusait. Ha sodródást észlel, az jelezheti, hogy a környezet megváltozott, és a modell olyan új bemeneteket kap, amelyek kezelésére esetleg nincs optimalizálva. Ez lehetővé teszi az aktuális modell proaktív értékelését a változó bemenetekkel szemben.
A szerzőkről
Abdullahi Olaoye az Amazon Web Services (AWS) vezető megoldástervezője. Abdullahi a Wichita Állami Egyetemen szerzett MSC-t számítógépes hálózatok területén, és publikált szerző, aki különböző technológiai területeken töltött be szerepet, mint például a DevOps, az infrastruktúra modernizálása és az AI. Jelenleg a Generative AI-re összpontosít, és kulcsszerepet játszik abban, hogy segítse a vállalkozásokat a Generative AI által hajtott élvonalbeli megoldások megtervezésében és felépítésében. A technológia birodalmán túl örömét leli a felfedezés művészetében. Amikor nem MI-megoldásokat készít, szívesen utazik családjával, hogy új helyeket fedezzen fel.
Randy DeFauw az AWS vezető megoldásokért felelős építésze. MSEE diplomával rendelkezik a Michigani Egyetemen, ahol autonóm járművek számítógépes látásmódjával foglalkozott. Emellett a Colorado Állami Egyetemen szerzett MBA fokozatot. Randy számos pozíciót töltött be a technológiai területen, a szoftverfejlesztéstől a termékmenedzsmentig. In 2013-ban lépett be a Big Data térbe, és továbbra is kutatja ezt a területet. Aktívan dolgozik projekteken az ML területen, és számos konferencián prezentált, köztük a Stratán és a GlueConon.
Shelbee Eigenbrode az Amazon Web Services (AWS) fő mesterséges intelligencia és gépi tanulási megoldások szakértője. 24 éve dolgozik a technológia területén, számos iparágat, technológiát és szerepkört felölelve. Jelenleg arra összpontosít, hogy a DevOps és az ML hátteret az MLOps tartományba egyesítse, hogy segítse ügyfeleit az ML munkaterhelések nagyarányú szállításában és kezelésében. A különböző technológiai területeken több mint 35 szabadalommal rendelkezik, ezért szenvedélye a folyamatos innováció és az adatok felhasználása az üzleti eredmények előmozdítására. Shelbee a Coursera gyakorlati adattudományi szakának társalkotója és oktatója. Emellett a Women In Big Data (WiBD) denveri fejezetének társigazgatója. Szabadidejében szívesen tölt időt családjával, barátaival és túlaktív kutyáival.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/monitor-embedding-drift-for-llms-deployed-from-amazon-sagemaker-jumpstart/
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 10
- 100
- 2%
- 2013
- 24
- 35%
- 39
- 4
- 53
- 62
- 7
- 9
- 90
- 95%
- a
- Képes
- Rólunk
- Abszolút
- hozzáférés
- Fiók
- ACM
- át
- aktívan
- hozzáadott
- mellett
- További
- további információ
- Ezen kívül
- újra
- ellen
- adalékanyag
- AI
- Igazítás
- Minden termék
- lehetővé téve
- lehetővé teszi, hogy
- Is
- Bár
- amazon
- Amazon Cognito
- Amazon EC2
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Az Amazon Web Services
- Amazon Web Services (AWS)
- an
- elemzés
- elemez
- elemzése
- és a
- válasz
- üzenetrögzítő
- bármi
- alkalmazható
- Alkalmazás
- megközelítés
- megfelelő
- építészet
- Archív
- VANNAK
- TERÜLET
- területek
- Művészet
- cikkek
- AS
- kérdez
- kér
- segítő
- feltételezni
- At
- fokozza
- bővített
- Hitelesítés
- szerző
- automatikusan
- autonóm
- autonóm járművek
- elérhető
- átlagos
- elkerülése érdekében
- el
- AWS
- AWS ragasztó
- háttér
- háttér
- egyensúlyozó
- alapján
- kiindulási
- BE
- mert
- óta
- előtt
- hogy
- tartozik
- Jobb
- között
- Túl
- Nagy
- Big adatok
- testületek
- mindkét
- nagyjából
- épít
- épült
- üzleti
- by
- számít
- kiszámítja
- hívás
- hívott
- TUD
- képesség
- elfog
- rögzített
- fogások
- Rögzítése
- eset
- CD
- Központ
- Centers
- igazolás
- változik
- megváltozott
- Változások
- változó
- Fejezet
- díjak
- csip
- Csokoládé
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- ragadozó ölyv
- közel
- közelebb
- felhő
- Fürt
- csoportosítás
- kód
- Colorado
- kombináció
- kombinált
- kombinálása
- érkező
- kompakt
- összehasonlítani
- képest
- összehasonlítás
- teljes
- összetevő
- alkatrészek
- Kiszámít
- számítógép
- Számítógépes látás
- fogalmak
- konferenciák
- konfigurálva
- konfigurálása
- Csatlakozás
- megfontolások
- következetesség
- Konzol
- Konténer
- tartalom
- kontextus
- tovább
- folyamatos
- átalakított
- keksz
- Mag
- Megfelelő
- Coursera
- lefedettség
- fedett
- fedő
- burkolatok
- teremt
- készítette
- teremt
- létrehozása
- Jelenlegi
- Jelenleg
- szokás
- Ügyfelek
- élvonalbeli
- műszerfal
- dátum
- adatközpontok
- adatfeldolgozás
- adat-tudomány
- adatbázis
- csökkenő
- alapértelmezett
- meghatározott
- töröl
- szállít
- Denver
- telepíteni
- telepített
- bevezetéséhez
- bevetés
- bevet
- Származtatott
- elpusztítani
- részletes
- kimutatására
- Érzékelés
- Határozzuk meg
- Fejlesztés
- eltérés
- DevOps
- diagram
- különböző
- nehéz
- Dimenzió
- méretek
- tárgyalt
- szétszórt
- távolság
- Távoli
- terjesztés
- dns
- do
- Dokkmunkás
- dokumentum
- dokumentumok
- Kutyák
- domain
- Domain név
- DOMAIN NEVEK
- domainek
- ne
- le-
- hajtás
- minden
- Beágyaz
- beágyazott
- beágyazás
- végén
- végtől végig
- Endpoint
- végpontok
- Mérnöki
- belép
- lépett
- Vállalatok
- Környezet
- Eter (ETH)
- értékelni
- értékelés
- Minden
- példa
- példák
- kivétel
- létező
- kísérleti
- Magyarázza
- kutatás
- feltárása
- Feltárása
- külső
- kivonat
- kivonatok
- család
- messze
- Ábra
- filé
- Fájlok
- utolsó
- Végül
- Találjon
- leletek
- vezetéknév
- úszó
- áramlási
- összpontosított
- összpontosítás
- következő
- következik
- A
- forma
- talált
- Alapítvány
- barátok
- ból ből
- frontend
- Tele
- jövő
- gyűjt
- általános
- generáló
- generáció
- nemző
- Generatív AI
- generatív modell
- kap
- szerzés
- Ad
- Go
- elmúlt
- megadott
- Csoport
- útmutatást
- fogantyú
- Legyen
- he
- hős
- segít
- neki
- <p></p>
- övé
- tart
- vendéglátó
- házigazdája
- óra
- Hogyan
- How To
- azonban
- HTML
- http
- HTTPS
- Kerékagy
- ID
- azonosítani
- if
- illusztrálja
- azonnal
- végrehajtás
- munkagépek
- fontos
- in
- tartalmaz
- magában foglalja a
- Beleértve
- Bejövő
- jelez
- jelezve
- iparágak
- tehetetlenség
- információ
- Infrastruktúra
- kezdetben
- Innováció
- bemenet
- bemenet
- Insight
- telepítés
- példa
- utasítás
- kölcsönhatásba
- kölcsönható
- interaktív
- érdekelt
- Felület
- bele
- IT
- ITS
- Munka
- Állások
- öröm
- jpg
- Jupyter Jegyzetfüzet
- éppen
- Kulcs
- Kinesis Data Firehose
- tudás
- nyelv
- nagy
- a későbbiekben
- legutolsó
- réteg
- TANUL
- tanulás
- Lets
- könyvtár
- Kedvencek
- vonal
- linux
- llm
- kiszámításának
- elhelyezkedés
- bejelentkezve
- néz
- MEGJELENÉS
- alacsonyabb
- gép
- gépi tanulás
- csinál
- kezelése
- vezetés
- menedzser
- kézzel
- Lehet..
- MBA
- jelent
- eszközök
- intézkedés
- intézkedések
- Metrics
- Michigan
- esetleg
- ML
- MLOps
- modell
- modellek
- korszerűsítés
- monitor
- több
- a legtöbb
- mozgó
- többszörös
- kell
- név
- nevek
- Természetes
- Természetes nyelv
- Természetes nyelvi feldolgozás
- Szükség
- szükséges
- igénylő
- hálózatba
- Új
- újabb
- következő
- NLP
- jegyzetfüzet
- laptopok
- neves
- szám
- számok
- számos
- of
- gyakran
- on
- csak
- nyitva
- optimalizált
- opció
- or
- hangszerelés
- érdekében
- Eredet
- Más
- mi
- ki
- eredmények
- vázolt
- teljesítmény
- kimenetek
- felett
- átfogó
- átfedés
- saját
- paraméter
- paraméterek
- különös
- szenvedély
- Szabadalmak
- ösvény
- Mintás
- minták
- teljesít
- előadó
- darabok
- csővezeték
- Helyek
- Plató
- Platón adatintelligencia
- PlatoData
- játszik
- pont
- pont
- medence
- pozíciók
- lehetséges
- állás
- potenciális
- powered
- Gyakorlati
- megelőző
- előfeltételek
- bemutatott
- megőrzi
- megőrzése
- előző
- korábban
- Fő
- proaktív
- folyamat
- feldolgozás
- Termékek
- termékmenedzsment
- projektek
- utasításokat
- arány
- ad
- feltéve,
- biztosít
- ellátás
- nyilvános
- közzétett
- Húz
- kérdés
- Kérdések
- rongy
- tartományok
- kezdve
- kész
- real-time
- birodalom
- recept
- rekord
- csökkenteni
- csökkentés
- utal
- referencia
- vidék
- összefüggő
- viszonylag
- képvisel
- képviselet
- jelentése
- kötelező
- megköveteli,
- Tudástár
- válasz
- Eredmények
- visszakeresés
- Szerep
- szerepek
- Útvonal
- futás
- futás
- fut
- sagemaker
- azonos
- Megtakarítás
- Skála
- menetrend
- Tudomány
- pontszám
- pontszámok
- Keresés
- keresések
- Második
- Rész
- szakaszok
- lát
- látott
- válasszuk
- szemantikus
- idősebb
- értelemben
- küldött
- különálló
- szolgáltatás
- Szolgáltatások
- ülés
- készlet
- beállítás
- számos
- ő
- kellene
- előadás
- kimutatta,
- mutatott
- Műsorok
- Jel
- jelek
- hasonló
- Egyszerű
- egyszerűsítése
- Méret
- Pillanatkép
- So
- szoftver
- szoftverfejlesztés
- megoldások
- Megoldások
- néhány
- forrás
- Források
- Hely
- feszültség
- szakember
- meghatározott
- költ
- Négyzet
- verem
- Stacks
- standard
- kezdet
- kezdődött
- Kezdve
- Állami
- statisztika
- Lépései
- tárolás
- tárolni
- memorizált
- sikeres
- ilyen
- összeg
- biztos
- rendszer
- Systems
- táblázat
- Vesz
- Feladat
- technika
- Technologies
- Technológia
- szöveg
- szöveggenerálás
- hogy
- A
- az információ
- The Source
- azok
- Őket
- akkor
- Ott.
- Ezek
- ezt
- azok
- három
- Keresztül
- idő
- TLS
- nak nek
- együtt
- Témakörök
- Végösszeg
- Átalakítás
- Utazó
- tendencia
- Trends
- próbálkozás
- megpróbál
- kettő
- típusok
- alatt
- egyetemi
- University of Michigan
- URL
- us
- használ
- használt
- hasznos
- használó
- felhasználói felület
- Felhasználók
- segítségével
- érvényesítés
- érték
- Értékek
- változó
- változók
- fajta
- különféle
- vektor
- vektorok
- Járművek
- keresztül
- látomás
- vizuális
- végigjátszás
- akar
- volt
- Út..
- we
- háló
- webes szolgáltatások
- JÓL
- amikor
- vajon
- ami
- míg
- lesz
- val vel
- belül
- nélkül
- Női
- Munka
- dolgozott
- dolgozó
- munkaállomás
- rosszabb
- lenne
- év
- még
- te
- A te
- zephyrnet
- zóna