Manapság a generatív mesterséges intelligencia modellek számos feladatot lefednek a szöveges összegzéstől, a kérdezz-felelektől kezdve a képek és videók generálásáig. A kimenet minőségének javítása érdekében olyan megközelítéseket kell alkalmazni, mint az n-short learning, Prompt engineering, Retrieval Augmented Generation (RAG) és finomhangolást használnak. A finomhangolás lehetővé teszi, hogy módosítsa ezeket a generatív AI-modelleket, hogy jobb teljesítményt érjen el a tartományspecifikus feladatok során.
A Amazon SageMaker, most már futtathat egy SageMaker képzési feladatot a Python-kód megjegyzésekkel @távos lakberendező Az SageMaker Python SDK automatikusan lefordítja a meglévő munkaterület-környezetet, valamint a kapcsolódó adatfeldolgozási kódokat és adatkészleteket egy SageMaker képzési munkává, amely a képzési platformon fut. Ennek az az előnye, hogy természetesebb, objektum-orientált módon írja meg a kódot, és továbbra is a SageMaker képességeit használja a tanítási feladatok távoli fürtön történő futtatására minimális változtatásokkal.
Ebben a bejegyzésben bemutatjuk, hogyan lehet finomhangolni a Falcon-7B Foundation Models (FM) a SageMaker Python SDK @remote decorator használatával. Azt is használja Hugging Face paraméterhatékony finomhangolása (PEFT) könyvtár és kvantálási technikák révén bitsandbyte a finomhangolás támogatására. A blogban bemutatott kód más FM-ek finomhangolására is használható, mint pl Láma-2 13b.
Ennek a modellnek a teljes precíziós reprezentációinak nehézségei lehetnek, hogy egy vagy akár több memóriába illeszkedjenek Grafikus feldolgozó egységek (GPU-k) - vagy akár nagyobb példányra is szükség lehet. Ezért annak érdekében, hogy ezt a modellt a költségek növelése nélkül finomhangoljuk, az úgynevezett technikát használjuk Kvantizált LLM-ek alacsony rangú adapterekkel (QLoRA). A QLoRA egy hatékony finomhangolási módszer, amely csökkenti az LLM-ek memóriahasználatát, miközben megőrzi a nagyon jó teljesítményt.
A @remote decorator használatának előnyei
Mielőtt továbbmennénk, nézzük meg, hogyan javítja a távoli dekoratőr a fejlesztők termelékenységét a SageMakerrel való munka során:
- A @remote decorator közvetlenül a natív python kód használatával indítja el a képzési munkát, a SageMaker becslések és a SageMaker bemeneti csatornák kifejezett meghívása nélkül
- Alacsony belépési korlát a fejlesztők képzési modelljei számára a SageMakeren.
- Nem kell váltani Integrált fejlesztői környezetek (IDE). Folytassa a kód írását a választott IDE-ben, és hívja meg a SageMaker képzési feladatokat.
- Nem kell tanulni a konténerekről. A függőségek biztosításának folytatása a
requirements.txt
és adja meg a távdekorátornak.
Előfeltételek
AWS-fiókra van szükség egy AWS Identity and Access Management (AWS IAM) szerep amely jogosultsággal rendelkezik a megoldás részeként létrehozott erőforrások kezelésére. A részletekért lásd AWS-fiók létrehozása.
Ebben a bejegyzésben használjuk Amazon SageMaker Studio a ... val Data Science 3.0
kép és a ml.t3.medium
gyorsindítási példány. Azonban bármilyen integrált fejlesztői környezetet (IDE) használhat. Csak be kell állítania a sajátját AWS parancssori interfész (AWS CLI) hitelesítő adatait megfelelően. További információkért lásd: Konfigurálja az AWS parancssori felületet.
A finomhangoláshoz a Falcon-7B, an ml.g5.12xlarge
példányt használunk ebben a bejegyzésben. Kérjük, biztosítson elegendő kapacitást ehhez a példányhoz az AWS-fiókban.
Ezt klónozni kell Github tároló az ebben a bejegyzésben bemutatott megoldás megismétléséhez.
Megoldás áttekintése
- Telepítse az előfeltételeket a Falcon-7B modell finomhangolásához
- Állítsa be a távoli dekorátor konfigurációkat
- Az AWS-szolgáltatások GYIK-it tartalmazó adatkészlet előfeldolgozása
- Finomhangolja a Falcon-7B-t az AWS-szolgáltatásokon – GYIK
- Tesztelje a finomhangolási modelleket az AWS-szolgáltatásokhoz kapcsolódó mintakérdéseken
1. Telepítse a Falcon-7B modell finomhangolásának előfeltételeit
Indítsa el a notebookot falcon-7b-qlora-remote-decorator_qa.ipynb a SageMaker Stúdióban az I. kiválasztásávalmágus as Data Science
és a mag as Python 3
. Telepítse az összes szükséges könyvtárat, amelyet a requirements.txt
. A könyvtárak közül néhányat magára a notebook példányra kell telepíteni. Végezze el az adatkészlet feldolgozásához és a SageMaker képzési feladat elindításához szükséges egyéb műveleteket.
2. Állítsa be a távoli dekorátor konfigurációkat
Hozzon létre egy konfigurációs fájlt, amelyben megadja az Amazon SageMaker képzési feladathoz kapcsolódó összes konfigurációt. Ezt a fájlt a @remote decorator olvassa be a képzési feladat futtatása közben. Ez a fájl olyan beállításokat tartalmaz, mint a függőségek, a képzési kép, a példány és a betanítási feladathoz használandó végrehajtási szerep. A konfigurációs fájl által támogatott összes beállítás részletes leírásáért tekintse meg Alapértelmezések konfigurálása és használata a SageMaker Python SDK-val.
Nem kötelező használni a config.yaml
fájlt, hogy működjön a @remote dekoratőrrel. Ez csak egy tisztább módja annak, hogy az összes konfigurációt a @remote dekoratőr számára biztosítsa. Ez a SageMakerrel és az AWS-sel kapcsolatos paramétereket a kódon kívül tartja, és egyszeri erőfeszítéssel be kell állítani a csapattagok által használt konfigurációs fájlt. Az összes konfiguráció közvetlenül is megadható a díszítő argumentumokban, de ez hosszú távon csökkenti a változások olvashatóságát és karbantarthatóságát. A konfigurációs fájlt egy rendszergazda is létrehozhatja, és megoszthatja a környezet összes felhasználójával.
Az AWS-szolgáltatások GYIK-it tartalmazó adatkészlet előfeldolgozása
A következő lépés az adatkészlet betöltése és előfeldolgozása, hogy készen álljon a betanítási munkára. Először is nézzük meg az adatkészletet:
Megjeleníti az egyik AWS-szolgáltatás GYIK-jét. A QLoRA mellett bitsanbytes
4 bites pontosságra való konvertálásra szolgál, a lefagyott LLM 4 bitesre kvantálásához és csatolásához LoRA adapterek rajta.
Hozzon létre egy prompt sablont az egyes GYIK minták prompt formátummá konvertálásához:
A következő lépés a bemenetek (szöveg) konvertálása token azonosítókká. Ezt a Átölelő Arc Transformers Tokenizer.
Most egyszerűen használja a prompt_template
funkciót az összes GYIK prompt formátumba konvertálásához, valamint a vonat- és tesztadatkészletek beállításához.
4. Finomhangolja a Falcon-7B-t az AWS-szolgáltatások GYIK-jein
Most elkészítheti a képzési szkriptet, és meghatározhatja a képzési funkciót train_fn
és tegye a @remote decorator funkciót a funkcióra.
Az edzés funkció a következőket végzi:
- tokenizálja és darabolja az adatkészletet
- létrehozott
BitsAndBytesConfig
, amely meghatározza, hogy a modellt 4 bitesben kell betölteni, de a számítást át kell alakítanibfloat16
. - Töltse be a modellt
- Keresse meg a célmodulokat, és frissítse a szükséges mátrixokat a segédprogram segítségével
find_all_linear_names
- Teremt LoRA konfigurációk, amelyek megadják a frissítési mátrixok rangsorolását (
s
), méretezési tényező (lora_alpha
), a modulok a LoRA frissítési mátrixok alkalmazásához (target_modules
), lemorzsolódás valószínűsége a Lora rétegeknél(lora_dropout
),task_type
Stb - Indítsa el a képzést és az értékelést
És hívd fel a train_fn()
A hangolási munka az Amazon SageMaker képzési klaszteren futna. Várja meg, amíg a hangolás befejeződik.
5. Tesztelje a finomhangolási modelleket az AWS-szolgáltatásokhoz kapcsolódó mintakérdéseken
Itt az ideje, hogy néhány tesztet lefuttassunk a modellen. Először töltsük be a modellt:
Most töltsön be egy mintakérdést a betanítási adatkészletből az eredeti válasz megtekintéséhez, majd tegye fel ugyanazt a kérdést a hangolt modellből, hogy összehasonlítsa a választ.
Íme egy minta egy kérdésre az edzéskészletből és az eredeti válaszból:
Ugyanez a kérdés a hangolt Falcon-7B modellre vonatkozik:
Ezzel befejeződött a Falcon-7B finomhangolása az AWS-szolgáltatások GYIK-adatkészletén az Amazon SageMaker Python SDK @remote decorator használatával.
Takarítás
Az erőforrások tisztításához hajtsa végre a következő lépéseket:
- A további költségek elkerülése érdekében állítsa le az Amazon SageMaker Studio példányait.
- Tisztítsa meg Amazon Elastic fájlrendszerét (Amazon EFS) könyvtárba a Hugging Face gyorsítótárának törlésével:
Következtetés
Ebben a bejegyzésben megmutattuk, hogyan használhatod hatékonyan a @remote lakberendező képességeit a Falcon-7B modell finomhangolására a QLoRA, Hugging Face PEFT segítségével. bitsandbtyes
anélkül, hogy jelentős változtatásokat hajtott végre a képzési jegyzetfüzetben, és az Amazon SageMaker képességeit használta a képzési feladatok távoli fürtön történő futtatására.
A Falcon-7B finomhangolásához a bejegyzés részeként bemutatott összes kód elérhető a következő helyen GitHub tárház. A tárház tartalmaz egy notebookot is, amely bemutatja a Llama-13B finomhangolását.
Következő lépésként javasoljuk, hogy nézze meg a @remote lakberendező funkció és a Python SDK API és használja a választott környezetben és IDE-ben. További példák találhatók a amazon-sagemaker-példák adattárat a gyors kezdéshez. A következő bejegyzéseket is megtekintheti:
A szerzőkről
Bruno Pistone a milánói székhelyű AWS AI/ML Specialist Solutions Architect. Nagy ügyfelekkel dolgozik, segít nekik abban, hogy mélyen megértsék műszaki igényeiket, és olyan mesterséges intelligencia- és gépi tanulási megoldásokat tervezzenek, amelyek a lehető legjobban használják ki az AWS felhőt és az Amazon Machine Learning veremét. Szakértelme a következők: gépi tanulás végpontokig, gépi tanulási iparosítás és generatív AI. Szívesen tölt időt barátaival és új helyeket fedez fel, valamint új úti célokra utazik.
Vikesh Pandey az AWS gépi tanulási specialistája, aki a pénzügyi iparágak ügyfeleit segíti a generatív AI és ML megoldások tervezésében és kivitelezésében. A munkán kívül Vikesh szívesen kipróbálja a különböző konyhákat és szabadtéri sportokat űz.
- 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. Autóipar / elektromos járművek, 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.
- ChartPrime. Emelje fel kereskedési játékát a ChartPrime segítségével. Hozzáférés itt.
- BlockOffsets. A környezetvédelmi ellentételezési tulajdon korszerűsítése. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/fine-tune-falcon-7b-and-other-llms-on-amazon-sagemaker-with-remote-decorator/
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 10
- 100
- 12
- 13
- 150
- 28
- 31
- 40
- 7
- 8
- 9
- a
- Rólunk
- hozzáférés
- Fiók
- Elérése
- át
- hozzá
- mellett
- További
- Előny
- AI
- AI modellek
- AI / ML
- Minden termék
- lehetővé
- lehetővé teszi, hogy
- Is
- amazon
- Amazon gépi tanulás
- Amazon SageMaker
- Amazon SageMaker Studio
- Az Amazon Web Services
- an
- és a
- válasz
- válaszok
- bármilyen
- alkalmaz
- Alkalmazása
- megközelítés
- megközelít
- építészet
- VANNAK
- érvek
- AS
- kérdez
- társult
- At
- csatolja
- bővített
- szerzők
- auto
- automatikusan
- elérhető
- elkerülése érdekében
- AWS
- korlát
- alapján
- BE
- mert
- hogy
- BEST
- nagyobb
- Blog
- BNB
- épít
- de
- by
- Gyorsítótár
- TUD
- képességek
- Kapacitás
- kihívások
- Változások
- ellenőrizze
- választás
- tisztító
- Klíring
- felhő
- Fürt
- kód
- összehasonlítás
- számítás
- Configuration
- Konténerek
- tartalmaz
- folytatódik
- megtérít
- átalakított
- Költség
- kiadások
- tudott
- terjed
- készítette
- Hitelesítő adatok
- szokás
- Ügyfelek
- dátum
- adatfeldolgozás
- adatkészletek
- alapértelmezett
- meghatározott
- igazolták
- függőségek
- Design
- úticél
- részletes
- részletek
- Fejlesztő
- fejlesztők
- Fejlesztés
- eszköz
- különböző
- közvetlenül
- nem
- csinált
- le-
- minden
- hatékonyan
- hatékony
- erőfeszítés
- más
- ösztönzése
- végén
- Mérnöki
- biztosítására
- belépés
- Környezet
- környezetek
- stb.
- Még
- példák
- végrehajtás
- létező
- szakvélemény
- Feltárása
- Arc
- tényező
- hamis
- FAQ
- GYORS
- Jellemzők
- kevés
- filé
- pénzügyi
- pénzügyi iparágak
- végén
- befejezni
- vezetéknév
- megfelelő
- következő
- A
- formátum
- talált
- Alapítvány
- barátok
- ból ből
- fagyasztva
- Tele
- funkció
- további
- generáció
- nemző
- Generatív AI
- kap
- megy
- jó
- GPU
- Legyen
- he
- segít
- ennélfogva
- övé
- Hogyan
- How To
- azonban
- HTML
- http
- HTTPS
- Identitás
- ids
- if
- kép
- végrehajtás
- importál
- javul
- javított
- javítja
- in
- tartalmaz
- növekvő
- iparágak
- információ
- bemenet
- bemenet
- telepíteni
- telepítve
- példa
- integrált
- bele
- IT
- maga
- Munka
- Állások
- jpg
- éppen
- ismert
- nagy
- indít
- TANUL
- tanulás
- hadd
- könyvtárak
- könyvtár
- mint
- vonal
- LLM
- kiszámításának
- Hosszú
- néz
- gép
- gépi tanulás
- fenntartása
- csinál
- kezelése
- kötelező
- Lehet..
- Partnerek
- Memory design
- említett
- esetleg
- MILAN
- minimális
- ML
- modell
- modellek
- Modulok
- Modulok
- több
- név
- nevek
- bennszülött
- Természetes
- elengedhetetlen
- Szükség
- szükséges
- igények
- Új
- következő
- nem
- Egyik sem
- jegyzetfüzet
- Most
- szám
- of
- on
- ONE
- Művelet
- or
- érdekében
- eredeti
- Más
- ki
- teljesítmény
- kívül
- paraméterek
- rész
- Teljesít
- teljesítmény
- engedélyek
- Helyek
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- játék
- kérem
- állás
- Hozzászólások
- Pontosság
- Készít
- előfeltételek
- bemutatott
- feldolgozás
- termelékenység
- feltéve,
- amely
- tesz
- Piton
- Kérdések és válaszok
- világítás
- kérdés
- Kérdések
- gyorsan
- véletlen
- Ranking
- Olvass
- kész
- csökkenti
- utal
- összefüggő
- távoli
- raktár
- kötelező
- követelmények
- megköveteli,
- Tudástár
- visszatérés
- Szerep
- futás
- futás
- fut
- sagemaker
- azonos
- skálázás
- Tudomány
- forgatókönyv
- sdk
- lát
- kiválasztása
- Szolgáltatások
- készlet
- beállítás
- beállítások
- felépítés
- számos
- megosztott
- kellene
- kirakat
- kimutatta,
- mutatott
- Műsorok
- jelentős
- egyszerűen
- egyetlen
- megoldások
- Megoldások
- néhány
- szakember
- meghatározott
- Költési
- Sport
- verem
- kezdet
- kezdődött
- Lépés
- Lépései
- Még mindig
- stúdió
- ilyen
- elegendő
- mellékelt
- kínálat
- támogatás
- Támogatott
- kapcsoló
- rendszer
- cél
- feladatok
- csapat
- Csapattagok
- Műszaki
- technikák
- sablon
- teszt
- tesztek
- szöveg
- hogy
- A
- azok
- Őket
- akkor
- Ezek
- ezt
- Keresztül
- idő
- nak nek
- jelképes
- tokenizálni
- fáklya
- Végösszeg
- Vonat
- Képzések
- transzformerek
- kioldás
- próbál
- megért
- egységek
- Frissítések
- us
- Használat
- használ
- használt
- Felhasználók
- használ
- segítségével
- hasznosság
- fajta
- nagyon
- videó
- várjon
- Út..
- we
- háló
- webes szolgáltatások
- JÓL
- ami
- míg
- Wikipedia
- val vel
- nélkül
- Munka
- dolgozó
- művek
- lenne
- írás
- még
- te
- A te
- zephyrnet