A közelmúltban számos előrelépés történt az NLP területén. Az előre betanított modellek és a teljes körűen felügyelt NLP-szolgáltatások demokratizálták az NLP hozzáférését és elfogadását. Amazon Comprehend egy teljesen felügyelt szolgáltatás, amely képes végrehajtani az NLP-feladatokat, például egyéni entitásfelismerést, témamodellezést, hangulatelemzést és még sok minden mást, hogy betekintést nyerjen az adatokból előzetes ML-tapasztalat nélkül.
Tavaly az AWS bejelentette a partnerség val vel Átölelő arc hogy a természetes nyelvi feldolgozási (NLP) modellek gyorsabban gyártásba kerüljenek. A Hugging Face egy nyílt forráskódú mesterséges intelligencia közösség, amely az NLP-re összpontosít. Python alapú könyvtáruk (transzformerek) eszközöket biztosít a népszerű Transformer architektúrák, például a BERT, a RoBERTa és a GPT egyszerű használatához. Ezeket a modelleket számos NLP-feladatra alkalmazhatja, mint például a szövegosztályozás, az információ kinyerése és a kérdések megválaszolása. mások.
Amazon SageMaker egy teljesen felügyelt szolgáltatás, amely lehetővé teszi a fejlesztők és adattudósok számára a gépi tanulási (ML) modellek gyors felépítését, betanítását és üzembe helyezését. A SageMaker az ML folyamat minden egyes lépéséből eltávolítja a nehéz terheket, megkönnyítve a kiváló minőségű modellek fejlesztését. A SageMaker Python SDK nyílt forráskódú API-kat és konténereket biztosít a modellek betanításához és üzembe helyezéséhez a SageMakeren, számos különböző ML és mély tanulási keretrendszer használatával.
A Hugging Face integrációja a SageMakerrel lehetővé teszi, hogy a saját domain-specifikus felhasználási esetei szerint nagy léptékű Hugging Face modelleket készítsen.
Ebben a bejegyzésben bemutatunk egy példát arra vonatkozóan, hogyan hozhat létre és helyezhet üzembe egyéni átölelő arc szövegösszefoglalót a SageMakeren. Erre a célra a Pegasust [1] használjuk, az első Transformer-alapú modellt, amelyet kifejezetten egy absztrakt szövegösszegzésre szabott objektívre készítettek elő. A BERT előre képzett a véletlenszerű szavak elfedésére egy mondatban; ezzel szemben Pegasus előképzése során a mondatokat egy bemeneti dokumentumból maszkírozzák. A modell ezután egyetlen kimeneti sorozatként generálja a hiányzó mondatokat, az összes maszkolt mondatot kontextusként felhasználva, és ennek eredményeként létrehozza a dokumentum összefoglalóját.
A HuggingFace könyvtár rugalmasságának köszönhetően könnyen adaptálhatja az ebben a bejegyzésben látható kódot más típusú transzformátormodellekhez, mint például a t5, BART stb.
Töltsd be saját adatkészletedet, hogy finomhangolhasd a Hugging Face modellt
Egyéni adatkészlet CSV-fájlból történő betöltéséhez a load_dataset
módszer a Transformers csomagból. A betöltött adatkészletre tokenizálást alkalmazhatunk a datasets.Dataset.map
funkció. A map
A függvény a betöltött adatkészleten iterál, és minden példára alkalmazza a tokenize függvényt. A tokenizált adatkészlet ezután átadható a trénernek a modell finomhangolásához. Lásd a következő kódot:
Készítse el edzési szkriptjét a Hugging Face SageMaker becslőhöz
Ahogy a posztban kifejtették Az AWS és a Hugging Face együttműködik a természetes nyelvi feldolgozási modellek egyszerűsítése és felgyorsítása érdekében, Hugging Face modell képzése a SageMakeren még soha nem volt ilyen egyszerű. Ezt megtehetjük a Hugging Face becslő segítségével a SageMaker SDK.
A következő kódrészlet finomhangolja a Pegasust az adatkészletünkön. Sokakat is találhatsz mintafüzetek amelyek végigvezetik Önt a különböző típusú modellek finomhangolásán, amelyek közvetlenül elérhetők a transzformátorok GitHub tárházában. Az elosztott képzés engedélyezéséhez használhatjuk a Data Parallelism Library a SageMakerben, amelyet a HuggingFace Trainer API-ba építettek be. Az adatok párhuzamosságának engedélyezéséhez meg kell határoznunk a distribution
paramétert a Hugging Face becslőben.
A konfigurálható maximális betanítási kötegméret a modell méretétől és a használt példány GPU-memóriájától függ. Ha a SageMaker elosztott képzés engedélyezve van, a teljes kötegméret az egyes eszközök/GPU között elosztott kötegek összege. Ha az ml.g4dn.xlarge példány helyett egy elosztott betanítású ml.g16dn.4xlarge-t használunk, akkor nyolcszor annyi memóriánk van (8 GPU), mint egy ml.g4dn.xlarge példány (1 GPU). Az eszközenkénti kötegméret változatlan marad, de nyolc eszköz párhuzamosan oktat.
A SageMakernél megszokott módon létrehozunk a train.py
script a Script móddal való használatra, és hiperparamétereket ad át a képzéshez. A következő Pegasus kódrészlet betölti a modellt és betanítja a Transformers segítségével Trainer
osztály:
A teljes kód elérhető a GitHub.
Telepítse a betanított Hugging Face modellt a SageMakerben
Barátaink a Hugging Face-nél egyszerűbb következtetéseket vontak le a SageMaker for Transformers modellekről, köszönhetően a SageMaker Hugging Face Inference Toolkit. A környezeti változó egyszerű beállításával közvetlenül telepítheti a korábban betanított modellt "HF_TASK":"summarization"
(az utasításokat lásd Pegasus modellek), választva Telepítése, majd válassza ki Amazon SageMaker, anélkül, hogy következtetési szkriptet kellene írnia.
Ha azonban valamilyen konkrét módszerre van szüksége az előrejelzések generálására vagy utófeldolgozására, például több összefoglaló javaslat generálására különböző szöveggenerálási paraméterek listája alapján, a saját következtetési szkript megírása hasznos és viszonylag egyszerű lehet:
Amint az az előző kódban látható, a HuggingFace ilyen következtetési szkriptjéhez a SageMakeren csak a következő sablonfunkciókra van szüksége:
- model_fn() – Beolvassa a bent lévő betanítási munka végén elmentettek tartalmát
SM_MODEL_DIR
, vagy egy meglévő, tar.gz fájlként elmentett modellsúlyok könyvtárból Amazon egyszerű tárolási szolgáltatás (Amazon S3). A betanított modell és a kapcsolódó tokenizátor betöltésére szolgál. - input_fn() – Formázza a végponthoz intézett kérésből kapott adatokat.
- előre_fn() – Meghívja a kimenetét
model_fn()
(a modell és a tokenizátor), hogy következtetést lehessen levonni a kimenetéreinput_fn()
(a formázott adatok).
Opcionálisan létrehozhat egy output_fn()
függvény a következtetés formázásához, a kimenetének felhasználásával predict_fn()
, amit ebben a bejegyzésben nem mutattunk be.
Ezután telepíthetjük a betanított Hugging Face modellt a hozzá tartozó következtetési szkripttel a SageMakerben a Átölelő arc SageMaker modell osztály:
Tesztelje a telepített modellt
Ehhez a demóhoz a modellt a Női e-kereskedelmi ruházati vélemények adatkészlet, amely ruházati cikkek ismertetőit (amelyeket bemeneti szövegnek tekintünk) és a hozzájuk tartozó címeket (amelyeket összefoglalónak tekintünk) tartalmazza. Miután eltávolítottuk a hiányzó címekkel rendelkező cikkeket, az adatkészlet 19,675 70 véleményt tartalmaz. A Pegasus modell finomhangolása a cikkek 3.5%-át tartalmazó oktatókészleten öt korszakra körülbelül 3.16 órát vett igénybe egy ml.pXNUMXxnagy példányon.
Ezután telepíthetjük a modellt, és tesztelhetjük a tesztkészletből származó példaadatokkal. A következő példa egy pulóver leírását tartalmazza:
A SageMaker végpontban tárolt egyéni következtetési szkriptünknek köszönhetően több összefoglalót készíthetünk ehhez az áttekintéshez különböző szöveggenerálási paraméterekkel. Például megkérhetjük a végpontot, hogy generáljon egy sor nagyon rövid vagy közepesen hosszú összegzést, amelyek különböző hosszúságú büntetéseket határoznak meg (minél kisebb a hosszúságú büntetés, annál rövidebb a generált összegzés). Íme néhány példa a paraméterbevitelre, és az azt követő, géppel generált összefoglalók:
Melyik összefoglalót részesíti előnyben? Az első generált cím negyedannyi szóval rögzíti az összes fontos tényt a felülvizsgálatról. Ezzel szemben az utolsó csak három szót használ (kevesebb, mint 1/10-ed az eredeti ismertető hosszának), hogy a pulóver legfontosabb jellemzőjére összpontosítson.
Következtetés
Finomhangolhat egy szöveges összefoglalót az egyéni adatkészletén, és üzembe helyezheti azt a SageMaker éles verziójában ezzel az egyszerű példával, amely elérhető a következő webhelyen: GitHub. További mintafüzetek a Hugging Face modellek betanítására és telepítésére a SageMakeren is elérhetők.
Mint mindig, az AWS szívesen fogadja a visszajelzéseket. Kérjük, tegye meg észrevételeit vagy kérdéseit.
Referenciák
[1] PEGASUS: Előképzés kivont hézagmondatokkal az absztrakt összefoglaláshoz
A szerzőkről
Viktor Malesevic gépi tanulási mérnök AWS professzionális szolgáltatásokkal, szenvedélyes a természetes nyelvi feldolgozás és az MLOp iránt. Együttműködik az ügyfelekkel a kihívást jelentő mély tanulási modellek fejlesztésén és AWS-en való gyártásban. Szabadidejében szívesen megoszt egy pohár vörösbort és egy kis sajtot a barátaival.
Aamna Najmi az AWS professzionális szolgáltatásokkal foglalkozó adattudós. Szenvedélyesen támogatja ügyfeleit a Big Data és a mesterséges intelligencia technológiákkal való innovációban, hogy üzleti értéket és betekintést nyerhessenek az adatokból. Szabadidejében szívesen kertészkedik és új helyekre utazik.
- AI
- ai művészet
- ai art generátor
- van egy robotod
- Amazon SageMaker
- mesterséges intelligencia
- mesterséges intelligencia tanúsítás
- mesterséges intelligencia a bankszektorban
- mesterséges intelligencia robot
- mesterséges intelligencia robotok
- mesterséges intelligencia szoftver
- AWS gépi tanulás
- blockchain
- blokklánc konferencia ai
- coingenius
- társalgási mesterséges intelligencia
- kriptokonferencia ai
- dall's
- mély tanulás
- google azt
- gépi tanulás
- Plató
- plato ai
- Platón adatintelligencia
- Platón játék
- PlatoData
- platogaming
- skála ai
- szintaxis
- zephyrnet