Meil on hea meel teatada avatud lähtekoodiga väljalasest GraphStorm 0.1, madala koodiga ettevõtte graafiku masinõppe (ML) raamistik, et koostada, koolitada ja juurutada graafilise ML-lahendusi keerukatel ettevõtte mastaabis graafikutel kuude asemel päevadega. GraphStormi abil saate luua lahendusi, mis võtavad otseselt arvesse miljardite olemite vaheliste suhete või interaktsioonide struktuuri, mis on olemuslikult manustatud enamikesse reaalmaailma andmetesse, sealhulgas pettuste tuvastamise stsenaariumid, soovitused, kogukonna tuvastamine ja otsingu-/otsinguprobleemid.
Seni on olnud kurikuulsalt raske koostada, koolitada ja juurutada graafilise ML-lahendusi keeruliste ettevõtte graafikute jaoks, millel on hõlpsasti miljardeid sõlmi, sadu miljardeid servi ja kümneid atribuute – mõelge lihtsalt graafikule, mis jäädvustaks Amazon.com-i tooteid. , toote atribuudid, kliendid ja palju muud. GraphStormiga anname välja tööriistad, mida Amazon kasutab sisemiselt suuremahuliste graafiliste ML-lahenduste toomiseks tootmisse. GraphStorm ei nõua, et oleksite graafiku ML-i ekspert ja see on saadaval GitHubi Apache v2.0 litsentsi alusel. GraphStormi kohta lisateabe saamiseks külastage veebisaiti GitHubi hoidla.
Selles postituses tutvustame GraphStormi, selle arhitektuuri ja kasutame näiteid selle kasutamise kohta.
Tutvustame GraphStormi
Graafikalgoritmid ja graafiku ML on kujunemas tipptasemel lahendustena paljude oluliste äriprobleemide jaoks, nagu tehinguriskide ennustamine, klientide eelistuste ennetamine, sissetungide tuvastamine, tarneahelate optimeerimine, suhtlusvõrgustike analüüs ja liikluse prognoosimine. Näiteks, Amazoni valveteenistus, natiivne AWS-i ohutuvastusteenus, kasutab miljardite servadega graafikut, et parandada oma ohuluure katvust ja täpsust. See võimaldab GuardDuty'l liigitada varem nähtamatud domeenid suure tõenäosusega pahatahtlikeks või healoomulisteks, lähtudes nende seostest teadaolevate pahatahtlike domeenidega. Graafilisi närvivõrke (GNN-e) kasutades suudab GuardDuty suurendada oma võimet kliente hoiatada.
Graafiku ML-lahenduste väljatöötamine, käivitamine ja käitamine võtab aga kuid ja nõuab graafiku ML-teadmisi. Esimese sammuna peab graafiku ML-teadlane looma antud kasutusjuhu jaoks graafilise ML-mudeli, kasutades sellist raamistikku nagu Deep Graph Library (DGL). Selliste mudelite koolitamine on keeruline, kuna ettevõtte rakendustes on graafikud, mis ulatuvad tavaliselt miljardite sõlmedeni, sadade miljardite servadeni, erinevate sõlme- ja servatüüpideni ning sadade sõlmede ja servade atribuutideni, graafikute suuruse ja keerukuse tõttu. Ettevõtte graafikud võivad nõuda terabaiti mälumahtu, mistõttu peavad graafiku ML-teadlased ehitama keerukaid koolitustorusid. Lõpuks, pärast mudeli väljaõpetamist tuleb need järelduste tegemiseks kasutusele võtta, mis nõuab järelduste torujuhtmeid, mida on sama keeruline ehitada kui koolitustorusid.
GraphStorm 0.1 on väikese koodiga ettevõtte graafiku ML-raamistik, mis võimaldab ML-i praktikutel hõlpsasti valida eelmääratletud graafilise ML-mudeleid, mis on osutunud tõhusaks, korraldada hajutatud koolitusi miljardite sõlmedega graafikutel ja juurutada mudeleid tootmisse. GraphStorm pakub heterogeensete graafikutega ettevõtterakenduste jaoks sisseehitatud graafiliste ML-mudelite kogumit, nagu relatsioonigraafika konvolutsioonivõrgud (RGCN), relatsioonigraafika tähelepanuvõrgud (RGAT) ja heterogeensete graafikute transformaator (HGT), mis võimaldavad ML-inseneridel vähese vaevaga graafi ML-teadmised, et proovida oma ülesande jaoks erinevaid mudellahendusi ja valida kiiresti õige. Lõpp-lõpuni hajutatud koolitus- ja järelduskonveierid, mis skaleeruvad miljardi ulatusega ettevõtte graafikuteks, muudavad järelduste treenimise, juurutamise ja käitamise lihtsaks. Kui olete GraphStormi või Graph ML-i üldiselt uus kasutaja, saate kasu eelnevalt määratletud mudelitest ja torustikest. Kui olete ekspert, on teil kõik võimalused koolitustorustiku ja mudeliarhitektuuri häälestamiseks parima jõudluse saavutamiseks. GraphStorm on üles ehitatud DGL-ile, mis on laialt populaarne GNN-mudelite arendamise raamistik, ja on saadaval avatud lähtekoodina Apache v2.0 litsentsi alusel.
"GraphStorm on loodud selleks, et aidata klientidel katsetada ja rakendada graafiliste ML-i meetodeid tööstuslikes rakendustes, et kiirendada graafilise ML-i kasutuselevõttu," ütleb Amazon AI/ML-uuringute vanemteadur George Karypis. "Alates Amazonis avaldamisest on GraphStorm vähendanud pingutusi graafiliste ML-põhiste lahenduste loomisel kuni viis korda."
"GraphStorm võimaldab meie meeskonnal koolitada GNN-i manustamist isejärelevalve viisil graafikul, millel on 288 miljonit sõlme ja 2 miljardit serva," ütleb Amazon Measurementi, Ad Techi ja Data Science'i juhtivteadlane Haining Yu. „Eelkoolitatud GNN-i manustused näitavad 24% paremat ostlejate aktiivsuse prognoosimise ülesannet võrreldes tipptasemel BERT-põhise baastasemega; see ületab ka teiste reklaamirakenduste võrdlusnäitajate toimivust.
"Enne GraphStormi said kliendid skaleerida ainult vertikaalselt, et käsitleda 500 miljoni servaga graafikuid," ütleb Brad Bebee, Amazon Neptune'i ja Amazon Timestreami GM. "GraphStorm võimaldab klientidel skaleerida GNN-i mudelikoolitust massiivsetel kümnete miljardite servadega Amazon Neptune'i graafikutel."
GraphStormi tehniline arhitektuur
Järgmine joonis näitab GraphStormi tehnilist arhitektuuri.
GraphStorm on üles ehitatud PyTorchile ja seda saab kasutada ühes GPU-s, mitmes GPU-s ja mitmes GPU-masinas. See koosneb kolmest kihist (märgitud eelmisel joonisel kollastes kastides):
- Alumine kiht (Dist GraphEngine) – Alumine kiht sisaldab põhikomponente, mis võimaldavad hajutatud graafi ML-i, sealhulgas hajutatud graafikud, hajutatud tensorid, hajutatud manustused ja hajutatud proovivõtturid. GraphStorm pakub nende komponentide tõhusaid rakendusi, et skaleerida graafiku ML koolitust miljardi sõlme graafikuteks.
- Keskmine kiht (GS-i koolitus-/järelduskonveier) – Keskmine kiht pakub koolitajaid, hindajaid ja ennustajaid, et lihtsustada mudelikoolitust ja järeldusi nii sisseehitatud mudelite kui ka kohandatud mudelite puhul. Põhimõtteliselt saate selle kihi API-d kasutades keskenduda mudeli arendamisele, muretsemata mudelikoolituse skaleerimise pärast.
- Ülemine kiht (GS-i üldmudeli loomaaed) - Ülemine kiht on mudelloomaaed, kus on populaarsed GNN-i ja mitte-GNN-mudelid erinevate graafikutüüpide jaoks. Selle kirjutamise seisuga pakub see heterogeensete graafikute jaoks RGCN-i, RGAT-i ja HGT-d ning tekstigraafikute jaoks BERTGNN-i. Tulevikus lisame toe ajalistele graafikumudelitele nagu TGAT ajalistele graafikutele ning TransE ja DistMult teadmiste graafikutele.
Kuidas GraphStormi kasutada
Pärast GraphStormi installimist vajate oma rakenduse jaoks GML-mudelite loomiseks ja koolitamiseks vaid kolme sammu.
Esiteks töötlete oma andmeid (potentsiaalselt kaasa arvatud kohandatud funktsioonide projekteerimine) ja muudate need GraphStormi nõutavasse tabelivormingusse. Iga sõlmetüübi jaoks määratlete tabeli, mis loetleb kõik seda tüüpi sõlmed ja nende funktsioonid, pakkudes igale sõlmele kordumatu ID. Iga servatüübi jaoks määratlete sarnaselt tabeli, milles iga rida sisaldab seda tüüpi serva lähte- ja sihtsõlme ID-sid (lisateabe saamiseks vt Kasutage oma andmete õpetust). Lisaks esitate JSON-faili, mis kirjeldab üldist graafiku struktuuri.
Teiseks kasutate käsurea liidese (CLI) kaudu GraphStormi sisseehitatud construct_graph
komponent mõne GraphStormi spetsiifilise andmetöötluse jaoks, mis võimaldab tõhusat hajutatud koolitust ja järeldusi.
Kolmandaks konfigureerite mudeli ja koolituse YAML-failis (näide) ja taaskord CLI-d kasutades käivitage üks viiest sisseehitatud komponendist (gs_node_classification
, gs_node_regression
, gs_edge_classification
, gs_edge_regression
, gs_link_prediction
) mudeli väljaõppe koolitustorudena. Selle sammu tulemuseks on väljaõppinud mudeliartefaktid. Järelduste tegemiseks peate kordama kahte esimest sammu, et teisendada järeldusandmed graafikuks, kasutades sama GraphStormi komponenti (construct_graph
) nagu enne.
Lõpuks saate manustuste või ennustustulemuste genereerimiseks kasutada järelduste konveierina ühte viiest sisseehitatud komponendist, sama, mida kasutati mudeli koolitusel.
Üldine voog on kujutatud ka järgmisel joonisel.
Järgmises jaotises anname näite kasutusjuhtumist.
Tehke ennustusi OAG töötlemata andmete põhjal
Selle postituse jaoks demonstreerime, kui hõlpsalt saab GraphStorm võimaldada graafilise ML-i koolitust ja järeldusi suurel töötlemata andmestikul. The Avatud akadeemiline graafik (OAG) sisaldab viit üksust (paberid, autorid, toimumiskohad, liitumised ja õppevaldkond). Toorandmekogum salvestatakse JSON-failidesse, mille maht on üle 500 GB.
Meie ülesandeks on koostada mudel ettekande uurimisvaldkonna ennustamiseks. Uuritava valdkonna ennustamiseks võite selle sõnastada mitme sildi klassifitseerimise ülesandena, kuid siltide salvestamiseks on keeruline kasutada ühekordset kodeeringut, kuna välju on sadu tuhandeid. Seetõttu tuleks luua õppevaldkonna sõlmed ja sõnastada see probleem lingi ennustamise ülesandena, mis ennustab, milliste õppevaldkonna sõlmedega pabersõlm ühenduse peaks looma.
Selle andmestiku modelleerimiseks graafikumeetodiga tuleb kõigepealt töödelda andmestik ning eraldada olemid ja servad. Graafiku määratlemiseks saate JSON-failidest eraldada viit tüüpi servi, nagu on näidatud järgmisel joonisel. Saate kasutada Jupyteri sülearvutit GraphStormis näite kood andmestiku töötlemiseks ja viie olemi tabeli genereerimiseks iga olemitüübi jaoks ja viis servatabelit iga servatüübi jaoks. Jupyteri märkmik genereerib ka BERT-i manuseid tekstiandmetega olemitele, näiteks paberitele.
Pärast olemite ja olemite vaheliste servade määratlemist saate luua mag_bert.json
, mis määratleb graafiku skeemi ja kutsub esile sisseehitatud graafiku koostamise konveieri construct_graph
GraphStormis graafiku koostamiseks (vt järgmist koodi). Kuigi GraphStormi graafiku koostamise torujuhe töötab ühes masinas, toetab see mitmetöötlust sõlmede ja servafunktsioonide paralleelseks töötlemiseks (--num_processes
) ning saab salvestada olemi- ja servafunktsioone välismällu (--ext-mem-workspace
), et skaleerida suurteks andmekogumiteks.
Nii suure graafiku töötlemiseks vajate graafiku koostamiseks suure mälumahuga CPU eksemplari. Võite kasutada an Amazon Elastic Compute Cloud (Amazon EC2) r6id.32xsuur eksemplar (128 vCPU ja 1 TB RAM) või r6a.48xsuur eksemplar (192 vCPU ja 1.5 TB RAM) OAG-graafiku koostamiseks.
Pärast graafiku koostamist saate kasutada gs_link_prediction
lingi ennustusmudeli treenimiseks neljal g5.48xsuurel eksemplaril. Sisseehitatud mudelite kasutamisel käivitate hajutatud koolitustöö käivitamiseks ainult ühe käsurea. Vaadake järgmist koodi:
Pärast mudelikoolitust salvestatakse mudeli artefakt kausta /data/mag_lp_model
.
Nüüd saate käivitada lingi ennustamise järelduse, et luua GNN-i manuseid ja hinnata mudeli jõudlust. GraphStorm pakub mudeli jõudluse hindamiseks mitmeid sisseehitatud hindamismõõdikuid. Näiteks lingi ennustamise probleemide korral väljastab GraphStorm automaatselt meetermõõdustiku keskmise vastastikuse auastme (MRR). MRR on väärtuslik mõõdik graafiku linkide prognoosimudelite hindamiseks, kuna see hindab, kui kõrgele on tegelikud lingid ennustatud linkide hulgas. See fikseerib ennustuste kvaliteedi, tagades, et meie mudel seab õiged seosed õigeks, mis on siin meie eesmärk.
Järeldusi saate käivitada ühe käsureaga, nagu on näidatud järgmises koodis. Sel juhul saavutab mudel konstrueeritud graafiku testkomplektis MRR-i 0.31.
Pange tähele, et järelduskonveier genereerib lingi ennustusmudelist manuseid. Mis tahes paberi jaoks õppevaldkonna leidmise probleemi lahendamiseks tehke manustamisel k-lähima naabri otsing.
Järeldus
GraphStorm on uus graafilise ML-i raamistik, mis muudab graafiliste ML-mudelite loomise, koolitamise ja juurutamise tööstuse graafikutel lihtsaks. See käsitleb mõningaid graafilise ML-i põhiprobleeme, sealhulgas mastaapsust ja kasutatavust. See pakub sisseehitatud komponente miljardiskaalaliste graafikute töötlemiseks toorsisendandmetest mudelikoolituse ja mudeli järeldusteni ning on võimaldanud mitmel Amazoni meeskonnal koolitada eri rakendustes tipptasemel graafiku ML-mudeleid. Vaadake meie GitHubi hoidla rohkem informatsiooni.
Autoritest
Da Zheng on AWS AI/ML uurimistöö vanemrakendusteadlane, kes juhib graafiku masinõppe meeskonda, et arendada tehnikaid ja raamistikke graafiku masinõppe kasutuselevõtuks. Da omandas doktorikraadi arvutiteaduses Johns Hopkinsi ülikoolist.
Florian Saupe on AWS AI/ML-uuringute peamine tehniline tootejuht, kes toetab arenenud teadusrühmi, nagu graafikute masinõppe rühm, ja täiustab selliseid tooteid nagu Amazon DataZone koos ML-i võimalustega. Enne AWS-iga liitumist juhtis Florian Boschi automaatjuhtimise tehnilist tootehaldust, oli McKinsey & Company strateegiakonsultant ja töötas juhtimissüsteemide/robootikateadlasena – valdkonnas, milles tal on doktorikraad.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- EVM Finance. Detsentraliseeritud rahanduse ühtne liides. Juurdepääs siia.
- Quantum Media Group. IR/PR võimendatud. Juurdepääs siia.
- PlatoAiStream. Web3 andmete luure. Täiustatud teadmised. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/fast-track-graph-ml-with-graphstorm-a-new-way-to-solve-problems-on-enterprise-scale-graphs/
- :on
- :on
- $ UP
- 1
- 1 TB
- 100
- 16
- 31
- 500
- 7
- 8
- 9
- a
- Võimalik
- MEIST
- akadeemiline
- kiirendama
- konto
- täpsus
- tegevus
- tegelik
- Ad
- lisama
- lisamine
- aadressid
- Vastuvõtmine
- kuulutused
- edasijõudnud
- kuuluvusest
- pärast
- jälle
- AI / ML
- Häire
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- võimaldama
- võimaldab
- Ka
- Amazon
- Amazon EC2
- Amazon Neptuun
- Amazoni ajavoog
- Amazon Web Services
- Amazon.com
- vahel
- an
- analüüs
- ja
- Teatama
- ennetamine
- mistahes
- Apache
- API
- taotlus
- rakendused
- rakendatud
- arhitektuur
- OLEME
- AS
- Ühing
- At
- tähelepanu
- atribuudid
- autorid
- Automatiseeritud
- automaatselt
- saadaval
- AWS
- põhineb
- Baseline
- põhiline
- Põhimõtteliselt
- BE
- sest
- olnud
- enne
- võrrelda
- kasu
- BEST
- vahel
- Miljard
- miljardeid
- mõlemad
- põhi
- karbid
- tihvt
- tooma
- ehitama
- ehitatud
- sisseehitatud
- äri
- kuid
- by
- CAN
- võimeid
- lööb
- Püüdmine
- juhul
- ketid
- väljakutseid
- raske
- kontrollima
- klassifikatsioon
- kood
- kogumine
- COM
- kogukond
- ettevõte
- keeruline
- keerukus
- komponent
- komponendid
- Arvutama
- arvuti
- Arvutiteadus
- Võta meiega ühendust
- Side
- koosneb
- ehitama
- ehitamine
- ehitus
- konsultant
- sisaldab
- kontrollida
- võiks
- katmine
- looma
- tava
- klient
- Kliendid
- da
- andmed
- andmetöötlus
- andmeteadus
- andmekogumid
- Päeva
- sügav
- Määratleb
- määratlemisel
- näitama
- juurutada
- lähetatud
- kavandatud
- sihtkoht
- Detection
- arendama
- arenev
- & Tarkvaraarendus
- dgl
- erinev
- raske
- otse
- jagatud
- jagatud koolitus
- do
- Ei tee
- Domeenid
- kümneid
- sõidu
- kaks
- iga
- kergesti
- lihtne
- serv
- Tõhus
- tõhus
- jõupingutusi
- varjatud
- kinnistamine
- smirgel
- võimaldama
- lubatud
- võimaldab
- Lõpuks-lõpuni
- Inseneriteadus
- Inseneride
- suurendama
- ettevõte
- üksuste
- üksus
- hindama
- hindamine
- hindamine
- Isegi
- näide
- ületab
- erutatud
- eksperiment
- ekspert
- teadmised
- väline
- väljavõte
- tunnusjoon
- FUNKTSIOONID
- väli
- Valdkonnad
- Joonis
- fail
- Faile
- Lõpuks
- leidmine
- esimene
- voog
- Keskenduma
- Järel
- eest
- formaat
- neli
- Raamistik
- raamistikud
- pettus
- pettuste avastamine
- Alates
- tulevik
- Üldine
- tekitama
- genereerib
- George
- saama
- GitHub
- antud
- GM
- GPU
- GPU
- graafik
- graafikud
- Grupp
- käepide
- Raske
- Olema
- he
- aitama
- siin
- Suur
- kõrgelt
- tema
- omab
- Kuidas
- Kui kõrge
- Kuidas
- http
- HTTPS
- sajad
- ID
- IDd
- if
- oluline
- parandama
- paranemine
- Paranemist
- in
- Teistes
- Kaasa arvatud
- tööstus
- info
- olemuselt
- sisend
- paigaldamine
- Näiteks
- selle asemel
- Intelligentsus
- interaktsioonid
- Interface
- sisemiselt
- sisse
- Sissejuhatus
- IT
- ITS
- töö
- Johns Hopkinsi ülikooli
- liitumine
- jpg
- Json
- lihtsalt
- Võti
- teadmised
- teatud
- Labels
- suur
- suuremahuline
- algatama
- käivitamine
- kiht
- kihid
- viima
- juhtivate
- Õppida
- õppimine
- Raamatukogu
- litsents
- nagu
- Tõenäoliselt
- joon
- LINK
- lingid
- Nimekirjad
- vähe
- masin
- masinõpe
- masinad
- Mai
- tegema
- TEEB
- Tegemine
- juhtimine
- juht
- viis
- palju
- märgitud
- suur
- McKinsey
- McKinsey & Company
- keskmine
- mõõtmine
- Mälu
- meetod
- meetodid
- meetriline
- Meetrika
- Kesk-
- miljon
- ML
- mudel
- mudelid
- kuu
- rohkem
- kõige
- mitmekordne
- emakeelena
- Vajadus
- Neptuun
- võrk
- võrgustikud
- närvivõrgud
- Uus
- sõlme
- sõlmed
- märkmik
- nüüd
- eesmärk
- of
- Pakkumised
- on
- ONE
- ainult
- avatud lähtekoodiga
- avatud lähtekoodiga
- tegutsevad
- optimeerimine
- Valikud
- or
- Muu
- meie
- välja
- üle
- üldine
- enda
- Paber
- dokumendid
- Parallel
- täitma
- jõudlus
- valima
- torujuhe
- Platon
- Platoni andmete intelligentsus
- PlatoData
- populaarne
- post
- potentsiaalselt
- ennustada
- ennustada
- prognoosimine
- ennustus
- Ennustused
- eelistusi
- varem
- Peamine
- Probleem
- probleeme
- protsess
- töötlemine
- Toode
- tootehaldus
- tootejuht
- Produktsioon
- Toodet
- tõestatud
- anda
- annab
- pakkudes
- panema
- pütorch
- kvaliteet
- kiiresti
- RAM
- reastatud
- Töötlemata
- jõudma
- Jõuab
- päris maailm
- soovitused
- Lühendatud
- Suhted
- vabastama
- kordama
- nõudma
- nõutav
- Vajab
- teadustöö
- Tulemused
- õige
- riskide
- regulaarselt
- ROW
- jooks
- sama
- ütleb
- Skaalautuvus
- Skaala
- stsenaariumid
- teadus
- teadlane
- teadlased
- Otsing
- Osa
- vaata
- vanem
- teenus
- Teenused
- komplekt
- peaks
- näitama
- näidatud
- Näitused
- Samamoodi
- lihtsustama
- lihtsalt
- ühekordne
- SUURUS
- sotsiaalmeedia
- sotsiaalne võrgustik
- Lahendused
- LAHENDAGE
- mõned
- allikas
- modernne
- Samm
- Sammud
- ladustamine
- salvestada
- ladustatud
- Strateegia
- struktuur
- Uuring
- selline
- varustama
- Tarneahelad
- toetama
- Toetamine
- Toetab
- tabel
- Võtma
- võtab
- Ülesanne
- meeskond
- meeskonnad
- tech
- Tehniline
- tehnikat
- kümneid
- test
- et
- .
- Tulevik
- Graafik
- Allikas
- oma
- Seal.
- seetõttu
- Need
- nad
- mõtlema
- see
- kuigi?
- tuhandeid
- oht
- kolm
- korda
- et
- töövahendid
- ülemine
- liiklus
- Rong
- koolitatud
- koolitus
- tehing
- Muutma
- trafo
- tõsi
- püüdma
- kaks
- tüüp
- liigid
- all
- ainulaadne
- Ülikool
- kasutatavus
- kasutama
- kasutage juhtumit
- Kasutatud
- kasutusalad
- kasutamine
- väärtuslik
- eri
- juhtumused
- vertikaalselt
- kaudu
- visiit
- oli
- Tee..
- we
- web
- veebiteenused
- Hästi
- millal
- mis
- laialdaselt
- will
- koos
- ilma
- töötas
- kirjutamine
- yaml
- sa
- Sinu
- sephyrnet
- ZOO