W tym poście pokazujemy, jak zaimplementować jeden z najczęściej pobieranych wstępnie wytrenowanych modeli Hugging Face, używanych do podsumowania tekstu, DestylacjaBART-CNN-12-6, w notatniku Jupyter przy użyciu Amazon Sage Maker oraz Zestaw narzędzi do wnioskowania o przytulaniu twarzy SageMaker. Na podstawie kroków przedstawionych w tym poście możesz spróbować podsumować tekst z WikiTekst-2 zestaw danych zarządzany przez fast.ai, dostępny na Rejestr otwartych danych na AWS.
Globalne wolumeny danych rosną w skali zettabajta, ponieważ firmy i konsumenci coraz częściej korzystają z produktów cyfrowych i usług online. Aby lepiej zrozumieć te rosnące dane, techniki przetwarzania języka naturalnego (NLP) uczące się maszynowo (ML) do analizy tekstu ewoluowały w celu rozwiązania przypadków użycia obejmujących podsumowywanie tekstu, rozpoznawanie jednostek, klasyfikację, tłumaczenie i inne. AWS oferuje przeszkolenie Usługi AWS AI które można zintegrować z aplikacjami za pomocą wywołań API i nie wymagają doświadczenia w ML. Na przykład, Amazon Comprehend może wykonywać zadania NLP, takie jak rozpoznawanie niestandardowych jednostek, analiza sentymentu, wyodrębnianie kluczowych fraz, modelowanie tematów i inne, aby zebrać wgląd w tekst. Może wykonać analiza tekstu w wielu różnych językach ze względu na jego różne cechy.
Podsumowanie tekstu jest techniką pomocną w zrozumieniu dużych ilości danych tekstowych, ponieważ tworzy podzbiór informacji o znaczeniu kontekstowym z dokumentów źródłowych. Możesz zastosować tę technikę NLP do dłuższych dokumentów tekstowych i artykułów, umożliwiając szybsze wykorzystanie i bardziej efektywne indeksowanie dokumentów, na przykład podsumowywanie notatek telefonicznych ze spotkań.
Przytulanie Twarzy to popularna biblioteka open source dla NLP, zawierająca ponad 49,000 185 wstępnie wytrenowanych modeli w ponad XNUMX językach z obsługą różnych platform. AWS i Hugging Face mają współpraca który umożliwia bezproblemową integrację za pośrednictwem SageMaker z zestawem kontenerów głębokiego uczenia AWS (DLC) do szkolenia i wnioskowania w PyTorch lub TensorFlow oraz estymatorów i predyktorów Hugging Face dla pakietu SDK SageMaker Python. Te możliwości w SageMaker ułatwiają programistom i analitykom danych rozpoczęcie pracy z NLP w AWS. Przetwarzanie tekstów za pomocą transformatorów w strukturach głębokiego uczenia, takich jak PyTorch, jest zazwyczaj złożonym i czasochłonnym zadaniem dla naukowców zajmujących się danymi, często prowadząc do frustracji i braku wydajności podczas opracowywania projektów NLP. Rozwój społeczności AI, takich jak Hugging Face, w połączeniu z możliwościami usług ML w chmurze, takich jak SageMaker, przyspiesza i upraszcza rozwój tych zadań związanych z przetwarzaniem tekstu. SageMaker pomaga budować, trenować, wdrażać i operować modelami Hugging Face.
Przegląd podsumowania tekstu
Możesz zastosować podsumowanie tekstu, aby zidentyfikować kluczowe zdania w dokumencie lub zidentyfikować kluczowe zdania w wielu dokumentach. Podsumowanie tekstu może generować dwa rodzaje podsumowań: ekstrakcyjne i abstrakcyjne. Wyodrębnianie podsumowań nie zawiera żadnego tekstu generowanego maszynowo i jest zbiorem ważnych zdań wybranych z dokumentu wejściowego. Streszczenia abstrakcyjne zawierają nowe, czytelne dla człowieka frazy i zdania generowane przez model podsumowania tekstu. Większość systemów podsumowania tekstu opiera się na podsumowaniu ekstrakcyjnym, ponieważ dokładne streszczenie tekstu abstrakcyjnego jest trudne do osiągnięcia.
Hugging Face ma ponad 400 wytrenowanych, najnowocześniejszych technologii dostępne modele podsumowania tekstu, wdrażając różne kombinacje technik NLP. Modele te są szkolone na różnych zestawach danych, przesyłane i utrzymywane przez firmy technologiczne i członków społeczności Hugging Face. Możesz filtrować modele według najczęściej pobieranych lub najbardziej lubianych i ładować je bezpośrednio podczas korzystania z rurociąg podsumowujący API transformatora Hugging Face. Transformator Hugging Face upraszcza proces implementacji NLP, dzięki czemu wysokowydajne modele NLP można dostroić w celu dostarczania streszczeń tekstowych, bez konieczności posiadania rozległej wiedzy na temat obsługi ML.
Modele podsumowania tekstu Hugging Face w AWS
SageMaker oferuje analitykom biznesowym, analitykom danych i inżynierom MLOps wybór narzędzi do projektowania i obsługi obciążeń ML w AWS. Narzędzia te zapewniają szybszą implementację i testowanie modeli ML w celu osiągnięcia optymalnych wyników.
Z Zestaw narzędzi do wnioskowania o przytulaniu twarzy SageMaker, biblioteka typu open source, przedstawiamy trzy różne sposoby implementacji i hostowania modeli podsumowania tekstu Hugging Face za pomocą notatnika Jupyter:
- Potok podsumowania przytulania twarzy - Stwórz Potok podsumowania przytulania twarzy używając "
summarization
” identyfikator zadania, aby użyć domyślnego modelu podsumowania tekstu do wnioskowania w notatniku Jupyter. Te potoki abstrahują od złożonego kodu, oferując początkującym praktykom ML prosty interfejs API do szybkiego implementowania podsumowania tekstu bez konfigurowania punktu końcowego wnioskowania. Potok umożliwia również praktykowi ML wybranie określonego wstępnie wytrenowanego modelu i skojarzonego z nim tokenizera. Tokenizatory przygotowują tekst, aby był gotowy jako dane wejściowe dla modelu, dzieląc tekst na słowa lub podsłowa, które następnie są konwertowane na identyfikatory za pomocą tabeli wyszukiwania. Dla uproszczenia poniższy fragment kodu zapewnia domyślny przypadek podczas korzystania z potoków. The DestylacjaBART-CNN-12-6 model jest jednym z najczęściej pobieranych modeli podsumowujących na Hugging Face i jest domyślny model potoku podsumowania. Ostatni wiersz wywołuje wstępnie wytrenowany model, aby uzyskać podsumowanie przekazanego tekstu, biorąc pod uwagę dostarczone dwa argumenty. - Punkt końcowy SageMaker ze wstępnie wytrenowanym modelem – Utwórz punkt końcowy SageMaker za pomocą wstępnie wytrenowanego modelu z Przytulanie twarzy Model Hub i wdróż go w punkcie końcowym wnioskowania, takim jak wystąpienie ml.m5.xlarge w poniższym fragmencie kodu. Ta metoda umożliwia doświadczonym praktykom ML szybkie wybieranie określonych modeli typu open source, dostrajanie ich i wdrażanie modeli w wysoce wydajnych instancjach wnioskowania.
- Punkt końcowy SageMaker z wyszkolonym modelem – Utwórz punkt końcowy modelu SageMaker z wytrenowanym modelem przechowywanym w Usługa Amazon Simple Storage (Amazon S3) i wdróż go w punkcie końcowym wnioskowania. Ta metoda pozwala doświadczonym praktykom ML na szybkie wdrażanie własnych modeli przechowywanych w Amazon S3 na wysoce wydajne instancje wnioskowania. Sam model jest pobierany z Hugging Face i kompresowany, a następnie można go wgrać do Amazon S3. Ten krok jest przedstawiony w następującym fragmencie kodu:
AWS ma kilka dostępnych zasobów, które pomogą Ci we wdrażaniu obciążeń ML. The Obiektyw uczenia maszynowego ukończenia Dobrze zaprojektowany framework AWS zaleca najlepsze praktyki dotyczące obciążeń ML, w tym optymalizację zasobów i redukcję kosztów. Te zalecane zasady projektowania zapewniają, że dobrze zaprojektowane obciążenia ML w AWS są wdrażane w środowisku produkcyjnym. Polecający wnioskowanie Amazon SageMaker pomaga wybrać odpowiednie wystąpienie do wdrożenia modeli ML przy optymalnej wydajności i kosztach wnioskowania. Recommender wnioskowania przyspiesza wdrażanie modelu i skraca czas wprowadzania na rynek dzięki automatyzacji testowania obciążenia i optymalizacji wydajności modelu w instancjach ML.
W następnych sekcjach pokazujemy, jak załadować wyszkolony model z zasobnika S3 i wdrożyć go w odpowiednim wystąpieniu wnioskowania.
Wymagania wstępne
W tej instrukcji należy spełnić następujące wymagania wstępne:
- An Konto AWS.
- Wewnątrz notatnik Jupyter Studio Amazon SageMaker lub instancje notatników SageMaker. W tym poście używamy obrazu „Python 3 (PyTorch 1.4 Python 3.6 CPU Optimized)” z dostarczonymi fragmentami kodu, ale możesz użyć dowolnej innej wyższej wersji obrazu PyTorch z dostępne jądra SageMaker.
- Zbiór danych w zasobniku S3, taki jak WikiTekst-2 zbiór danych z Rejestr otwartych danych na AWS.
Załaduj model Przytulonej twarzy do programu SageMaker, aby uzyskać wnioski dotyczące podsumowania tekstu
Użyj poniższego kodu, aby pobrać wstępnie wytrenowany model podsumowania tekstu Hugging Face DestylacjaBART-CNN-12-6 i jego tokenizer i zapisz je lokalnie w SageMaker w katalogu notatnika Jupyter:
Skompresuj zapisany model podsumowania tekstu i jego tokenizer do formatu tar.gz i prześlij skompresowany artefakt modelu do zasobnika S3:
Wybierz wnioskowanie obraz kontenera Docker wykonać wnioskowanie podsumowujące tekst. Zdefiniuj system operacyjny Linux, platformę PyTorch i wersję Hugging Face Transformer i określ Elastyczna chmura obliczeniowa Amazon (Amazon EC2) typ wystąpienia do uruchomienia kontenera.
Obraz Dockera jest dostępny w Rejestr elastycznego pojemnika Amazon (Amazon ECR) tego samego konta AWS, a link do tego obrazu kontenera jest zwracany jako identyfikator URI.
Zdefiniuj model podsumowania tekstu, który ma zostać wdrożony przez wybrany obraz kontenera wykonujący wnioskowanie. W poniższym fragmencie kodu wdrażany jest skompresowany model przesłany do Amazon S3:
Przetestuj wdrożony model podsumowania tekstu na przykładowych danych wejściowych:
Użyj rekomendacji wnioskowania, aby ocenić optymalną instancję EC2 dla zadania wnioskowania
Następnie utwórz wiele próbek ładunku tekstu wejściowego w formacie JSON i skompresuj je w jeden plik ładunku. Te próbki ładunku są używane przez wnioskowanie rekomendujące do porównywania wydajności wnioskowania między różnymi typami wystąpień EC2. Każdy z przykładowych ładunków musi być zgodny z pokazanym wcześniej formatem JSON. Możesz uzyskać przykłady z WikiTekst-2 zestaw danych zarządzany przez fast.ai, dostępny na Rejestr otwartych danych na AWS.
Prześlij skompresowany artefakt modelu podsumowania tekstu i skompresowany przykładowy plik ładunku do zasobnika S3. Przesłaliśmy model we wcześniejszym kroku, ale dla jasności dołączamy kod, aby przesłać go ponownie:
Przejrzyj listę standardowych modeli ML dostępnych w SageMaker w całym kraju wspólne wzorcowe ogrody zoologiczne, takich jak NLP i wizja komputerowa. Wybierz model NLP, aby przeprowadzić wnioskowanie podsumowujące tekst:
Poniższy przykład wykorzystuje bert-base-cased
Model NLP. Zarejestruj model podsumowania tekstu w Rejestr modeli SageMaker z poprawnie zidentyfikowaną domeną, frameworkiem i zadaniem z poprzedniego kroku. Parametry tego przykładu są wyświetlane na początku poniższego fragmentu kodu.
Zwróć uwagę na zakres typów instancji EC2, które mają być oceniane przez rekomendację wnioskowania w SupportedRealtimeInferenceInstanceTypes
w poniższym kodzie. Upewnij się, że limity usług dla konta AWS pozwalają na wdrożenie tego typu węzłów wnioskowania.
Utwórz domyślne zadanie rekomendacji wnioskowania za pomocą ModelPackageVersion
wynikające z poprzedniego kroku. The uuid
Biblioteka Pythona służy do generowania unikalnej nazwy zadania.
Stan zadania rekomendacji wnioskowania można uzyskać, uruchamiając następujący kod:
Kiedy status pracy to COMPLETED
, porównaj opóźnienie wnioskowania, czas wykonywania i inne metryki typów instancji EC2 oceniane przez domyślne zadanie rekomendacji wnioskowania. Wybierz odpowiedni typ węzła na podstawie wymagań dotyczących przypadku użycia.
Wnioski
SageMaker oferuje wiele sposobów korzystania z modeli Hugging Face; więcej przykładów znajdziesz w Przykłady AWS GitHub. W zależności od złożoności przypadku użycia i potrzeby dopracowania modelu, możesz wybrać optymalny sposób wykorzystania tych modeli. Rurociągi Hugging Face mogą być dobrym punktem wyjścia do szybkiego eksperymentowania i wyboru odpowiednich modeli. Gdy musisz dostosować i sparametryzować wybrane modele, możesz pobrać modele i wdrożyć je w dostosowanych punktach końcowych wnioskowania. Aby dokładniej dostosować model do konkretnego przypadku użycia, musisz go przeszkolić po pobraniu.
Ogólnie modele NLP, w tym modele podsumowania tekstu, działają lepiej po przeszkoleniu na zestawie danych, który jest specyficzny dla przypadku użycia. MLOP i funkcje monitorowania modelu w SageMaker zapewniają, że wdrożony model nadal działa zgodnie z oczekiwaniami. W tym poście użyliśmy rekomendacji wnioskowania do oceny najlepiej dopasowanego typu wystąpienia do wdrożenia modelu podsumowania tekstu. Te zalecenia mogą zoptymalizować wydajność i koszty dla przypadku użycia ML.
O autorach
Dr Nidal AlBeiruti jest starszym architektem rozwiązań w Amazon Web Services, pasjonuje się rozwiązaniami z zakresu uczenia maszynowego. Nidal ma ponad 25-letnie doświadczenie w pracy na różnych globalnych stanowiskach IT na różnych poziomach i w różnych branżach. Nidal działa jako zaufany doradca dla wielu klientów AWS, wspierając i przyspieszając ich podróż do przyjęcia chmury.
Darek Ko jest architektem rozwiązań z siedzibą w Londynie. Doradza klientom z małych i średnich firm z Wielkiej Brytanii i Irlandii w zakresie przebudowy i innowacji w chmurze. Darren interesuje się aplikacjami zbudowanymi w architekturze bezserwerowej i pasjonuje go rozwiązywanie problemów związanych ze zrównoważonym rozwojem za pomocą uczenia maszynowego.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://aws.amazon.com/blogs/machine-learning/text-summarization-with-amazon-sagemaker-and-hugging-face/
- '
- "
- 000
- 10
- 100
- 28
- a
- O nas
- ABSTRACT
- przyśpieszyć
- Konto
- dokładny
- Osiągać
- w poprzek
- adres
- Przyjęcie
- doradca
- AI
- pozwala
- Amazonka
- Amazon Web Services
- kwoty
- analiza
- api
- Apple
- aplikacje
- Aplikuj
- argumenty
- towary
- powiązany
- automatyzacja
- dostępny
- Stephen Schwartz wygrywa
- AWS
- bo
- Początek
- jest
- BEST
- Najlepsze praktyki
- pomiędzy
- budować
- biznes
- wezwanie
- Może uzyskać
- możliwości
- walizka
- Etui
- wyzwania
- wybór
- klasa
- klasyfikacja
- Chmura
- kod
- kolekcja
- kombinacje
- połączony
- społeczności
- społeczność
- Firmy
- kompleks
- obliczać
- komputer
- systemu
- Konsumenci
- konsumpcja
- Pojemnik
- Pojemniki
- ciągły
- Stwórz
- tworzy
- zwyczaj
- Klientów
- dostosować
- dane
- dzień
- głęboko
- dostawa
- wykazać
- wykazać
- W zależności
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- Wnętrze
- deweloperzy
- rozwijanie
- oprogramowania
- różne
- trudny
- cyfrowy
- bezpośrednio
- Wyświetlacz
- Doker
- Lekarz
- dokumenty
- domena
- domeny
- pobieranie
- każdy
- z łatwością
- Efektywne
- efektywność
- umożliwiając
- Punkt końcowy
- Inżynierowie
- jednostka
- Środowisko
- oceniać
- przykład
- przykłady
- Rozszerzać
- oczekiwania
- doświadczenie
- doświadczony
- eksperyment
- rozległy
- Twarz
- FAST
- szybciej
- Korzyści
- następujący
- format
- Framework
- Ramy
- od
- Ogólne
- Generować
- wygenerowane
- Globalne
- dobry
- Rozwój
- pomoc
- pomocny
- pomaga
- wyższy
- W jaki sposób
- How To
- HTTPS
- Piasta
- czytelne dla człowieka
- zidentyfikować
- obraz
- wdrożenia
- realizacja
- wykonawczych
- ważny
- zawierać
- Włącznie z
- Informacja
- innowacyjne
- wkład
- spostrzeżenia
- przykład
- zintegrowany
- integracja
- zainteresowany
- Irlandia
- IT
- samo
- Praca
- podróż
- Klawisz
- wiedza
- język
- Języki
- duży
- prowadzący
- nauka
- poziomy
- Biblioteka
- Limity
- Linia
- LINK
- linux
- Lista
- załadować
- lokalnie
- Londyn
- wyszukiwania
- maszyna
- uczenie maszynowe
- robić
- rynek
- Mecz
- wymowny
- Spotkania
- Użytkownicy
- Metryka
- ML
- model
- modele
- monitorowanie
- jeszcze
- większość
- wielokrotność
- Naturalny
- Następny
- węzły
- notatnik
- Uwagi
- oferuje
- Oferty
- Online
- koncepcja
- działać
- działanie
- Optymalizacja
- zoptymalizowane
- optymalizacji
- Inne
- własny
- pasja
- namiętny
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- wykonywania
- Zwroty
- punkt
- Popularny
- power
- Przygotować
- poprzedni
- wygląda tak
- przetwarzanie
- produkować
- Produkcja
- Produkty
- projektowanie
- zapewniać
- pod warunkiem,
- zapewnia
- szybko
- zasięg
- zaleca
- redukcja
- region
- zarejestrować
- zażądać
- wymagać
- wymagania
- Zasoby
- wynikły
- Rola
- run
- bieganie
- taki sam
- Skala
- Naukowcy
- Sdk
- bezszwowy
- wybrany
- sentyment
- Bezserwerowe
- Usługi
- zestaw
- kilka
- pokazane
- Prosty
- pojedynczy
- So
- Rozwiązania
- specyficzny
- prędkości
- standard
- rozpoczęty
- state-of-the-art
- Rynek
- przechowywanie
- wsparcie
- Zrównoważony rozwój
- systemy
- zadania
- Techniki
- Technologia
- Testowanie
- Połączenia
- trzy
- Przez
- czas
- czasochłonne
- narzędzia
- aktualny
- Trening
- Tłumaczenie
- zaufany
- typy
- zazwyczaj
- Uk
- dla
- zrozumieć
- zrozumienie
- wyjątkowy
- posługiwać się
- różnorodność
- różnorodny
- wersja
- pionowe
- wizja
- kłęby
- sposoby
- sieć
- usługi internetowe
- w ciągu
- bez
- słowa
- pracujący
- X
- lat
- Twój