Ma bejelentjük, hogy nyilvánosan elérhetővé vált az Amazon legmodernebb technológiája Alexa tanári modell 20 milliárd paraméterrel (AlexaTM 20B) keresztül Amazon SageMaker JumpStart, a SageMaker gépi tanulási központja. Az AlexaTM 20B az Amazon által kifejlesztett többnyelvű, nagyszabású szekvenciákról szekvenciákra (seq2seq) nyelvi modell. Az AlexaTM 20B számos iparági felhasználásra használható, a pénzügyi jelentések összefoglalásától az ügyfélszolgálati chatbotok kérdéseinek megválaszolásáig. Akkor is alkalmazható, ha csak néhány képzési példa áll rendelkezésre, vagy akár egy sem. AlexaTM 20B felülmúlja 175 milliárd GPT-3 modell zero-shot tanulási feladatokon, mint például a SuperGLUE, és a legkorszerűbb teljesítményt mutatja a többnyelvű nullapontos feladatokhoz, például az XNLI-hez.
Ebben a bejegyzésben áttekintést adunk arról, hogyan telepíthet és futtathat le következtetéseket az AlexaTM 20B modellel programozottan a JumpStart API-kon keresztül. SageMaker Python SDK. Példákkal mutatjuk be, hogyan használhatja ezt a modellt több nyelv közötti fordításra, hosszú szövegek összefoglalására, adott kontextus alapján kérdések megválaszolására, valamint olyan szöveg létrehozására, amely megkülönböztethetetlennek tűnik az ember által írt szövegtől.
AlexaTM 20B és kontextuson belüli tanulás
Az Amazon Alexa AI Alexa Teacher Model (AlexaTM) programja nagy léptékű, többnyelvű mélytanulási modellek (elsősorban Transformer-alapú) felépítésére készült, és célja az általánosítás és az adathiány kezelésének javítása a downstream feladatokhoz. A nagyszabású előképzéssel a tanári modellek jól általánosíthatók, új feladatokat tanulhatnak meg ritka adatokból, és segíthetik a fejlesztőket a későbbi feladatok teljesítményének javításában. AlexaTM 20B megmutatta versenyképes teljesítmény a közös természetes nyelvi feldolgozás (NLP) benchmarkokról és feladatokról, például gépi fordításról, adatgenerálásról és összegzésről.
Az AlexaTM 20B-hez hasonló alapmodellek használata csökkenti a költséges modell-előképzés szükségességét, és a legmodernebb kiindulási alapot biztosít a feladatmodellek fejlesztéséhez, kevesebb erőfeszítéssel és kevesebb feladatspecifikus képzési adattal. Az alapmodellek egyik kulcsfontosságú képessége, hogy megtaníthatunk egy modellt olyan új feladatok végrehajtására, mint a kérdés és a válaszadás különböző nyelveken, nagyon kis mennyiségű beviteli példával, és nincs szükség finomhangolásra vagy gradiens frissítésre. Ez az úgynevezett kontextusban tanulás. Az új feladatra csak néhány példát adunk kontextusként a következtetésekhez, így az AlexaTM 20B modell képes átadni a tudást a nagyszabású előképzés során tanultakból, akár nyelveken keresztül is. Ezt nevezik néhány felvételes tanulás. Egyes esetekben a modell jól teljesíthet oktatási adatok nélkül is, csak magyarázattal arra, hogy mit kell előre jelezni. Ezt nevezik nulla lövéses tanulás. Tegyük fel például, hogy AlexaTM 20B-t használunk az egyszeri természetes nyelvgeneráláshoz. A modellnek átadott bemenet a betanítási példa attribútum-érték párok formájában, a hozzá tartozó kimeneti szöveges narratívával együtt. A tesztpéldát ezután hozzáfűzzük a teljes beviteli prompthoz, amint az a következő ábrán látható.
Ha többet szeretne megtudni a modellről, nézze meg A 20B-s paraméterű Alexa-modell új pontokat állít fel a néhány lépéses tanulásban vagy az eredeti papír.
Az AlexaTM 20B nem kereskedelmi használatra elérhető, és a hatálya alá tartozik Alexa Teacher Model Licencszerződés.
Megoldás áttekintése
A következő szakaszok lépésről lépésre bemutatják a modell üzembe helyezését, a következtetés lefuttatását és a kontextuson belüli tanulást a néhány lépésből álló tanulási feladatok megoldásához.
Vegye figyelembe, hogy a következő szakasz kódrészleteket tartalmaz; a teljes kód a bemutató összes lépésével elérhető a mellékelt jegyzetfüzetben: Kontextuson belüli tanulás az AlexaTM 20B segítségével a SageMaker JumpStartban.
Telepítse a modellt
Ha nagy nyelvi modellt szeretne használni a SageMakerben, szüksége van egy, a modellhez tartozó következtetési szkriptre, amely olyan lépéseket tartalmaz, mint a modell betöltése, párhuzamosítás és egyebek. Végpontok közötti teszteket is létre kell hoznia a parancsfájlokhoz, a modellekhez és a kívánt példánytípusokhoz, hogy ellenőrizze, hogy mindhárom együtt tud-e működni. A JumpStart eltávolítja ezt az erőfeszítést azáltal, hogy használatra kész szkripteket biztosít, amelyeket alaposan teszteltek.
A SageMaker lehetővé teszi a Docker konténerek széles körű futtatását a képzés és a következtetések levonásához. A JumpStart ezeket az elérhető keretrendszer-specifikusakat használja SageMaker Deep Learning tárolók (DLC-k). Kezdjük az optimalizált DLC lekérésével (deploy_image_uri
) használni a model_id
. Aztán elhozzuk a model_uri
amely tartalmazza a modell paramétereit, valamint a következtetéskezelő szkripteket és a kapcsolódó függőségeket. Ezután létrehozzuk a modellpéldány a SageMakerben, és telepítse egy valós idejű végpontra. Lásd a következő kódot:
Az AlexaTM 20B telepítéséhez legalább 50 GB CPU-memóriával és legalább 42 GB GPU-memóriával rendelkező, GPU-val támogatott példányra van szükség. A SageMaker számos ilyen példányt kínál, amelyek támogatják a valós idejű következtetést. Ezt a megoldást három esetben teszteltük: ml.g4dn.12xlarge, ml.p3.8xlarge, ml.p3.16xlarge. Lásd a következő kódot:
Ezután telepítjük a modellt egy SageMaker valós idejű végpontra:
Az AlexaTM 20B 40 GB lemezterületet igényel a következtetési tárolóban. Egy ml.g4dn.12xlarge példány megfelel ennek a követelménynek. Például az ml.p3.8xlarge és ml.p3.16xlarge típusokhoz csatolunk egy Amazon Elastic Block Store (Amazon EBS) kötet a nagy modellméret kezelésére. Ezért beállítottuk volume_size = None
ml.g4dn.12xlarge és volume_size=256
ml.p3.8xlarge vagy ml.p3.16xlarge felületen történő telepítéskor.
A modell üzembe helyezése akár 10 percig is eltarthat. A modell bevezetése után valós időben kaphatunk előrejelzéseket belőle!
Következtetés futtatása
Az AlexaTM 20B egy szöveggeneráló modell, amely egy részleges sorozat (egy mondat vagy szövegrész) alapján létrehozza a következő szavakat. A következő kódrészlet bepillantást nyújt az általunk telepített végpont lekérdezéséhez és a kimenetek elemzéséhez az automatikus befejezési feladathoz. A telepített modellnek való kérések küldéséhez UTF-8 formátumban kódolt JSON-szótárt használunk. A végpont válasz egy JSON-objektum, amely a generált szövegek listáját tartalmazza.
Ezután lekérdezzük a végpontot, és elemezzük a választ egy bemeneti minta szövegén:
Az AlexaTM 20B jelenleg 10 szöveggenerálási paramétert támogat a következtetés során: max_length
, num_return_sequences
, num_beams
, no_repeat_ngram_size
, temperature
, early_stopping
, do_sample
, top_k
, top_p
és seed
. Az egyes paraméterek érvényes értékeivel és azok kimenetre gyakorolt hatásával kapcsolatos részletes információkért lásd a mellékelt jegyzetfüzetet: Kontextuson belüli tanulás az AlexaTM 20B segítségével a SageMaker JumpStartban.
Kontextusban tanulás
A kontextusban tanulás a következőkre vonatkozik: a nyelvi modellt prompttal látjuk el, amely a feladatot bemutató bemenet-kimenet párokból áll. Tesztbemenetet fűzünk a prompthoz, és lehetővé tesszük a nyelvi modell számára, hogy előrejelzéseket készítsen a prompt kondicionálásával és a következő tokenek vagy szavak előrejelzésével. Ez egy nagyon hatékony technika néhány shot-learning probléma megoldására, amelyben néhány gyakorlati mintából tanulunk meg egy feladatot.
Ezután bemutatjuk, hogyan használhatja az AlexaTM 20B-t számos 1-shot és zero-shot feladathoz kontextuson belüli tanulással. A korábbi szekvencia-szekvencia modellekkel ellentétben az AlexaTM 20B-t a zajtalanításon kívül az oksági nyelvi modellezésre is képezték, ami jó modellt jelent a kontextuson belüli tanuláshoz.
1 felvételes szöveges összefoglaló
A szöveges összegzés feladata az adatok lerövidítése és egy olyan összefoglalás létrehozása, amely az eredeti szövegben található legfontosabb információkat reprezentálja. Az 1-shot szövegösszegzés arra a beállításra vonatkozik, ahol megtanuljuk egyetlen képzési minta alapján összefoglalni a szöveget. A következő kód egy szöveges összefoglaló minta a XSUM adatkészlet:
Az alábbi promptot használjuk az összegzéshez, ha csak egy képzési mintát adunk meg. A modellből generált szöveget a rendszer a tesztcikk előrejelzett összefoglalásaként értelmezi.
A kimenet a következő:
1-lövetű természetes nyelvgenerálás
A természetes nyelv generálása a szöveges narratívák létrehozásának feladata a bemeneti szöveg alapján. A következő minta egy képzési mintát mutat be a E2E adatkészlet:
A következő promptot használjuk a természetes nyelv generálásához, ha csak egy képzési mintát (1-lövés) adunk meg. A modellből generált szöveget a rendszer a tesztbemenet előrejelzett szöveges narratívájaként értelmezi (test_inp
).
A kimenet a következő:
1 felvételes gépi fordítás
A gépi fordítás a szöveg egyik nyelvről a másikra fordításának feladata. A következő példa egy képzési mintát mutat be a WMT19 adatkészlet amelyben le kell fordítanunk németről angolra:
A következő promptot használjuk a gépi fordításhoz, ha csak egy tanítási mintát (1 kép) adunk meg. A modellből generált szöveg a teszt bemenet fordításaként értelmeződik (test_inp
).
A kimenet a következő:
Zero-shot kivonatoló kérdés válasz
A kivonatoló kérdésválasz az a feladat, hogy a szövegkörnyezet-bekezdésből választ találjunk egy kérdésre. A következő egy példa egy kontextusra és egy kérdésre a SQuAD v2 adatkészlet:
Vegye figyelembe, hogy a feladatunkhoz nem rendelkezünk képzési mintákkal. Ehelyett létrehozunk egy álkérdést a prompt utolsó szaváról a következő alapján test_context
(bábu-lövés). Ezért tulajdonképpen nullapontos kivonatoló kérdésekre válaszolunk.
A következő promptot használjuk a kérdés megválaszolásához, ha nem adunk meg képzési mintát. A modellből generált szöveget a tesztkérdésre adott válaszként értelmezzük.
A kimenet a következő:
Prompt Engineering
Az azonnali tervezés néha művészet lehet. Még a prompt sablon kis módosításai is jelentős változásokat eredményezhetnek a modell teljesítményében egy adott feladaton. Az alábbiakban néhány tanácsot adunk a jó prompt sablonok írásához. Először is fontos megjegyezni, hogy a modellt a valódi mondatok szerkezetének megtanulására képezték ki (oksági nyelvi modellezés). Ezért a legjobb, ha gondoskodik arról, hogy a felszólító sablon nyelvtanilag és szerkezetileg helyes legyen a természetes nyelven. Másodszor, ez a konkrét modell állövésekkel rendelkezik, amelyek segítenek megtanítani neki a válaszban várt szerkezetet, amint azt fent bemutattuk. Harmadszor, mindig tanácsos megvizsgálni a feladatok teljesítményét a különböző jelölt-kérdések sablonjain keresztül. Promptsource és a Természetes utasítások két nyílt forráskódú keretrendszer a prompt-sablonok szabványosítására, és számos példapromptot biztosítanak a meglévő modellezési feladatokhoz. Ezenkívül a B. függelék AlexaTM 20B papír a közleményben bemutatott eredmények generálásához használt prompt sablonokat biztosítja. Egyre nagyobb részterület áll rendelkezésre a feladathoz legjobban illő utasítások automatikus létrehozására és megtanulására, beleértve a természetes nyelvet és a folyamatos felszólításokat is. Ez meghaladja ennek az oktatóanyagnak a kereteit.
Következtetés
Ebben a bejegyzésben bemutattuk, hogyan telepíthető az AlexaTM 20B modell egy SageMaker végponton, és hogyan futtassuk le a következtetést. Használhatja az AlexaTM 20B modellt kontextuson belüli tanuláshoz számos, néhány lépésből álló tanulási feladathoz. Ha többet szeretne megtudni az AlexaTM 20B-ről, lásd: A 20B-s paraméterű Alexa-modell új pontokat állít fel a néhány lépéses tanulásban vagy az eredeti papír.
A szerzők szeretnének köszönetet mondani Maciej Rudnicki, Jakub Debski, Ashish Khetan, Anastasiia Dubinina, Vitaliy Korolev, Karl Albertsen, Saleh Soltan és Mariusz Momotko technikai hozzájárulásáért az indulás lehetővé tételéhez.
A JumpStartról
A JumpStart az Amazon SageMaker gépi tanulási (ML) központja, amely több mint 350 előre betanított modellt, beépített algoritmust és előre elkészített megoldássablont kínál az ML gyors megkezdéséhez. A JumpStart olyan népszerű modellközpontoktól származó legmodernebb modelleket tartalmaz, mint a TensorFlow, PyTorch, Hugging Face és MXNet, amelyek támogatják az olyan népszerű ML feladatokat, mint az objektumészlelés, szövegosztályozás és szöveggenerálás. Az ML-kutató közösség nagy erőfeszítéseket tett annak érdekében, hogy a közelmúltban kifejlesztett modellek többségét nyilvánosan elérhetővé tegye. A JumpStart célja, hogy segítsen megtalálni a megfelelő ML modelleket és algoritmusokat, és azonnal megkezdje a modellek építését. A JumpStart a következő előnyöket nyújtja:
- Könnyű hozzáférés a felhasználói felülettel és az SDK-val – A JumpStart modelljeit és algoritmusait programozottan érheti el a SageMaker Python SDK használatával vagy az Amazon SageMaker Studio JumpStart felhasználói felületén keresztül. Jelenleg az AlexaTM 20B csak a SageMaker Python SDK-n keresztül érhető el.
- A SageMaker beépített algoritmusai – A JumpStart több mint 350 beépített algoritmust és előre betanított modellt kínál, valamint a megfelelő tanító szkripteket (ha támogatott), következtetési szkripteket és példajegyzetfüzeteket. A szkriptek minden keretrendszerhez és feladathoz optimalizálva vannak, és olyan funkciókat kínálnak, mint a GPU-támogatás, az automatikus modellhangolás és a fokozatos betanítás. A szkripteket a SageMaker példányaival és szolgáltatásaival is tesztelik, hogy ne ütközzenek kompatibilitási problémákba.
- Előre elkészített megoldások – A JumpStart 23 megoldást kínál a gyakori ML használati esetekre, mint például a kereslet-előrejelzés, valamint az ipari és pénzügyi alkalmazások, amelyeket néhány kattintással telepíthet. A megoldások olyan teljes körű ML-alkalmazások, amelyek különböző AWS-szolgáltatásokat kapcsolnak össze egy adott üzleti felhasználási eset megoldása érdekében. AWS CloudFormation sablonokat és referenciaarchitektúrákat használnak a gyors üzembe helyezés érdekében, ami azt jelenti, hogy teljes mértékben testreszabhatók.
- Támogatás – A SageMaker számos támogatást nyújt, például a naprakész verziók karbantartását, amikor új SageMaker-funkciók vagy Deep Learning Container-verziók kerülnek kiadásra, valamint dokumentáció készítése a JumpStart-tartalom SageMaker-környezetben való használatáról.
Ha többet szeretne megtudni a JumpStartról és arról, hogyan használhatja a nyílt forráskódú, előre betanított modelleket számos más ML-feladathoz, tekintse meg a következőt AWS re:Invent 2020 videó.
A szerzőkről
Dr. Vivek Madan az Amazon SageMaker JumpStart csapatának alkalmazott tudósa. PhD fokozatát az Illinoisi Egyetemen szerezte, az Urbana-Champaign-ben, és a Georgia Tech posztdoktori kutatója volt. Aktív kutatója a gépi tanulásnak és az algoritmustervezésnek, és publikált előadásokat EMNLP, ICLR, COLT, FOCS és SODA konferenciákon.
Jack FitzGerald az Alexa AI vezető alkalmazott tudósa, ahol jelenleg a nagynyelv-modellezésre, a többnyelvű szövegmodellezésre és a gépi tanulási műveletekre összpontosít.
João Moura AI/ML Specialist Solutions Architect az Amazon Web Servicesnél. Leginkább az NLP-használati esetekre összpontosít, és segít ügyfeleinek a mély tanulási modell képzésében és bevezetésében. Emellett aktív támogatója az alacsony kódú ML megoldásoknak és az ML-re specializált hardvereknek.
June nyert a SageMaker JumpStart és a beépített algoritmusok termékmenedzsere. Arra összpontosít, hogy az ML tartalmakat könnyen felfedezhetővé és használhatóvá tegye a SageMaker ügyfelek számára.
Pulkit Kapur az Alexa Teacher Model program termékvezetője az Alexa AI-vel, amely az Alexa multitask multimodális alapmodelljei általánosított intelligenciájára és alkalmazásaira összpontosít.
- AI
- ai művészet
- ai art generátor
- van egy robotod
- Amazon SageMaker
- Amazon SageMaker JumpStart
- 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
- Alapozó (100)
- google azt
- gépi tanulás
- Plató
- plato ai
- Platón adatintelligencia
- Platón játék
- PlatoData
- platogaming
- skála ai
- szintaxis
- zephyrnet