Z veseljem najavljamo odprtokodno izdajo GraphStorm 0.1, ogrodje strojnega učenja grafov v podjetju (ML) z nizko kodo za gradnjo, usposabljanje in uvajanje rešitev ML z grafi na kompleksnih grafih na ravni podjetja v dneh namesto v mesecih. Z GraphStormom lahko zgradite rešitve, ki neposredno upoštevajo strukturo odnosov ali interakcij med milijardami subjektov, ki so sami po sebi vdelani v večino podatkov iz resničnega sveta, vključno s scenariji odkrivanja goljufij, priporočili, odkrivanjem skupnosti in težavami pri iskanju/priklicu.
Do zdaj je bilo znano težko zgraditi, usposobiti in uvesti rešitve ML za grafove za kompleksne grafe podjetij, ki imajo zlahka milijarde vozlišč, stotine milijard robov in desetine atributov – samo pomislite na graf, ki zajema izdelke Amazon.com , lastnosti izdelka, stranke in še več. Z GraphStormom izdamo orodja, ki jih Amazon interno uporablja za pripravo obsežnih rešitev ML za grafove. GraphStorm ne zahteva, da ste strokovnjak za ML z grafi, in je na voljo pod licenco Apache v2.0 na GitHubu. Če želite izvedeti več o GraphStorm, obiščite GitHub repozitorij.
V tej objavi nudimo uvod v GraphStorm, njegovo arhitekturo in primer uporabe, kako ga uporabljati.
Predstavljamo GraphStorm
Grafni algoritmi in grafični ML se pojavljajo kot najsodobnejše rešitve za številne pomembne poslovne težave, kot so napovedovanje transakcijskih tveganj, predvidevanje preferenc strank, zaznavanje vdorov, optimizacija dobavnih verig, analiza socialnih omrežij in predvidevanje prometa. na primer Amazon Guard Duty, domača storitev za odkrivanje groženj AWS, uporablja graf z milijardami robov za izboljšanje pokritosti in natančnosti svojih podatkov o grožnjah. To omogoča GuardDuty, da kategorizira prej nevidene domene kot zelo verjetno zlonamerne ali benigne na podlagi njihove povezave z znanimi zlonamernimi domenami. Z uporabo grafičnih nevronskih mrež (GNN) lahko GuardDuty izboljša svojo zmožnost opozarjanja strank.
Vendar pa razvoj, lansiranje in delovanje rešitev ML za graf traja mesece in zahteva strokovno znanje o ML za graf. Kot prvi korak mora znanstvenik za grafično ML zgraditi grafični ML model za dani primer uporabe z uporabo ogrodja, kot je Deep Graph Library (DGL). Usposabljanje takih modelov je zahtevno zaradi velikosti in kompleksnosti grafov v podjetniških aplikacijah, ki redno dosegajo milijarde vozlišč, stotine milijard robov, različne vrste vozlišč in robov ter stotine atributov vozlišč in robov. Podjetniški grafi lahko zahtevajo terabajte pomnilnika za shranjevanje, kar zahteva, da znanstveniki ML za grafove zgradijo zapletene cevovode za usposabljanje. Nazadnje, potem ko je bil model usposobljen, jih je treba uporabiti za sklepanje, kar zahteva cevovode sklepanja, ki jih je prav tako težko zgraditi kot cevovode za usposabljanje.
GraphStorm 0.1 je ogrodje ML z nizkimi kodami za podjetja, ki izvajalcem ML omogoča enostavno izbiro vnaprej določenih modelov ML grafov, ki so se izkazali za učinkovite, izvajanje porazdeljenega usposabljanja na grafih z milijardami vozlišč in uvajanje modelov v proizvodnjo. GraphStorm ponuja zbirko vgrajenih grafičnih modelov ML, kot so Relational Graph Convolutional Networks (RGCN), Relational Graph Attention Networks (RGAT) in Heterogeneous Graph Transformer (HGT) za poslovne aplikacije s heterogenimi grafi, ki inženirjem ML omogočajo malo graf strokovnosti ML, da preizkusijo različne modelne rešitve za svojo nalogo in hitro izberejo pravo. Porazdeljeni cevovodi za usposabljanje in sklepanje od konca do konca, ki se merijo v grafe podjetij v obsegu milijarde, olajšajo usposabljanje, uvajanje in izvajanje sklepanja. Če ste novi v GraphStormu ali grafičnem ML na splošno, boste imeli koristi od vnaprej določenih modelov in cevovodov. Če ste strokovnjak, imate vse možnosti za nastavitev cevovoda usposabljanja in arhitekture modela, da dosežete najboljšo zmogljivost. GraphStorm je zgrajen na vrhu DGL, zelo priljubljenega okvira za razvoj modelov GNN, in je na voljo kot odprtokodna koda pod licenco Apache v2.0.
»GraphStorm je zasnovan tako, da strankam pomaga eksperimentirati in operacionalizirati metode ML z grafi za industrijske aplikacije, da pospeši sprejemanje ML z grafi,« pravi George Karypis, višji glavni znanstvenik pri Amazonovi raziskavi AI/ML. "GraphStorm je od izdaje znotraj Amazona do petkrat zmanjšal prizadevanja za izdelavo rešitev, ki temeljijo na grafičnem ML."
»GraphStorm omogoča naši ekipi, da na samonadzorovan način uri vgrajevanje GNN na graf z 288 milijoni vozlišč in 2 milijardama robov,« pravi Haining Yu, glavni aplikativni znanstvenik pri Amazon Measurement, Ad Tech in Data Science. »Vnaprej usposobljene vdelave GNN kažejo 24-odstotno izboljšanje naloge napovedovanja dejavnosti nakupovalca v primerjavi z najsodobnejšo osnovno linijo, ki temelji na BERT; prav tako presega primerjalno uspešnost v drugih oglaševalskih aplikacijah.«
»Pred GraphStormom so stranke lahko prilagajale le navpično za obdelavo grafov s 500 milijoni robov,« pravi Brad Bebee, GM za Amazon Neptune in Amazon Timestream. "GraphStorm strankam omogoča prilagajanje usposabljanja modela GNN na ogromnih grafih Amazon Neptune z več deset milijardami robov."
Tehnična arhitektura GraphStorm
Naslednja slika prikazuje tehnično arhitekturo GraphStorm.
GraphStorm je zgrajen na osnovi PyTorcha in lahko deluje na eni GPE, več GPE in več napravah GPE. Sestavljen je iz treh plasti (označenih v rumenih poljih na prejšnji sliki):
- Spodnji sloj (Dist GraphEngine) – Spodnja plast zagotavlja osnovne komponente za omogočanje ML s porazdeljenimi grafi, vključno s porazdeljenimi grafi, porazdeljenimi tenzorji, porazdeljenimi vdelavami in porazdeljenimi vzorčevalniki. GraphStorm zagotavlja učinkovite implementacije teh komponent za prilagajanje usposabljanja ML z grafi na grafe z milijardami vozlišč.
- Srednji sloj (cevovod za usposabljanje/sklepanje GS) – Srednji sloj nudi trenerje, ocenjevalce in napovedovalce za poenostavitev usposabljanja modela in sklepanja za vgrajene modele in vaše modele po meri. V bistvu se lahko z uporabo API-ja te plasti osredotočite na razvoj modela, ne da bi vas skrbelo, kako povečati usposabljanje modela.
- Zgornji sloj (GS splošni model živalskega vrta) – Zgornji sloj je model živalskega vrta s priljubljenimi modeli GNN in ne-GNN za različne vrste grafov. Od tega pisanja zagotavlja RGCN, RGAT in HGT za heterogene grafe ter BERTGNN za besedilne grafe. V prihodnosti bomo dodali podporo za modele časovnih grafov, kot je TGAT za časovne grafe ter TransE in DistMult za grafe znanja.
Kako uporabljati GraphStorm
Po namestitvi GraphStorm potrebujete samo tri korake za izdelavo in usposabljanje modelov GML za vašo aplikacijo.
Najprej predhodno obdelate svoje podatke (morda vključno z inženiringom funkcij po meri) in jih pretvorite v obliko tabele, ki jo zahteva GraphStorm. Za vsako vrsto vozlišča definirate tabelo, v kateri so navedena vsa vozlišča te vrste in njihove funkcije, pri čemer zagotovite edinstven ID za vsako vozlišče. Za vsako vrsto roba podobno definirate tabelo, v kateri vsaka vrstica vsebuje ID izvornega in ciljnega vozlišča za rob te vrste (za več informacij glejte Vadnica za uporabo lastnih podatkov). Poleg tega zagotovite datoteko JSON, ki opisuje celotno strukturo grafa.
Drugič, prek vmesnika ukazne vrstice (CLI) uporabite vgrajen GraphStorm construct_graph
komponento za obdelavo podatkov, specifično za GraphStorm, ki omogoča učinkovito porazdeljeno usposabljanje in sklepanje.
Tretjič, konfigurirate model in usposabljanje v datoteki YAML (Primer) in ponovno z uporabo CLI pokličite eno od petih vgrajenih komponent (gs_node_classification
, gs_node_regression
, gs_edge_classification
, gs_edge_regression
, gs_link_prediction
) kot cevovode za usposabljanje modela. Rezultat tega koraka so artefakti usposobljenega modela. Za sklepanje morate ponoviti prva dva koraka za pretvorbo podatkov sklepanja v graf z uporabo iste komponente GraphStorm (construct_graph
) kot prej.
Na koncu lahko prikličete eno od petih vgrajenih komponent, ki so bile uporabljene za usposabljanje modela, kot cevovod sklepanja za ustvarjanje vdelav ali rezultatov napovedi.
Celoten tok je prikazan tudi na naslednji sliki.
V naslednjem razdelku ponujamo primer primera uporabe.
Naredite napovedi na podlagi neobdelanih podatkov OAG
Za to objavo prikazujemo, kako enostavno lahko GraphStorm omogoči usposabljanje ML z grafi in sklepanje na velikem neobdelanem naboru podatkov. The Odprti akademski graf (OAG) vsebuje pet entitet (prispevki, avtorji, kraji, povezave in področje študija). Neobdelani nabor podatkov je shranjen v datotekah JSON z več kot 500 GB.
Naša naloga je zgraditi model za napoved področja študija prispevka. Če želite predvideti študijsko področje, ga lahko oblikujete kot nalogo klasifikacije z več oznakami, vendar je težko uporabiti enkratno kodiranje za shranjevanje oznak, ker obstaja na stotine tisoč polj. Zato bi morali ustvariti vozlišča področja študija in formulirati to težavo kot nalogo napovedovanja povezave, ki predvideva, s katerimi vozlišči področja študija naj se papirnato vozlišče poveže.
Za modeliranje tega nabora podatkov z metodo grafa je prvi korak obdelava nabora podatkov ter ekstrahiranje entitet in robov. Iz datotek JSON lahko izvlečete pet vrst robov, da definirate graf, prikazan na naslednji sliki. Zvezek Jupyter lahko uporabite v GraphStormu primer kode za obdelavo nabora podatkov in ustvarjanje petih tabel entitet za vsako vrsto entitete in petih robnih tabel za vsako robno vrsto. Beležnica Jupyter ustvarja tudi vdelave BERT v entitete z besedilnimi podatki, kot so papirji.
Ko definirate entitete in robove med entitetami, lahko ustvarite mag_bert.json
, ki definira shemo grafa, in prikliče vgrajeni cevovod za konstrukcijo grafa construct_graph
v GraphStorm za izgradnjo grafa (glejte naslednjo kodo). Čeprav cevovod za gradnjo grafa GraphStorm teče v enem stroju, podpira večprocesiranje za vzporedno obdelavo vozlišč in robnih funkcij (--num_processes
) in lahko shrani funkcije entitet in robov v zunanji pomnilnik (--ext-mem-workspace
) za prilagajanje velikim naborom podatkov.
Za obdelavo tako velikega grafa potrebujete instanco procesorja z velikim pomnilnikom za izdelavo grafa. Uporabite lahko Amazonski elastični računalniški oblak (Amazon EC2) primerek r6id.32xlarge (128 vCPU in 1 TB RAM) ali primerki r6a.48xlarge (192 vCPE in 1.5 TB RAM) za izdelavo grafa OAG.
Ko sestavite graf, lahko uporabite gs_link_prediction
za usposabljanje modela napovedovanja povezave na štirih primerkih g5.48xlarge. Ko uporabljate vgrajene modele, pokličete samo eno ukazno vrstico za zagon porazdeljenega usposabljanja. Oglejte si naslednjo kodo:
Po usposabljanju modela se artefakt modela shrani v mapo /data/mag_lp_model
.
Zdaj lahko zaženete sklepanje o predvidevanju povezave, da ustvarite vdelave GNN in ocenite zmogljivost modela. GraphStorm ponuja več vgrajenih metrik ocenjevanja za ocenjevanje uspešnosti modela. Pri težavah s predvidevanjem povezav na primer GraphStorm samodejno izpiše metrično srednjo recipročno uvrstitev (MRR). MRR je dragocena metrika za ocenjevanje modelov napovedovanja povezav grafov, ker ocenjuje, kako visoko so dejanske povezave uvrščene med predvidenimi povezavami. To zajame kakovost napovedi in zagotovi, da naš model pravilno razvršča prave povezave, kar je tukaj naš cilj.
Sklepanje lahko izvajate z eno ukazno vrstico, kot je prikazano v naslednji kodi. V tem primeru model doseže MRR 0.31 na testnem nizu izdelanega grafa.
Upoštevajte, da cevovod sklepanja ustvari vdelave iz modela napovedi povezave. Če želite rešiti problem iskanja študijskega področja za kateri koli papir, preprosto izvedite iskanje k-najbližjega soseda na vdelavah.
zaključek
GraphStorm je novo ogrodje ML za grafove, ki olajša gradnjo, usposabljanje in uvajanje modelov ML za grafove na industrijskih grafih. Obravnava nekatere ključne izzive v ML, vključno z razširljivostjo in uporabnostjo. Zagotavlja vgrajene komponente za obdelavo grafov v milijardnem obsegu od neobdelanih vhodnih podatkov do usposabljanja za modeliranje in sklepanja o modelih ter je omogočil več skupinam Amazona, da usposobijo najsodobnejše grafične modele ML v različnih aplikacijah. Oglejte si naše GitHub repozitorij za več informacij.
O avtorjih
Da Zheng je višji uporabni znanstvenik pri AWS AI/ML Research, ki vodi ekipo za strojno učenje grafov za razvoj tehnik in ogrodij za uvedbo strojnega učenja grafov v produkcijo. Da je doktoriral iz računalništva na univerzi Johns Hopkins.
Florijan Saupe je glavni tehnični produktni vodja pri raziskavah AWS AI/ML, ki podpira napredne znanstvene ekipe, kot je skupina za strojno učenje grafov, in izboljšuje izdelke, kot je Amazon DataZone, z zmogljivostmi ML. Preden se je pridružil podjetju AWS, je Florian vodil tehnično upravljanje izdelkov za avtomatizirano vožnjo pri Boschu, bil strateški svetovalec pri McKinsey & Company in delal kot znanstvenik za nadzorne sisteme/robotiko – področje, na katerem je doktoriral.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- EVM Finance. Poenoten vmesnik za decentralizirane finance. Dostopite tukaj.
- Quantum Media Group. IR/PR ojačan. Dostopite tukaj.
- PlatoAiStream. Podatkovna inteligenca Web3. Razširjeno znanje. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/fast-track-graph-ml-with-graphstorm-a-new-way-to-solve-problems-on-enterprise-scale-graphs/
- :ima
- : je
- $GOR
- 1
- 1 TB
- 100
- 16
- 31
- 500
- 7
- 8
- 9
- a
- Sposobna
- O meni
- akademsko
- pospeši
- Račun
- natančnost
- dejavnost
- dejanska
- Ad
- dodajte
- Poleg tega
- naslovi
- Sprejetje
- oglasi
- napredno
- pripadnosti
- po
- spet
- AI / ML
- Opozorite
- algoritmi
- vsi
- omogočajo
- omogoča
- Prav tako
- Amazon
- Amazon EC2
- Amazonski Neptun
- Amazonski časovni tok
- Amazon Web Services
- Amazon.com
- med
- an
- Analiza
- in
- Objavi
- predvidevanje
- kaj
- Apache
- API
- uporaba
- aplikacije
- uporabna
- Arhitektura
- SE
- AS
- Združenje
- At
- pozornosti
- lastnosti
- Avtorji
- Avtomatizirano
- samodejno
- Na voljo
- AWS
- temeljijo
- Izhodišče
- Osnovni
- V bistvu
- BE
- ker
- bilo
- pred
- merilo
- koristi
- BEST
- med
- Billion
- milijardah
- tako
- Bottom
- škatle
- brad
- prinašajo
- izgradnjo
- zgrajena
- vgrajeno
- poslovni
- vendar
- by
- CAN
- Zmogljivosti
- ujame
- Zajemanje
- primeru
- verige
- izzivi
- izziv
- preveriti
- Razvrstitev
- Koda
- zbirka
- COM
- skupnost
- podjetje
- kompleksna
- kompleksnost
- komponenta
- deli
- Izračunajte
- računalnik
- Računalništvo
- Connect
- povezave
- vsebuje
- gradnjo
- gradnjo
- Gradbeništvo
- svetovalec
- Vsebuje
- nadzor
- bi
- pokritost
- ustvarjajo
- po meri
- stranka
- Stranke, ki so
- da
- datum
- obdelava podatkov
- znanost o podatkih
- nabor podatkov
- Dnevi
- globoko
- Določa
- definiranje
- izkazati
- razporedi
- razporejeni
- zasnovan
- destinacija
- Odkrivanje
- Razvoj
- razvoju
- Razvoj
- dgl
- drugačen
- težko
- neposredno
- porazdeljena
- razdeljeno usposabljanje
- do
- Ne
- domen
- desetine
- vožnjo
- 2
- vsak
- enostavno
- lahka
- Edge
- Učinkovito
- učinkovite
- prizadevanje
- vgrajeni
- vdelava
- smirkovim
- omogočajo
- omogočena
- omogoča
- konec koncev
- Inženiring
- Inženirji
- okrepi
- Podjetje
- subjekti
- entiteta
- oceniti
- ocenjevanje
- Ocena
- Tudi
- Primer
- presega
- razburjen
- poskus
- strokovnjak
- strokovno znanje
- zunanja
- ekstrakt
- Feature
- Lastnosti
- Polje
- Področja
- Slika
- file
- datoteke
- končno
- iskanje
- prva
- Pretok
- Osredotočite
- po
- za
- format
- štiri
- Okvirni
- okviri
- goljufija
- odkrivanje goljufij
- iz
- Prihodnost
- splošno
- ustvarjajo
- ustvarja
- George
- dobili
- GitHub
- dana
- GM
- GPU
- Grafične kartice
- graf
- grafi
- skupina
- ročaj
- Trdi
- Imajo
- he
- pomoč
- tukaj
- visoka
- zelo
- njegov
- drži
- Kako
- Kako visoko
- Kako
- http
- HTTPS
- Stotine
- ID
- ID-ji
- if
- Pomembno
- izboljšanje
- Izboljšanje
- izboljšanju
- in
- V drugi
- Vključno
- Industrija
- Podatki
- inherentno
- vhod
- Namestitev
- primer
- Namesto
- Intelligence
- interakcije
- vmesnik
- interno
- v
- Predstavitev
- IT
- ITS
- Job
- Univerza Johns Hopkins
- pridružil
- jpg
- json
- samo
- Ključne
- znanje
- znano
- Oznake
- velika
- obsežne
- kosilo
- začetek
- plast
- plasti
- vodi
- vodi
- UČITE
- učenje
- Knjižnica
- Licenca
- kot
- Verjeten
- vrstica
- LINK
- Povezave
- seznami
- malo
- stroj
- strojno učenje
- Stroji
- Maj
- Znamka
- IZDELA
- Izdelava
- upravljanje
- upravitelj
- Način
- več
- označeno
- ogromen
- McKinsey
- McKinsey & Company
- pomeni
- Merjenje
- Spomin
- Metoda
- Metode
- meritev
- Meritve
- Bližnji
- milijonov
- ML
- Model
- modeli
- mesecev
- več
- Najbolj
- več
- materni
- Nimate
- Neptun
- mreža
- omrežij
- nevronske mreže
- Novo
- Vozel
- vozlišča
- prenosnik
- zdaj
- Cilj
- of
- Ponudbe
- on
- ONE
- samo
- open source
- odprtokodna koda
- deluje
- optimizacijo
- možnosti
- or
- Ostalo
- naši
- ven
- več
- Splošni
- lastne
- Papir
- članki
- vzporedno
- Izvedite
- performance
- kramp
- plinovod
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Popular
- Prispevek
- potencialno
- napovedati
- napovedano
- napovedovanje
- napoved
- Napovedi
- nastavitve
- prej
- , ravnateljica
- problem
- Težave
- Postopek
- obravnavati
- Izdelek
- upravljanje izdelkov
- produktni vodja
- proizvodnja
- Izdelki
- dokazano
- zagotavljajo
- zagotavlja
- zagotavljanje
- dal
- pitorha
- kakovost
- hitro
- RAM
- uvrstitev
- Surovi
- dosežejo
- Doseže
- resnični svet
- Priporočila
- Zmanjšana
- Razmerja
- sprostitev
- ponovite
- zahteva
- obvezna
- zahteva
- Raziskave
- Rezultati
- Pravica
- tveganja
- rutinsko
- ROW
- Run
- Enako
- pravi
- Prilagodljivost
- Lestvica
- scenariji
- Znanost
- Znanstvenik
- Znanstveniki
- Iskalnik
- Oddelek
- glej
- višji
- Storitev
- Storitve
- nastavite
- shouldnt
- Prikaži
- pokazale
- Razstave
- podobno
- poenostavitev
- preprosto
- sam
- Velikosti
- socialna
- socialna omrežja
- rešitve
- SOLVE
- nekaj
- vir
- state-of-the-art
- Korak
- Koraki
- shranjevanje
- trgovina
- shranjeni
- Strategija
- Struktura
- študija
- taka
- dobavi
- Napajalne verige
- podpora
- Podpora
- Podpira
- miza
- Bodite
- meni
- Naloga
- skupina
- Skupine
- tech
- tehnični
- tehnike
- deset
- Test
- da
- O
- Prihodnost
- Graf
- Vir
- njihove
- Tukaj.
- zato
- te
- jih
- mislim
- ta
- čeprav?
- tisoče
- Grožnja
- 3
- krat
- do
- orodja
- vrh
- Prometa
- Vlak
- usposobljeni
- usposabljanje
- transakcija
- Transform
- transformator
- Res
- poskusite
- dva
- tip
- Vrste
- pod
- edinstven
- univerza
- uporabnost
- uporaba
- primeru uporabe
- Rabljeni
- uporablja
- uporabo
- dragocene
- različnih
- Prizoriščih
- navpično
- preko
- obisk
- je
- način..
- we
- web
- spletne storitve
- Dobro
- kdaj
- ki
- pogosto
- bo
- z
- brez
- delal
- pisanje
- yaml
- Vi
- Vaša rutina za
- zefirnet
- ZOO