دھوکہ دہی کی سرگرمیاں بہت سی صنعتوں کو بری طرح متاثر کرتی ہیں، جیسے کہ ای کامرس، سوشل میڈیا، اور مالیاتی خدمات۔ دھوکہ دہی کاروباری اداروں اور صارفین کے لیے ایک اہم نقصان کا سبب بن سکتی ہے۔ امریکی صارفین نے 5.8 میں دھوکہ دہی سے 2021 بلین ڈالر سے زیادہ کے نقصان کی اطلاع دی، جو 70 کے مقابلے میں 2020 فیصد زیادہ ہے۔. دھوکہ دہی کرنے والوں کا پتہ لگانے کے لیے بہت سی تکنیکوں کا استعمال کیا گیا ہے — اصول پر مبنی فلٹرز، بے ضابطگی کا پتہ لگانے، اور مشین لرننگ (ML) ماڈلز، جن میں سے چند ایک کا نام ہے۔
حقیقی دنیا کے اعداد و شمار میں، اداروں میں اکثر دیگر اداروں کے ساتھ بھرپور تعلقات شامل ہوتے ہیں۔ اس طرح کا گراف ڈھانچہ بے ضابطگی کا پتہ لگانے کے لیے قیمتی معلومات فراہم کر سکتا ہے۔ مثال کے طور پر، مندرجہ ذیل تصویر میں، صارفین مشترکہ اداروں جیسے Wi-Fi IDs، جسمانی مقامات، اور فون نمبرز کے ذریعے جڑے ہوئے ہیں۔ ان اداروں کی بڑی تعداد میں منفرد قدروں کی وجہ سے، جیسے فون نمبر، انہیں روایتی خصوصیت پر مبنی ماڈلز میں استعمال کرنا مشکل ہے- مثال کے طور پر، تمام فون نمبرز کو ایک گرم انکوڈنگ کرنا قابل عمل نہیں ہوگا۔ لیکن اس طرح کے تعلقات سے یہ اندازہ لگانے میں مدد مل سکتی ہے کہ آیا صارف دھوکہ باز ہے۔ اگر کسی صارف نے ایک مشہور دھوکے باز کے ساتھ متعدد اداروں کا اشتراک کیا ہے، تو صارف کے دھوکہ دہی کا زیادہ امکان ہے۔
حال ہی میں، گراف نیورل نیٹ ورک (GNN) فراڈ کا پتہ لگانے کا ایک مقبول طریقہ بن گیا ہے۔ GNN ماڈلز گراف کی ساخت اور نوڈس یا کناروں کی خصوصیات، جیسے کہ صارفین یا لین دین، دونوں کو یکجا کر سکتے ہیں تاکہ نقصان دہ صارفین اور واقعات کو جائز سے ممتاز کرنے کے لیے بامعنی نمائندگی سیکھ سکیں۔ یہ صلاحیت دھوکہ دہی کا پتہ لگانے کے لیے بہت اہم ہے جہاں دھوکہ باز اپنی غیر معمولی خصوصیات کو چھپانے کے لیے مل کر کام کرتے ہیں لیکن تعلقات کے کچھ نشانات چھوڑ دیتے ہیں۔
موجودہ GNN سلوشنز بنیادی طور پر آف لائن بیچ ٹریننگ اور انفرنس موڈ پر انحصار کرتے ہیں، جو بدنیتی پر مبنی واقعات کے رونما ہونے اور نقصانات ہونے کے بعد دھوکہ بازوں کا پتہ لگاتے ہیں۔ تاہم، دھوکہ دہی کرنے والے صارفین اور سرگرمیوں کو حقیقی وقت میں پکڑنا نقصانات کو روکنے کے لیے بہت ضروری ہے۔ یہ خاص طور پر کاروباری معاملات میں درست ہے جہاں دھوکہ دہی کی سرگرمیوں کو روکنے کا صرف ایک موقع ہے۔ مثال کے طور پر، کچھ ای کامرس پلیٹ فارمز میں، اکاؤنٹ کی رجسٹریشن وسیع ہے۔ دھوکہ باز کسی اکاؤنٹ کے ساتھ صرف ایک بار بدنیتی سے برتاؤ کر سکتے ہیں اور دوبارہ وہی اکاؤنٹ استعمال نہیں کر سکتے۔
حقیقی وقت میں دھوکہ بازوں کی پیشن گوئی کرنا ضروری ہے۔ اس طرح کے حل کی تعمیر، تاہم، چیلنج ہے. چونکہ GNNs ابھی بھی صنعت میں نئے ہیں، GNN ماڈلز کو بیچ سرونگ سے ریئل ٹائم سرونگ میں تبدیل کرنے کے لیے محدود آن لائن وسائل موجود ہیں۔ مزید برآں، ایک سٹریمنگ ڈیٹا پائپ لائن بنانا مشکل ہے جو آنے والے واقعات کو GNN ریئل ٹائم سرونگ API کو فیڈ کر سکے۔ مصنفین کے بہترین علم کے مطابق، اس تحریر کے مطابق GNN پر مبنی ریئل ٹائم انفرنس سلوشنز کے لیے کوئی ریفرنس آرکیٹیکچر اور مثالیں دستیاب نہیں ہیں۔
ڈیولپرز کی مدد کے لیے GNNs کو ریئل ٹائم فراڈ کا پتہ لگانے کے لیے لاگو کرنے کے لیے، یہ پوسٹ دکھاتی ہے کہ کس طرح استعمال کیا جائے۔ ایمیزون نیپچون, ایمیزون سیج میکر، اور ڈیپ گراف لائبریری (DGL)، دیگر AWS خدمات کے درمیان، GNN ماڈلز کا استعمال کرتے ہوئے حقیقی وقت میں دھوکہ دہی کا پتہ لگانے کے لیے ایک اختتام سے آخر تک حل تیار کرنا۔
ہم چار کاموں پر توجہ مرکوز کرتے ہیں:
- ٹیبلر ٹرانزیکشن ڈیٹاسیٹ کو متضاد گراف ڈیٹاسیٹ میں پروسیس کرنا
- SageMaker کا استعمال کرتے ہوئے ایک GNN ماڈل کو تربیت دینا
- تربیت یافتہ GNN ماڈلز کو SageMaker اینڈ پوائنٹ کے طور پر تعینات کرنا
- آنے والے لین دین کے لیے حقیقی وقت کا اندازہ لگانا
یہ پوسٹ پچھلے کام میں توسیع کرتی ہے۔ ایمیزون سیج میکر اور ڈیپ گراف لائبریری کا استعمال کرتے ہوئے متفاوت نیٹ ورکس میں دھوکہ دہی کا پتہ لگانا، جو پہلے دو کاموں پر مرکوز ہے۔ آپ متضاد گرافس، GNNs، اور GNNs کی نیم زیر نگرانی تربیت کے بارے میں مزید تفصیلات کے لیے اس پوسٹ کا حوالہ دے سکتے ہیں۔
دھوکہ دہی کا پتہ لگانے کے لیے مکمل طور پر منظم AWS AI سروس تلاش کرنے والے کاروبار بھی استعمال کر سکتے ہیں۔ ایمیزون فراڈ ڈیٹیکٹر، جو ممکنہ طور پر دھوکہ دہی والی آن لائن سرگرمیوں کی شناخت کرنا آسان بناتا ہے، جیسے کہ جعلی اکاؤنٹس بنانا یا آن لائن ادائیگی کا فراڈ۔
حل جائزہ
یہ حل دو بڑے حصوں پر مشتمل ہے۔
پہلا حصہ ایک پائپ لائن ہے جو ڈیٹا پر کارروائی کرتی ہے، GNN ماڈلز کو تربیت دیتی ہے، اور تربیت یافتہ ماڈلز کو تعینات کرتی ہے۔ یہ استعمال کرتا ہے۔ AWS گلو ٹرانزیکشن ڈیٹا پر کارروائی کرنے کے لیے، اور پروسیس شدہ ڈیٹا کو دونوں میں محفوظ کرتا ہے۔ ایمیزون نیپچون اور ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)۔ اس کے بعد، ایمیزون S3 میں محفوظ کردہ ڈیٹا پر ایک GNN ماڈل کو تربیت دینے کے لیے SageMaker ٹریننگ جاب کا آغاز کیا جاتا ہے تاکہ یہ اندازہ لگایا جا سکے کہ آیا کوئی لین دین دھوکہ دہی پر مبنی ہے۔ تربیت یافتہ ماڈل دیگر اثاثوں کے ساتھ تربیتی کام کی تکمیل پر واپس Amazon S3 میں محفوظ ہو جاتا ہے۔ آخر میں، محفوظ شدہ ماڈل کو سیج میکر اینڈ پوائنٹ کے طور پر تعینات کیا جاتا ہے۔ پائپ لائن کی طرف سے آرکیسٹریٹ کیا جاتا ہے AWS اسٹیپ فنکشنزجیسا کہ مندرجہ ذیل تصویر میں دکھایا گیا ہے۔
حل کا دوسرا حصہ حقیقی وقت میں دھوکہ دہی کے لین دین کا پتہ لگانے کو لاگو کرتا ہے۔ یہ ایک RESTful API سے شروع ہوتا ہے جو آنے والے لین دین سے متعلق ذیلی گراف کو نکالنے کے لیے نیپچون میں گراف ڈیٹا بیس سے استفسار کرتا ہے۔ اس کے پاس ایک ویب پورٹل بھی ہے جو کاروباری سرگرمیوں کی نقل کر سکتا ہے، دھوکہ دہی اور جائز دونوں کے ساتھ آن لائن لین دین پیدا کر سکتا ہے۔ ویب پورٹل دھوکہ دہی کا پتہ لگانے کا لائیو تصور فراہم کرتا ہے۔ یہ حصہ استعمال کرتا ہے۔ ایمیزون CloudFront, AWS بڑھانا, AWS AppSync, ایمیزون API گیٹ وے، قدمی افعال، اور ایمیزون دستاویز ڈی بی تیزی سے ویب ایپلیکیشن بنانے کے لیے۔ مندرجہ ذیل خاکہ اصل وقت کے تخمینے کے عمل اور ویب پورٹل کی وضاحت کرتا ہے۔
اس حل کے نفاذ کے ساتھ ساتھ ایک AWS کلاؤڈ فارمیشن ٹیمپلیٹ جو آپ کے AWS اکاؤنٹ میں فن تعمیر کو شروع کر سکتا ہے، درج ذیل کے ذریعے عوامی طور پر دستیاب ہے۔ GitHub repo.
ڈیٹا پراسیسنگ
اس سیکشن میں، ہم مختصراً بیان کرتے ہیں کہ مثال کے ڈیٹاسیٹ کو کیسے پروسیس کیا جائے اور اسے خام میزوں سے مختلف کالموں کے درمیان شناخت شدہ تعلقات کے ساتھ گراف میں تبدیل کیا جائے۔
یہ حل وہی ڈیٹاسیٹ استعمال کرتا ہے، IEEE-CIS فراڈ ڈیٹاسیٹ، پچھلی پوسٹ کی طرح ایمیزون سیج میکر اور ڈیپ گراف لائبریری کا استعمال کرتے ہوئے متفاوت نیٹ ورکس میں دھوکہ دہی کا پتہ لگانا. لہذا، ڈیٹا کے عمل کا بنیادی اصول ایک ہی ہے. مختصراً، فراڈ ڈیٹاسیٹ میں ایک ٹرانزیکشن ٹیبل اور شناختی ٹیبل شامل ہے، جس میں سیاق و سباق کی معلومات کے ساتھ تقریباً 500,000 گمنام ٹرانزیکشن ریکارڈز ہیں (مثال کے طور پر، لین دین میں استعمال ہونے والے آلات)۔ کچھ لین دین پر بائنری لیبل ہوتا ہے، جو اس بات کی نشاندہی کرتا ہے کہ آیا کوئی لین دین فراڈ ہے۔ ہمارا کام یہ پیش گوئی کرنا ہے کہ کون سے بغیر لیبل والے لین دین دھوکہ دہی پر مبنی ہیں اور کون سے جائز ہیں۔
مندرجہ ذیل اعداد و شمار عام عمل کو واضح کرتا ہے کہ IEEE ٹیبلز کو متفاوت گراف میں کیسے تبدیل کیا جائے۔ ہم پہلے ہر ٹیبل سے دو کالم نکالتے ہیں۔ ایک کالم ہمیشہ ٹرانزیکشن ID کالم ہوتا ہے، جہاں ہم ہر منفرد TransactionID کو ایک نوڈ کے طور پر سیٹ کرتے ہیں۔ ایک اور کالم کو زمرہ دار کالموں سے اٹھایا جاتا ہے، جیسے کہ ProductCD اور id_03 کالم، جہاں ہر منفرد زمرہ کو نوڈ کے طور پر سیٹ کیا گیا تھا۔ اگر ایک TransactionID اور ایک منفرد زمرہ ایک ہی قطار میں ظاہر ہوتا ہے، تو ہم انہیں ایک کنارے سے جوڑ دیتے ہیں۔ اس طرح، ہم ایک ٹیبل میں دو کالموں کو ایک دو طرفہ میں تبدیل کرتے ہیں۔ پھر ہم ان دو پارٹیوں کو TransactionID نوڈس کے ساتھ جوڑتے ہیں، جہاں ایک ہی TransactionID نوڈس کو ایک منفرد نوڈ میں ضم کیا جاتا ہے۔ اس قدم کے بعد، ہمارے پاس ایک متضاد گراف ہے جو دو طرفہ سے بنایا گیا ہے۔
باقی کالموں کے لیے جو گراف بنانے کے لیے استعمال نہیں ہوتے ہیں، ہم انہیں TransactionID نوڈس کی خصوصیت کے طور پر جوڑ دیتے ہیں۔ TransactionID ویلیوز جن میں isFraud ویلیوز ہوتی ہیں ماڈل ٹریننگ کے لیبل کے طور پر استعمال ہوتی ہیں۔ اس متضاد گراف کی بنیاد پر، ہمارا کام TransactionID نوڈس کا نوڈ درجہ بندی کا کام بن جاتا ہے۔ GNNs کی تربیت کے لیے گراف ڈیٹا کی تیاری کے بارے میں مزید تفصیلات کے لیے، ملاحظہ کریں۔ خصوصیت کا اخراج اور گراف کی تعمیر پچھلے بلاگ پوسٹ کے حصے۔
اس حل میں استعمال شدہ کوڈ میں دستیاب ہے۔ src/scripts/glue-etl.py
. آپ Jupyter نوٹ بک کے ذریعے ڈیٹا پروسیسنگ کے ساتھ بھی تجربہ کر سکتے ہیں۔ src/sagemaker/01.FD_SL_Process_IEEE-CIS_Dataset.ipynb
.
ڈیٹا کو دستی طور پر پروسیس کرنے کے بجائے، جیسا کہ پچھلی پوسٹ میں کیا گیا ہے، یہ حل سٹیپ فنکشنز اور AWS Glue کے ذریعے ترتیب دی گئی ایک مکمل خودکار پائپ لائن کا استعمال کرتا ہے جو Apache Spark کے ذریعے متوازی طور پر بڑے ڈیٹاسیٹس کی پروسیسنگ میں معاونت کرتا ہے۔ اسٹیپ فنکشنز کا ورک فلو لکھا ہوا ہے۔ AWS کلاؤڈ ڈویلپمنٹ کٹ (AWS CDK)۔ مندرجہ ذیل ہے a کوڈ کا ٹکڑا اس ورک فلو کو بنانے کے لیے:
GNN ماڈل ٹریننگ کے لیے گراف ڈیٹا بنانے کے علاوہ، یہ ورک فلو گراف ڈیٹا کو نیپچون میں لوڈ کرتا ہے تاکہ بعد میں اصل وقت کا اندازہ لگایا جا سکے۔ یہ بیچ ڈیٹا لوڈ کرنے کا عمل مندرجہ ذیل کوڈ کے ٹکڑوں میں دکھایا گیا ہے:
جی این این ماڈل ٹریننگ
ماڈل ٹریننگ کے لیے گراف ڈیٹا کو Amazon S3 میں محفوظ کرنے کے بعد، a سیج میکر کی تربیت کا کام، جو صرف اس وقت وصول کیا جاتا ہے جب تربیتی کام چل رہا ہو، GNN ماڈل ٹریننگ کے عمل کو Bring Your Own Container (BYOC) موڈ میں شروع کرنے کے لیے متحرک کیا جاتا ہے۔ یہ آپ کو اپنے ماڈل ٹریننگ اسکرپٹس اور انحصار کو ڈوکر امیج میں پیک کرنے کی اجازت دیتا ہے، جسے یہ سیج میکر ٹریننگ کی مثالیں بنانے کے لیے استعمال کرتا ہے۔ BYOC طریقہ تربیت کے ماحول کو ترتیب دینے میں اہم کوشش بچا سکتا ہے۔ میں src/sagemaker/02.FD_SL_Build_Training_Container_Test_Local.ipynb
، آپ GNN ماڈل ٹریننگ کی تفصیلات حاصل کر سکتے ہیں۔
ڈوکر کی تصویر
Jupyter نوٹ بک فائل کا پہلا حصہ تربیتی ڈاکر امیج جنریشن ہے (مندرجہ ذیل کوڈ کا ٹکڑا دیکھیں):
ہم نے ماڈل ٹریننگ کے لیے PyTorch پر مبنی تصویر استعمال کی۔ ڈوکر امیج بناتے وقت ڈیپ گراف لائبریری (DGL) اور دیگر انحصار انسٹال ہوتے ہیں۔ میں GNN ماڈل کوڈ src/sagemaker/FD_SL_DGL/gnn_fraud_detection_dgl
فولڈر کو بھی تصویر میں کاپی کیا جاتا ہے۔
چونکہ ہم لین دین کے ڈیٹا کو ایک متضاد گراف میں پروسیس کرتے ہیں، اس حل میں ہم منتخب کرتے ہیں۔ رشتہ دار گراف کنوولیشنل نیٹ ورک (RGCN) ماڈل، جو خاص طور پر متضاد گراف کے لیے ڈیزائن کیا گیا ہے۔ ہمارا RGCN ماڈل متضاد گرافس میں نوڈس کے لیے سیکھنے کے قابل سرایت کو تربیت دے سکتا ہے۔ اس کے بعد، سیکھی ہوئی ایمبیڈنگز کو نوڈ لیبل کی پیشین گوئی کے لیے مکمل طور پر منسلک پرت کے ان پٹ کے طور پر استعمال کیا جاتا ہے۔
ہائپرپیرامیٹر
GNN کو تربیت دینے کے لیے، ہمیں تربیتی عمل سے پہلے چند ہائپر پیرامیٹرز کی وضاحت کرنے کی ضرورت ہے، جیسے کہ بنائے گئے گراف کے فائل کے نام، GNN ماڈلز کی تہوں کی تعداد، تربیتی دور، اصلاح کار، اصلاح کے پیرامیٹرز، اور بہت کچھ۔ ترتیب کے ذیلی سیٹ کے لیے درج ذیل کوڈ دیکھیں:
تمام ہائپر پیرامیٹرز اور ان کی طے شدہ اقدار کے بارے میں مزید معلومات کے لیے، دیکھیں estimator_fns.py
میں src/sagemaker/FD_SL_DGL/gnn_fraud_detection_dgl
فولڈر.
سیج میکر کے ساتھ ماڈل ٹریننگ
حسب ضرورت کنٹینر ڈوکر امیج بننے کے بعد، ہم اپنے GNN ماڈل کو تربیت دینے کے لیے پہلے سے پروسیس شدہ ڈیٹا کا استعمال کرتے ہیں جن کی ہم نے وضاحت کی ہے۔ تربیتی کام GNN کی تعمیر اور تربیت کے لیے DGL، PyTorch کے ساتھ بیک اینڈ ڈیپ لرننگ فریم ورک کے طور پر استعمال کرتا ہے۔ SageMaker اپنی مرضی کے مطابق ڈوکر امیج کے ساتھ GNN ماڈلز کو تربیت دینا آسان بناتا ہے، جو SageMaker تخمینہ لگانے والے کا ایک ان پٹ دلیل ہے۔ SageMaker پر DGL کے ساتھ GNNs کی تربیت کے بارے میں مزید معلومات کے لیے، دیکھیں ایک گہرے گراف نیٹ ورک کو تربیت دیں۔.
SageMaker Python SDK استعمال کرتا ہے۔ تخمینہ سیج میکر پر تربیت کو انکیپسولیٹ کرنے کے لیے، جو سیج میکر سے مطابقت رکھنے والے کسٹم ڈوکر کنٹینرز کو چلاتا ہے، آپ کو SageMaker Python SDK کا استعمال کر کے اپنے ML الگورتھم چلانے کے قابل بناتا ہے۔ مندرجہ ذیل کوڈ کا ٹکڑا SageMaker کے ساتھ ماڈل کی تربیت کا مظاہرہ کرتا ہے (یا تو مقامی ماحول میں یا کلاؤڈ مثالوں میں):
تربیت کے بعد، ٹیسٹ سیٹ پر GNN ماڈل کی کارکردگی مندرجہ ذیل نتائج کی طرح ظاہر ہوتی ہے۔ RGCN ماڈل عام طور پر 0.87 AUC اور 95% سے زیادہ درستگی حاصل کر سکتا ہے۔ دیگر ML ماڈلز کے ساتھ RGCN ماڈل کا موازنہ کرنے کے لیے، ملاحظہ کریں۔ نتائج کی نمائش مزید تفصیلات کے لیے پچھلی بلاگ پوسٹ کا سیکشن۔
ماڈل ٹریننگ کی تکمیل پر، SageMaker تربیت یافتہ ماڈل کو دیگر اثاثوں کے ساتھ، بشمول تربیت یافتہ نوڈ ایمبیڈنگز، کو زپ فائل میں پیک کرتا ہے اور پھر اسے ایک مخصوص S3 مقام پر اپ لوڈ کرتا ہے۔ اگلا، ہم حقیقی وقت میں دھوکہ دہی کا پتہ لگانے کے لیے تربیت یافتہ ماڈل کی تعیناتی پر تبادلہ خیال کرتے ہیں۔
GNN ماڈل کی تعیناتی۔
سیج میکر تربیت یافتہ ایم ایل ماڈلز کی تعیناتی کو آسان بناتا ہے۔ اس مرحلے میں، ہم تربیت یافتہ ماڈل کو تعینات کرنے کے لیے SageMaker PyTorchModel کلاس کا استعمال کرتے ہیں، کیونکہ ہمارا DGL ماڈل بیک اینڈ فریم ورک کے طور پر PyTorch پر منحصر ہے۔ آپ کو میں تعیناتی کوڈ مل سکتا ہے۔ src/sagemaker/03.FD_SL_Endpoint_Deployment.ipynb
فائل.
تربیت یافتہ ماڈل فائل اور اثاثوں کے علاوہ، SageMaker کو اپنی مرضی کے مطابق ماڈل کی تعیناتی کے لیے ایک انٹری پوائنٹ فائل کی ضرورت ہوتی ہے۔ انٹری پوائنٹ فائل کو انفرنس اینڈپوائنٹ مثال کی یاد میں چلایا اور اسٹور کیا جاتا ہے تاکہ انفرنس کی درخواست کا جواب دیا جاسکے۔ ہمارے معاملے میں، انٹری پوائنٹ فائل ہے fd_sl_deployment_entry_point.py
میں دائر src/sagemaker/FD_SL_DGL/code
فولڈر، جو چار بڑے کام کرتا ہے:
- پیشین گوئی شدہ نوڈس اور ان سے وابستہ ڈیٹا حاصل کرنے کے لیے درخواستیں وصول کریں اور درخواستوں کے مواد کو پارس کریں۔
- ڈیٹا کو RGCN ماڈل کے ان پٹ کے بطور DGL متضاد گراف میں تبدیل کریں۔
- تربیت یافتہ RGCN ماڈل کے ذریعے حقیقی وقت کا اندازہ لگائیں۔
- پیشین گوئی کے نتائج درخواست کنندہ کو واپس کریں۔
سیج میکر کنونشنز کے بعد، پہلے دو فنکشنز کو لاگو کیا جاتا ہے۔ input_fn
طریقہ مندرجہ ذیل کوڈ دیکھیں (سادگی کے لیے، ہم کچھ کمنٹری کوڈ حذف کر دیتے ہیں):
تعمیر شدہ ڈی جی ایل گراف اور فیچرز کو پھر منتقل کیا جاتا ہے۔ predict_fn
تیسرے فنکشن کو پورا کرنے کا طریقہ۔ predict_fn
دو ان پٹ دلائل لیتا ہے: کے آؤٹ پٹ input_fn
اور تربیت یافتہ ماڈل۔ درج ذیل کوڈ دیکھیں:
میں استعمال ہونے والا ماڈل perdict_fn
کی طرف سے پیدا کیا جاتا ہے model_fn
طریقہ جب اختتامی نقطہ کو پہلی بار کہا جاتا ہے۔ فنکشن model_fn
سے محفوظ کردہ ماڈل فائل اور متعلقہ اثاثوں کو لوڈ کرتا ہے۔ model_dir
argument اور SageMaker ماڈل فولڈر۔ درج ذیل کوڈ دیکھیں:
کی پیداوار predict_fn
طریقہ دو نمبروں کی فہرست ہے، جو کلاس 0 اور کلاس 1 کے لاگٹس کی نشاندہی کرتا ہے، جہاں 0 کا مطلب جائز اور 1 کا مطلب ہے دھوکہ دہی۔ سیج میکر اس فہرست کو لیتا ہے اور اسے اندرونی طریقہ پر منتقل کرتا ہے جسے کہا جاتا ہے۔ output_fn
حتمی فنکشن کو مکمل کرنے کے لیے۔
اپنے GNN ماڈل کو تعینات کرنے کے لیے، ہم پہلے GNN ماڈل کو SageMaker PyTorchModel کلاس میں انٹری پوائنٹ فائل اور دیگر پیرامیٹرز کے ساتھ لپیٹتے ہیں (محفوظ کردہ ZIP فائل کا راستہ، PyTorch فریم ورک ورژن، Python ورژن، وغیرہ)۔ پھر ہم مثال کی ترتیبات کے ساتھ اس کی تعیناتی کا طریقہ کہتے ہیں۔ درج ذیل کوڈ دیکھیں:
پچھلے طریقہ کار اور کوڈ کے ٹکڑوں سے یہ ظاہر ہوتا ہے کہ اپنے GNN ماڈل کو Jupyter نوٹ بک سے آن لائن انفرنس اینڈ پوائنٹ کے طور پر کیسے تعینات کیا جائے۔ تاہم، پروڈکشن کے لیے، ہم پورے ورک فلو کے لیے اسٹیپ فنکشنز کے ذریعے ترتیب دی گئی پہلے بیان کردہ MLOps پائپ لائن کو استعمال کرنے کی تجویز کرتے ہیں، بشمول ڈیٹا کی پروسیسنگ، ماڈل کی تربیت، اور ایک انفرنس اینڈ پوائنٹ کو تعینات کرنا۔ پوری پائپ لائن کو AWS CDK کے ذریعے لاگو کیا جاتا ہے۔ درخواست، جسے مختلف خطوں اور کھاتوں میں آسانی سے نقل کیا جا سکتا ہے۔
ریئل ٹائم اندازہ
جب کوئی نیا لین دین آتا ہے، حقیقی وقت کی پیشن گوئی کرنے کے لیے، ہمیں چار مراحل کو مکمل کرنے کی ضرورت ہے:
- نوڈ اور کنارے کا اندراج - ٹرانزیکشن کی معلومات جیسے کہ TransactionID اور ProductCD کو نوڈس اور ایجز کے طور پر نکالیں، اور نیپچون ڈیٹا بیس میں محفوظ موجودہ گراف ڈیٹا میں نئے نوڈس داخل کریں۔
- ذیلی گراف نکالنا - پیشین گوئی شدہ ٹرانزیکشن نوڈ کو سینٹر نوڈ کے طور پر سیٹ کریں، اور GNN ماڈل کی ان پٹ ضروریات کے مطابق ایک n-hop سب گراف نکالیں۔
- خصوصیت کا اخراج - ذیلی گراف میں نوڈس اور کناروں کے لیے، ان کی متعلقہ خصوصیات کو نکالیں۔
- انفرنس اینڈ پوائنٹ کو کال کریں۔ - درخواست کے مندرجات میں ذیلی گراف اور خصوصیات کو پیک کریں، پھر درخواست کو اختتامی نقطہ پر بھیجیں۔
اس حل میں، ہم ایک RESTful API لاگو کرتے ہیں تاکہ پچھلے مراحل میں بیان کردہ حقیقی وقت میں دھوکہ دہی کی پیشین گوئی حاصل کی جا سکے۔ ریئل ٹائم پیشین گوئیوں کے لیے درج ذیل سیوڈو کوڈ دیکھیں۔ مکمل عمل درآمد جاری ہے۔ مکمل سورس کوڈ فائل.
حقیقی وقت میں پیشین گوئی کے لیے، پہلے تین مراحل میں کم تاخیر کی ضرورت ہوتی ہے۔ لہذا، گراف ڈیٹا بیس ان کاموں کے لیے ایک بہترین انتخاب ہے، خاص طور پر سب گراف نکالنے کے لیے، جو گراف ڈیٹا بیس کے سوالات کے ساتھ موثر طریقے سے حاصل کیا جا سکتا ہے۔ انڈر لائن فنکشنز جو سیڈو کوڈ کو سپورٹ کرتے ہیں وہ نیپچون کے گریملن سوالات پر مبنی ہیں۔
GNNs کا استعمال کرتے ہوئے ریئل ٹائم فراڈ کا پتہ لگانے کے بارے میں ایک انتباہ GNN انفرنس موڈ ہے۔ ریئل ٹائم انفرنس کو پورا کرنے کے لیے، ہمیں GNN ماڈل انفرنس کو ٹرانسجیکٹیو موڈ سے انڈکٹیو موڈ میں تبدیل کرنے کی ضرورت ہے۔ ٹرانسڈیکٹیو انفرنس موڈ میں GNN ماڈل نئے نمودار ہونے والے نوڈس اور کناروں کے لیے پیشین گوئی نہیں کر سکتے ہیں، جب کہ انڈکٹیو موڈ میں، GNN ماڈل نئے نوڈس اور کناروں کو سنبھال سکتے ہیں۔ ٹرانسجیکٹیو اور انڈکٹیو موڈ کے درمیان فرق کا ایک مظاہرہ مندرجہ ذیل تصویر میں دکھایا گیا ہے۔
نقلی موڈ میں، تربیت کے دوران پیش گوئی شدہ نوڈس اور کنارے لیبل لگے ہوئے نوڈس اور کناروں کے ساتھ ایک ساتھ رہتے ہیں۔ ماڈل ان کی نشاندہی کرنے سے پہلے ان کی شناخت کرتے ہیں، اور تربیت میں ان کا اندازہ لگایا جا سکتا ہے۔ انڈکٹیو موڈ میں ماڈلز کو ٹریننگ گراف پر تربیت دی جاتی ہے لیکن ان کو اپنے متعلقہ پڑوسیوں کے ساتھ غیر دیکھے ہوئے نوڈس (جو دائیں طرف سرخ نقطے والے حلقوں میں ہوتے ہیں) کی پیشین گوئی کرنے کی ضرورت ہوتی ہے، جو کہ نئے نوڈس ہو سکتے ہیں، جیسے دائیں جانب گرے ٹرائی اینگل نوڈ۔
ہمارا RGCN ماڈل تربیت یافتہ اور ٹرانزیکٹیو موڈ میں آزمایا جاتا ہے۔ اسے تربیت میں تمام نوڈس تک رسائی حاصل ہے، اور ہر خصوصیت کے بغیر نوڈ، جیسے کہ آئی پی ایڈریس اور کارڈ کی اقسام کے لیے ایمبیڈنگ کی تربیت بھی دی ہے۔ جانچ کے مرحلے میں، RGCN ماڈل ٹیسٹ سیٹ میں نوڈس کی پیش گوئی کرنے کے لیے ان ایمبیڈنگز کو نوڈ فیچر کے طور پر استعمال کرتا ہے۔ جب ہم ریئل ٹائم انفرنس کرتے ہیں، تاہم، کچھ نئے شامل کیے گئے فیچر لیس نوڈس میں ایسی کوئی ایمبیڈنگ نہیں ہوتی ہے کیونکہ وہ ٹریننگ گراف میں نہیں ہوتے ہیں۔ اس مسئلے سے نمٹنے کا ایک طریقہ یہ ہے کہ ایک ہی نوڈ ٹائپ میں موجود تمام ایمبیڈنگز کا مطلب نئے نوڈس کو تفویض کیا جائے۔ اس حل میں ہم یہ طریقہ اپناتے ہیں۔
اس کے علاوہ، یہ حل ایک ویب پورٹل فراہم کرتا ہے (جیسا کہ مندرجہ ذیل اسکرین شاٹ میں دیکھا گیا ہے) کاروباری آپریٹرز کے نقطہ نظر سے حقیقی وقت میں دھوکہ دہی کی پیشین گوئیوں کا مظاہرہ کرنے کے لیے۔ یہ نقلی آن لائن لین دین تیار کر سکتا ہے، اور دھوکہ دہی سے متعلق لین دین کی معلومات کا لائیو تصور فراہم کر سکتا ہے۔
صاف کرو
جب آپ حل تلاش کر لیں گے، تو آپ کر سکتے ہیں۔ وسائل کو صاف کریں چارجز سے بچنے کے لیے۔
نتیجہ
اس پوسٹ میں، ہم نے دکھایا کہ سیج میکر، نیپچون، اور ڈی جی ایل کا استعمال کرتے ہوئے GNN پر مبنی ریئل ٹائم فراڈ کا پتہ لگانے کا حل کیسے بنایا جائے۔ اس حل کے تین بڑے فوائد ہیں:
- پیشین گوئی کی درستگی اور AUC میٹرکس کے لحاظ سے اس کی کارکردگی اچھی ہے۔
- یہ سٹریمنگ MLOps پائپ لائن اور SageMaker اینڈ پوائنٹس کے ذریعے حقیقی وقت کا اندازہ لگا سکتا ہے۔
- یہ فراہم کردہ CloudFormation ٹیمپلیٹ کے ساتھ مکمل تعیناتی کے عمل کو خودکار کرتا ہے تاکہ دلچسپی رکھنے والے ڈویلپرز اپنے اکاؤنٹ میں حسب ضرورت ڈیٹا کے ساتھ اس حل کو آسانی سے جانچ سکیں۔
حل کے بارے میں مزید تفصیلات کے لیے، دیکھیں GitHub repo.
اس حل کو متعین کرنے کے بعد، ہم آپ کے اپنے ڈیٹا فارمیٹ میں فٹ ہونے کے لیے ڈیٹا پروسیسنگ کوڈ کو حسب ضرورت بنانے کی تجویز کرتے ہیں اور GNN ماڈل کو غیر تبدیل کرتے ہوئے ریئل ٹائم انفرنس میکانزم میں ترمیم کریں۔ نوٹ کریں کہ ہم نے تاخیر کو مزید بہتر کیے بغیر اصل وقت کے تخمینے کو چار مراحل میں تقسیم کیا ہے۔ ڈیمو ڈیٹاسیٹ پر پیشین گوئی حاصل کرنے میں ان چار مراحل میں چند سیکنڈ لگتے ہیں۔ ہمارا ماننا ہے کہ نیپچون گراف ڈیٹا اسکیما ڈیزائن کو بہتر بنانا اور ذیلی گراف اور فیچر نکالنے کے لیے استفسارات قیاس میں تاخیر کو نمایاں طور پر کم کر سکتا ہے۔
مصنفین کے بارے میں
جیان ژانگ ایک قابل اطلاق سائنس دان ہے جو صارفین کو مختلف مسائل کو حل کرنے میں مدد کرنے کے لیے مشین لرننگ تکنیک کا استعمال کر رہا ہے، جیسے کہ دھوکہ دہی کا پتہ لگانا، تصویر کی سجاوٹ، وغیرہ۔ اس نے کامیابی کے ساتھ گراف پر مبنی مشین لرننگ تیار کی ہے، خاص طور پر گراف نیورل نیٹ ورک، چین، امریکہ اور سنگاپور میں صارفین کے لیے حل۔ AWS کی گراف کی صلاحیتوں کے روشن خیال کے طور پر، Zhang نے GNN، دیپ گراف لائبریری (DGL)، Amazon Neptune، اور AWS کی دیگر خدمات کے بارے میں بہت ساری عوامی پیشکشیں دی ہیں۔
Mengxin Zhu AWS میں سولیوشنز آرکیٹیکٹس کا مینیجر ہے، جس کی توجہ دوبارہ قابل استعمال AWS سلوشنز کو ڈیزائن اور تیار کرنے پر مرکوز ہے۔ وہ کئی سالوں سے سافٹ ویئر کی تیاری میں مصروف ہے اور مختلف سائز کی کئی اسٹارٹ اپ ٹیموں کے لیے ذمہ دار ہے۔ وہ اوپن سورس سافٹ ویئر کا بھی وکیل ہے اور ایکلیپس کمیٹر تھا۔
ہاؤزو وانگ Amazon ML Solutions Lab میں ایک تحقیقی سائنسدان ہے، جہاں وہ Reinforcement Learning Vertical کی شریک قیادت کرتا ہے۔ وہ گراف لرننگ، نیچرل لینگویج پروسیسنگ، ری انفورسمنٹ لرننگ، اور آٹو ایم ایل پر جدید ترین تحقیق کے ساتھ جدید ترین مشین لرننگ سلوشنز بنانے میں صارفین کی مدد کرتا ہے۔ Haozhu نے مشی گن یونیورسٹی سے الیکٹریکل اور کمپیوٹر انجینئرنگ میں پی ایچ ڈی کی ڈگری حاصل کی۔
- AI
- ai آرٹ
- AI آرٹ جنریٹر
- عی روبوٹ
- ایمیزون نیپچون
- ایمیزون سیج میکر
- مصنوعی ذہانت
- مصنوعی ذہانت کا سرٹیفیکیشن
- بینکنگ میں مصنوعی ذہانت
- مصنوعی ذہانت والا روبوٹ
- مصنوعی ذہانت والے روبوٹ
- مصنوعی ذہانت سافٹ ویئر
- AWS مشین لرننگ
- blockchain
- بلاکچین کانفرنس
- coingenius
- بات چیت مصنوعی ذہانت
- crypto کانفرنس ai
- dall-e
- گہری سیکھنے
- گوگل عی
- مشین لرننگ
- پلاٹا
- افلاطون اے
- افلاطون ڈیٹا انٹیلی جنس
- افلاطون گیم
- پلیٹو ڈیٹا
- پلیٹو گیمنگ
- پیمانہ ai
- نحو
- زیفیرنیٹ