Obecnie generatywne modele sztucznej inteligencji obejmują różnorodne zadania, od podsumowań tekstu, pytań i odpowiedzi po generowanie obrazów i filmów. Aby poprawić jakość wyników, stosuje się podejścia takie jak n-krótkie uczenie się, szybka inżynieria, Generowanie rozszerzone odzyskiwania (RAG) i dostrojenie są stosowane. Dostrajanie umożliwia dostosowanie tych generatywnych modeli sztucznej inteligencji w celu osiągnięcia lepszej wydajności zadań specyficznych dla domeny.
Z Amazon Sage Maker, teraz możesz uruchomić zadanie szkoleniowe SageMaker, po prostu dodając adnotacje do swojego kodu Pythona @zdalny dekorator, SageMaker SDK dla Pythona automatycznie tłumaczy istniejące środowisko obszaru roboczego oraz wszelki powiązany kod przetwarzania danych i zbiory danych na zadanie szkoleniowe SageMaker działające na platformie szkoleniowej. Ma to tę zaletę, że pisze kod w bardziej naturalny, obiektowy sposób i nadal wykorzystuje możliwości SageMaker do uruchamiania zadań szkoleniowych w zdalnym klastrze przy minimalnych zmianach.
W tym poście pokażemy, jak dostroić plik a Sokół-7B Modele podstawowe (FM) wykorzystujące dekorator @remote z pakietu SageMaker Python SDK. Używa również Wydajne parametrycznie dostrajanie Hugging Face (PEFT) biblioteki i techniki kwantyzacji poprzez bitsandbajty w celu wsparcia dostrajania. Kod przedstawiony na tym blogu można również wykorzystać do dostrojenia innych FM, takich jak Lama-2 13b.
Pełnoprecyzyjne reprezentacje tego modelu mogą powodować problemy z dopasowaniem ich do pamięci w jednym lub nawet kilku egzemplarzach Jednostki przetwarzania grafiki (GPU) — lub może nawet potrzebować większej instancji. Dlatego też, aby udoskonalić ten model bez zwiększania kosztów, stosujemy technikę znaną jako Kwantyzowane LLM z adapterami niskiej rangi (QLoRA). QLoRA to wydajne podejście do dostrajania, które zmniejsza zużycie pamięci przez LLM przy jednoczesnym zachowaniu bardzo dobrej wydajności.
Zalety korzystania z dekoratora @remote
Zanim przejdziemy dalej, przyjrzyjmy się, jak zdalny dekorator poprawia produktywność programistów podczas pracy z SageMaker:
- Dekorator @remote wyzwala zadanie szkoleniowe bezpośrednio przy użyciu natywnego kodu Pythona, bez jawnego wywoływania estymatorów SageMaker i kanałów wejściowych SageMaker
- Niska bariera wejścia dla programistów szkolących modele w SageMaker.
- Nie ma potrzeby przełączania Zintegrowane środowiska programistyczne (IDE). Kontynuuj pisanie kodu w wybranym przez siebie IDE i wywoływaj zadania szkoleniowe SageMaker.
- Nie musisz uczyć się o kontenerach. Kontynuuj udostępnianie zależności w pliku a
requirements.txt
i przekaż to zdalnemu dekoratorowi.
Wymagania wstępne
Potrzebne jest konto AWS z domeną AWS Zarządzanie tożsamością i dostępem (Uprawnienia AWS) rola posiadający uprawnienia do zarządzania zasobami utworzonymi w ramach rozwiązania. Aby poznać szczegóły, patrz Tworzenie konta AWS.
W tym poście używamy Studio Amazon SageMaker z Data Science 3.0
obraz i A ml.t3.medium
instancja szybkiego uruchamiania. Można jednak użyć dowolnego wybranego zintegrowanego środowiska programistycznego (IDE). Musisz tylko skonfigurować swój Interfejs wiersza poleceń AWS (AWS CLI) poświadczenia poprawnie. Aby uzyskać więcej informacji, patrz Skonfiguruj interfejs AWS CLI.
Do dostrojenia Falcon-7B, an ml.g5.12xlarge
instancja jest używana w tym poście. Upewnij się, że masz wystarczającą pojemność dla tej instancji na koncie AWS.
Musisz to sklonować Repozytorium Github za powtórzenie rozwiązania zaprezentowanego w tym poście.
Omówienie rozwiązania
- Zainstaluj wymagania wstępne, aby dostroić model Falcon-7B
- Skonfiguruj konfiguracje zdalnego dekoratora
- Przetwórz wstępnie zbiór danych zawierający często zadawane pytania dotyczące usług AWS
- Dostosuj Falcon-7B w często zadawanych pytaniach dotyczących usług AWS
- Przetestuj modele dostrajania na przykładowych pytaniach związanych z usługami AWS
1. Zainstaluj wymagania wstępne, aby dostroić model Falcon-7B
Uruchom notebook falcon-7b-qlora-remote-decorator_qa.ipynb w SageMaker Studio, wybierając opcję Imag as Data Science
i Jądro as Python 3
. Zainstaluj wszystkie wymagane biblioteki wymienione w pliku requirements.txt
. Niewiele bibliotek wymaga instalacji w samej instancji notatnika. Wykonaj inne operacje potrzebne do przetwarzania zestawu danych i wyzwalania zadania szkoleniowego SageMaker.
2. Skonfiguruj konfiguracje zdalnego dekoratora
Utwórz plik konfiguracyjny, w którym zostaną określone wszystkie konfiguracje związane z zadaniem szkoleniowym Amazon SageMaker. Ten plik jest odczytywany przez dekoratora @remote podczas wykonywania zadania szkoleniowego. Ten plik zawiera ustawienia, takie jak zależności, obraz szkoleniowy, instancję i rolę wykonawczą, które mają być używane w zadaniu szkoleniowym. Aby uzyskać szczegółowe informacje na temat wszystkich ustawień obsługiwanych przez plik konfiguracyjny, sprawdź Konfigurowanie i używanie ustawień domyślnych za pomocą zestawu SageMaker Python SDK.
Korzystanie z config.yaml
plik, aby móc pracować z dekoratorem @remote. Jest to po prostu czystszy sposób dostarczenia wszystkich konfiguracji dekoratorowi @remote. Dzięki temu parametry powiązane z SageMakerem i AWS pozostają poza kodem, a jednorazowa operacja polega na skonfigurowaniu pliku konfiguracyjnego używanego przez członków zespołu. Wszystkie konfiguracje można również podać bezpośrednio w argumentach dekoratora, ale na dłuższą metę zmniejsza to czytelność i łatwość konserwacji zmian. Ponadto plik konfiguracyjny może zostać utworzony przez administratora i udostępniony wszystkim użytkownikom w danym środowisku.
Przetwórz wstępnie zbiór danych zawierający często zadawane pytania dotyczące usług AWS
Następnym krokiem jest załadowanie i wstępne przetworzenie zbioru danych, aby był gotowy do zadania szkoleniowego. Na początek spójrzmy na zbiór danych:
Pokazuje najczęściej zadawane pytania dotyczące jednej z usług AWS. Oprócz QLoRA, bitsanbytes
służy do konwersji na 4-bitową precyzję w celu kwantyzacji zamrożonego LLM do 4-bitowego i dołączenia LoRA na nim adaptery.
Utwórz szablon podpowiedzi, aby przekonwertować każdą próbkę często zadawanych pytań na format podpowiedzi:
Następnym krokiem jest konwersja danych wejściowych (tekstu) na identyfikatory tokenów. Dokonuje tego A Tokenizator Transformersów z Przytulającą Twarzą.
Teraz po prostu użyj prompt_template
funkcja konwertująca wszystkie często zadawane pytania do formatu podpowiedzi oraz konfigurująca zbiory danych do trenowania i testowania.
4. Dostosuj Falcon-7B do często zadawanych pytań dotyczących usług AWS
Teraz możesz przygotować skrypt szkoleniowy i zdefiniować funkcję szkoleniową train_fn
i umieść dekorator @remote w funkcji.
Funkcja szkoleniowa wykonuje następujące czynności:
- tokenizuje i dzieli zbiór danych
- utworzyć
BitsAndBytesConfig
, który określa, że model powinien zostać załadowany w formacie 4-bitowym, ale obliczenia powinny zostać przekonwertowane nabfloat16
. - Załaduj model
- Znajdź moduły docelowe i zaktualizuj niezbędne macierze, korzystając z metody użytkowej
find_all_linear_names
- Stwórz LoRA konfiguracje określające ranking macierzy aktualizacji (
s
), współczynnik skalowania (lora_alpha
), moduły do stosowania macierzy aktualizacji LoRA (target_modules
), prawdopodobieństwo porzucenia dla warstw Lory (lora_dropout
),task_type
, itp. - Rozpocznij szkolenie i ocenę
I wywołaj train_fn()
Zadanie dostrajania będzie uruchamiane w klastrze szkoleniowym Amazon SageMaker. Poczekaj na zakończenie zadania strojenia.
5. Przetestuj modele dostrajania na przykładowych pytaniach związanych z usługami AWS
Teraz czas na testy modelu. Najpierw załadujmy model:
Teraz załaduj przykładowe pytanie ze zbioru danych szkoleniowych, aby zobaczyć oryginalną odpowiedź, a następnie zadaj to samo pytanie z dostrojonego modelu, aby zobaczyć odpowiedź w porównaniu.
Oto przykładowe pytanie ze zbioru szkoleniowego i oryginalna odpowiedź:
Teraz to samo pytanie zadawane jest w przypadku dostrojonego modelu Falcon-7B:
Na tym kończy się implementacja dostrajania Falcona-7B w zestawie danych FAQ usług AWS przy użyciu dekoratora @remote z pakietu Amazon SageMaker Python SDK.
Sprzątanie
Wykonaj następujące kroki, aby wyczyścić zasoby:
- Wyłącz instancje Amazon SageMaker Studio, aby uniknąć dodatkowych kosztów.
- Wyczyść swój elastyczny system plików Amazon (Amazon EFS) poprzez wyczyszczenie katalogu pamięci podręcznej Hugging Face:
Wnioski
W tym poście pokazaliśmy jak efektywnie wykorzystać możliwości dekoratora @remote do dostrojenia modelu Falcona-7B przy użyciu QLoRA, Hugging Face PEFT z bitsandbtyes
bez wprowadzania znaczących zmian w notatniku szkoleniowym i wykorzystał możliwości Amazon SageMaker do uruchamiania zadań szkoleniowych w zdalnym klastrze.
Cały kod pokazany w tym poście, służący do dostrojenia Falcona-7B, jest dostępny w pliku Repozytorium GitHub. Repozytorium zawiera również notatnik pokazujący, jak dostroić Llamę-13B.
W kolejnym kroku zachęcamy do sprawdzenia Funkcjonalność dekoratora @remote i API Pythona SDK i używać go w wybranym środowisku i IDE. Dodatkowe przykłady są dostępne w amazon-sagemaker-przykłady repozytorium, dzięki któremu możesz szybko rozpocząć pracę. Możesz także zapoznać się z następującymi postami:
O autorach
Bruno Piston jest architektem rozwiązań specjalistycznych AI/ML dla AWS z siedzibą w Mediolanie. Współpracuje z dużymi klientami, pomagając im dogłębnie zrozumieć ich potrzeby techniczne oraz projektować rozwiązania AI i Machine Learning, które najlepiej wykorzystują chmurę AWS i stos Amazon Machine Learning. Jego specjalistyczna wiedza obejmuje kompleksowe uczenie maszynowe, industrializację uczenia maszynowego i generatywną sztuczną inteligencję. Lubi spędzać czas z przyjaciółmi i odkrywać nowe miejsca, a także podróżować do nowych miejsc.
Vikesha Pandey’a jest architektem rozwiązań Machine Learning Specialist Solutions w AWS, pomagając klientom z branży finansowej projektować i budować rozwiązania w oparciu o generatywną sztuczną inteligencję i ML. Poza pracą Vikesh lubi próbować różnych kuchni i uprawiać sporty na świeżym powietrzu.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Motoryzacja / pojazdy elektryczne, Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- ChartPrime. Podnieś poziom swojej gry handlowej dzięki ChartPrime. Dostęp tutaj.
- Przesunięcia bloków. Modernizacja własności offsetu środowiskowego. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/fine-tune-falcon-7b-and-other-llms-on-amazon-sagemaker-with-remote-decorator/
- :ma
- :Jest
- :nie
- :Gdzie
- $W GÓRĘ
- 1
- 10
- 100
- 12
- 13
- 150
- 28
- 31
- 40
- 7
- 8
- 9
- a
- O nas
- dostęp
- Konto
- Osiągać
- w poprzek
- Dodaj
- dodatek
- Dodatkowy
- Korzyść
- AI
- Modele AI
- AI / ML
- Wszystkie kategorie
- dopuszczać
- pozwala
- również
- Amazonka
- Uczenie maszynowe Amazon
- Amazon Sage Maker
- Studio Amazon SageMaker
- Amazon Web Services
- an
- i
- odpowiedź
- odpowiedzi
- każdy
- Aplikuj
- Stosowanie
- podejście
- awanse
- architektura
- SĄ
- argumenty
- AS
- zapytać
- powiązany
- At
- dołączać
- zwiększona
- Autorzy
- samochód
- automatycznie
- dostępny
- uniknąć
- AWS
- bariera
- na podstawie
- BE
- bo
- jest
- BEST
- większe
- Blog
- BnB
- budować
- ale
- by
- Cache
- CAN
- możliwości
- Pojemność
- wyzwania
- Zmiany
- ZOBACZ
- wybór
- odkurzacz
- Clearing
- Chmura
- Grupa
- kod
- porównanie
- obliczenia
- systemu
- Pojemniki
- zawiera
- kontynuować
- konwertować
- przeliczone
- Koszty:
- Koszty:
- mógłby
- pokrywa
- stworzony
- Listy uwierzytelniające
- zwyczaj
- Klientów
- dane
- analiza danych
- zbiory danych
- Domyślnie
- określić
- wykazać
- Zależności
- Wnętrze
- Cele podróży
- szczegółowe
- detale
- Deweloper
- deweloperzy
- oprogramowania
- urządzenie
- różne
- bezpośrednio
- robi
- zrobić
- na dół
- każdy
- faktycznie
- wydajny
- wysiłek
- więcej
- zachęcać
- zakończenia
- Inżynieria
- zapewnić
- wejście
- Środowisko
- środowiska
- itp
- Parzyste
- przykłady
- egzekucja
- Przede wszystkim system został opracowany
- ekspertyza
- Exploring
- Twarz
- czynnik
- fałszywy
- FAQ
- FAST
- Korzyści
- kilka
- filet
- budżetowy
- branże finansowe
- w porządku
- koniec
- i terminów, a
- dopasować
- następujący
- W razie zamówieenia projektu
- format
- znaleziono
- Fundacja
- przyjaciele
- od
- zamrożone
- pełny
- funkcjonować
- dalej
- generacja
- generatywny
- generatywna sztuczna inteligencja
- otrzymać
- będzie
- dobry
- GPU
- Have
- he
- pomoc
- stąd
- jego
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- tożsamość
- ids
- if
- obraz
- realizacja
- importować
- podnieść
- ulepszony
- poprawia
- in
- zawierać
- wzrastający
- przemysłowa
- Informacja
- wkład
- Wejścia
- zainstalować
- zainstalowany
- przykład
- zintegrowany
- najnowszych
- IT
- samo
- Praca
- Oferty pracy
- jpg
- właśnie
- znany
- duży
- uruchomić
- UCZYĆ SIĘ
- nauka
- niech
- biblioteki
- Biblioteka
- lubić
- Linia
- LLM
- załadować
- długo
- Popatrz
- maszyna
- uczenie maszynowe
- Utrzymywanie
- robić
- zarządzanie
- obowiązkowe
- Może..
- Użytkownicy
- Pamięć
- wzmiankowany
- może
- MILAN
- minimalny
- ML
- model
- modele
- Moduł
- Moduły
- jeszcze
- Nazwa
- Nazwy
- rodzimy
- Naturalny
- niezbędny
- Potrzebować
- potrzebne
- wymagania
- Nowości
- Następny
- Nie
- żaden
- notatnik
- już dziś
- numer
- of
- on
- ONE
- operacje
- or
- zamówienie
- oryginalny
- Inne
- na zewnątrz
- wydajność
- zewnętrzne
- parametry
- część
- wykonać
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- uprawnienia
- Miejsca
- Platforma
- plato
- Analiza danych Platona
- PlatoDane
- gra
- Proszę
- Post
- Wiadomości
- Detaliczność
- Przygotować
- warunki wstępne
- przedstawione
- przetwarzanie
- wydajność
- pod warunkiem,
- że
- położyć
- Python
- Q & A
- jakość
- pytanie
- pytania
- szybko
- przypadkowy
- Ranking
- Czytaj
- gotowy
- zmniejsza
- odnosić się
- związane z
- zdalny
- składnica
- wymagany
- wymagania
- Wymaga
- Zasoby
- powrót
- Rola
- run
- bieganie
- działa
- sagemaker
- taki sam
- skalowaniem
- nauka
- scenariusz
- Sdk
- widzieć
- wybierając
- Usługi
- zestaw
- ustawienie
- w panelu ustawień
- ustawienie
- kilka
- shared
- powinien
- prezentacja
- pokazał
- pokazane
- Targi
- znaczący
- po prostu
- pojedynczy
- rozwiązanie
- Rozwiązania
- kilka
- specjalista
- określony
- Spędzanie
- SPORTOWE
- stos
- początek
- rozpoczęty
- Ewolucja krok po kroku
- Cel
- Nadal
- studio
- taki
- wystarczający
- w zestawie
- Dostawa
- wsparcie
- Utrzymany
- Przełącznik
- system
- cel
- zadania
- zespół
- Członkowie Zespołu
- Techniczny
- Techniki
- szablon
- test
- Testy
- XNUMX
- że
- Połączenia
- ich
- Im
- następnie
- Te
- to
- Przez
- czas
- do
- żeton
- tokenizować
- pochodnia
- Kwota produktów:
- Pociąg
- Trening
- Transformatory
- wyzwalanie
- stara
- zrozumieć
- jednostek
- Aktualizacja
- us
- Stosowanie
- posługiwać się
- używany
- Użytkownicy
- zastosowania
- za pomocą
- użyteczność
- różnorodność
- początku.
- Wideo
- czekać
- Droga..
- we
- sieć
- usługi internetowe
- DOBRZE
- który
- Podczas
- Wikipedia
- w
- bez
- Praca
- pracujący
- działa
- by
- pisanie
- jeszcze
- You
- Twój
- zefirnet