Obogatitev tokov novic v realnem času s podatkovno knjižnico Refinitiv, storitvami AWS in Amazon SageMaker

Obogatitev tokov novic v realnem času s podatkovno knjižnico Refinitiv, storitvami AWS in Amazon SageMaker

Soavtorji te objave so Marios Skevofylakas, Jason Ramchandani in Haykaz Aramyan iz podjetja Refinitiv, An LSEG Business.

Ponudniki finančnih storitev morajo pogosto prepoznati ustrezne novice, jih analizirati, pridobiti vpoglede in ukrepati v realnem času, kot je trgovanje z določenimi instrumenti (kot so blago, delnice, skladi) na podlagi dodatnih informacij ali konteksta novice. En tak dodaten podatek (ki ga v tej objavi uporabljamo kot primer) je razpoloženje novice.

Knjižnice podatkov Refinitiv (RD) zagotavljajo celovit nabor vmesnikov za enoten dostop do kataloga podatkov Refinitiv. Knjižnica ponuja več plasti abstrakcije, ki zagotavlja različne sloge in tehnike programiranja, primerne za vse razvijalce, od dostopa v realnem času z nizko zakasnitvijo do paketnega vnosa podatkov Refinitiv.

V tej objavi predstavljamo prototip arhitekture AWS, ki zajema naše vire novic z uporabo knjižnic RD in jih izboljšuje z napovedmi modela strojnega učenja (ML) z uporabo Amazon SageMaker, popolnoma upravljana storitev ML podjetja AWS.

V prizadevanju, da bi oblikovali modularno arhitekturo, ki bi jo lahko uporabili v različnih primerih uporabe, kot je analiza razpoloženja, prepoznavanje imenovanih entitet in več, ne glede na model ML, uporabljen za izboljšavo, smo se odločili, da se osredotočimo na prostor v realnem času. Razlog za to odločitev je, da so primeri uporabe v realnem času na splošno bolj zapleteni in da je isto arhitekturo mogoče uporabiti tudi za paketno sklepanje z minimalnimi prilagoditvami. V našem primeru uporabe implementiramo arhitekturo, ki zaužije naš vir novic v realnem času, izračuna razpoloženje za vsak naslov novice z uporabo ML in prek arhitekture založnika/naročnika ponovno servira vir, izboljšan z umetno inteligenco.

Poleg tega, da bi predstavili celovit in večkrat uporaben način za proizvodnjo modelov ML s sprejetjem praks MLOps, uvajamo koncept infrastrukture kot kode (IaC) v ​​celotnem življenjskem ciklu MLOps prototipa. Z uporabo Terraforma in skripta, ki ga je mogoče konfigurirati z eno samo vstopno točko, lahko celotno infrastrukturo v produkcijskem načinu postavimo na AWS v samo nekaj minutah.

V tej rešitvi ne obravnavamo vidika MLOps pri razvoju, usposabljanju in uvajanju posameznih modelov. Če vas zanima več o tem, glejte Načrt fundacije MLOps za podjetja z Amazon SageMaker, ki podrobno razlaga okvir za gradnjo modela, usposabljanje in uvajanje po najboljših praksah.

Pregled rešitev

V tem prototipu sledimo popolnoma avtomatizirani metodologiji zagotavljanja v skladu z IaC najboljše prakse. IaC je proces zagotavljanja virov programsko z avtomatiziranimi skripti namesto z uporabo interaktivnih konfiguracijskih orodij. Viri so lahko strojna in potrebna programska oprema. V našem primeru uporabljamo Terraform za izvedbo ene same nastavljive vstopne točke, ki lahko samodejno zažene celotno infrastrukturo, ki jo potrebujemo, vključno z varnostnimi in dostopnimi politikami ter samodejnim nadzorom. S to eno samo vstopno točko, ki sproži zbirko skriptov Terraform, enega na storitev ali entiteto vira, lahko v celoti avtomatiziramo življenjski cikel vseh ali delov komponent arhitekture, kar nam omogoča izvajanje granularnega nadzora tako na DevOps kot tudi stran MLOps. Ko je Terraform pravilno nameščen in integriran z AWS, lahko ponovimo večino operacij, ki jih je mogoče izvesti na nadzornih ploščah storitve AWS.

Naslednji diagram ponazarja našo arhitekturo rešitev.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Arhitektura je sestavljena iz treh stopenj: zaužitje, obogatitev in objava. V prvi fazi se viri v realnem času zaužijejo na Amazonski elastični računalniški oblak (Amazon EC2), ki je ustvarjen prek AMI-ja, pripravljenega za Refinitiv Data Library. Instanca se tudi poveže s podatkovnim tokom prek Amazonski kinezi podatkovni tokovi, ki sproži AWS Lambda Funkcija.

V drugi fazi se funkcija Lambda, ki se sproži iz Kinesis Data Streams, poveže s SageMakerjem in pošlje naslove novic. FinBERT končna točka, ki vrne izračunano razpoloženje za novico. To izračunano razpoloženje je obogatitev podatkov v realnem času, s katerimi funkcija Lambda nato ovije novico in shrani v Amazon DynamoDB miza.

V tretji stopnji arhitekture tok DynamoDB sproži funkcijo Lambda pri novih vstavkih elementov, ki je integrirana z strežnik Amazon MQ poganjanje RabbitMQ, ki ponovno služi toku, izboljšanemu AI.

Odločitev o tej tristopenjski inženirski zasnovi namesto prve plasti Lambda, ki neposredno komunicira s strežnikom Amazon MQ ali implementira več funkcionalnosti v primerku EC2, je bila sprejeta, da se omogoči raziskovanje bolj zapletenih, manj sklopljenih arhitektur oblikovanja AI v prihodnosti.

Izdelava in uvedba prototipa

Ta prototip predstavljamo v seriji treh podrobnih načrtov. V vsakem načrtu in za vsako uporabljeno storitev boste našli preglede in ustrezne informacije o njenih tehničnih izvedbah ter skripte Terraform, ki vam omogočajo samodejni zagon, konfiguracijo in integracijo storitve s preostalo strukturo. Na koncu vsakega načrta boste našli navodila, kako zagotoviti, da vse do posamezne stopnje deluje po pričakovanjih. Načrti so naslednji:

Za začetek izvajanja tega prototipa predlagamo, da ustvarite novo okolje Python, namenjeno temu, in namestite potrebne pakete in orodja ločeno od drugih okolij, ki jih morda imate. Če želite to narediti, ustvarite in aktivirajte novo okolje v Anacondi z naslednjimi ukazi:

conda create —name rd_news_aws_terraform python=3.7
conda activate rd_news_aws_terraform

Zdaj smo pripravljeni na namestitev Vmesnik ukazne vrstice AWS (AWS CLI), ki nam bo omogočil gradnjo vseh potrebnih programskih interakcij v in med storitvami AWS:

pip install awscli

Zdaj, ko je AWS CLI nameščen, moramo namestiti Terraform. HashiCorp nudi Terraformu binarni namestitveni program, ki ga lahko prenesi in namestite.

Ko namestite obe orodji, se prepričajte, da pravilno delujeta z naslednjimi ukazi:

terraform -help
AWS – version

Zdaj ste pripravljeni slediti podrobnim načrtom za vsako od treh stopenj izvajanja.

Ta načrt predstavlja začetne stopnje arhitekture, ki nam omogočajo, da zaužijemo vire novic v realnem času. Sestavljen je iz naslednjih komponent:

  • Amazon EC2 pripravlja vaš primerek za zaužitje RD News – Ta razdelek nastavi primerek EC2 na način, ki omogoča povezavo z API-jem knjižnic RD in tok v realnem času. Pokažemo tudi, kako shraniti sliko ustvarjenega primerka, da zagotovimo njegovo ponovno uporabo in razširljivost.
  • Zaužitje novic v realnem času iz Amazon EC2 – Podrobna izvedba konfiguracij, potrebnih za omogočanje Amazon EC2, da poveže knjižnice RD, kot tudi skripte za začetek sprejemanja.
  • Ustvarjanje in zagon Amazon EC2 iz AMI – Zaženite nov primerek s hkratnim prenosom datotek za vnos v novo ustvarjeni primerek, vse samodejno z uporabo Terraform.
  • Ustvarjanje podatkovnega toka Kinesis – Ta razdelek nudi pregled podatkovnih tokov Kinesis in kako nastaviti tok na AWS.
  • Povezovanje in pošiljanje podatkov v Kinesis – Ko koda za vnos deluje, jo moramo povezati in poslati podatke v tok Kinesis.
  • Testiranje prototipa do sedaj - Uporabljamo amazoncloudwatch in orodja ukazne vrstice za preverjanje, ali prototip deluje do te točke in da lahko nadaljujemo z naslednjim načrtom. Dnevnik vnesenih podatkov bi moral izgledati kot ta posnetek zaslona.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

V tem drugem načrtu se osredotočamo na glavni del arhitekture: funkcijo Lambda, ki zaužije in analizira tok novic, nanj pripne sklepanje AI in ga shrani za nadaljnjo uporabo. Vključuje naslednje komponente:

  • Lambda – Definirajte konfiguracijo Terraform Lambda, ki ji omogoča povezavo s končno točko SageMaker.
  • Amazon S3 – Za implementacijo Lambda moramo naložiti ustrezno kodo v Preprosta storitev shranjevanja Amazon (Amazon S3) in omogočite funkciji Lambda, da ga zaužije v svojem okolju. Ta razdelek opisuje, kako lahko uporabimo Terraform, da to dosežemo.
  • Implementacija funkcije Lambda: 1. korak, obravnava dogodka Kinesis – V tem razdelku začnemo graditi funkcijo Lambda. Tukaj gradimo le del obdelovalca odziva toka podatkov Kinesis.
  • SageMaker – V tem prototipu uporabljamo predhodno usposobljen model Hugging Face, ki ga shranimo v končno točko SageMaker. Tukaj predstavljamo, kako je to mogoče doseči z uporabo skriptov Terraform in kako potekajo ustrezne integracije, ki omogočajo skupno delovanje končnih točk SageMaker in funkcij Lambda.
    • Na tej točki lahko namesto tega uporabite kateri koli drug model, ki ste ga razvili in uvedli za končno točko SageMaker. Takšen model bi lahko glede na vaše potrebe zagotovil drugačno izboljšavo izvirnih podatkov novic. Po želji se lahko to ekstrapolira na več modelov za več izboljšav, če obstajajo. Zahvaljujoč preostali arhitekturi bodo vsi takšni modeli obogatili vaše vire podatkov v realnem času.
  • Gradnja funkcije Lambda: 2. korak, priklic končne točke SageMaker – V tem razdelku zgradimo našo izvirno funkcijo Lambda z dodajanjem bloka SageMaker, da dobimo naslov novice z izboljšanim občutkom s priklicem končne točke SageMaker.
  • DynamoDB – Končno, ko je sklepanje AI v pomnilniku funkcije Lambda, ponovno združi element in ga pošlje v tabelo DynamoDB za shranjevanje. Tukaj razpravljamo o ustrezni kodi Python, ki je potrebna za dosego tega, kot tudi o potrebnih skriptih Terraform, ki omogočajo te interakcije.
  • Gradnja funkcije Lambda: 3. korak, potiskanje izboljšanih podatkov v DynamoDB – Tukaj nadaljujemo z gradnjo naše funkcije Lambda z dodajanjem zadnjega dela, ki ustvari vnos v tabeli Dynamo.
  • Testiranje prototipa do sedaj – Lahko se pomaknemo do tabele DynamoDB na konzoli DynamoDB, da preverimo, ali so naše izboljšave prikazane v tabeli.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ta tretji načrt dokončno oblikuje ta prototip. Osredotoča se na prerazporeditev na novo ustvarjenega podatkovnega elementa, izboljšanega z umetno inteligenco, na strežnik RabbitMQ v Amazon MQ, kar uporabnikom omogoča povezavo in pridobivanje izboljšanih novic v realnem času. Vključuje naslednje komponente:

  • Tokovi DynamoDB – Ko je izboljšana novica v DynamoDB, nastavimo sprožitev dogodka, ki ga je nato mogoče zajeti iz ustrezne funkcije Lambda.
  • Piše proizvajalec Lambda – Ta funkcija Lambda zajame dogodek in deluje kot producent toka RabbitMQ. Ta nova funkcija uvaja koncept plasti Lambda, saj uporablja knjižnice Python za izvajanje funkcije proizvajalca.
  • Potrošniki Amazon MQ in RabbitMQ – Zadnji korak prototipa je nastavitev storitve RabbitMQ in implementacija primera potrošnika, ki se bo povezal s tokom sporočil in prejemal novice, izboljšane z umetno inteligenco.
  • Končni preizkus prototipa – Uporabljamo postopek od konca do konca, da preverimo, ali prototip v celoti deluje, od zaužitja do ponovnega serviranja in porabe novega toka, izboljšanega z AI.

Na tej stopnji lahko preverite, ali vse deluje, tako da se pomaknete na nadzorno ploščo RabbitMQ, kot je prikazano na naslednjem posnetku zaslona.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

V končnem načrtu najdete tudi podroben testni vektor, da se prepričate, ali se celotna arhitektura obnaša po načrtih.

zaključek

V tej objavi smo delili rešitev, ki uporablja ML v oblaku s storitvami AWS, kot so SageMaker (ML), Lambda (brez strežnika) in Kinesis Data Streams (pretakanje), da bi obogatili pretočne podatke novic, ki jih zagotavljajo Refinitiv Data Libraries. Rešitev novicam v realnem času doda oceno razpoloženja in prilagodi infrastrukturo s kodo.

Prednost te modularne arhitekture je, da jo lahko ponovno uporabite s svojim lastnim modelom za izvajanje drugih vrst povečave podatkov na brezstrežniški, razširljiv in stroškovno učinkovit način, ki ga je mogoče uporabiti na vrhu Refinitiv Data Library. To lahko doda vrednost za delovne tokove trgovanja/naložb/upravljanja tveganja.

Če imate kakršne koli komentarje ali vprašanja, jih pustite v oddelku za komentarje.

Povezane informacije


 O avtorjih

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Marios Skevofylakas prihaja iz ozadja finančnih storitev, investicijskega bančništva in svetovalne tehnologije. Ima inženirski doktorat. umetne inteligence in mag. v strojnem vidu. V svoji karieri je sodeloval pri številnih multidisciplinarnih projektih AI in DLT. Trenutno je zagovornik razvijalcev pri Refinitiv, podjetju LSEG, ki se osredotoča na aplikacije AI in Quantum v finančnih storitvah.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Jason Ramchandani je 8 let delal v podjetju Refinitiv, podjetju LSEG, kot vodilni zagovornik razvijalcev in pomagal zgraditi njihovo skupnost razvijalcev. Pred tem je več kot 15 let delal na finančnih trgih s kvantitativnim ozadjem na področju lastniškega/lastniškega kapitala pri Okasan Securities, Sakura Finance in Jefferies LLC. Njegova alma mater je UCL.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Haykaz Aramyan prihaja iz financ in tehnološkega ozadja. Ima doktorat znanosti. financ in mag. v financah, tehnologiji in politiki. Skozi 10 let poklicnih izkušenj je Haykaz delal na več multidisciplinarnih projektih, ki vključujejo pokojninske sklade, sklade tveganega kapitala in tehnološka zagonska podjetja. Trenutno je zagovornik razvijalcev pri Refinitiv, podjetju LSEG, ki se osredotoča na aplikacije umetne inteligence v finančnih storitvah.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Georgios Schinas je višji specialist za rešitve AI/ML v regiji EMEA. Sedež ima v Londonu in tesno sodeluje s strankami v Veliki Britaniji in na Irskem. Georgios strankam pomaga oblikovati in uvajati aplikacije za strojno učenje v produkciji na AWS s posebnim zanimanjem za prakse MLOps in strankam omogoča izvajanje strojnega učenja v velikem obsegu. V prostem času rad potuje, kuha in preživlja čas s prijatelji in družino.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Muthuvelan Swaminathan je arhitekt za podjetniške rešitve s sedežem v New Yorku. Sodeluje s podjetniškimi strankami in zagotavlja arhitekturne smernice pri gradnji prožnih, stroškovno učinkovitih, inovativnih rešitev, ki obravnavajo njihove poslovne potrebe in jim pomagajo izvajati v velikem obsegu z uporabo izdelkov in storitev AWS.

Enriching real-time news streams with the Refinitiv Data Library, AWS services, and Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Mayur Udernani vodi posel AWS AI & ML s komercialnimi podjetji v Združenem kraljestvu in na Irskem. V svoji vlogi Mayur večino svojega časa preživi s strankami in partnerji, da bi pomagal ustvariti učinkovite rešitve, ki rešujejo najbolj pereče potrebe strank ali za širšo industrijo, ki uporablja storitve AWS Cloud, AI & ML. Mayur živi v okolici Londona. Ima MBA na Indijskem inštitutu za management in diplomiral iz računalniškega inženiringa na Univerzi v Mumbaju.

Časovni žig:

Več od Strojno učenje AWS