Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart

Täna avaldame uue lahenduse finantsgraafikute masinõppeks (ML). Amazon SageMaker JumpStart. KiirStart aitab teil ML-iga kiiresti alustada ja pakub kõige levinumate kasutusjuhtumite jaoks lahendusi, mida saab koolitada ja juurutada vaid mõne klõpsuga.

Uus lahendus JumpStart (Graph-Based Credit Scoring) demonstreerib, kuidas luua SEC-failidest (pika vormiga tekstiandmed) korporatiivvõrku, kombineerida seda finantssuhtarvudega (tabeliandmetega) ja kasutada krediidi kogumiseks graafinärvivõrke (GNN-e). reitingu ennustamise mudelid. Selles postituses selgitame, kuidas saate seda täielikult kohandatavat krediidiskoorimise lahendust kasutada, et kiirendada oma graafiku ML-teekonda. Graafiku ML on muutumas rahalise ML-i jaoks viljakaks valdkonnaks, kuna see võimaldab kasutada võrguandmeid koos traditsiooniliste tabeliandmetega. Lisateabe saamiseks vt Amazon WSDM-is: graafiku närvivõrkude tulevik.

Lahenduse ülevaade

Saate parandada krediidiskoori, kasutades ärisidemete andmeid, mille jaoks saate selles lahenduses koostada graafiku, mida tähistatakse kui CorpNet (lühend ettevõtte võrgust). Seejärel saate rakendada graafiku ML-klassifikatsiooni, kasutades sellel graafikul GNN-e ja sõlmede jaoks tabelifunktsioonide komplekti, et näha, kas saate luua parema ML-mudeli, kasutades võrgusuhetes teavet veelgi. Seetõttu pakub see lahendus malli ärimudelitele, mis kasutavad võrguandmeid, näiteks kasutavad tarneahela suhete graafikuid, suhtlusvõrgustike graafikuid ja palju muud.

Lahendus arendab mitmeid uusi artefakte, luues ettevõtte võrgu ja genereerides sünteetilisi finantsandmeid ning kombineerib mõlemad andmevormid, et luua mudeleid graafi ML abil.

Lahendus näitab, kuidas luua SEC 10-K/Q failidest MD&A sektsiooni abil ühendatud ettevõtete võrgustik. Sarnaste tulevikku suunatud avaldustega ettevõtted on tõenäoliselt seotud krediidisündmustega. Need ühendused on kujutatud graafikuna. Graafikusõlme funktsioonide jaoks kasutab lahendus Altmani Z-skoori mudeli muutujaid ja iga ettevõtte valdkonnakategooriat. Need on esitatud sünteetilises andmekogumis, mis on saadaval tutvustamise eesmärgil. Graafikuandmeid ja tabeliandmeid kasutatakse GNN-ide abil reitinguklassifikaatori sobitamiseks. Illustreerimise eesmärgil võrdleme mudelite toimivust graafikuteabega ja ilma.

Kasutage graafikupõhist krediidiskoori lahendust

JumpStarti kasutamise alustamiseks vt Amazon SageMakeriga alustamine. Graafikupõhise krediidiskoori lahenduse KiirStart-kaart on saadaval aadressil Amazon SageMaker Studio.

Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

  1. Valige mudelikaart ja seejärel valige Algatama lahenduse algatamiseks.
    Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Lahendus loob mudeli järelduste tegemiseks ja lõpp-punkti, mida sülearvutiga kasutada.

  1. Oodake, kuni need on valmis ja olek kuvatakse kujul Complete.
  2. Vali Avage märkmik avada esimene märkmik, mis on mõeldud koolituseks ja lõpp-punkti juurutamiseks.
    Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Saate seda märkmikku läbi töötada, et õppida seda lahendust kasutama ja seejärel seda oma andmetel muude rakenduste jaoks muuta. Lahendus on varustatud sünteetiliste andmetega ja kasutab nende alamhulka, et kirjeldada samme, mis on vajalikud mudeli koolitamiseks, selle lõpp-punkti juurutamiseks ja seejärel lõpp-punktist järelduste tegemiseks. Märkmik sisaldab ka koodi oma lõpp-punkti juurutamiseks.

  1. Teise märkmiku (kasutatakse järelduste tegemiseks) avamiseks valige Kasutage märkmikus lõpp-punkti lõpp-punkti artefakti kõrval.

Selles märkmikus näete, kuidas valmistada andmeid ette, et kutsuda näite lõpp-punkt, et teha järeldusi näidete kogumi kohta.
Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Lõpp-punkt tagastab prognoositud hinnangud, mida kasutatakse mudeli jõudluse hindamiseks, nagu on näidatud järgmises järeldusmärkmiku viimase koodiploki ekraanipildis.
Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Saate seda lahendust kasutada graafikuga täiustatud krediidireitingu mudeli mallina. Te ei piirdu selle näite funktsioonide komplektiga – saate muuta nii graafiku andmeid kui ka tabeliandmeid oma kasutusjuhtumi jaoks. Vajalikud koodimuudatused on minimaalsed. Soovitame lahenduse struktuuri mõistmiseks läbi töötada meie mallinäide ja seejärel seda vastavalt vajadusele muuta.

See lahendus on mõeldud ainult demonstratiivsel eesmärgil. See ei ole finantsnõustamine ja sellele ei tohiks tugineda kui finants- või investeerimisnõustamisele. Seotud sülearvutid, sealhulgas koolitatud mudel, kasutavad sünteetilisi andmeid ega ole ette nähtud tootmiseks. Kuigi kasutatakse SEC-i dokumentide teksti, genereeritakse finantsandmed sünteetiliselt ja juhuslikult ning neil pole mingit seost ühegi ettevõtte tegelike finantsnäitajatega. Seetõttu pole ka sünteetiliselt loodud reitingutel mingit seost ühegi tegeliku ettevõtte tegeliku reitinguga.

Lahenduses kasutatud andmed

Andmestikul on sünteetilisi tabeliandmeid, nagu erinevad arvestussuhted (numbrilised) ja valdkonnakoodid (kategoorialised). Andmekogul on 𝑁=3286 rida. Lisatud on ka reitingusildid. Need on sõlme funktsioonid, mida kasutatakse graafiku ML-ga.

Andmekogum sisaldab ka ettevõtte graafikut, mis on suunamata ja kaalumata. See lahendus võimaldab graafiku struktuuri kohandada, muutes linkide kaasamise viisi. Iga tabeliandmestiku ettevõtet esindab ettevõtte graafikul sõlm. Funktsioon construct_network_data() aitab koostada graafikut, mis sisaldab lähte- ja sihtsõlmede loendeid.

Reitingusilte kasutatakse klassifitseerimiseks GNN-ide abil, mis võivad olla kõigi reitingute jaoks mitmekategoorialised või binaarsed, jagatud investeerimisjärgu (AAA, AA, A, BBB) ja mitteinvesteerimisjärgu (BB, B, CCC, CC, C, D). D tähistab siin vaikimisi.

Täielik kood andmete lugemiseks ja lahenduse käitamiseks on lahenduste märkmikus. Järgmine ekraanipilt näitab sünteetiliste tabeliandmete struktuuri.

Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Graafiku teave edastatakse Deep Graph Library ja kombineerituna tabeliandmetega graafiku ML tegemiseks. Kui võtate kaasa oma graafiku, esitage see lihtsalt lähtesõlmede ja sihtsõlmede komplektina.

Modellikoolitus

Võrdluseks treenime mudelit kõigepealt ainult tabeliandmete põhjal AutoGluon, jäljendades ettevõtete krediidireitingu traditsioonilist lähenemist. Seejärel lisame graafiku andmed ja kasutame treenimiseks GNN-e. Täielikud üksikasjad on esitatud märkmikus ja selles postituses on lühike ülevaade. Märkmik pakub ka kiiret ülevaadet graafilisest ML-st koos valitud viidetega.

GNN-i koolitamine toimub järgmiselt. Me kasutame kohandust GraphSAGE mudel juurutatud Deep Graph Librarys.

  1. Lugege graafiku andmeid alates Amazoni lihtne salvestusteenus (Amazon S3) ja looge CorpNeti jaoks lähte- ja sihtsõlmede loendid.
  2. Lugege graafiku sõlmede funktsioonikomplekte (koolitus ja testimine). Normaliseerige andmed vastavalt vajadusele.
  3. Määrake häälestatavad hüperparameetrid. Helistage spetsiaalsele graafiku ML-konteinerile, milles töötab PyTorch, et sobitada GNN-i ilma hüperparameetrite optimeerimiseta (HPO).
  4. Korrake graafikut ML HPO-ga.

Rakenduse lihtsaks ja stabiilseks muutmiseks käivitame mudelikoolituse konteineris, kasutades järgmist koodi (sellele koolituskoodile eelnev seadistuskood on lahenduse märkmikus):

from sagemaker.pytorch import PyTorch
from time import strftime, gmtime training_job_name = sagemaker_config["SolutionPrefix"] + "-gcn-training"
print( f"You can go to SageMaker -> Training -> Hyperparameter tuning jobs -> a job name started with {training_job_name} to monitor training job status and details."
) estimator = PyTorch( entry_point='train_dgl_pytorch_entry_point.py', source_dir='graph_convolutional_network', role=role, instance_count=1, instance_type='ml.g4dn.xlarge', framework_version="1.9.0", py_version='py38', hyperparameters=hyperparameters, output_path=output_location, code_location=output_location, sagemaker_session=sess, base_job_name=training_job_name,
) estimator.fit({'train': input_location})

Praegune koolitusprotsess viiakse läbi transduktiivses seadistuses, kus graafiku koostamiseks kasutatakse testandmestiku funktsioone (välja arvatud sihtveerg) ja seetõttu kaasatakse testimissõlmed koolitusprotsessi. Treeningu lõpus genereeritakse ja salvestatakse testandmestiku ennustused output_location S3 ämbris.

Kuigi koolitus on transduktiivne, ei kasutata testi andmestiku silte treenimiseks ja meie harjutuse eesmärk on ennustada neid silte, kasutades testandmestiku sõlmede sõlmede manustamist. GraphSAGE'i oluline omadus on see, et võimalik on ka induktiivne õppimine uute vaatluste puhul, mis ei ole graafiku osa, kuigi seda ei kasutata selles lahenduses.

Hüperparameetrite optimeerimine

Seda lahendust laiendab veelgi HPO läbiviimine GNN-is. Seda tehakse SageMakeris. Vaadake järgmist koodi:

from sagemaker.tuner import ( IntegerParameter, CategoricalParameter, ContinuousParameter, HyperparameterTuner,
) # Static hyperparameters we do not tune
hyperparameters = { "n-layers": 2, "aggregator-type": "pool", "target-column": target_column
}
# Dynamic hyperparameters to tune and their searching ranges. # For demonstration purpose, we skip the architecture search by skipping # tuning the hyperparameters such as 'skip_rnn_num_layers', 'rnn_num_layers', etc.
hyperparameter_ranges = { "n-hidden": CategoricalParameter([32, 64, 128, 256, 512, 1024]), 'dropout': ContinuousParameter(0.0, 0.6), 'weight-decay': ContinuousParameter(1e-5, 1e-2), 'n-epochs': IntegerParameter(70, 120), #80, 160 'lr': ContinuousParameter(0.002, 0.02),
}

Seejärel seadsime paika treeningu eesmärgi, et maksimeerida antud juhul F1 skoori:

objective_metric_name = "Validation F1"
metric_definitions = [{"Name": "Validation F1", "Regex": "Validation F1 (\S+)"}]
objective_type = "Maximize"

Looge SageMakeris valitud keskkond ja koolitusressursid:

estimator_tuning = PyTorch( entry_point='train_dgl_pytorch_entry_point.py', source_dir='graph_convolutional_network', role=role, instance_count=1, instance_type='ml.g4dn.xlarge', framework_version="1.9.0", py_version='py38', hyperparameters=hyperparameters, output_path=output_location, code_location=output_location, sagemaker_session=sess, base_job_name=training_job_name,
)

Lõpuks käivitage treeningtöö hüperparameetrite optimeerimisega:

import time tuning_job_name = sagemaker_config["SolutionPrefix"] + "-gcn-hpo"
print( f"You can go to SageMaker -> Training -> Hyperparameter tuning jobs -> a job name started with {tuning_job_name} to monitor HPO tuning status and details.n" f"Note. You will be unable to successfully run the following cells until the tuning job completes. This step may take around 2 hours."
) tuner = HyperparameterTuner( estimator_tuning, # using the estimator defined in previous section objective_metric_name, hyperparameter_ranges, metric_definitions, max_jobs=30, max_parallel_jobs=10, objective_type=objective_type, base_tuning_job_name = tuning_job_name,
) start_time = time.time() tuner.fit({'train': input_location}) hpo_training_job_time_duration = time.time() - start_time

Tulemused

Võrguandmete kaasamine ja hüperparameetrite optimeerimine annab paremaid tulemusi. Järgmises tabelis olevad jõudlusmõõdikud näitavad CorpNeti krediidiskoorimiseks kasutatavate standardsete tabeliandmete lisamise eeliseid.

AutoGluoni tulemused ei kasuta graafikut, vaid ainult tabeliandmeid. Kui lisame graafiku andmed ja kasutame HPO-d, saame jõudluses olulise kasu.

F1 skoor ROC AUC Täpsus MCC Tasakaalustatud täpsus Täpsus Tagasikutsumine
AutoGluon 0.72 0.74323 0.68037 0.35233 0.67323 0.68528 0.75843
GCN ilma HPOta 0.64 0.84498 0.69406 0.45619 0.71154 0.88177 0.50281
GCN koos HPO-ga 0.81 0.87116 0.78082 0.563 0.77081 0.75119 0.89045

(Märkus: MCC on Matthewsi korrelatsioonikordaja; https://en.wikipedia.org/wiki/Phi_coefficient.)

Koristage

Kui olete selle märkmiku kasutamise lõpetanud, kustutage täiendavate tasude vältimiseks mudeli artefaktid ja muud ressursid. Peate käsitsi kustutama ressursid, mille võisite sülearvuti käitamise ajal luua, näiteks S3 ämbrid mudeliartefaktide jaoks, koolitusandmekogumid, artefaktide töötlemine ja Amazon CloudWatch logirühmad.

kokkuvõte

Selles postituses tutvustasime JumpStartis graafikupõhist krediidiskoori lahendust, mis aitab teil graafiku ML-teekonda kiirendada. Märkmik pakub konveieri, mille abil saate parema jõudluse saavutamiseks muuta ja kasutada graafikuid olemasolevate tabelimudelitega.

Alustuseks leiate graafikupõhise krediidiskoori lahenduse rakenduses JumpStart in SageMakeri stuudio.


Autoritest

Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Dr Sanjiv Das on Amazoni teadlane ja Santa Clara ülikooli rahanduse ja andmeteaduse terry professor. Tal on magistrikraad rahanduses (M.Phil ja Ph.D New Yorgi ülikoolist) ja arvutiteaduses (MS Berkeley ülikoolist) ning MBA kraad India Juhtimisinstituudist Ahmedabadis. Enne akadeemikuks saamist töötas ta Aasia ja Vaikse ookeani piirkonna tuletisinstrumentide äris Citibanki asepresidendina. Ta tegeleb multimodaalse masinõppega finantsrakenduste valdkonnas.

Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Dr Xin Huang on rakendusteadlane Amazon SageMaker JumpStart ja Amazon SageMakeri sisseehitatud algoritmid. Ta keskendub skaleeritavate masinõppe algoritmide arendamisele. Tema uurimishuvid on seotud loomuliku keele töötlemise, tabeliandmete sügava õppimise ja mitteparameetrilise aegruumi klastrite tugeva analüüsiga.

Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Soji Adeshina on AWS-i rakendusteadlane, kus ta töötab välja graafiku närvivõrgupõhiseid mudeleid masinõppeks graafikute ülesannete jaoks koos rakendustega pettuse ja kuritarvitamise, teadmiste graafikute, soovitussüsteemide ja bioteaduste jaoks. Vabal ajal meeldib talle lugeda ja süüa teha.

Looge ettevõtte krediidireitingute klassifikaator, kasutades graafiku masinõpet rakenduses Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Patrick Yang on Amazon SageMakeri tarkvaraarenduse insener. Ta keskendub masinõppevahendite ja -toodete loomisele klientidele.

Ajatempel:

Veel alates AWS-i masinõpe