V tej objavi vam pokažemo, kako implementirati enega najbolj pogosto prenašanih predhodno usposobljenih modelov Hugging Face, ki se uporabljajo za povzemanje besedila, DistilBART-CNN-12-6, v zvezku Jupyter z uporabo Amazon SageMaker in SageMaker Hugging Face Inference Toolkit. Na podlagi korakov, prikazanih v tej objavi, lahko poskusite povzeti besedilo iz WikiBesedilo-2 nabor podatkov upravlja fast.ai, na voljo na Register odprtih podatkov na AWS.
Globalne količine podatkov rastejo v obsegu zetabajtov, saj podjetja in potrošniki širijo uporabo digitalnih izdelkov in spletnih storitev. Da bi bolje razumeli te naraščajoče podatke, so se tehnike obdelave naravnega jezika (NLP) strojnega učenja (ML) razvile za analizo besedila, da obravnavajo primere uporabe, ki vključujejo povzemanje besedila, prepoznavanje entitet, klasifikacijo, prevajanje in še več. AWS ponuja predhodno usposabljanje AWS AI storitve ki jih je mogoče integrirati v aplikacije s klici API in ne zahtevajo izkušenj z ML. na primer Amazonsko razumevanje lahko izvaja naloge NLP, kot so prepoznavanje entitet po meri, analiza razpoloženja, ekstrakcija ključnih besednih zvez, modeliranje tem in več za zbiranje vpogledov iz besedila. Lahko izvaja analiza besedil v najrazličnejših jezikih zaradi njegovih različnih lastnosti.
Povzemanje besedila je koristna tehnika pri razumevanju velikih količin besedilnih podatkov, ker ustvari podmnožico kontekstualno pomembnih informacij iz izvornih dokumentov. To tehniko NLP lahko uporabite za daljše besedilne dokumente in članke, kar omogoča hitrejšo porabo in učinkovitejše indeksiranje dokumentov, na primer za povzemanje zapiskov s sestankov.
Objemni obraz je priljubljena odprtokodna knjižnica za NLP z več kot 49,000 vnaprej pripravljenimi modeli v več kot 185 jezikih s podporo za različna ogrodja. AWS in Hugging Face imata a Partnerstvo ki omogoča brezhibno integracijo prek SageMakerja z nizom AWS Deep Learning Containers (DLC) za usposabljanje in sklepanje v PyTorch ali TensorFlow ter ocenjevalcev in napovedovalcev Hugging Face za SDK SageMaker Python. Te zmogljivosti v SageMaker razvijalcem in podatkovnim znanstvenikom pomagajo lažje začeti z NLP na AWS. Obdelava besedil s transformatorji v okvirih globokega učenja, kot je PyTorch, je običajno zapletena in dolgotrajna naloga za podatkovne znanstvenike, ki pogosto vodi v frustracije in pomanjkanje učinkovitosti pri razvoju projektov NLP. Vzpon skupnosti AI, kot je Hugging Face, v kombinaciji z močjo storitev ML v oblaku, kot je SageMaker, pospešuje in poenostavlja razvoj teh nalog obdelave besedila. SageMaker vam pomaga zgraditi, usposobiti, uvesti in operacionalizirati modele Hugging Face.
Pregled povzemanja besedila
Povzemanje besedila lahko uporabite za prepoznavanje ključnih stavkov v dokumentu ali za prepoznavanje ključnih stavkov v več dokumentih. S povzemanjem besedila lahko nastaneta dve vrsti povzetkov: ekstraktivni in abstraktni. Izvlečki povzetki ne vsebujejo strojno ustvarjenega besedila in so zbirka pomembnih stavkov, izbranih iz vhodnega dokumenta. Abstraktni povzetki vsebujejo nove človeku berljive besedne zveze in stavke, ustvarjene z modelom povzemanja besedila. Večina sistemov za povzemanje besedila temelji na ekstraktivnem povzemanju, ker je težko doseči natančno povzemanje abstraktnega besedila.
Hugging Face ima več kot 400 vnaprej usposobljenih najsodobnejših na voljo modeli povzemanja besedila, izvajanje različnih kombinacij NLP tehnik. Ti modeli so usposobljeni na različnih naborih podatkov, ki jih nalagajo in vzdržujejo tehnološka podjetja in člani skupnosti Hugging Face. Modele lahko filtrirate po najbolj prenesenih ali najbolj všečnih modelih in jih neposredno naložite, ko uporabljate summarization pipeline Hugging Face transformer API. Transformer Hugging Face poenostavi postopek implementacije NLP, tako da je mogoče visoko zmogljive modele NLP natančno prilagoditi za zagotavljanje besedilnih povzetkov, ne da bi bilo potrebno obsežno znanje delovanja ML.
Modeli povzemanja besedila Hugging Face na AWS
SageMaker ponuja poslovnim analitikom, podatkovnim znanstvenikom in inženirjem MLOps izbiro orodij za načrtovanje in upravljanje delovnih obremenitev ML na AWS. Ta orodja vam zagotavljajo hitrejšo implementacijo in testiranje modelov ML za doseganje vaših optimalnih rezultatov.
Iz SageMaker Hugging Face Inference Toolkit, odprtokodno knjižnico, opisujemo tri različne načine za implementacijo in gostovanje modelov povzemanja besedila Hugging Face z uporabo zvezka Jupyter:
- Cev za povzetek Hugging Face - Ustvariti Cev za povzetek Hugging Face uporabljati "
summarization
” identifikator opravila za uporabo privzetega modela povzemanja besedila za sklepanje v vašem zvezku Jupyter. Ti cevovodi abstrahirajo zapleteno kodo in začetnikom ML nudijo preprost API za hitro implementacijo povzemanja besedila brez konfiguriranja končne točke sklepanja. Cevovod prav tako omogoča strokovnjaku za strojno učenje, da izbere določen vnaprej usposobljen model in z njim povezan tokenizator. Tokenizerji pripravijo besedilo, da je pripravljeno kot vhod za model, tako da besedilo razdelijo na besede ali podbesede, ki se nato pretvorijo v ID-je prek iskalne tabele. Za poenostavitev naslednji delček kode zagotavlja privzeti primer pri uporabi cevovodov. The DistilBART-CNN-12-6 model je eden izmed največkrat prenesenih modelov povzemanja na Hugging Face in je privzeti model za cevovod povzemanja. Zadnja vrstica pokliče predhodno usposobljen model, da dobi povzetek za posredovano besedilo glede na navedena dva argumenta. - Končna točka SageMaker z vnaprej usposobljenim modelom – Ustvarite končno točko SageMaker z vnaprej usposobljenim modelom iz Hugging Face Model Hub in ga razmestite na končni točki sklepanja, kot je primerek ml.m5.xlarge v naslednjem delčku kode. Ta metoda omogoča izkušenim izvajalcem strojnega jezika, da hitro izberejo specifične odprtokodne modele, jih natančno prilagodijo in modele uvedejo v visoko zmogljive instance sklepanja.
- Končna točka SageMaker z usposobljenim modelom – Ustvarite končno točko modela SageMaker z usposobljenim modelom, shranjenim v Preprosta storitev shranjevanja Amazon (Amazon S3) vedro in ga razporedite na končno točko sklepanja. Ta metoda omogoča izkušenim izvajalcem strojnega učenja, da hitro uvedejo lastne modele, shranjene na Amazon S3, na visoko zmogljive instance sklepanja. Sam model je prenesen iz Hugging Face in stisnjen, nato pa ga je mogoče naložiti v Amazon S3. Ta korak je prikazan v naslednjem delčku kode:
AWS ima na voljo več virov za pomoč pri uvajanju delovnih obremenitev ML. The Objektiv strojnega učenja od Dobro zasnovan okvir AWS priporoča najboljše prakse delovnih obremenitev ML, vključno z optimizacijo virov in zmanjšanjem stroškov. Ta priporočena načela načrtovanja zagotavljajo, da so dobro zasnovane delovne obremenitve ML na AWS uvedene v produkcijo. Amazon SageMaker Inference Recommender vam pomaga izbrati pravo instanco za uvedbo vaših modelov ML z optimalno zmogljivostjo sklepanja in ceno. Inference Recommender pospeši uvajanje modela in skrajša čas za trženje z avtomatizacijo obremenitvenega testiranja in optimizacijo delovanja modela v instancah ML.
V naslednjih razdelkih prikazujemo, kako naložiti usposobljeni model iz vedra S3 in ga razmestiti v primerno inferenco.
Predpogoji
Za ta korak morate imeti naslednje predpogoje:
- An AWS račun.
- Notranji zvezek Jupyter Amazon SageMaker Studio ali primerki prenosnih računalnikov SageMaker. V tej objavi uporabljamo sliko »Python 3 (PyTorch 1.4 Python 3.6 CPE Optimized)« s priloženimi izrezki kode, vendar lahko uporabite katero koli drugo sliko PyTorch višje različice iz razpoložljiva jedra SageMaker.
- Nabor podatkov v vašem vedru S3, kot je WikiBesedilo-2 nabor podatkov iz Register odprtih podatkov na AWS.
Naložite model Hugging Face v SageMaker za sklepanje povzemanja besedila
Uporabite naslednjo kodo za prenos predhodno usposobljenega modela povzemanja besedila Hugging Face DistilBART-CNN-12-6 in njegov tokenizer ter ju lokalno shranite v SageMaker v imenik prenosnega računalnika Jupyter:
Stisnite shranjeni model povzemanja besedila in njegov tokenizer v format tar.gz in naložite artefakt stisnjenega modela v vedro S3:
Izberite sklepanje Slika vsebnika Docker za izvedbo sklepanja povzemanja besedila. Določite različico OS Linux, ogrodje PyTorch in Hugging Face Transformer ter navedite Amazonski elastični računalniški oblak (Amazon EC2) vrsta primerka za zagon vsebnika.
Slika Docker je na voljo v Registar elastičnih zabojnikov Amazon (Amazon ECR) istega računa AWS, povezava za to sliko vsebnika pa je vrnjena kot URI.
Definirajte model povzemanja besedila, ki ga bo uporabila izbrana slika vsebnika, ki izvaja sklepanje. V naslednjem delčku kode je razporejen stisnjen model, naložen v Amazon S3:
Preizkusite uporabljeni model povzemanja besedila na vzorčnem vnosu:
Uporabite Inference Recommender za oceno optimalnega primerka EC2 za nalogo sklepanja
Nato ustvarite več vzorcev koristnega tovora vhodnega besedila v formatu JSON in jih stisnite v eno samo koristno datoteko. Te vzorce koristne obremenitve uporablja Inference Recommender za primerjavo zmogljivosti sklepanja med različnimi vrstami primerkov EC2. Vsak vzorčni tovor se mora ujemati s prej prikazano obliko JSON. Primere lahko dobite pri WikiBesedilo-2 nabor podatkov upravlja fast.ai, na voljo na Register odprtih podatkov na AWS.
Naložite artefakt modela povzemanja stisnjenega besedila in datoteko stisnjenega vzorčnega koristnega tovora v vedro S3. Model smo naložili v prejšnjem koraku, vendar zaradi jasnosti vključimo kodo za ponovno nalaganje:
Oglejte si seznam standardnih modelov ML, ki so na voljo na SageMakerju običajni modeli živalskih vrtov, kot sta NLP in računalniški vid. Izberite model NLP za izvedbo sklepanja povzemanja besedila:
Naslednji primer uporablja bert-base-cased
NLP model. Registrirajte model povzemanja besedila v Register modelov SageMaker s pravilno identificirano domeno, ogrodjem in nalogo iz prejšnjega koraka. Parametri za ta primer so prikazani na začetku naslednjega delčka kode.
Upoštevajte obseg vrst instanc EC2, ki jih mora oceniti Inference Recommender pod SupportedRealtimeInferenceInstanceTypes
v naslednji kodi. Prepričajte se, da je omejitve storitve za račun AWS omogočajo uporabo teh vrst sklepnih vozlišč.
Ustvarite privzeto opravilo Inference Recommender z uporabo ModelPackageVersion
ki izhaja iz prejšnjega koraka. The uuid
Knjižnica Python se uporablja za ustvarjanje edinstvenega imena za opravilo.
Stanje opravila Inference Recommender lahko dobite tako, da zaženete naslednjo kodo:
Ko je status službe COMPLETED
, primerjajte zakasnitev sklepanja, čas izvajanja in druge metrike vrst primerkov EC2, ki jih ovrednoti privzeto opravilo Inference Recommender. Izberite ustrezno vrsto vozlišča glede na zahteve vašega primera uporabe.
zaključek
SageMaker ponuja več načinov za uporabo modelov Hugging Face; za več primerov si oglejte AWS Vzorci GitHub. Glede na kompleksnost primera uporabe in potrebo po natančnem prilagajanju modela lahko izberete optimalen način uporabe teh modelov. Cevovodi Hugging Face so lahko dobro izhodišče za hitro eksperimentiranje in izbiro primernih modelov. Ko morate prilagoditi in parametrirati izbrane modele, lahko prenesete modele in jih razmestite v prilagojene končne točke sklepanja. Če želite natančneje prilagoditi model za določen primer uporabe, ga boste morali usposobiti po prenosu.
Modeli NLP na splošno, vključno z modeli povzemanja besedila, delujejo bolje po usposabljanju na naboru podatkov, ki je specifičen za primer uporabe. MLOP in funkcije za spremljanje modela SageMaker zagotavljajo, da nameščeni model še naprej deluje v okviru pričakovanj. V tej objavi smo uporabili Inference Recommender za oceno najprimernejše vrste primerka za uvedbo modela povzemanja besedila. Ta priporočila lahko optimizirajo zmogljivost in stroške za vaš primer uporabe ML.
O avtorjih
Dr. Nidal AlBeiruti je višji arhitekt rešitev pri Amazon Web Services, s strastjo do rešitev strojnega učenja. Nidal ima več kot 25 let izkušenj z delom v različnih globalnih IT vlogah na različnih ravneh in vertikalah. Nidal deluje kot zaupanja vreden svetovalec za številne stranke AWS za podporo in pospešitev njihove poti sprejemanja oblaka.
Darren Ko je arhitekt rešitev s sedežem v Londonu. Malim in srednjim podjetjem iz Združenega kraljestva in na Irskem svetuje pri preoblikovanju in inovacijah v oblaku. Darrena zanimajo aplikacije, zgrajene z brezstrežniško arhitekturo, in navdušen je nad reševanjem izzivov trajnosti s strojnim učenjem.
- '
- "
- 000
- 10
- 100
- 28
- a
- O meni
- POVZETEK
- pospeši
- Račun
- natančna
- Doseči
- čez
- Naslov
- Sprejetje
- svetovalec
- AI
- omogoča
- Amazon
- Amazon Web Services
- zneski
- Analiza
- API
- Apple
- aplikacije
- Uporabi
- Argumenti
- članki
- povezan
- avtomatizacija
- Na voljo
- oddano
- AWS
- ker
- Začetek
- počutje
- BEST
- najboljše prakse
- med
- izgradnjo
- poslovni
- klic
- Lahko dobiš
- Zmogljivosti
- primeru
- primeri
- izzivi
- izbira
- razred
- Razvrstitev
- Cloud
- Koda
- zbirka
- kombinacije
- kombinirani
- skupnosti
- skupnost
- Podjetja
- kompleksna
- Izračunajte
- računalnik
- konfiguracija
- Potrošniki
- poraba
- Posoda
- Zabojniki
- se nadaljuje
- ustvarjajo
- ustvari
- po meri
- Stranke, ki so
- prilagodite
- datum
- dan
- globoko
- dostava
- izkazati
- Dokazano
- Odvisno
- razporedi
- razporejeni
- uvajanja
- uvajanje
- Oblikovanje
- Razvijalci
- razvoju
- Razvoj
- drugačen
- težko
- digitalni
- neposredno
- zaslon
- Lučki delavec
- Zdravnik
- Dokumenti
- domena
- domen
- prenesi
- vsak
- enostavno
- Učinkovito
- učinkovitosti
- omogočanje
- Končna točka
- Inženirji
- entiteta
- okolje
- oceniti
- Primer
- Primeri
- Razširi
- pričakovanja
- izkušnje
- izkušen
- poskus
- obsežen
- Obraz
- FAST
- hitreje
- Lastnosti
- po
- format
- Okvirni
- okviri
- iz
- splošno
- ustvarjajo
- ustvarila
- Globalno
- dobro
- Pridelovanje
- pomoč
- pomoč
- Pomaga
- več
- Kako
- Kako
- HTTPS
- Hub
- človeško berljivo
- identificirati
- slika
- izvajati
- Izvajanje
- izvajanja
- Pomembno
- vključujejo
- Vključno
- Podatki
- inoviranje
- vhod
- vpogledi
- primer
- integrirana
- integracija
- zainteresirani
- Irska
- IT
- sam
- Job
- Potovanje
- Ključne
- znanje
- jezik
- jeziki
- velika
- vodi
- učenje
- ravni
- Knjižnica
- Meje
- vrstica
- LINK
- linux
- Seznam
- obremenitev
- lokalno
- London
- iskanje
- stroj
- strojno učenje
- Znamka
- Tržna
- Stave
- smiselna
- sestanki
- člani
- Meritve
- ML
- Model
- modeli
- spremljanje
- več
- Najbolj
- več
- naravna
- Naslednja
- vozlišča
- prenosnik
- Opombe
- ponujanje
- Ponudbe
- na spletu
- odprite
- deluje
- Delovanje
- Optimizirajte
- optimizirana
- optimizacijo
- Ostalo
- lastne
- strast
- strastno
- performance
- izvajati
- stavki
- Točka
- Popular
- moč
- Pripravimo
- prejšnja
- Postopek
- obravnavati
- proizvodnjo
- proizvodnja
- Izdelki
- projekti
- zagotavljajo
- če
- zagotavlja
- hitro
- območje
- priporoča
- zmanjšanje
- okolica
- Registracija
- zahteva
- zahteva
- Zahteve
- viri
- rezultat
- vloga
- Run
- tek
- Enako
- Lestvica
- Znanstveniki
- SDK
- brezšivne
- izbran
- sentiment
- Brez strežnika
- Storitve
- nastavite
- več
- pokazale
- Enostavno
- sam
- So
- rešitve
- specifična
- hitrosti
- standardna
- začel
- state-of-the-art
- Status
- shranjevanje
- podpora
- Trajnostni razvoj
- sistemi
- Naloge
- tehnike
- Tehnologija
- Testiranje
- O
- 3
- skozi
- čas
- zamudno
- orodja
- temo
- usposabljanje
- prevod
- zaupa
- Vrste
- tipično
- Uk
- pod
- razumeli
- razumevanje
- edinstven
- uporaba
- raznolikost
- različnih
- različica
- vertikale
- Vizija
- prostornine
- načini
- web
- spletne storitve
- v
- brez
- besede
- deluje
- X
- let
- Vaša rutina za