Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.

Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart grafikongépi tanulásával

Ma új megoldást adunk ki a pénzügyi gráfgépi tanuláshoz (ML). Amazon SageMaker JumpStart. A JumpStart segít gyorsan elkezdeni az ML használatát, és olyan megoldásokat kínál a leggyakoribb használati esetekre, amelyek néhány kattintással betaníthatók és bevezethetők.

Az új JumpStart megoldás (Graph-Based Credit Scoring) bemutatja, hogyan lehet vállalati hálózatot felépíteni SEC-bejegyzésekből (hosszú formátumú szöveges adatokból), kombinálni ezt a pénzügyi mutatókkal (táblázatos adatokkal), és a gráf neurális hálózatokat (GNN) használni a hitelezéshez. minősítési előrejelzési modellek. Ebben a bejegyzésben elmagyarázzuk, hogyan használhatja ezt a teljesen testreszabható megoldást a kreditpontozáshoz, hogy felgyorsíthassa a grafikon ML-útját. A Graph ML a pénzügyi ML termékeny területévé válik, mivel lehetővé teszi a hálózati adatok használatát a hagyományos táblázatos adatkészletekkel együtt. További információkért lásd Amazon a WSDM-nél: A gráfneurális hálózatok jövője.

Megoldás áttekintése

A kreditpontszámot javíthatja az üzleti kapcsolatokra vonatkozó adatok felhasználásával, amelyekhez ebben a megoldásban CorpNet-ként (a vállalati hálózat rövidítése) grafikont készíthet. Ezután alkalmazhatja a gráf ML osztályozását a GNN-ek segítségével ezen a grafikonon és a csomópontok táblázatos szolgáltatáskészletével, hogy megnézze, fel tud-e építeni egy jobb ML-modellt a hálózati kapcsolatokban lévő információk további hasznosításával. Ezért ez a megoldás sablont kínál olyan üzleti modellekhez, amelyek kihasználják a hálózati adatokat, például az ellátási lánc kapcsolati grafikonjait, a közösségi hálózatok grafikonjait stb.

A megoldás számos új műterméket fejleszt ki egy vállalati hálózat felépítésével és szintetikus pénzügyi adatok generálásával, és mindkét adatformát kombinálja, hogy modelleket hozzon létre ML gráf használatával.

A megoldás bemutatja, hogyan építsünk fel összekapcsolt vállalatok hálózatát az MD&A szakasz segítségével a SEC 10-K/Q bejelentésekből. A hasonló előretekintő nyilatkozatokkal rendelkező vállalatok valószínűleg kapcsolódnak a hitelezési eseményekhez. Ezeket a kapcsolatokat grafikonon ábrázoljuk. A gráf csomópontok jellemzőihez a megoldás az Altman Z-score modell változóit és az egyes cégek iparági kategóriáit használja. Ezeket egy szintetikus adatkészlet tartalmazza, amelyet demonstrációs célokra bocsátanak rendelkezésre. A grafikonadatok és a táblázatos adatok a GNN-eket használó minősítési osztályozó illeszkedésére szolgálnak. Szemléltetés céljából összehasonlítjuk a modellek teljesítményét a grafikoninformációkkal és anélkül.

Használja a grafikon alapú hitelpontozási megoldást

A JumpStart használatának megkezdéséhez lásd Az Amazon SageMaker első lépései. A JumpStart kártya a Graph-Based Credit Scoring megoldáshoz a következőn keresztül érhető el Amazon SageMaker Studio.

Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.

  1. Válassza ki a modellkártyát, majd válasszon Indít hogy elindítsa a megoldást.
    Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.

A megoldás modellt generál a következtetéshez és egy végpontot a notebookhoz.

  1. Várja meg, amíg készen állnak, és az állapot a következőképpen jelenik meg: Complete.
  2. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Nyissa meg a Jegyzetfüzetet az első jegyzetfüzet megnyitásához, amely a betanításra és a végpontok telepítésére szolgál.
    Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.

Ezen a jegyzetfüzeten keresztül megtanulhatja, hogyan kell használni ezt a megoldást, majd módosíthatja azt más alkalmazásokhoz saját adatain. A megoldás szintetikus adatokkal érkezik, és ezek egy részhalmazát használja a modell betanításához szükséges lépések példázásához, a végponthoz való telepítéséhez, majd a végpont meghívásához következtetés céljából. A notebook kódot is tartalmaz egy saját végpont telepítéséhez.

  1. A második (következtetéshez használt) jegyzetfüzet megnyitásához válassza a lehetőséget Az Endpoint használata a Jegyzetfüzetben a végpont műterméke mellett.

Ebben a jegyzetfüzetben megtekintheti, hogyan készítheti elő az adatokat a példa végpont meghívásához, hogy következtetéseket lehessen levonni a példák kötegére.
Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.

A végpont előrejelzett értékeléseket ad vissza, amelyeket a modell teljesítményének értékelésére használnak, amint az a következő képernyőképen látható a következtetési jegyzetfüzet utolsó kódblokkjáról.
Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.

Ezt a megoldást sablonként használhatja egy grafikonnal továbbfejlesztett hitelminősítési modellhez. Ebben a példában nem korlátozódik a szolgáltatáskészletre – a grafikonadatokat és a táblázatos adatokat is módosíthatja saját felhasználási esetéhez. A szükséges kódmódosítások mértéke minimális. Javasoljuk, hogy dolgozza át a sablonpéldánkat, hogy megértse a megoldás szerkezetét, majd szükség szerint módosítsa azt.

Ez a megoldás csak demonstrációs célokat szolgál. Ez nem pénzügyi tanács, és nem szabad pénzügyi vagy befektetési tanácsként támaszkodni rá. A kapcsolódó notebookok, beleértve a betanított modellt is, szintetikus adatokat használnak, és nem termelési használatra készültek. Bár SEC-bejelentésekből származó szöveget használnak, a pénzügyi adatokat szintetikusan és véletlenszerűen generálják, és nincs kapcsolatuk egyetlen vállalat valódi pénzügyi adataival sem. Ezért a szintetikusan generált minősítéseknek sincs semmi kapcsolata egyetlen valódi vállalat valódi minősítésével sem.

A megoldásban felhasznált adatok

Az adatkészlet szintetikus táblázatos adatokat tartalmaz, például különféle számviteli arányokat (numerikus) és iparági kódokat (kategorikus). Az adatkészlet rendelkezik 𝑁=3286 sor. Az értékelési címkék is hozzáadásra kerülnek. Ezeket a csomóponti jellemzőket kell használni az ML gráfhoz.

Az adatkészlet tartalmaz egy vállalati grafikont is, amely irányítatlan és súlyozatlan. Ez a megoldás lehetővé teszi, hogy módosítsa a grafikon szerkezetét a hivatkozások megjelenítési módjának változtatásával. A táblázatos adatkészletben minden vállalatot egy csomópont képvisel a vállalati grafikonon. A funkció construct_network_data() segít a gráf felépítésében, amely a forráscsomópontok és a célcsomópontok listáit tartalmazza.

A minősítési címkéket a GNN-ek használatával történő besoroláshoz használják, amely lehet több kategóriás az összes minősítéshez, vagy bináris, befektetési besorolású (AAA, AA, A, BBB) és nem befektetési besorolású (BB, B, CCC, CC, C, D). D itt az alapértelmezett.

Az adatok beolvasásához és a megoldás futtatásához szükséges teljes kód a megoldási jegyzetfüzetben található. A következő képernyőkép a szintetikus táblázatos adatok szerkezetét mutatja.

Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.

A grafikon információi átkerülnek a Deep Graph Library és a táblázatos adatokkal kombinálva az ML gráf elvégzéséhez. Ha hozza a saját gráfját, egyszerűen adja meg forráscsomópontok és célcsomópontok halmazaként.

Modellképzés

Összehasonlításképpen először csak táblázatos adatokra tanítunk egy modellt a segítségével AutoGluon, a cégek hitelminősítésének hagyományos megközelítését utánozva. Ezután hozzáadjuk a grafikon adatait, és GNN-eket használunk a képzéshez. A teljes részletet a jegyzetfüzet tartalmazza, és egy rövid áttekintést kínálunk ebben a bejegyzésben. A notebook gyors áttekintést is kínál az ML gráfokról a kiválasztott hivatkozásokkal.

A GNN képzése a következőképpen történik. adaptációját használjuk a GraphSAGE modell a Deep Graph Library-ben implementálva.

  1. Grafikon adatok beolvasása innen Amazon egyszerű tárolási szolgáltatás (Amazon S3), és hozza létre a CorpNet forrás- és célcsomópont-listáját.
  2. Olvassa el a grafikon csomópont szolgáltatáskészleteit (tanítás és tesztelés). Normalizálja az adatokat igény szerint.
  3. Hangolható hiperparaméterek beállítása. Hívja meg a PyTorch programot futtató speciális gráf ML-tárolót, hogy illeszkedjen a GNN-hez hiperparaméter-optimalizálás (HPO) nélkül.
  4. Ismételje meg az ML grafikont HPO-val.

Az egyszerű és stabil megvalósítás érdekében a modelltanítást egy konténerben futtatjuk a következő kóddal (a betanítási kód előtti beállítási kód a megoldási jegyzetfüzetben található):

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

Az aktuális betanítási folyamat transzduktív környezetben zajlik, ahol a tesztadatkészlet jellemzőit (a céloszlopot nem beleértve) használják fel a grafikon felépítéséhez, így a tesztcsomópontok is bekerülnek a betanítási folyamatba. A képzés végén a tesztadatkészleten lévő előrejelzések generálódnak és mentésre kerülnek output_location az S3 vödörben.

Annak ellenére, hogy a betanítás transzduktív, a tesztadatkészlet címkéit nem használják a betanításhoz, és gyakorlatunk célja ezeknek a címkéknek a megjóslása a tesztadatkészlet csomópontjaihoz tartozó csomópont-beágyazások segítségével. A GraphSAGE fontos jellemzője, hogy induktív tanulás is lehetséges olyan új megfigyeléseken, amelyek nem részei a grafikonnak, bár ebben a megoldásban ezt nem használják ki.

Hiperparaméter optimalizálás

Ezt a megoldást tovább bővíti a HPO a GNN-en való lebonyolítása. Ez a SageMakeren belül történik. Lásd a következő kódot:

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),
}

Ezután felállítjuk az edzési célt, hogy ebben az esetben maximalizáljuk az F1 pontszámot:

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

A választott környezet és képzési források létrehozása a SageMakeren:

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

Végül futtassa a betanítási feladatot hiperparaméter-optimalizálással:

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

Eredmények

A hálózati adatok bevonása és a hiperparaméter-optimalizálás jobb eredményeket hoz. A következő táblázatban szereplő teljesítménymutatók bemutatják, milyen előnyökkel jár, ha a CorpNetben hozzáadjuk a kreditpontozáshoz használt szabványos táblázatos adatkészleteket.

Az AutoGluon eredményei nem használják a grafikont, csak a táblázatos adatokat. Ha hozzáadjuk a grafikon adatait és a HPO-t használjuk, lényeges teljesítménynövekedést kapunk.

F1 pontszám ROC AUC Pontosság MCC Kiegyensúlyozott pontosság Pontosság visszahívás
AutoGluon 0.72 0.74323 0.68037 0.35233 0.67323 0.68528 0.75843
GCN HPO nélkül 0.64 0.84498 0.69406 0.45619 0.71154 0.88177 0.50281
GCN HPO-val 0.81 0.87116 0.78082 0.563 0.77081 0.75119 0.89045

(Megjegyzés: az MCC a Matthews-korrelációs együttható; https://en.wikipedia.org/wiki/Phi_coefficient.)

Tisztítsuk meg

Miután befejezte a jegyzetfüzet használatát, a további költségek elkerülése érdekében törölje a modell műtermékeit és egyéb erőforrásait. Manuálisan kell törölnie a jegyzetfüzet futtatása közben létrehozott erőforrásokat, például a modellműtermékekhez, a betanítási adatkészletekhez, a műtermékek feldolgozásához és amazonfelhőóra naplócsoportok.

Összegzésként

Ebben a bejegyzésben bemutattunk egy grafikon alapú kreditpontozási megoldást a JumpStartban, amely segít felgyorsítani a grafikonok ML-útját. A jegyzetfüzet egy folyamatot biztosít, amellyel a jobb teljesítmény érdekében módosíthatja és kihasználhatja a meglévő táblázatos modellekkel rendelkező grafikonokat.

A kezdéshez megtalálja a Graph-Based Credit Scoring megoldást a JumpStart in SageMaker Stúdió.


A szerzőkről

Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.Dr. Sanjiv Das Amazon Scholar, a Santa Clara Egyetem pénzügy- és adattudományi Terry professzora. Posztgraduális diplomát szerzett pénzügyből (M.Phil és Ph.D. a New York-i Egyetemről) és számítástechnikából (MS a Berkeley-i Egyetemről), valamint MBA fokozatot az Indiai Menedzsment Intézetben, Ahmedabadban. Mielőtt akadémikus lett volna, az ázsiai-csendes-óceáni térség származékos üzletágában dolgozott, a Citibank alelnökeként. A multimodális gépi tanulással foglalkozik a pénzügyi alkalmazások területén.

Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.Dr. Xin Huang az alkalmazott tudós Amazon SageMaker JumpStart és a Amazon SageMaker beépített algoritmusok. A skálázható gépi tanulási algoritmusok fejlesztésére összpontosít. Kutatási területei a természetes nyelvi feldolgozás, a táblázatos adatok mélyreható tanulása és a nem-paraméteres tér-idő klaszterezés robusztus elemzése.

Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.Soji Adeshina Alkalmazott tudós az AWS-nél, ahol gráf-neurális hálózat alapú modelleket fejleszt a gépi tanuláshoz gráffeladatokon, csalás és visszaélés, tudásgráfok, ajánlórendszerek és élettudományi alkalmazásokkal. Szabadidejében szívesen olvas és főz.

Készítsen vállalati hitelminősítési osztályozót az Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence grafikongépi tanulásával. Függőleges keresés. Ai.Patrick Yang az Amazon SageMaker szoftverfejlesztő mérnöke. Arra összpontosít, hogy gépi tanulási eszközöket és termékeket készítsen az ügyfelek számára.

Időbélyeg:

Még több AWS gépi tanulás