Az elmúlt néhány évben gyors növekedés tapasztalható a természetes nyelvi feldolgozás (NLP) területén transzformátor mély tanulási architektúrák. A Transformers nyílt forráskódú könyvtárával és gépi tanulási (ML) platformjával a Hugging Face elérhetővé teszi a transzfertanulást és a legújabb transzformátormodelleket a globális AI-közösség számára. Ez csökkentheti azt az időt, amelyre az adattudósoknak és az ML mérnököknek szüksége van a vállalatoknál szerte a világon, hogy minden új tudományos vívmányt kihasználjanak. Amazon SageMaker és a Hugging Face együttműködtek a transzformátormodellek egyszerűsítése és felgyorsítása érdekében Hugging Face DLC-k, integráció a SageMaker Training Compiler programmalés SageMaker elosztott könyvtárak.
SageMaker különböző lehetőségeket kínál az ML szakemberek számára, hogy képzett transzformátormodelleket alkalmazzanak következtetések generálására:
- Valós idejű következtetési végpontok, amelyek alkalmasak olyan munkaterhelésekre, amelyeket alacsony késleltetési követelményekkel kell feldolgozni, ezredmásodperces nagyságrendben.
- Kötegelt átalakítás, amely ideális nagy adatkötegek offline előrejelzéséhez.
- Aszinkron következtetés, amely ideális nagy hasznos adatméretet (akár 1 GB) és hosszú következtetésfeldolgozási időt (akár 15 percet) igénylő munkaterhelésekhez. Az aszinkron következtetés lehetővé teszi a költségek megtakarítását azáltal, hogy automatikusan nullára skálázza a példányszámot, amikor nincs feldolgozandó kérés.
- Szerver nélküli következtetés, amely egy új célzott következtetési lehetőség, amely megkönnyíti az ML-modellek telepítését és méretezését.
Ebben a bejegyzésben megvizsgáljuk, hogyan használható a SageMaker Serverless Inference Hugging Face transzformátormodellek telepítéséhez, és megvitatjuk a következtetések teljesítményét és költséghatékonyságát különböző forgatókönyvekben.
A megoldás áttekintése
Az AWS a közelmúltban bejelentette a SageMaker Serverless Inference általános elérhetőségét, egy erre a célra kialakított szerver nélküli következtetési opciót, amely megkönnyíti az ML-modellek telepítését és méretezését. A Serverless Inference segítségével nem kell előre kiépíteni a kapacitást és előre jelezni a használati mintákat. Ennek eredményeként időt takarít meg, és nincs szükség példánytípusok kiválasztására és a méretezési házirendek kezelésére. A kiszolgáló nélküli következtetési végpontok automatikusan elindítják, méretezik és leállítják a kapacitást, és csak a következtetési kód futtatásának időtartamáért és a feldolgozott adatmennyiségért kell fizetni, a tétlenségért nem. A kiszolgáló nélküli következtetés ideális a kevésbé kiszámítható vagy szakaszos forgalmi mintákkal rendelkező alkalmazásokhoz. Látogatás Szerver nélküli következtetés és tudjon meg többet!
Az AWS re:Invent 2021 előzetes elindítása óta a következő fejlesztéseket hajtottuk végre:
- Általános elérhetőség minden olyan kereskedelmi régióban, ahol a SageMaker általában elérhető (kivéve az AWS Kína régióit).
- Az egyidejű meghívások maximális száma végpontonként 200-ra nőtt (az előnézeti 50-ről), ami lehetővé teszi a nagy forgalmú munkaterhelések kezelését.
- Támogatás hozzáadva a SageMaker Python SDK-hoz, amely elvonja az ML-modell-telepítési folyamat bonyolultságát.
- Hozzáadott modell nyilvántartás támogatás. Regisztrálhatja modelljeit a modellnyilvántartásban, és közvetlenül telepítheti a kiszolgáló nélküli végpontokra. Ez lehetővé teszi a SageMaker Serverless Inference végpontjainak integrálását az MLOps munkafolyamataival.
Nézzük meg, hogyan telepítsünk Hugging Face modelleket a SageMaker Serverless Inference szolgáltatásban.
Telepítsen átölelő arcmodellt a SageMaker Serverless Inference segítségével
A Hugging Face keretrendszert a SageMaker támogatja, és közvetlenül a SageMaker Python SDK használatával telepítheti a modellt a Serverless Inference végpontba, egyszerűen hozzáadva néhány sort a konfigurációhoz. Példa szkriptjeinkben a SageMaker Python SDK-t használjuk. Ha különböző keretrendszerekből származó modelljei vannak, amelyek további testreszabást igényelnek, használhatja a AWS SDK Pythonhoz (Boto3) modellek telepítéséhez egy kiszolgáló nélküli következtetés végponton. További részletekért lásd: ML modellek telepítése a SageMaker Serverless Inference segítségével (előnézet).
Először is létre kell hozni HuggingFaceModel
. Kiválaszthatja a telepíteni kívánt modellt Átölelő Arc Hub; például, distilbert-base-uncased-finetuned-sst-2-angol. Ez a modell egy finomhangolt ellenőrzőpontja DistilBERT-alap-burkolat nélküli, SST-2-n finomhangolva. Lásd a következő kódot:
Miután hozzáadta a HuggingFaceModel
osztályban, meg kell határoznia a ServerlessInferenceConfig
, amely tartalmazza a Serverless Inference végpont konfigurációját, nevezetesen a memória méretét és a végpont egyidejű hívásainak maximális számát. Ezt követően telepítheti a Serverless Inference végpontot a deploy
eljárás:
Ez a bejegyzés a Hugging Face modell kiszolgáló nélküli következtetés végponton történő telepítéséhez szükséges mintakódrészletet tartalmazza. A részletes utasításokat tartalmazó Python-kód lépésről lépésre történő minta megtekintéséhez tekintse meg a következőket jegyzetfüzet.
Következtetési teljesítmény
A SageMaker Serverless Inference nagyban leegyszerűsíti a szerver nélküli transzformátor vagy a mély tanulási modellek üzemeltetését. Futási ideje azonban a konfigurációs beállításoktól függően változhat. Kiválaszthat egy Serverless Inference végpont memóriaméretet 1024 MB (1 GB) és 6144 MB (6 GB) között. Általában a memória méretének legalább akkorának kell lennie, mint a modell mérete. Jó gyakorlat azonban a memóriahasználatra hivatkozni a végponti memória méretének meghatározásakor, a modellméret mellett.
A szerver nélküli következtetés integrálható a AWS Lambda magas rendelkezésre állást, beépített hibatűrést és automatikus méretezést kínál. Bár a Serverless Inference automatikusan hozzárendeli a számítási erőforrásokat a modell méretével arányosan, a nagyobb memória azt jelenti, hogy a tároló több vCPU-hoz férne hozzá, és nagyobb számítási teljesítménye lenne. Azonban jelen pillanatban a Serverless Inference csak a CPU-kat támogatja, a GPU-kat nem.
Másrészt a Serverless Inference esetén hidegindításokra számíthatunk, amikor a végponton egy ideig nincs forgalom, és hirtelen következtetési kéréseket kap, mert a számítási erőforrások felpörgetése némi időt vesz igénybe. Hidegindítások is előfordulhatnak a méretezés során, például ha az új egyidejű kérések meghaladják a korábbi egyidejű kéréseket. A hidegindítás időtartama 100 ezredmásodperc alattitól néhány másodpercig terjed, a modell méretétől, a modell letöltésének időtartamától, valamint a konténer indítási idejétől függően. A megfigyeléssel kapcsolatos további információkért lásd: Az Amazon SageMaker monitorozása az Amazon CloudWatch segítségével.
A következő táblázatban összefoglaljuk azoknak a kísérleteknek az eredményeit, amelyeket a kiszolgáló nélküli következtetési végpontok késleltetési információinak gyűjtésére végeztek a különböző Hugging Face modelleken és különböző végpontmemóriaméreteken keresztül. Bemenetként egy 128 sorozathosszúságú hasznos adatot használtunk. A modell késleltetése nőtt, amikor a modell mérete megnőtt; a látenciaszám kifejezetten a modellhez kapcsolódik. A modell általános késleltetése számos módon javítható, beleértve a modell méretének csökkentését, jobb következtetési szkriptet, a modell hatékonyabb betöltését és kvantálást.
Modell-Id | Feladat | Modell mérete | memória mérete | Modell késleltetési átlaga |
Modell Késleltetés p99 |
Overhead késleltetés Átlagos |
Overhead késleltetés p99 |
distilbert-base-uncased-finetuned-sst-2-angol | Szöveges besorolás | 255 MB | 4096 MB | 220 ms | 243 ms | 17 ms | 43 ms |
xlm-roberta-large-finetuned-conll03-english | Token osztályozás | 2.09 GB | 5120 MB | 1494 ms | 1608 ms | 18 ms | 46 ms |
deepset/roberta-base-squad2 | Kérdés válasz | 473 MB | 5120 MB | 451 ms | 468 ms | 18 ms | 31 ms |
google/pegasus-xsum | összefoglalás | 2.12 GB | 6144 MB | 22501 ms | 32516 ms | 27 ms | 97 ms |
sshleifer/distilbart-cnn-12-6 | összefoglalás | 1.14 GB | 6144 MB | 12683 ms | 18669 ms | 25 ms | 53 ms |
Az árteljesítmény tekintetében példaként használhatjuk a DistilBERT modellt, és összehasonlíthatjuk a szerver nélküli következtetési lehetőséget egy ml.t2.medium példányhoz (2 vCPU, 4 GB memória, 42 USD havonta) egy valós idejű végponton. A valós idejű végponttal a DistilBERT p99 késleltetése 240 ezredmásodperc, a teljes kérés késleltetése pedig 251 ezredmásodperc. Míg az előző táblázatban a Serverless Inference modell késleltetése p99 243 ezredmásodperc, és overhead késleltetése p99 43 ezredmásodperc. A kiszolgáló nélküli következtetéssel csak a következtetési kérések feldolgozásához használt számítási kapacitásért kell fizetnie, amely ezredmásodpercenként kerül kiszámlázásra, valamint a feldolgozott adatmennyiségért. Ezért megbecsülhetjük egy DistilBERT modell futtatásának költségeit (distilbert-base-uncased-finetuned-sst-2-english
, árbecslésekkel a us-east-1
régió) az alábbiak szerint:
- Teljes kérési idő – 243 ms + 43 ms = 286 ms
- Számítási költség (4096 MB) – 0.000080 USD másodpercenként
- 1 kérés költsége – 1 * 0.286 * 0.000080 USD = 0.00002288 USD
- 1 ezer kérés költsége – 1,000 * 0.286 * 0.000080 USD = 0.02288 USD
- 1 millió kérés költsége – 1,000,000 * 0.286 * 0.000080 USD = 22.88 USD
A következő ábra a különböző Hugging Face modellek költség-összehasonlítása a SageMaker Serverless Inference és a valós idejű következtetés között (ml.t2.medium példány használatával).
Amint látható, a Serverless Inference költséghatékony megoldás, ha a forgalom időszakos vagy alacsony. Ha szigorú következtetési késleltetési követelménye van, fontolja meg nagyobb számítási teljesítményű valós idejű következtetés alkalmazását.
Következtetés
A Hugging Face és az AWS 2022 elején bejelentette, hogy együttműködést kötnek, amely még könnyebbé teszi a Hugging Face modellek SageMakeren való betanítását. Ez a funkció fejlesztése révén érhető el Hugging Face AWS DLC-k. Ezek a tárolók magukban foglalják a Hugging Face Transformers, Tokenizers és Datasets könyvtárakat, amelyek lehetővé teszik számunkra, hogy ezeket az erőforrásokat képzési és következtetési munkákhoz használjuk. Az elérhető DLC-képek listáját lásd: Elérhető Deep Learning Containers képek. Karbantartják és rendszeresen frissítik biztonsági javításokkal. A következőkben számos példát találhatunk arra, hogyan lehet Hugging Face modelleket betanítani ezekkel a DLC-kkel GitHub repo.
Ebben a bejegyzésben bemutattuk, hogyan használhatod az újonnan bejelentett SageMaker Serverless Inference-t Hugging Face modellek telepítéséhez. Részletes kódrészletet adtunk a SageMaker Python SDK használatával a SageMaker Serverless Inference funkcióval rendelkező Hugging Face modellek telepítéséhez. Ezután mélyen belemerültünk a következtetések késleltetésébe a különböző Hugging Face modellek kapcsán, valamint az árteljesítménybe. Szívesen próbálja ki ezt az új szolgáltatást, és örömmel várjuk a további visszajelzéseket!
A szerzőkről
James Yi az Amazon Web Services Emerging Technologies csapatának vezető AI/ML partnermegoldások építésze. Szenvedélyesen dolgozik a vállalati ügyfelekkel és partnerekkel az AI/ML alkalmazások tervezése, üzembe helyezése és méretezése érdekében, hogy üzleti értékeikből származtassanak. Munkán kívül szeret focizni, utazni és a családjával tölt időt.
Rishabh Ray Chaudhury az Amazon SageMaker vezető termékmenedzsere, aki a gépi tanulási következtetésekre összpontosít. Szenvedélyesen törekszik az innovációra és az új tapasztalatok kiépítésére a Machine Learning ügyfelei számára az AWS-en, hogy segítse a munkateher növelését. Szabadidejében szeret utazni és főzni. Megtalálhatod rajta LinkedIn.
Philipp Schmid gépi tanulási mérnök és műszaki vezető a Hugging Face-nél, ahol az Amazon SageMaker csapatával való együttműködést vezeti. Szenvedélye az élvonalbeli NLP-modellek demokratizálása, optimalizálása és gyártása, valamint a Deep Learning egyszerű használatának javítása.
Yanyan Zhang az Energy Delivery csapat adattudósa, az AWS Professional Services szolgáltatással. Szenvedélyesen segíti ügyfeleit valódi problémák megoldásában AI/ML tudással. Munkán kívül szeret utazni, edzeni és új dolgokat felfedezni.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/host-hugging-face-transformer-models-using-amazon-sagemaker-serverless-inference/
- "
- 000
- 10
- 100
- 2021
- 2022
- 9
- Rólunk
- gyorsul
- hozzáférés
- át
- mellett
- Örökbefogadás
- Előny
- AI
- Minden termék
- lehetővé téve
- Bár
- amazon
- Az Amazon Web Services
- összeg
- bejelentés
- alkalmazások
- körül
- auto
- elérhetőség
- elérhető
- AWS
- határ
- Épület
- beépített
- üzleti
- Kapacitás
- Kína
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- osztály
- kód
- együttműködő
- együttműködés
- gyűjt
- kereskedelmi
- közösség
- Companies
- Kiszámít
- Configuration
- Konténer
- Konténerek
- tartalmaz
- költséghatékony
- kiadások
- tudott
- teremt
- Ügyfelek
- élvonalbeli
- dátum
- adattudós
- kézbesítés
- attól
- telepíteni
- bevezetéséhez
- bevetés
- Design
- részletes
- részletek
- Fejlesztés
- különböző
- közvetlenül
- megvitatni
- megosztott
- le-
- eredményesen
- csiszolókő
- Endpoint
- energia
- mérnök
- Mérnökök
- Vállalkozás
- becslés
- becslések
- példa
- Kivéve
- vár
- Tapasztalatok
- feltárása
- Arc
- család
- Ábra
- következő
- Keretrendszer
- funkcionalitás
- általános
- általában
- generáló
- Globális
- jó
- nagymértékben
- Növekedés
- történik
- segít
- segít
- Magas
- <p></p>
- tárhely
- Hogyan
- How To
- HTTPS
- kép
- javított
- tartalmaz
- Beleértve
- <p></p>
- információ
- újító
- bemenet
- integrálni
- IT
- maga
- Állások
- tudás
- nyelv
- nagy
- nagyobb
- legutolsó
- indít
- vezet
- vezetékek
- TANUL
- tanulás
- könyvtár
- Lista
- Hosszú
- gép
- gépi tanulás
- készült
- KÉSZÍT
- kezelése
- menedzser
- közepes
- Memory design
- millió
- ML
- modell
- modellek
- ellenőrzés
- Hónap
- több
- ugyanis
- Természetes
- szám
- ajánlat
- Nem elérhető
- optimalizálása
- opció
- érdekében
- Más
- átfogó
- partner
- partnerek
- Létrehozása
- szenvedélyes
- Patches
- Fizet
- teljesítmény
- emelvény
- játék
- Politikák
- hatalom
- gyakorlat
- Tippek
- Preview
- ár
- problémák
- folyamat
- feldolgozás
- Termékek
- szakmai
- RE
- real-time
- kap
- csökkenteni
- csökkentő
- Regisztráció
- kérni
- kéri
- követelmények
- Tudástár
- Eredmények
- futás
- Skála
- skálázás
- Tudós
- tudósok
- sdk
- másodperc
- biztonság
- vagy szerver
- szolgáltatás
- Szolgáltatások
- felépítés
- Méret
- Futball
- szilárd
- Megoldások
- SOLVE
- néhány
- kifejezetten
- Költési
- Centrifugálás
- kezdet
- kezdődik
- indítás
- támogatás
- Támogatott
- Támogatja
- csapat
- tech
- Technologies
- a világ
- ebből adódóan
- Keresztül
- idő
- tolerancia
- forgalom
- Képzések
- átruházás
- Utazó
- us
- USAdollár
- használ
- különféle
- háló
- webes szolgáltatások
- fogadtatás
- míg
- Wikipedia
- Munka
- dolgozó
- edzeni
- világ
- lenne
- írás
- év
- nulla