Annak ellenére, hogy az LLM-ek látszólag megállíthatatlanul terjednek el az iparágakban, ezek egy tágabb technológiai ökoszisztéma egyik összetevője, amely az új mesterségesintelligencia-hullámot táplálja. Számos párbeszédes mesterséges intelligencia felhasználási eset megköveteli az LLM-eket, például a Llama 2-t, a Flan T5-öt és a Bloomot, hogy válaszoljanak a felhasználói lekérdezésekre. Ezek a modellek paraméteres tudásra támaszkodnak a kérdések megválaszolásához. A modell ezt a tudást a képzés során sajátítja el és kódolja a modell paramétereibe. Ennek a tudásnak a frissítéséhez át kell képeznünk az LLM-et, ami sok időt és pénzt igényel.
Szerencsére a forrásismereteket is felhasználhatjuk LLM-eink tájékoztatására. A forrásismeret az LLM-be egy beviteli prompton keresztül betáplált információ. A forrásismeretek biztosításának egyik népszerű megközelítése a Retrieval Augmented Generation (RAG). A RAG segítségével lekérjük a releváns információkat egy külső adatforrásból, és betápláljuk az LLM-be.
Ebben a blogbejegyzésben megvizsgáljuk, hogyan telepítsünk LLM-eket, például a Llama-2-t az Amazon Sagemaker JumpStart segítségével, és hogyan tartsuk naprakészen LLM-jeinket a releváns információkkal a Pinecone vektoradatbázist használó Retrieval Augmented Generation (RAG) segítségével a mesterséges intelligencia hallucinációinak megelőzése érdekében. .
Retrieval Augmented Generation (RAG) az Amazon SageMakerben
A Pinecone kezelni fogja a RAG visszakeresési összetevőjét, de még két kritikus összetevőre van szükség: valahol az LLM-következtetés futtatásához, valahol pedig a beágyazási modell futtatásához.
Az Amazon SageMaker Studio egy integrált fejlesztői környezet (IDE), amely egyetlen web-alapú vizuális felületet biztosít, ahol hozzáférhet a célra épített eszközökhöz a gépi tanulási (ML) fejlesztések végrehajtásához. Ez biztosítja a SageMaker JumpStartot, amely egy modellközpont, ahol a felhasználók saját SageMaker-fiókjukban megkereshetnek, megtekinthetnek és elindíthatnak egy adott modellt. Előképzett, nyilvánosan elérhető és szabadalmaztatott modelleket biztosít számos problématípushoz, beleértve az alapmodelleket is.
Az Amazon SageMaker Studio ideális környezetet biztosít a RAG-kompatibilis LLM-folyamatok fejlesztéséhez. Először az AWS konzol használatával nyissa meg az Amazon SageMaker oldalt, hozzon létre egy SageMaker Studio tartományt, és nyisson meg egy Jupyter Studio notebookot.
Előfeltételek
Hajtsa végre a következő előfeltétel lépéseket:
- Állítsa be az Amazon SageMaker Studio-t.
- Bekapcsolva egy Amazon SageMaker tartományba.
- Regisztráljon egy ingyenes fenyőtoboz vektor adatbázisra.
- Előfeltétel könyvtárak: SageMaker Python SDK, Pinecone Client
Megoldás áttekintése
A SageMaker Studio notebook használatával először telepítenünk kell az előfeltétel-könyvtárakat:
LLM telepítése
Ebben a bejegyzésben az LLM bevezetésének két megközelítését tárgyaljuk. Az első a HuggingFaceModel
tárgy. Ezt akkor használhatja, ha LLM-eket (és modelleket épít be) közvetlenül a Hugging Face modellközpontból.
Például létrehozhat egy telepíthető konfigurációt a google/flan-t5-xl modell a következő képernyőfelvételen látható módon:
Ha modelleket telepít közvetlenül a Hugging Face alkalmazásból, inicializálja a my_model_configuration
az alábbiakkal:
- An
env
A config megmondja, hogy melyik modellt és milyen feladatra szeretnénk használni. - A SageMaker végrehajtásunk
role
engedélyt ad a modellünk telepítésére. - An
image_uri
egy képkonfiguráció, amely kifejezetten a Hugging Face LLM-einek telepítésére szolgál.
Alternatív megoldásként a SageMaker egy sor olyan modellt tartalmaz, amelyek közvetlenül kompatibilisek egy egyszerűbb modellel JumpStartModel
tárgy. Sok népszerű LLM-et, például a Llama 2-t támogat ez a modell, amely inicializálható a következő képernyőfelvételen látható módon:
Mindkét verzióhoz my_model
, telepítse őket a következő képernyőfelvételen látható módon:
Az inicializált LLM-végpontunkkal megkezdheti a lekérdezést. Lekérdezéseink formátuma változhat (különösen a társalgási és nem társalgási LLM-ek között), de a folyamat általában ugyanaz. A Hugging Face modellnél tegye a következőket:
A megoldást megtalálod a GitHub tárház.
Az itt kapott válasznak nincs sok értelme – ez egy hallucináció.
További kontextus biztosítása az LLM számára
A Llama 2 kizárólag a belső parametrikus ismeretekre alapozva próbál meg választ adni kérdésünkre. Nyilvánvaló, hogy a modellparaméterek nem tárolják az ismereteket arról, hogy mely példányokat tudjuk a SageMaker menedzselt helyszíni képzésével.
A kérdés helyes megválaszolásához forrásismeretet kell használnunk. Vagyis a prompton keresztül további információkat adunk az LLM-nek. Adjuk hozzá ezt az információt közvetlenül a modell kiegészítő kontextusaként.
Most látjuk a helyes választ a kérdésre; az könnyű volt! A felhasználó azonban nem valószínű, hogy szövegkörnyezetet illeszt be a promptjaiba, már tudná a választ a kérdésére.
Egyetlen kontextus manuális beszúrása helyett automatikusan azonosítsa a releváns információkat egy kiterjedtebb információs adatbázisból. Ehhez szüksége lesz a Retrieval Kiterjesztett Generációra.
Visszakeresés kiterjesztett generáció
A Retrieval Augmented Generation segítségével egy információs adatbázist kódolhat egy vektortérbe, ahol a vektorok közötti közelség a relevanciájukat/szemantikai hasonlóságukat jelzi. Ezzel a vektortérrel tudásbázisként konvertálhat egy új felhasználói lekérdezést, kódolhatja ugyanabba a vektortérbe, és lekérheti a korábban indexelt legrelevánsabb rekordokat.
A releváns rekordok lekérése után válasszon ki néhányat közülük, és adja meg őket az LLM promptban kiegészítő kontextusként, így biztosítva az LLM számára rendkívül releváns forrásismereteket. Ez egy kétlépcsős folyamat, ahol:
- Az indexelés feltölti a vektorindexet egy adatkészletből származó információkkal.
- A lekérdezés a lekérdezés során történik, és itt nyerjük le a releváns információkat a vektorindexből.
Mindkét lépéshez beágyazási modellre van szükség ahhoz, hogy az ember által olvasható sima szövegünket szemantikai vektortérbe fordítsuk. Használja a Hugging Face rendkívül hatékony MiniLM mondattranszformátorát a következő képernyőfelvételen látható módon. Ez a modell nem LLM, ezért nem ugyanúgy inicializálható, mint a Llama 2 modellünk.
A hub_config
, adja meg a modellazonosítót a fenti képernyőfelvételen látható módon, de a feladathoz használja a jellemző-kivonást, mert vektoros beágyazásokat generálunk, nem szöveget, mint az LLM-ünk. Ezt követően inicializálja a modell konfigurációját HuggingFaceModel
mint korábban, de ezúttal LLM kép nélkül és néhány verzióparaméterrel.
Ezzel újra üzembe helyezheti a modellt deploy
, a kisebb (csak CPU) példány használatával ml.t2.large
. A MiniLM modell pici, így nem igényel sok memóriát és nem igényel GPU-t, mert gyorsan képes beágyazásokat létrehozni akár CPU-n is. Ha kívánja, gyorsabban futtathatja a modellt GPU-n.
Beágyazások létrehozásához használja a predict
metódust, és adja át a kódolandó kontextusok listáját a inputs
gomb a képen látható módon:
Két bemeneti kontextus kerül átadásra, két kontextusvektor-beágyazást adva vissza, amint az ábrán látható:
len(out)
2
A MiniLM modell beágyazási dimenziója az 384
ami azt jelenti, hogy minden MiniLM kimenetet beágyazó vektornak dimenzióval kell rendelkeznie 384
. A beágyazásaink hosszát tekintve azonban a következőket láthatja:
len(out[0]), len(out[1])
(8, 8)
Két lista nyolc elemet tartalmaz. A MiniLM először egy tokenizálási lépésben dolgozza fel a szöveget. Ez a tokenizáció átalakítja az ember által olvasható egyszerű szövegünket a modell által olvasható tokenazonosítók listájává. A modell kimeneti jellemzőiben láthatjuk a token szintű beágyazásokat. az egyik ilyen beágyazás a várt dimenziót mutatja 384
az ábrán látható módon:
len(out[0][0])
384
Alakítsa át ezeket a tokenszintű beágyazásokat dokumentum szintű beágyazásokká az egyes vektordimenziók átlagértékeinek felhasználásával, a következő ábrán látható módon.
Két 384-dimenziós vektorbeágyazással, egy minden bemeneti szöveghez. Életünk megkönnyítése érdekében csomagolja a kódolási folyamatot egyetlen funkcióba, ahogy az a következő képernyőfelvételen látható:
Adatkészlet letöltése
Töltse le az Amazon SageMaker GYIK-jét tudásbázisként, hogy megkapja a kérdés- és válaszoszlopokat is tartalmazó adatokat.
A keresés során csak a válaszokat keresse, így eldobhatja a Kérdés oszlopot. A részletekért lásd a notebookot.
Adatkészletünk és a beágyazási folyamat készen áll. Most már csak valahol kell tárolnunk ezeket a beágyazásokat.
Indexelés
A Pinecone vektoradatbázis tárolja a vektorbeágyazásokat, és hatékonyan keres bennük. Adatbázis létrehozásához szüksége lesz egy ingyenes API-kulcsra a Pinecone-tól.
Miután csatlakozott a Pinecone vektoradatbázishoz, hozzon létre egyetlen vektoros indexet (hasonlóan a hagyományos DB-k táblájához). Nevezze el az indexet retrieval-augmentation-aws
és igazítsa az indexet dimension
és a metric
paramétereket a beágyazási modell (ebben az esetben MiniLM) által megköveteltekkel.
Az adatok beszúrásának megkezdéséhez futtassa a következőt:
Az index lekérdezését a bejegyzés korábbi kérdésével kezdheti.
A fenti kimenet azt mutatja, hogy releváns kontextusokat adunk vissza, hogy segítsen megválaszolni kérdésünket. Mióta mi top_k = 1
, index.query
visszaadta a legjobb eredményt a metaadatok mellett, amely így szól Managed Spot Training can be used with all instances supported in Amazon
.
A prompt bővítése
Használja a letöltött kontextusokat a prompt kibővítésére, és határozza meg az LLM-be betáplálandó kontextus maximális mennyiségét. Használja a 1000
karakterkorlát, hogy minden visszaadott kontextust iteratívan hozzáadhasson a prompthoz, amíg meg nem haladja a tartalom hosszát.
Táplálja a context_str
az LLM promptba, ahogy az a következő képernyőfelvételen látható:
[Input]: Mely példányokat használhatom a SageMaker Managed Spot Training funkciójával? [Kimenet]: A megadott kontextus alapján használhatja a Managed Spot Training-t az Amazon SageMaker által támogatott összes példányhoz. Ezért a válasz a következő: Minden példány támogatott az Amazon SageMakerben.
A logika működik, ezért csomagolja egyetlen funkcióba, hogy tisztán tartsa a dolgokat.
Mostantól olyan kérdéseket tehet fel, mint az alábbiakban:
Tisztítsuk meg
A nem kívánt terhelések elkerülése érdekében törölje a modellt és a végpontot.
Következtetés
Ebben a bejegyzésben bemutattuk Önnek a RAG-t a SageMaker nyílt hozzáférésű LLM-jeivel. Azt is bemutattuk, hogyan telepítsünk Amazon SageMaker Jumpstart modelleket Llama 2-vel, Hugging Face LLM-eket a Flan T5-tel, és hogyan lehet beágyazni a modelleket MiniLM-mel.
Nyílt hozzáférésű modelljeink és egy Pinecone vektorindex segítségével teljes, végpontok közötti RAG-folyamatot valósítottunk meg. Ennek segítségével megmutattuk, hogyan csökkenthetjük minimálisra a hallucinációkat, hogyan tarthatjuk naprakészen az LLM tudást, és végső soron javíthatjuk a felhasználói élményt és a rendszereinkbe vetett bizalmat.
Ha ezt a példát önállóan szeretné futtatni, klónozza ezt a GitHub-tárat, és kövesse az előző lépéseket a Kérdésekre válaszoló jegyzetfüzet a GitHubon.
A szerzőkről
Vedant Jain Sr. AI/ML specialista, stratégiai generatív AI kezdeményezéseken dolgozik. Mielőtt csatlakozott az AWS-hez, Vedant ML/Data Science Specialty pozíciókat töltött be különböző cégeknél, mint például a Databricks, a Hortonworks (jelenleg Cloudera) és a JP Morgan Chase. Munkásságán kívül Vedant szenvedélyesen foglalkozik zenéléssel, sziklamászással, a tudomány felhasználásával az értelmes élethez és a világ konyháinak felfedezéséhez.
James Briggs a Pinecone munkatársa a fejlesztők ügyvédje, vektoros keresésre és AI/ML-re szakosodott. Az online oktatáson keresztül irányítja a fejlesztőket és a vállalkozásokat saját GenAI megoldásaik fejlesztésében. A Pinecone előtt James mesterséges intelligenciával foglalkozott kis tech startup cégeknél, alapított pénzügyi vállalatoknál. A munkán kívül James szenvedélye az utazás és az új kalandok felkarolása, a szörfözéstől és búvárkodástól a Muay Thaiig és a BJJ-ig.
Xin Huang az Amazon SageMaker JumpStart és az Amazon SageMaker beépített algoritmusainak vezető alkalmazott tudósa. A skálázható gépi tanulási algoritmusok fejlesztésére összpontosít. Kutatási területe a természetes nyelvi feldolgozás, a táblázatos adatok magyarázható mély tanulása és a nem-paraméteres tér-idő klaszterezés robusztus elemzése. Számos közleményt publikált az ACL-ben, az ICDM-ben, a KDD konferenciákon és a Royal Statistical Society: A sorozatban.
- 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/mitigate-hallucinations-through-retrieval-augmented-generation-using-pinecone-vector-database-llama-2-from-amazon-sagemaker-jumpstart/
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 10
- 100
- 11
- 12
- 14
- 15%
- 16
- 17
- 19
- 23
- 32
- 7
- 8
- 9
- a
- Rólunk
- felett
- hozzáférés
- Szerint
- Fiók
- át
- hozzá
- További
- további információ
- Örökbefogadás
- kalandok
- szószóló
- újra
- AI
- ai használati esetek
- AI / ML
- algoritmusok
- összehangolása
- Minden termék
- mentén
- már
- Is
- amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon SageMaker Studio
- Az Amazon Web Services
- összeg
- an
- elemzés
- és a
- válasz
- válaszok
- bármilyen
- api
- app
- alkalmazott
- megközelítés
- megközelít
- VANNAK
- TERÜLET
- körül
- AS
- kérdez
- At
- Kísérletek
- fokozza
- bővített
- auto
- automatikusan
- elérhető
- AWS
- bázis
- alapján
- BE
- mert
- előtt
- kezdődik
- között
- Blog
- Virágzik
- mindkét
- tágabb
- épít
- beépített
- vállalkozások
- de
- by
- TUD
- elfog
- eset
- esetek
- karakter
- díjak
- üldözés
- ragadozó ölyv
- világosan
- Mászó
- Cloudera
- csoportosítás
- Oszlop
- Oszlopok
- Companies
- összeegyeztethető
- teljes
- összetevő
- alkatrészek
- konferenciák
- összefüggő
- Konzol
- tartalmaz
- tartalmaz
- tartalom
- kontextus
- kontextusok
- társalgó
- társalgási AI
- megtérít
- Corporations
- kijavítására
- helyesen
- teremt
- kritikai
- Jelenleg
- dátum
- adatbázis
- találka
- DBS
- dönt
- mély
- mély tanulás
- telepíteni
- bevezetéséhez
- Fejlesztő
- fejlesztők
- fejlesztése
- Fejlesztés
- Dimenzió
- közvetlenül
- megvitatni
- do
- nem
- nem
- Nem
- domain
- Don
- Csepp
- alatt
- minden
- Korábban
- könnyebb
- ökoszisztéma
- Oktatás
- hatékony
- eredményesen
- beágyazás
- átkarolás
- kódolás
- végén
- végtől végig
- Endpoint
- növelése
- Környezet
- megalapozott
- Még
- példa
- haladja meg
- végrehajtás
- várható
- tapasztalat
- feltárása
- Feltárása
- kiterjedt
- külső
- kivonat
- Arc
- gyorsabb
- Jellemzők
- Fed
- kevés
- finanszíroz
- Találjon
- befejezni
- vezetéknév
- Úszó
- koncentrál
- következő
- A
- formátum
- Alapítvány
- Ingyenes
- ból ből
- funkció
- általában
- generált
- generáló
- generáció
- nemző
- Generatív AI
- kap
- GitHub
- Ad
- adott
- ad
- Go
- Goes
- GPU
- Útmutatók
- fogantyú
- megtörténik
- Legyen
- he
- hős
- segít
- itt
- nagyon
- övé
- Hogyan
- How To
- azonban
- HTTPS
- huang
- Kerékagy
- HuggingFace
- ember által olvasható
- i
- ID
- ideális
- azonosítani
- ids
- if
- kép
- végre
- importál
- in
- tartalmaz
- Beleértve
- Növelje
- index
- indexelt
- iparágak
- tájékoztat
- információ
- kezdeményezések
- bemenet
- bemenet
- telepíteni
- példa
- integrált
- érdekek
- Felület
- belső
- bele
- Bevezetett
- IT
- tételek
- james
- csatlakozott
- jp
- jp morgan
- JP Morgan Chase
- jpg
- Tart
- Kulcs
- Ismer
- tudás
- nyelv
- nagy
- nagyobb
- indít
- vezet
- tanulás
- tanul
- Hossz
- könyvtárak
- élet
- mint
- LIMIT
- Lista
- listák
- életek
- Láma
- LLM
- logika
- néz
- keres
- Sok
- gép
- gépi tanulás
- csinál
- Gyártás
- sikerült
- kézzel
- sok
- Mérkőzés
- gyufa
- maximális
- maximális összeg
- Lehet..
- jelent
- jelentőségteljes
- eszközök
- Memory design
- Metaadatok
- módszer
- Enyhít
- ML
- modell
- modellek
- pénz
- több
- Morgan
- a legtöbb
- sok
- többszörös
- zene
- kell
- név
- Természetes
- Természetes nyelvi feldolgozás
- Szükség
- igények
- Új
- következő
- NLP
- jegyzetfüzet
- Most
- számtalan
- tárgy
- of
- on
- ONE
- online
- csak
- nyitva
- működés
- or
- érdekében
- OS
- másképp
- mi
- ki
- teljesítmény
- kimenetek
- kívül
- saját
- papírok
- paraméterek
- különös
- különösen
- elhalad
- Elmúlt
- szenvedély
- szenvedélyes
- Teljesít
- előadó
- engedélyek
- kép
- csővezeték
- Egyszerű
- Plató
- Platón adatintelligencia
- PlatoData
- Népszerű
- pozíciók
- állás
- Bekapcsolom
- előrejelzés
- Tippek
- Predictor
- előnyben részesített
- megakadályozása
- Preview
- előző
- korábban
- Előzetes
- Probléma
- folyamat
- Folyamatok
- feldolgozás
- profil
- utasításokat
- szabadalmazott
- feltéve,
- biztosít
- amely
- nyilvánosan
- közzétett
- Piton
- pytorch
- lekérdezések
- kérdés
- Kérdések
- gyorsan
- hatótávolság
- kezdve
- kész
- fogadó
- nyilvántartások
- régiók
- támaszkodnak
- raktár
- jelentése
- szükség
- kötelező
- kutatás
- Reagálni
- eredményez
- Eredmények
- visszatérés
- visszatérő
- erős
- Szikla
- Szerep
- királyi
- futás
- fut
- sagemaker
- azonos
- azt mondják
- skálázható
- Skála
- Tudomány
- Tudós
- pontszám
- Képernyő
- sdk
- Keresés
- keresések
- lát
- látszólag
- válasszuk
- idősebb
- értelemben
- mondat
- Series of
- A sorozat
- Szolgáltatások
- készlet
- kellene
- előadás
- kimutatta,
- mutatott
- Műsorok
- oldal
- hasonló
- egyszerűbb
- óta
- egyetlen
- Méret
- kicsi
- kisebb
- So
- Társadalom
- Kizárólag
- megoldások
- Megoldások
- néhány
- valahol
- forrás
- Hely
- szakember
- szakosodott
- Különlegesség
- kifejezetten
- Spot
- Személyzet
- Startups
- statisztikai
- Lépés
- Lépései
- megáll
- tárolni
- árnyékolók
- Stratégiai
- Húr
- stúdió
- ilyen
- támogatás
- Támogatott
- Támogatja
- rendszer
- Systems
- táblázat
- tart
- Feladat
- tech
- tech induló vállalkozások
- Technológia
- megmondja
- szöveg
- thai
- mint
- hogy
- A
- A terület
- a világ
- azok
- Őket
- ebből adódóan
- Ezek
- ők
- dolgok
- ezt
- azok
- Keresztül
- idő
- nak nek
- jelképes
- tokenizálás
- is
- szerszámok
- felső
- hagyományos
- Képzések
- transzformátor
- transzformerek
- transzformáció
- fordít
- Utazó
- Bízzon
- kettő
- típusok
- Végül
- valószínűtlen
- megállíthatatlan.
- -ig
- felesleges
- Frissítések
- us
- használ
- használt
- használó
- User Experience
- Felhasználók
- segítségével
- Értékek
- különféle
- változat
- verzió
- keresztül
- vizuális
- várjon
- végigjátszás
- akar
- volt
- hullám
- Út..
- we
- háló
- webes szolgáltatások
- web-alapú
- Mit
- amikor
- ami
- míg
- széles
- Széleskörű
- lesz
- val vel
- nélkül
- Munka
- dolgozott
- dolgozó
- művek
- világ
- lenne
- betakar
- X
- Igen
- te
- A te
- zephyrnet