Híralapú valós idejű riasztórendszer létrehozása a Twitter, az Amazon SageMaker és a Hugging Face PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Híralapú valós idejű riasztórendszer létrehozása a Twitter, az Amazon SageMaker és a Hugging Face segítségével

Ma a közösségi média hatalmas hírforrás. A felhasználók olyan platformokra támaszkodnak, mint a Facebook és a Twitter a hírek fogyasztásához. Egyes iparágak, például a biztosítótársaságok, az első válaszadók, a bűnüldöző szervek és a kormányzati szervek számára, hogy gyorsan tudják feldolgozni a releváns eseményekkel kapcsolatos híreket, segíthet a cselekvésben, amíg ezek az események még folyamatban vannak.

Nem ritka, hogy a szöveges adatokból értéket kinyerni próbáló szervezetek olyan megoldást keresnek, amely nem foglalja magában a komplex NLP (természetes nyelvi feldolgozás) modell betanítását. Az ilyen szervezetek számára célszerűbb egy előre betanított NLP-modell használata. Továbbá, ha a kiválasztott modell nem felel meg a sikermutatóiknak, a szervezetek azt szeretnék, ha könnyen választhatnának másik modellt, és újraértékelhetnének.

Jelenleg minden eddiginél egyszerűbb információt nyerni szöveges adatokból a következőknek köszönhetően:

  • A legmodernebb, általános célú NLP architektúrák, például a transzformátorok térnyerése
  • Az a képesség, amellyel a fejlesztők és az adattudósok gyorsan építhetnek, betaníthatnak és telepíthetnek gépi tanulási (ML) modelleket a felhőben olyan szolgáltatásokkal, mint pl. Amazon SageMaker
  • Több ezer előre betanított NLP-modell elérhetősége több száz nyelven, valamint a közösség által biztosított több keretrendszer támogatása olyan platformokon, mint pl. Átölelő Arc Hub

Ebben a bejegyzésben bemutatjuk, hogyan építsünk fel egy valós idejű riasztórendszert, amely a Twitterről érkező híreket használja, és a Hugging Face Hub előre betanított modellje alapján osztályozza a tweeteket. Ezt a megoldást nullapontos osztályozáshoz használhatja, ami azt jelenti, hogy gyakorlatilag bármilyen kategóriacsoportba besorolhatja a tweeteket, és a modellt a SageMakerrel telepítheti a valós idejű következtetésekhez.

Alternatív megoldásként, ha betekintést szeretne nyerni ügyfelei beszélgetéseibe, és elmélyíteni szeretné a márkaismertséget a közösségi média interakcióinak elemzésével, javasoljuk, hogy tekintse meg a AI-vezérelt közösségi média irányítópult. A megoldás használ Amazon Comprehend, egy teljesen felügyelt NLP-szolgáltatás, amely értékes betekintést és összefüggéseket tár fel a szövegben anélkül, hogy gépi tanulási tapasztalatra lenne szüksége.

Zero-shot tanulás

Az NLP és a természetes nyelvi megértés (NLU) területe gyorsan fejlődött, hogy kezelje a szövegosztályozást, a kérdések megválaszolását, az összegzést, a szöveggenerálást stb. Ez az evolúció részben a legkorszerűbb, általános célú architektúrák, például transzformátorok térnyerésének köszönhető, de annak is köszönhető, hogy az ilyen modellek betanításához több és jobb minőségű szövegkorpusa áll rendelkezésre.

A transzformátor-architektúra egy összetett neurális hálózat, amely tartományi szakértelmet és hatalmas mennyiségű adatot igényel ahhoz, hogy a semmiből oktassák. Általános gyakorlat, hogy egy előre betanított csúcstechnológiás transzformátort, például BERT-et, RoBERTa-t, T5-öt, GPT-2-t vagy DistilBERT-t használnak, és finomhangolják (transzfer tanulás) a modellt egy adott használati esetre.

Mindazonáltal még az átviteli tanulás végrehajtása egy előre betanított NLP-modell segítségével is gyakran kihívást jelenthet, mivel nagy mennyiségű címkézett szöveges adatra és szakértői csapatra van szükség az adatok összegyűjtéséhez. Ez az összetettség megakadályozza, hogy a legtöbb szervezet hatékonyan használja ezeket a modelleket, de a nullapontos tanulás segít az ML szakembereknek és szervezeteknek leküzdeni ezt a hiányosságot.

A nullapontos tanulás egy speciális ML-feladat, amelyben az osztályozó a képzés során egy címkekészleten tanul, majd a következtetés során egy másik címkekészleten értékeli ki, amelyet az osztályozó még soha nem látott. Az NLP-ben egy természetes nyelvi következtetés (NLI) feladatra kiképzett nullapontos sorozatosztályozót használhat a szöveg finomhangolás nélküli osztályozására. Ebben a bejegyzésben a népszerű NLI-t használjuk BART modell bart-large-mnli a tweetek osztályozására. Ez egy nagy, előre betanított modell (1.6 GB), amely a Hugging Face modellközponton érhető el.

A Hugging Face egy mesterséges intelligencia-cég, amely egy nyílt forráskódú platformot (Hugging Face Hub) kezel több ezer előre betanított NLP-modellel (transzformátorral) több mint 100 különböző nyelven, és támogatja a különböző keretrendszereket, például a TensorFlow-t és a PyTorch-t. A transzformátorok könyvtára segít a fejlesztőknek és az adatkutatóknak elkezdeni olyan összetett NLP- és NLU-feladatokat, mint az osztályozás, az információ-kinyerés, a kérdések megválaszolása, az összegzés, a fordítás és a szöveggenerálás.

AWS és Hugging Face együttműködtek az NLP-modellek egyszerűsítésében és felgyorsításában. A PyTorch vagy TensorFlow programban való betanításhoz és következtetések levonásához Deep Learning Container (DLC) készlet, valamint a SageMaker Python SDK Hugging Face becslései és előrejelzői már elérhetőek. Ezek a képességek segítenek a szakértelem minden szintjével rendelkező fejlesztőknek könnyedén elkezdeni az NLP-t.

A megoldás áttekintése

Olyan működő megoldást kínálunk, amely valós időben letölti a tweeteket a kiválasztott Twitter-fiókokból. Megoldásunk bemutatásához három fiókot használunk, az Amazon Web Services (@awscloud), AWS biztonság (@AWSSecurityInfo), és az Amazon Science (@AmazonScience), és a tartalmukat a következő kategóriák egyikébe sorolja: biztonság, adatbázis, számítástechnika, tárolás és gépi tanulás. Ha a modell 40%-nál nagyobb megbízhatósági pontszámú kategóriát ad vissza, értesítést küld.

A következő példában a modell az Amazon Web Services tweetjét a gépi tanulás kategóriába sorolta, 97%-os megbízhatósági pontszámmal, ami riasztást generált.

A megoldás egy Hugging Face-re előképzett transzformátormodellre támaszkodik (a Hugging Face Hub-ból), hogy a tweeteket a következtetési időpontban megadott címkekészlet alapján osztályozza – a modellt nem kell betanítani. A következő képernyőképek további példákat és azok besorolását mutatják be.
Néhány releváns példa
Javasoljuk, hogy próbálja ki saját maga a megoldást. Egyszerűen töltse le a forráskódot a GitHub tárház és kövesse a README fájl telepítési utasításait.

Megoldás architektúra

A megoldás nyitott kapcsolatot tart a Twitter végpontjával, és ha új tweet érkezik, üzenetet küld a sorba. A fogyasztó beolvassa az üzeneteket a sorból, felhívja az osztályozás végpontját, és az eredményektől függően értesíti a végfelhasználót.

Az alábbiakban a megoldás architektúra diagramja látható.
A megoldás terjedelme
A megoldás munkafolyamata a következő összetevőkből áll:

  1. A megoldás a Twitter Stream API-jára támaszkodik, hogy valós időben kapja meg a konfigurált szabályoknak megfelelő tweeteket (tweeteket az érdeklődő fiókokból). Ennek érdekében egy tárolóban futó alkalmazás nyitott kapcsolatot tart a Twitter végpontjával. Hivatkozni Twitter API fül alatt találsz.
  2. A konténer tovább fut Amazon Elastic Container Service (Amazon ECS), egy teljesen felügyelt konténer-hangszerelési szolgáltatás, amely megkönnyíti a konténeres alkalmazások üzembe helyezését, kezelését és méretezését. Egyetlen feladat fut egy általa kezelt kiszolgáló nélküli infrastruktúrán AWS Fargate.
  3. A Twitter Bearer token biztonságosan tárolva van AWS Systems Manager Paramétertár, képessége AWS rendszermenedzser amely biztonságos, hierarchikus tárolást biztosít a konfigurációs adatok és titkok számára. A tárolókép a következő helyen van tárolva Amazon Elastic Container Registry (Amazon ECR), egy teljesen felügyelt konténer-nyilvántartás, amely nagy teljesítményű tárhelyszolgáltatást kínál.
  4. Amikor új tweet érkezik, a tárolóalkalmazás elhelyezi a tweetet egy Amazon Simple Queue Service (Amazon SQS) sor. Az Amazon SQS egy teljesen felügyelt üzenetsor-szolgáltatás, amely lehetővé teszi a mikroszolgáltatások, elosztott rendszerek és kiszolgáló nélküli alkalmazások szétválasztását és méretezését.
  5. A megoldás logikája egy AWS Lambda funkció. A Lambda egy kiszolgáló nélküli, eseményvezérelt számítási szolgáltatás. A függvény felhasználja az új tweeteket a sorból, és egy végpont meghívásával osztályozza azokat.
  6. A végpont egy Hugging Face modellen alapul, és a SageMakeren található. A végpont lefuttatja a következtetést, és kiadja a tweet osztályát.
  7. A besorolástól függően a funkció értesítést generál ezen keresztül Amazon Simple Notification Service (Amazon SNS), egy teljesen felügyelt üzenetküldő szolgáltatás. Feliratkozhat az SNS témakörre, és több célállomás is megkaphatja ezt az értesítést (lásd Amazon SNS eseménycélpontok). Az értesítést például e-mail üzenetként kézbesítheti a beérkező levelek mappájába (lásd E-mail értesítések).

Vezessen be Hugging Face modelleket a SageMaker segítségével

A több mint 10,000 XNUMX nyilvánosan elérhető modell bármelyikét kiválaszthatja Átölelő arcmodell központ és telepítse őket a SageMaker segítségével a használatával Hugging Face Inference DLC-k.

Használat során AWS felhőképződés, kiválaszt egyet a nyilvánosan elérhetők közül Ölelők arckivonat tárolók és konfigurálja a modellt és a feladatot. Ez a megoldás a facebook/bart-large-mnli modell és a zéró-lövés-osztályozási feladat, de az alatta lévő modellek közül bármelyiket kiválaszthatja Zero-Shot osztályozás a Hugging Face Model Hub-on. Ezeket a HF_MODEL_ID és HF_TASK környezeti változók CloudFormation-sablonjában történő beállításával állíthatja be, a következő kód szerint:

SageMakerModel:
  Type: AWS::SageMaker::Model
  Properties:
    ExecutionRoleArn: !GetAtt SageMakerModelRole.Arn
    PrimaryContainer:
      Image: 763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-inference:1.7-transformers4.6-cpu-py36-ubuntu18.04
      Environment:
        HF_MODEL_ID: facebook/bart-large-mnli
        HF_TASK: zero-shot-classification
        SAGEMAKER_CONTAINER_LOG_LEVEL: 20
        SAGEMAKER_REGION: us-east-1

Alternatív megoldásként, ha nem használja az AWS CloudFormation-t, néhány sornyi kóddal ugyanazt az eredményt érheti el. Hivatkozni Telepítse a modelleket az Amazon SageMaker alkalmazásba fül alatt találsz.

A tartalom besorolásához hívja meg a SageMaker végpontot. A következő egy Python kódrészlet:

endpoint_name = os.environ['ENDPOINT_NAME']
labels = os.environ['ENDPOINT_NAME']

data = {
    'inputs': tweet,
    'parameters': {
        'candidate_labels': labels,
        'multi_class': False
    }
}

response = sagemaker.invoke_endpoint(EndpointName=endpoint_name,
                                     ContentType='application/json',
                                     Body=json.dumps(data))

response_body = json.loads(response['Body'].read())

Jegyezze fel a Hamis érték a több_osztály paraméter, amely azt jelzi, hogy az egyes osztályokhoz tartozó összes valószínűség összege 1-et tesz ki.

A megoldás fejlesztései

Az itt javasolt megoldást a tweetek és a modelleredmények tárolásával javíthatja. Amazon egyszerű tárolási szolgáltatás (Amazon S3), egy objektumtárolási szolgáltatás, az egyik lehetőség. Tweeteket, eredményeket és egyéb metaadatokat írhat JSON-objektumként egy S3 tárolóba. Ezután ad hoc lekérdezéseket hajthat végre az adott tartalomra vonatkozóan Amazon Athéné, egy interaktív lekérdező szolgáltatás, amely megkönnyíti az Amazon S3 adatainak elemzését szabványos SQL használatával.

Az előzményeket nemcsak információk kinyerésére használhatja, hanem egyéni modellek betanítására is. Használhatja Hugging Face támogatást, hogy egy modellt tanítson saját adataival a SageMakerrel. Tudjon meg többet erről Futtasson edzést az Amazon SageMakeren.

Valós használati esetek

Az ügyfelek már kísérleteznek Hugging Face modellekkel a SageMakeren. Bolivar Biztosítás, egy 1939-ben alapított kolumbiai pénzügyi és biztosító társaság erre példa.

„Venyegetésértesítési megoldást fejlesztettünk ki ügyfelek és biztosítási alkuszok számára. Hugging Face előre kiképzett NLP-modelleket használunk a releváns fiókokból származó tweetek osztályozására, hogy ügyfeleink számára közel valós időben értesítéseket generálhassunk, és ezzel segítsünk csökkenteni a követeléseket. A követelés azért fordul elő, mert az ügyfelek nincsenek tisztában azzal, hogy milyen kockázatnak vannak kitéve. A megoldás lehetővé teszi, hogy tudatosságot ébresszünk ügyfeleinkben, és a kockázatot konkrét helyzetekben mérhetővé alakítsuk.”

– Julian Rico, a Seguros Bolívar kutatási és tudásért felelős vezetője.

Seguros Bolívar az AWS-szel dolgozott a megoldás újraépítésén; most a SageMakerre támaszkodik, és hasonlít az ebben a bejegyzésben leírtra.

Következtetés

A nullapontos besorolás ideális, ha kevés adattal rendelkezik az egyéni szövegosztályozó betanításához, vagy ha nem engedheti meg magának az egyéni NLP-modell betanítását. Speciális felhasználási esetekben, amikor a szöveg meghatározott szavakon vagy kifejezéseken alapul, jobb, ha egy egyéni képzési készleten alapuló felügyelt osztályozási modellt használ.

Ebben a bejegyzésben megmutattuk, hogyan hozhat létre hírosztályozót az AWS-en futó Hugging Face nullás modell segítségével. Hírforrásként a Twittert használtuk, de Ön választhat olyan hírforrást, amely jobban megfelel az Ön igényeinek. Ezenkívül egyszerűen módosíthatja a modellt, csak adja meg a kiválasztott modellt a CloudFormation sablonban.

A forráskódhoz lásd a GitHub tárház Tartalmazza a teljes beállítási utasítást. Ön is klónozhatja, módosíthatja, telepítheti és futtathatja. Kiindulási pontként is használhatja, és testreszabhatja a kategóriákat és a riasztási logikát, vagy más megoldást építhet hasonló használati esetre.

Kérjük, próbálja ki, és ossza meg velünk véleményét. Mint mindig, most is várjuk visszajelzését. Elküldheti a szokásos AWS ügyfélszolgálati elérhetőségeire, vagy a AWS fórum a SageMaker számára.


A szerzőkről

Híralapú valós idejű riasztórendszer létrehozása a Twitter, az Amazon SageMaker és a Hugging Face PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.David Laredo prototípus-készítő építész az AWS Envision Engineeringnél a LATAM-ban, ahol több gépi tanulási prototípus fejlesztésében is segített. Korábban gépi tanulási mérnökként dolgozott, és több mint 5 éve foglalkozik gépi tanulással. Érdeklődési területe az NLP, az idősorok és a végpontok közötti ML.

Híralapú valós idejű riasztórendszer létrehozása a Twitter, az Amazon SageMaker és a Hugging Face PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Rafael Werneck a brazíliai székhelyű AWS Envision Engineering vezető prototípus-készítő építésze. Korábban szoftverfejlesztő mérnökként dolgozott az Amazon.com.br és az Amazon RDS Performance Insights webhelyeken.

Híralapú valós idejű riasztórendszer létrehozása a Twitter, az Amazon SageMaker és a Hugging Face PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Vikram Elango AI/ML Specialist Solutions Architect az Amazon Web Servicesnél, amelynek székhelye Virginia államban (USA). A Vikram tervezési és gondolkodási vezetői képességekkel segíti a pénzügyi és biztosítási ágazat ügyfeleit a gépi tanulási alkalmazások nagyszabású létrehozásában és üzembe helyezésében. Jelenleg a természetes nyelvi feldolgozásra, a felelős AI-re, a következtetések optimalizálására és az ML méretezésére összpontosít a vállalaton belül. Szabadidejében szeret utazni, kirándulni, főzni és kempingezni a családjával.

Időbélyeg:

Még több AWS gépi tanulás