Astăzi, modelele AI generative acoperă o varietate de sarcini, de la rezumarea textului, întrebări și răspunsuri și generarea de imagini și videoclipuri. Pentru a îmbunătăți calitatea rezultatelor, abordări precum n-short learning, Prompt engineering, Recuperare Augmented Generation (RAG) și se folosesc reglaje fine. Reglarea fină vă permite să ajustați aceste modele AI generative pentru a obține performanțe îmbunătățite în sarcinile specifice domeniului dvs.
cu Amazon SageMaker, acum puteți rula o lucrare de antrenament SageMaker pur și simplu adnotând codul dvs. Python cu @decorator la distanță. SageMaker Python SDK traduce automat mediul dvs. de lucru existent și orice cod de procesare a datelor și seturi de date asociate într-un job de instruire SageMaker care rulează pe platforma de instruire. Acest lucru are avantajul de a scrie codul într-un mod mai natural, orientat pe obiecte și încă folosește capabilitățile SageMaker pentru a rula joburi de instruire pe un cluster la distanță cu modificări minime.
În această postare, vă prezentăm cum să reglați fin a Soimul-7B Modele de fundație (FM) folosind @remote decorator de la SageMaker Python SDK. De asemenea, folosește Reglarea fină eficientă a parametrilor Hugging Face (PEFT) bibliotecă și tehnici de cuantizare prin biți și octeți pentru a sprijini reglajul fin. Codul prezentat în acest blog poate fi folosit și pentru a regla alte FM-uri, cum ar fi Lama-2 13b.
Reprezentările de precizie completă ale acestui model ar putea avea provocări pentru a se potrivi în memorie pe un singur sau chiar mai multe Unități de procesare grafică (GPU) — sau poate chiar avea nevoie de o instanță mai mare. Prin urmare, pentru a regla acest model fără a crește costul, folosim tehnica cunoscută ca LLM cuantizate cu adaptoare de rang scăzut (QLoRA). QLoRA este o abordare eficientă de reglare fină care reduce utilizarea memoriei LLM-urilor menținând în același timp o performanță foarte bună.
Avantajele utilizării @remote decorator
Înainte de a merge mai departe, să înțelegem cum decoratorul de la distanță îmbunătățește productivitatea dezvoltatorului în timp ce lucrează cu SageMaker:
- @remote decorator declanșează o lucrare de instruire direct folosind codul python nativ, fără invocarea explicită a SageMaker Estimators și a canalelor de intrare SageMaker
- Barieră scăzută de intrare pentru modele de instruire pentru dezvoltatori pe SageMaker.
- Nu este nevoie să schimbați Medii de dezvoltare integrate (IDE). Continuați să scrieți cod în IDE-ul ales de dvs. și invocați joburi de formare SageMaker.
- Nu este nevoie să înveți despre containere. Continuați să furnizați dependențe în a
requirements.txt
și furnizați-o decoratorului de la distanță.
Cerințe preliminare
Este necesar un cont AWS cu un Gestionarea identității și accesului AWS (AWS IAM) rol care are permisiuni de gestionare a resurselor create ca parte a soluției. Pentru detalii, consultați Crearea unui cont AWS.
În această postare, folosim Amazon SageMaker Studio cu Data Science 3.0
imagine și a ml.t3.medium
instanță de lansare rapidă. Cu toate acestea, puteți utiliza orice mediu de dezvoltare integrat (IDE) la alegere. Trebuie doar să vă configurați Interfața liniei de comandă AWS (AWS CLI) corect. Pentru mai multe informații, consultați Configurați AWS CLI.
Pentru reglaj fin, Falcon-7B, an ml.g5.12xlarge
instanța este folosită în această postare. Vă rugăm să asigurați o capacitate suficientă pentru această instanță în contul AWS.
Trebuie să clonezi asta Depozit Github pentru replicarea soluției demonstrate în această postare.
Prezentare generală a soluțiilor
- Instalați cerințele preliminare pentru reglarea fină a modelului Falcon-7B
- Configurați configurațiile decoratorului de la distanță
- Preprocesează setul de date care conține întrebări frecvente ale serviciilor AWS
- Ajustați Falcon-7B la întrebările frecvente ale serviciilor AWS
- Testați modelele de reglare fină pe exemple de întrebări legate de serviciile AWS
1. Instalați cerințele preliminare pentru reglarea fină a modelului Falcon-7B
Lansați caietul falcon-7b-qlora-remote-decorator_qa.ipynb în SageMaker Studio selectând IMAGE as Data Science
și Nucleu as Python 3
. Instalați toate bibliotecile necesare menționate în requirements.txt
. Puține dintre biblioteci trebuie instalate pe instanța de notebook în sine. Efectuați alte operațiuni necesare pentru procesarea setului de date și declanșarea unui job de instruire SageMaker.
2. Configurați configurațiile decoratorului de la distanță
Creați un fișier de configurare în care sunt specificate toate configurațiile legate de jobul de instruire Amazon SageMaker. Acest fișier este citit de @remote decorator în timp ce rulează jobul de antrenament. Acest fișier conține setări cum ar fi dependențe, imagine de antrenament, instanță și rolul de execuție care va fi utilizat pentru munca de antrenament. Pentru o referință detaliată a tuturor setărilor acceptate de fișierul de configurare, consultați Configurarea și utilizarea setărilor implicite cu SageMaker Python SDK.
Nu este obligatoriu să utilizați config.yaml
fișier pentru a lucra cu decoratorul @remote. Acesta este doar o modalitate mai curată de a furniza toate configurațiile decoratorului @remote. Acest lucru păstrează parametrii legați de SageMaker și AWS în afara codului, cu un efort unic pentru configurarea fișierului de configurare utilizat pentru membrii echipei. Toate configurațiile ar putea fi, de asemenea, furnizate direct în argumentele decoratorului, dar asta reduce lizibilitatea și menținerea modificărilor pe termen lung. De asemenea, fișierul de configurare poate fi creat de un administrator și partajat cu toți utilizatorii dintr-un mediu.
Preprocesează setul de date care conține întrebări frecvente ale serviciilor AWS
Următorul pas este să încărcați și să preprocesați setul de date pentru a-l pregăti pentru munca de instruire. Mai întâi, să aruncăm o privire asupra setului de date:
Afișează întrebări frecvente pentru unul dintre serviciile AWS. Pe lângă QLoRA, bitsanbytes
este folosit pentru a converti la precizia de 4 biți pentru a cuantifica LLM înghețat la 4 biți și pentru a atașa LoRA adaptoare pe el.
Creați un șablon de prompt pentru a converti fiecare eșantion de întrebări frecvente într-un format de prompt:
Următorul pas este să convertiți intrările (textul) în ID-uri de simbol. Acest lucru este realizat de a Hugging Face Transformers Tokenizer.
Acum pur și simplu utilizați prompt_template
funcția de a converti toate întrebările frecvente în format prompt și de a configura seturile de date de tren și de testare.
4. Ajustați Falcon-7B la întrebările frecvente ale serviciilor AWS
Acum puteți pregăti scriptul de antrenament și puteți defini funcția de antrenament train_fn
și pune @remote decorator pe funcție.
Funcția de antrenament face următoarele:
- tokenizează și fragmentează setul de date
- instituit
BitsAndBytesConfig
, care specifică că modelul ar trebui să fie încărcat pe 4 biți, dar în timp ce calculul ar trebui convertit înbfloat16
. - Încărcați modelul
- Găsiți module țintă și actualizați matricele necesare utilizând metoda utilitarului
find_all_linear_names
- Crea LoRA configurații care specifică clasarea matricelor de actualizare (
s
), factorul de scalare (lora_alpha
), modulele pentru aplicarea matricelor de actualizare LoRA (target_modules
), probabilitatea de abandon pentru straturile Lora(lora_dropout
),task_type
, Etc - Începeți pregătirea și evaluarea
Și invocă train_fn()
Lucrarea de reglare ar rula pe clusterul de antrenament Amazon SageMaker. Așteptați finalizarea lucrării de reglare.
5. Testați modelele de reglare fină pe exemple de întrebări legate de serviciile AWS
Acum, este timpul să rulăm câteva teste pe model. Mai întâi, să încărcăm modelul:
Acum încărcați un exemplu de întrebare din setul de date de antrenament pentru a vedea răspunsul inițial și apoi puneți aceeași întrebare din modelul reglat pentru a vedea răspunsul în comparație.
Iată un exemplu de întrebare din setul de antrenament și răspunsul original:
Acum, aceeași întrebare este adresată modelului Falcon-7B reglat:
Aceasta încheie implementarea reglajului fin Falcon-7B pe setul de date FAQ privind serviciile AWS folosind @remote decorator de la Amazon SageMaker Python SDK.
A curăța
Parcurgeți următorii pași pentru a vă curăța resursele:
- Închideți instanțele Amazon SageMaker Studio pentru a evita costuri suplimentare.
- Curățați sistemul de fișiere Amazon Elastic (Amazon EFS) prin ștergerea directorului cache Hugging Face:
Concluzie
În această postare, v-am arătat cum să utilizați eficient capacitățile decoratorului @remote pentru a regla fin modelul Falcon-7B folosind QLoRA, Hugging Face PEFT cu bitsandbtyes
fără a aplica modificări semnificative în caietul de antrenament și a folosit capabilitățile Amazon SageMaker pentru a rula lucrări de instruire pe un cluster la distanță.
Tot codul afișat ca parte a acestei postări pentru a regla finul Falcon-7B este disponibil în GitHub depozit. Depozitul conține, de asemenea, un notebook care arată cum să reglați fin Llama-13B.
Ca pas următor, vă încurajăm să verificați @funcționalitatea decoratorului de la distanță și API-ul Python SDK și utilizați-l în mediul și IDE alese. Exemple suplimentare sunt disponibile în amazon-sagemaker-exemple depozit pentru a începe rapid. De asemenea, puteți consulta următoarele postări:
Despre Autori
Bruno Pistone este un arhitect specializat în soluții AI/ML pentru AWS cu sediul în Milano. Lucrează cu clienți mari, ajutându-i să-și înțeleagă în profunzime nevoile tehnice și să proiecteze soluții de AI și de învățare automată care folosesc cel mai bine AWS Cloud și stiva Amazon Machine Learning. Expertiza sa includ: Machine Learning end to end, Machine Learning Industrialization și Generative AI. Îi place să petreacă timpul cu prietenii săi și să exploreze locuri noi, precum și să călătorească către noi destinații.
Vikesh Pandey este arhitect de soluții specializat în învățare automată la AWS, ajutând clienții din industriile financiare să proiecteze și să construiască soluții pe IA generativă și ML. În afara serviciului, lui Vikesh îi place să încerce diferite bucătării și să facă sporturi în aer liber.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. Automobile/VE-uri, carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- ChartPrime. Crește-ți jocul de tranzacționare cu ChartPrime. Accesați Aici.
- BlockOffsets. Modernizarea proprietății de compensare a mediului. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/fine-tune-falcon-7b-and-other-llms-on-amazon-sagemaker-with-remote-decorator/
- :are
- :este
- :nu
- :Unde
- $UP
- 1
- 10
- 100
- 12
- 13
- 150
- 28
- 31
- 40
- 7
- 8
- 9
- a
- Despre Noi
- acces
- Cont
- Obține
- peste
- adăuga
- plus
- Suplimentar
- Avantaj
- AI
- Modele AI
- AI / ML
- TOATE
- permite
- permite
- de asemenea
- Amazon
- Învățare automată Amazon
- Amazon SageMaker
- Amazon SageMaker Studio
- Amazon Web Services
- an
- și
- răspunde
- răspunsuri
- Orice
- Aplică
- Aplicarea
- abordare
- abordari
- arhitectură
- SUNT
- argumente
- AS
- cere
- asociate
- At
- atașa
- augmented
- Autorii
- Auto
- în mod automat
- disponibil
- evita
- AWS
- barieră
- bazat
- BE
- deoarece
- fiind
- CEL MAI BUN
- mai mare
- Blog
- BNB
- construi
- dar
- by
- Cache
- CAN
- capacități
- Capacitate
- provocări
- Modificări
- verifica
- alegere
- curat
- Cliring
- Cloud
- Grup
- cod
- comparație
- calcul
- Configuraţie
- Containere
- conține
- continua
- converti
- convertit
- A costat
- Cheltuieli
- ar putea
- acoperi
- a creat
- scrisori de acreditare
- personalizat
- clienţii care
- de date
- de prelucrare a datelor
- seturi de date
- implicite
- defini
- demonstrat
- dependențe
- Amenajări
- destinații
- detaliat
- detalii
- Dezvoltator
- Dezvoltatorii
- Dezvoltare
- dispozitiv
- diferit
- direct
- face
- făcut
- jos
- fiecare
- în mod eficient
- eficient
- efort
- altfel
- încuraja
- capăt
- Inginerie
- asigura
- intrare
- Mediu inconjurator
- medii
- etc
- Chiar
- exemple
- execuție
- existent
- expertiză
- Explorarea
- Față
- factor
- fals
- FAQ
- FAST
- DESCRIERE
- puțini
- Fișier
- financiar
- industriile financiare
- capăt
- termina
- First
- potrivi
- următor
- Pentru
- format
- găsit
- Fundație
- Prietenii lui
- din
- congelate
- Complet
- funcţie
- mai mult
- generaţie
- generativ
- AI generativă
- obține
- merge
- bine
- unități de procesare grafică
- Avea
- he
- ajutor
- prin urmare
- lui
- Cum
- Cum Pentru a
- Totuși
- HTML
- http
- HTTPS
- Identitate
- ID-uri
- if
- imagine
- implementarea
- import
- îmbunătăţi
- îmbunătățit
- îmbunătăţeşte
- in
- include
- crescând
- industrii
- informații
- intrare
- intrări
- instala
- instalat
- instanță
- integrate
- în
- IT
- în sine
- Loc de munca
- Locuri de munca
- jpg
- doar
- cunoscut
- mare
- lansa
- AFLAȚI
- învăţare
- lăsa
- biblioteci
- Bibliotecă
- ca
- Linie
- LLM
- încărca
- Lung
- Uite
- maşină
- masina de învățare
- Mentine
- face
- administra
- obligatoriu
- Mai..
- Membri actuali
- Memorie
- menționat
- ar putea
- MILAN
- minim
- ML
- model
- Modele
- Module
- Module
- mai mult
- nume
- nume
- nativ
- Natural
- necesar
- Nevoie
- necesar
- nevoilor
- Nou
- următor
- Nu.
- Nici unul
- caiet
- acum
- număr
- of
- on
- ONE
- Operațiuni
- or
- comandă
- original
- Altele
- afară
- producție
- exterior
- parametrii
- parte
- Efectua
- performanță
- permisiuni
- Locuri
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- joc
- "vă rog"
- Post
- postări
- Precizie
- Pregăti
- premise
- prezentat
- prelucrare
- productivitate
- prevăzut
- furnizarea
- pune
- Piton
- Q & A
- calitate
- întrebare
- Întrebări
- repede
- aleator
- Clasat
- Citeste
- gata
- reduce
- trimite
- legate de
- la distanta
- depozit
- necesar
- Cerinţe
- Necesită
- Resurse
- reveni
- Rol
- Alerga
- funcţionare
- ruleaza
- sagemaker
- acelaşi
- scalare
- Ştiinţă
- scenariu
- sdk
- vedea
- selectarea
- Servicii
- set
- instalare
- setări
- configurarea
- câteva
- comun
- să
- prezenta
- a arătat
- indicat
- Emisiuni
- semnificativ
- pur şi simplu
- singur
- soluţie
- soluţii
- unele
- specialist
- specificată
- Cheltuire
- Sportul
- stivui
- Începe
- început
- Pas
- paşi
- Încă
- studio
- astfel de
- suficient
- furnizat
- livra
- a sustine
- Suportat
- Intrerupator
- sistem
- Ţintă
- sarcini
- echipă
- Membrii echipei
- Tehnic
- tehnici de
- șablon
- test
- teste
- a) Sport and Nutrition Awareness Day in Manasia Around XNUMX people from the rural commune Manasia have participated in a sports and healthy nutrition oriented activity in one of the community’s sports ready yards. This activity was meant to gather, mainly, middle-aged people from a Romanian rural community and teach them about the benefits that sports have on both their mental and physical health and on how sporting activities can be used to bring people from a community closer together. Three trainers were made available for this event, so that the participants would get the best possible experience physically and so that they could have the best access possible to correct information and good sports/nutrition practices. b) Sports Awareness Day in Poiana Țapului A group of young participants have taken part in sporting activities meant to teach them about sporting conduct, fairplay, and safe physical activities. The day culminated with a football match.
- acea
- lor
- Lor
- apoi
- Acestea
- acest
- Prin
- timp
- la
- semn
- tokeniza
- lanternă
- Total
- Tren
- Pregătire
- transformatoare
- declanșând
- încercat
- înţelege
- de unităţi
- Actualizează
- us
- Folosire
- utilizare
- utilizat
- utilizatorii
- utilizări
- folosind
- utilitate
- varietate
- foarte
- Video
- aștepta
- Cale..
- we
- web
- servicii web
- BINE
- care
- în timp ce
- Wikipedia
- cu
- fără
- Apartamente
- de lucru
- fabrică
- ar
- scris
- încă
- Tu
- Ta
- zephyrnet