Looge uudistepõhine reaalajas hoiatussüsteem Twitteri, Amazon SageMakeri ja Hugging Face PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.

Looge Twitteri, Amazon SageMakeri ja Hugging Face abil uudistepõhine reaalajas hoiatussüsteem

Tänapäeval on sotsiaalmeedia tohutu uudisteallikas. Kasutajad toetuvad uudiste tarbimiseks sellistele platvormidele nagu Facebook ja Twitter. Teatud tööstusharudes, nagu kindlustusseltsid, esmavastajad, õiguskaitseorganid ja valitsusasutused, võib asjakohaste sündmustega seotud uudiste kiire töötlemine aidata neil meetmeid võtta, kui need sündmused alles käivad.

Pole harvad juhud, kui organisatsioonid, kes püüavad tekstiandmetest väärtust ammutada, otsivad lahendust, mis ei hõlma keerulise NLP (loomuliku keele töötlemise) mudeli väljaõpet. Nende organisatsioonide jaoks on praktilisem kasutada eelkoolitatud NLP mudelit. Lisaks, kui valitud mudel ei vasta nende edumõõdikutele, soovivad organisatsioonid hõlpsasti valida teise mudeli ja seda ümber hinnata.

Praegu on tekstiandmetest teabe hankimine lihtsam kui kunagi varem tänu järgmisele.

  • Kaasaegsete üldotstarbeliste NLP-arhitektuuride, nagu trafod, tõus
  • Võimalus arendajatel ja andmeteadlastel kiiresti pilves mastaabis masinõppe (ML) mudeleid luua, koolitada ja juurutada selliste teenustega nagu Amazon SageMaker
  • Tuhandete eelkoolitatud NLP-mudelite kättesaadavus sadades keeltes ja mitme raamistiku tugi, mida kogukond pakub sellistel platvormidel nagu Kallistamine Face Hub

Selles postituses näitame teile, kuidas luua reaalajas hoiatussüsteem, mis tarbib Twitteri uudiseid ja klassifitseerib säutsud, kasutades Hugging Face Hubi eelkoolitatud mudelit. Seda lahendust saate kasutada nullkaadri klassifitseerimiseks, mis tähendab, et saate klassifitseerida säutsu peaaegu igasse kategooriatesse ja juurutada mudelit SageMakeriga reaalajas järelduste tegemiseks.

Teise võimalusena, kui otsite teavet oma klientide vestlustest ja süvendate bränditeadlikkust sotsiaalmeedia suhtlust analüüsides, soovitame teil tutvuda AI-põhine sotsiaalmeedia juhtpaneel. Lahendus kasutab Amazoni mõistmine, täielikult hallatav NLP-teenus, mis avab tekstis väärtuslikke teadmisi ja seoseid ilma masinõppekogemust nõudmata.

Null-shot õpe

NLP ja loomuliku keele mõistmise (NLU) valdkonnad on kiiresti arenenud, et käsitleda kasutusjuhtumeid, mis hõlmavad teksti klassifitseerimist, küsimustele vastamist, kokkuvõtet, teksti genereerimist ja palju muud. See areng on olnud võimalik osaliselt tänu tipptasemel, üldotstarbeliste arhitektuuride (nt trafod) tõusule, aga ka suurema hulga ja parema kvaliteediga tekstikorpuste kättesaadavusele selliste mudelite koolitamiseks.

Trafoarhitektuur on keerukas närvivõrk, mille nullist väljaõpetamiseks on vaja domeeniteadmisi ja tohutul hulgal andmeid. Levinud praktika on võtta eelkoolitatud tipptasemel trafo, nagu BERT, RoBERTa, T5, GPT-2 või DistilBERT, ja peenhäälestada (õppimise ülekandmine) mudelit konkreetsele kasutusjuhule.

Sellegipoolest võib isegi ülekandeõppe läbiviimine eelkoolitatud NLP-mudelil olla sageli keeruline ülesanne, mis nõuab suuri koguseid märgistatud tekstiandmeid ja ekspertide meeskonda andmete kureerimiseks. See keerukus takistab enamikul organisatsioonidel neid mudeleid tõhusalt kasutada, kuid null-shot-õpe aitab ML praktikutel ja organisatsioonidel sellest puudusest üle saada.

Null-shot-õpe on spetsiifiline ML-ülesanne, mille käigus klassifikaator õpib koolituse ajal ühe sildikomplekti järgi ja seejärel hinnatakse järelduste tegemisel teistsuguste siltide komplekti, mida klassifikaator pole kunagi varem näinud. NLP-s saate teksti klassifitseerimiseks ilma peenhäälestuseta kasutada loomuliku keele järelduse (NLI) ülesandel treenitud nullkaadri klassifikaatorit. Selles postituses kasutame populaarset NLI-d BART säutsude klassifitseerimiseks mudel bart-large-mnli. See on suur eelkoolitatud mudel (1.6 GB), mis on saadaval Hugging Face mudelikeskuses.

Hugging Face on tehisintellekti ettevõte, mis haldab avatud lähtekoodiga platvormi (Hugging Face Hub), mis sisaldab tuhandeid eelkoolitatud NLP-mudeleid (transformereid) enam kui 100 erinevas keeles ning toetab erinevaid raamistikke, nagu TensorFlow ja PyTorch. Trafoteek aitab arendajatel ja andmeteadlastel alustada keeruliste NLP ja NLU ülesannetega, nagu klassifitseerimine, teabe eraldamine, küsimustele vastamine, kokkuvõtete tegemine, tõlkimine ja teksti genereerimine.

AWS ja kallistav nägu on teinud koostööd NLP mudelite kasutuselevõtu lihtsustamiseks ja kiirendamiseks. Nüüd on saadaval süvaõppekonteinerite (DLC) komplekt PyTorchi või TensorFlow treenimiseks ja järelduste tegemiseks ning SageMaker Python SDK jaoks Hugging Face hindajad ja ennustajad. Need võimalused aitavad kõigi teadmiste tasemega arendajatel NLP-ga hõlpsalt alustada.

Ülevaade lahendusest

Pakume toimivat lahendust, mis tõmbab valitud Twitteri kontodelt reaalajas säutse. Meie lahenduse tutvustamiseks kasutame kolme kontot, Amazon Web Services (@awscloud), AWS-i turvalisus (@AWSSecurityInfo) ja Amazon Science (@AmazonScience) ja liigitage nende sisu ühte järgmistest kategooriatest: turvalisus, andmebaas, arvutamine, salvestusruum ja masinõpe. Kui mudel tagastab kategooria, mille usaldusskoor on suurem kui 40%, saadetakse teatis.

Järgmises näites klassifitseeris mudel Amazon Web Servicesi säutsu masinõppe kategooriasse usaldusskooriga 97%, mis genereeris hoiatuse.

Lahendus tugineb Hugging Face'i eelkoolitatud trafomudelile (Hugging Face Hubist), et klassifitseerida säutsud siltide komplekti alusel, mis esitatakse järelduse tegemise ajal – mudelit pole vaja koolitada. Järgmistel ekraanipiltidel on rohkem näiteid ja nende klassifitseerimist.
Mõned asjakohased näited
Soovitame teil lahendust ise proovida. Laadige lihtsalt alla lähtekood saidilt GitHubi hoidla ja järgige README-failis olevaid juurutamisjuhiseid.

Lahenduse arhitektuur

Lahendus hoiab avatud ühenduse Twitteri lõpp-punktiga ja uue säutsu saabumisel saadab sõnumi järjekorda. Tarbija loeb järjekorras olevaid sõnumeid, helistab klassifitseerimise lõpp-punktile ja, olenevalt tulemustest, teavitab lõppkasutajat.

Järgnevalt on toodud lahenduse arhitektuuriskeem.
Lahenduse ulatus
Lahenduse töövoog koosneb järgmistest komponentidest:

  1. Lahendus tugineb Twitteri Stream API-le, et saada säutse, mis vastavad konfigureeritud reeglitele (huvipakkuvate kontode säutsud) reaalajas. Selleks hoiab konteineris töötav rakendus avatud ühenduse Twitteri lõpp-punktiga. Viitama Twitteri API rohkem üksikasju.
  2. Konteiner jookseb edasi Amazoni elastsete konteinerite teenus (Amazon ECS), täielikult hallatav konteinerite orkestreerimisteenus, mis muudab konteinerite rakenduste juurutamise, haldamise ja skaleerimise lihtsaks. Üks toiming töötab serverita infrastruktuuris, mida haldab AWS Fargate.
  3. Twitteri kandja märk on turvaliselt salvestatud AWS Systems Manageri parameetrite pood, võime AWS-i süsteemihaldur mis pakub konfiguratsiooniandmete ja saladuste turvalist hierarhilist salvestusruumi. Konteinerpilti hostitakse Amazoni elastsete konteinerite register (Amazon ECR), täielikult hallatav konteinerregister, mis pakub suure jõudlusega hostimist.
  4. Iga kord, kui saabub uus säuts, lisab konteinerirakendus säutsu an Amazoni lihtsa järjekorra teenus (Amazon SQS) järjekord. Amazon SQS on täielikult hallatav sõnumijärjekorra teenus, mis võimaldab lahti siduda ja skaleerida mikroteenuseid, hajutatud süsteeme ja serverita rakendusi.
  5. Lahenduse loogika peitub selles AWS Lambda funktsiooni. Lambda on serverita sündmustepõhine arvutusteenus. Funktsioon tarbib järjestikust uusi säutse ja klassifitseerib need lõpp-punkti kutsudes.
  6. Lõpp-punkt tugineb Hugging Face mudelile ja seda hostitakse SageMakeris. Lõpp-punkt käivitab järelduse ja väljastab säutsu klassi.
  7. Olenevalt klassifikatsioonist genereerib funktsioon teate kaudu Amazoni lihtne teavitusteenus (Amazon SNS), täielikult hallatav sõnumsideteenus. Saate tellida SNS-i teema ja selle teatise saavad mitu sihtkohta (vt Amazon SNS-i sündmuste sihtkohad). Näiteks saate teatise saata postkasti e-kirjadena (vt E-posti märguanded).

Kasutage SageMakeriga Hugging Face mudeleid

Saate valida mis tahes enam kui 10,000 XNUMX avalikult saadaolevast mudelist Kallistavate näomudelite keskus ja juurutage need SageMakeriga, kasutades Kallistavad Face Inference DLC-d.

Kasutamisel AWS CloudFormation, valite ühe avalikult saadaolevatest Kallistavad näo järelduse konteinerid ning konfigureerige mudel ja ülesanne. See lahendus kasutab facebook/bart-large-mnli mudel ja nullkaadri klassifitseerimise ülesanne, kuid saate valida mis tahes allolevatest mudelitest Nullkaadri klassifikatsioon Hugging Face Model Hubis. Saate need konfigureerida, määrates oma CloudFormationi mallis keskkonnamuutujad HF_MODEL_ID ja HF_TASK, nagu järgmises koodis:

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

Teise võimalusena, kui te ei kasuta AWS CloudFormationit, saate sama tulemuse saavutada mõne koodireaga. Viitama Juurutage mudelid Amazon SageMakerisse rohkem üksikasju.

Sisu klassifitseerimiseks helistage lihtsalt SageMakeri lõpp-punktile. Järgmine on Pythoni koodilõik:

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())

Pange tähele Vale väärtus multi_class parameeter, mis näitab, et iga klassi kõigi tõenäosuste summa on 1.

Lahenduse täiustused

Siin pakutud lahendust saate täiustada, salvestades säutsud ja mudeli tulemused. Amazoni lihtne salvestusteenus (Amazon S3), objektide hoiustamisteenus, on üks võimalus. Saate kirjutada säutse, tulemusi ja muid metaandmeid JSON-objektidena S3 ämbrisse. Seejärel saate selle sisu kohta teha ad hoc päringuid kasutades Amazonase Athena, interaktiivne päringuteenus, mis muudab Amazon S3 andmete analüüsi standardse SQL-i abil lihtsaks.

Ajalugu saate kasutada mitte ainult ülevaate saamiseks, vaid ka kohandatud mudeli koolitamiseks. Saate kasutada Hugging Face'i tuge, et treenida SageMakeriga mudelit oma andmetega. Lisateavet Käivitage koolitus Amazon SageMakeris.

Reaalajas kasutatavad juhtumid

Kliendid katsetavad juba SageMakeris Hugging Face mudeleid. Bolivari kindlustus1939. aastal asutatud Colombia finants- ja kindlustusettevõte on näiteks.

„Arendasime klientidele ja kindlustusmaakleritele välja ohuteavituslahenduse. Kasutame Hugging Face'i eelkoolitatud NLP-mudeleid asjakohaste kontode säutsude klassifitseerimiseks, et genereerida oma klientidele peaaegu reaalajas teatisi, mis on ennetusstrateegia, mis aitab kaebusi leevendada. Nõue tekib seetõttu, et kliendid ei ole teadlikud riskitasemest, millega nad kokku puutuvad. Lahendus võimaldab meil tõsta klientide teadlikkust, muutes riski konkreetsetes olukordades mõõdetavaks.

– Julian Rico, Seguros Bolívari uuringute ja teadmiste juht.

Seguros Bolívar töötas koos AWS-iga, et nende lahendust ümber kujundada; see tugineb nüüd SageMakerile ja sarnaneb selles postituses kirjeldatuga.

Järeldus

Nullkaadri klassifikatsioon on ideaalne, kui teil on kohandatud tekstiklassifikaatori treenimiseks vähe andmeid või kui te ei saa endale lubada kohandatud NLP-mudeli treenimist. Spetsiaalsete kasutusjuhtude puhul, kui tekst põhineb konkreetsetel sõnadel või terminitel, on parem kasutada kohandatud koolituskomplektil põhinevat juhendatud liigitusmudelit.

Selles postituses näitasime teile, kuidas luua uudiste klassifikaatorit, kasutades AWS-i Hugging Face nullkaadri mudelit. Kasutasime uudisteallikana Twitterit, kuid saate valida oma konkreetsetele vajadustele sobivama uudisteallika. Lisaks saate mudelit hõlpsalt muuta, lihtsalt määrake valitud mudel CloudFormationi mallis.

Lähtekoodi leiate jaotisest GitHubi hoidla See sisaldab täielikke seadistusjuhiseid. Saate seda ise kloonida, muuta, juurutada ja käitada. Saate seda kasutada ka lähtepunktina ning kohandada kategooriaid ja hoiatusloogikat või luua sarnase kasutusjuhtumi jaoks muu lahenduse.

Proovige seda ja andke meile teada, mida arvate. Nagu alati, ootame teie tagasisidet. Saate selle saata oma tavalistele AWS-i tugikontaktidele või aadressile AWS-i foorum SageMakerile.


Autoritest

Looge uudistepõhine reaalajas hoiatussüsteem Twitteri, Amazon SageMakeri ja Hugging Face PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.David Laredo on prototüüpimise arhitekt AWS Envision Engineeringis LATAMis, kus ta on aidanud välja töötada mitmeid masinõppe prototüüpe. Varem on ta töötanud masinõppeinsenerina ja masinõppega tegelenud üle 5 aasta. Tema huvivaldkonnad on NLP, aegread ja end-to-end ML.

Looge uudistepõhine reaalajas hoiatussüsteem Twitteri, Amazon SageMakeri ja Hugging Face PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.Rafael Werneck on Brasiilias asuva AWS Envision Engineeringi vanemprototüüpimise arhitekt. Varem töötas ta tarkvaraarenduse insenerina saitidel Amazon.com.br ja Amazon RDS Performance Insights.

Looge uudistepõhine reaalajas hoiatussüsteem Twitteri, Amazon SageMakeri ja Hugging Face PlatoBlockchain Data Intelligence'i abil. Vertikaalne otsing. Ai.Vikram Elango on AI/ML spetsialistilahenduste arhitekt ettevõttes Amazon Web Services, mis asub USA-s Virginias. Vikram aitab finants- ja kindlustussektori klientidel projekteerimise ja ideede juhtimisel luua ja juurutada laialdaselt masinõpperakendusi. Praegu on ta keskendunud loomuliku keele töötlemisele, vastutustundlikule AI-le, järelduste optimeerimisele ja ML-i skaleerimisele kogu ettevõttes. Vabal ajal meeldib talle perega reisida, matkata, süüa teha ja telkida.

Ajatempel:

Veel alates AWS-i masinõpe