تستخدم الشركات بشكل متزايد التعلم الآلي (ML) لاتخاذ قرارات شبه فورية ، مثل وضع إعلان ، أو تعيين سائق ، أو التوصية بمنتج ، أو حتى تسعير المنتجات والخدمات بشكل ديناميكي. تقوم نماذج ML بعمل تنبؤات بالنظر إلى مجموعة من بيانات الإدخال المعروفة باسم ملامح، ويقضي علماء البيانات بسهولة أكثر من 60٪ من وقتهم في تصميم وبناء هذه الميزات. علاوة على ذلك ، تعتمد التوقعات عالية الدقة على الوصول في الوقت المناسب إلى قيم الميزات التي تتغير بسرعة بمرور الوقت ، مما يضيف المزيد من التعقيد إلى مهمة بناء حل متوفر للغاية ودقيق. على سبيل المثال ، يمكن لنموذج لتطبيق مشاركة الركوب اختيار أفضل سعر لركوب من المطار ، ولكن فقط إذا كان يعرف عدد طلبات الركوب التي تم تلقيها في الدقائق العشر الماضية وعدد الركاب المتوقع وصولهم في اليوم التالي 10 دقائق. يمكن لنموذج التوجيه في تطبيق مركز الاتصال اختيار أفضل وكيل متاح لمكالمة واردة ، ولكنه فعال فقط إذا كان يعرف نقرات جلسة الويب الأخيرة للعميل.
على الرغم من أن القيمة التجارية لتوقعات ML في الوقت الفعلي تقريبًا هائلة ، إلا أن البنية المطلوبة لتقديمها بشكل موثوق وآمن وبأداء جيد معقدة. تحتاج الحلول إلى تحديثات عالية الإنتاجية واسترداد بزمن انتقال منخفض لأحدث قيم الميزات بالمللي ثانية ، وهو أمر لا يستعد معظم علماء البيانات لتقديمه. نتيجة لذلك ، أنفقت بعض الشركات ملايين الدولارات على ابتكار البنية التحتية الخاصة بها لإدارة الميزات. قامت شركات أخرى بتقييد تطبيقات ML الخاصة بها على أنماط أبسط مثل تسجيل الدُفعات حتى يوفر بائعو ML حلولاً جاهزة أكثر شمولاً لمتاجر الميزات عبر الإنترنت.
لمواجهة هذه التحديات ، متجر ميزات Amazon SageMaker يوفر مستودعًا مركزيًا مُدارًا بالكامل لميزات ML ، مما يجعل من السهل تخزين الميزات واستردادها بأمان دون الحاجة إلى إنشاء البنية التحتية الخاصة بك وصيانتها. يتيح لك Feature Store تحديد مجموعات من الميزات ، واستخدام العرض المجمَّع وبث البث ، واسترداد أحدث قيم الميزات بزمن انتقال أحادي الرقم ملي ثانية للحصول على تنبؤات عالية الدقة عبر الإنترنت ، واستخراج مجموعات البيانات الصحيحة في الوقت المناسب للتدريب. بدلاً من بناء إمكانات البنية التحتية هذه والحفاظ عليها ، يمكنك الحصول على خدمة مُدارة بالكامل تتوسع مع نمو بياناتك ، وتمكّن من مشاركة الميزات عبر الفرق ، وتتيح لعلماء البيانات التركيز على بناء نماذج تعلّم آلي رائعة تهدف إلى تغيير قواعد اللعبة في حالات استخدام الأعمال. يمكن للفرق الآن تقديم ميزات قوية مرة واحدة وإعادة استخدامها عدة مرات في مجموعة متنوعة من النماذج التي قد يتم إنشاؤها بواسطة فرق مختلفة.
يستعرض هذا المنشور مثالاً كاملاً لكيفية إقران هندسة ميزات البث مع Feature Store لاتخاذ قرارات مدعومة من ML في الوقت الفعلي تقريبًا. نعرض حالة استخدام للكشف عن الاحتيال في بطاقة الائتمان والتي تقوم بتحديث الميزات المجمعة من تدفق مباشر للمعاملات وتستخدم عمليات استرداد ميزة زمن الوصول المنخفض للمساعدة في اكتشاف المعاملات الاحتيالية. جربه بنفسك من خلال زيارة موقعنا جيثب ريبو.
حالة استخدام الاحتيال لبطاقة الائتمان
يمكن شراء أرقام بطاقات الائتمان المسروقة بكميات كبيرة على شبكة الإنترنت المظلمة من التسريبات السابقة أو عمليات اختراق المؤسسات التي تخزن هذه البيانات الحساسة. يشتري المحتالون قوائم البطاقات هذه ويحاولون إجراء أكبر عدد ممكن من المعاملات مع الأرقام المسروقة حتى يتم حظر البطاقة. تحدث هجمات الاحتيال هذه عادةً في إطار زمني قصير ، ويمكن رصد ذلك بسهولة في المعاملات التاريخية لأن سرعة المعاملات أثناء الهجوم تختلف اختلافًا كبيرًا عن نمط الإنفاق المعتاد لحامل البطاقة.
يوضح الجدول التالي سلسلة من المعاملات من بطاقة ائتمان واحدة حيث يكون لدى حامل البطاقة نمط إنفاق حقيقي أولاً ، ثم يتعرض لهجوم احتيال بدءًا من 4 نوفمبر.
cc_num | عبر_وقت | كمية | الاحتيال_تصنيف |
... 1248 | نوفمبر 01 14:50:01 | 10.15 | 0 |
... 1248 | نوفمبر 02 12:14:31 | 32.45 | 0 |
... 1248 | نوفمبر 02 16:23:12 | 3.12 | 0 |
... 1248 | نوفمبر 04 02:12:10 | 1.01 | 1 |
... 1248 | نوفمبر 04 02:13:34 | 22.55 | 1 |
... 1248 | نوفمبر 04 02:14:05 | 90.55 | 1 |
... 1248 | نوفمبر 04 02:15:10 | 60.75 | 1 |
... 1248 | نوفمبر 04 13:30:55 | 12.75 | 0 |
بالنسبة لهذا المنشور ، نقوم بتدريب نموذج ML على اكتشاف هذا النوع من السلوك من خلال الميزات الهندسية التي تصف نمط إنفاق البطاقة الفردية ، مثل عدد المعاملات أو متوسط مبلغ المعاملة من تلك البطاقة في نافذة زمنية معينة. يحمي هذا النموذج حاملي البطاقات من الاحتيال في نقاط البيع من خلال اكتشاف ومنع المعاملات المشبوهة قبل إتمام الدفع. يقوم النموذج بعمل تنبؤات في سياق وقت استجابة منخفض وفي الوقت الفعلي ويعتمد على تلقي حسابات الميزات الحديثة حتى يتمكن من الاستجابة لهجوم احتيال مستمر. في سيناريو العالم الحقيقي ، ستشكل الميزات المتعلقة بأنماط الإنفاق لحامل البطاقة جزءًا فقط من مجموعة ميزات النموذج ، ويمكننا تضمين معلومات حول التاجر وحامل البطاقة والجهاز المستخدم لإجراء الدفع وأي بيانات أخرى قد تكون ذات الصلة بالكشف عن الاحتيال.
نظرًا لأن حالة الاستخدام الخاصة بنا تعتمد على تحديد أنماط إنفاق البطاقة الفردية ، فمن الأهمية بمكان أن نتمكن من تحديد بطاقات الائتمان في تدفق المعاملات. لا توفر معظم مجموعات بيانات الكشف عن الاحتيال المتاحة للجمهور هذه المعلومات ، لذلك نستخدم لغة Python مختلق مكتبة لإنشاء مجموعة من المعاملات تغطي فترة 5 أشهر. تحتوي مجموعة البيانات هذه على 5.4 مليون معاملة موزعة على 10,000 رقم بطاقة ائتمان فريد (ومزيف) ، وهي غير متوازنة عن قصد لتتناسب مع واقع الاحتيال على بطاقات الائتمان (0.25٪ فقط من المعاملات احتيالية). نقوم بتغيير عدد المعاملات في اليوم لكل بطاقة ، وكذلك مبالغ المعاملات. انظر لدينا جيثب ريبو لمزيد من التفاصيل.
نظرة عامة على الحل
نريد أن يقوم نموذج الكشف عن الاحتيال لدينا بتصنيف معاملات بطاقة الائتمان من خلال ملاحظة سلسلة من المعاملات الأخيرة التي تختلف بشكل كبير عن نمط الإنفاق المعتاد لحامل البطاقة. تبدو بسيطة بما فيه الكفاية ، ولكن كيف نبنيها؟
يوضح الرسم البياني التالي بنية الحلول الشاملة لدينا. نشعر أن هذا النمط نفسه سيعمل بشكل جيد لمجموعة متنوعة من حالات استخدام التجميع المتدفقة. على مستوى عالٍ ، يشتمل النمط على القطع الخمس التالية:
- متجر الميزات - نحن نستخدم ميزة المتجر لتوفير مستودع من الميزات مع عمليات كتابة عالية الإنتاجية وقراءات آمنة بزمن انتقال منخفض ، باستخدام قيم الميزات التي يتم تنظيمها في مجموعات ميزات متعددة.
- ابتلاع دفعة - يأخذ استيعاب الدُفعات معاملات بطاقات الائتمان التاريخية المسماة ويخلق الميزات والنسب الإجمالية اللازمة لتدريب نموذج الكشف عن الاحتيال. نحن نستخدم ملف أمازون SageMaker معالجة الوظيفة و حاوية سبارك مدمجة لحساب إجمالي الأعداد الأسبوعية ومتوسطات مبالغ المعاملات واستيعابها في متجر الميزات لاستخدامها في الاستدلال عبر الإنترنت.
- التدريب النموذجي والنشر - هذا الجانب من حلنا واضح ومباشر. نحن نستخدم الأمازون SageMaker لتدريب نموذج باستخدام المدمج في خوارزمية XGBoost على الميزات المجمعة التي تم إنشاؤها من المعاملات التاريخية. يتم نشر النموذج في نقطة نهاية SageMaker ، حيث يتعامل مع طلبات الكشف عن الاحتيال في المعاملات المباشرة.
- ابتلاع البث - أ تحليلات بيانات Amazon Kinesis لتطبيق Apache Flink المدعوم بمواضيع Apache Kafka بتنسيق Amazon Managed Streaming لـ Apache Kafka (MSK) (Amazon MSK) يحسب الميزات المجمعة من تدفق المعاملات ، و AWS لامدا وظيفة بتحديث متجر الميزات عبر الإنترنت. اباتشي فلينك هو إطار ومحرك شائع لمعالجة تدفقات البيانات.
- تدفق التنبؤات - أخيرًا ، نجري تنبؤات بالاحتيال في سلسلة من المعاملات ، باستخدام Lambda لسحب الميزات الإجمالية من متجر الميزات عبر الإنترنت. نستخدم أحدث بيانات الميزات لحساب نسب المعاملات ثم استدعاء نقطة نهاية الكشف عن الاحتيال.
المتطلبات الأساسية المسبقة
نحن نقدم تكوين سحابة AWS لإنشاء موارد المتطلبات المسبقة لهذا الحل. يسرد الجدول التالي الأكوام المتاحة لمناطق مختلفة.
في الأقسام التالية ، نستكشف كل مكون من مكونات الحل الخاص بنا بمزيد من التفصيل.
متجر الميزات
تعتمد نماذج ML على ميزات جيدة الهندسة تأتي من مجموعة متنوعة من مصادر البيانات ، مع تحويلات بسيطة مثل الحسابات أو معقدة مثل خط أنابيب متعدد الخطوات يستغرق ساعات من وقت الحوسبة والتشفير المعقد. يتيح متجر الميزات إعادة استخدام هذه الميزات عبر الفرق والنماذج ، مما يحسن إنتاجية عالم البيانات ، ويسرع وقت الوصول إلى السوق ، ويضمن اتساق إدخال النموذج.
يتم تنظيم كل ميزة داخل Feature Store في مجموعة منطقية تسمى a مجموعة مميزة. أنت من يقرر مجموعات الميزات التي تحتاجها لنماذجك. يمكن أن يحتوي كل واحد على العشرات أو المئات أو حتى الآلاف من الميزات. تتم إدارة مجموعات الميزات وتوسيع نطاقها بشكل مستقل ، ولكنها جميعًا متاحة للبحث والاكتشاف عبر فرق من علماء البيانات المسؤولين عن العديد من نماذج ML وحالات الاستخدام المستقلة.
غالبًا ما تتطلب نماذج ML ميزات من مجموعات ميزات متعددة. يتمثل أحد الجوانب الرئيسية لمجموعة الميزات في عدد المرات التي تحتاج فيها قيم ميزاتها إلى التحديث أو تحقيقها للتدريب أو الاستدلال النهائي. يمكنك تحديث بعض الميزات كل ساعة أو كل ليلة أو أسبوعيًا ، ويجب دفق مجموعة فرعية من الميزات إلى متجر الميزات في الوقت الفعلي تقريبًا. قد يؤدي دفق جميع تحديثات الميزات إلى تعقيد غير ضروري ، وقد يؤدي إلى خفض جودة توزيعات البيانات من خلال عدم منحك الفرصة لإزالة القيم المتطرفة.
في حالة الاستخدام الخاصة بنا ، نقوم بإنشاء مجموعة ميزة تسمى cc-agg-batch-fg
لميزات بطاقة الائتمان المجمعة المحدثة دفعة واحدة ، وأحدها يسمى cc-agg-fg
لتدفق الميزات.
• cc-agg-batch-fg
يتم تحديث مجموعة الميزات ليلاً ، وتوفر ميزات مجمعة بالنظر إلى الوراء خلال نافذة زمنية مدتها أسبوع واحد. لا تقدم إعادة حساب التجميعات لمدة أسبوع واحد في معاملات البث إشارات ذات مغزى ، وستكون مضيعة للموارد.
على العكس من ذلك ، لدينا cc-agg-fg
يجب تحديث مجموعة الميزات بطريقة متدفقة ، لأنها توفر أحدث عدد للمعاملات ومتوسط مبالغ المعاملات بالنظر إلى الوراء خلال نافذة زمنية مدتها 10 دقائق. بدون تجميع التدفق ، لم نتمكن من تحديد نمط هجوم الاحتيال النموذجي لتسلسل سريع من عمليات الشراء.
من خلال عزل الميزات التي يتم إعادة حسابها ليلاً ، يمكننا تحسين إنتاجية استيعاب ميزات البث لدينا. يتيح لنا الفصل تحسين الاستيعاب لكل مجموعة على حدة. عند التصميم لحالات الاستخدام الخاصة بك ، ضع في اعتبارك أن النماذج التي تتطلب ميزات من عدد كبير من مجموعات الميزات قد ترغب في إجراء عمليات استرداد متعددة من مخزن الميزات بشكل متوازٍ لتجنب إضافة زمن انتقال زائد إلى سير عمل التنبؤ في الوقت الفعلي.
مجموعات الميزات لحالة الاستخدام الخاصة بنا موضحة في الجدول التالي.
سم مكعب-AGG-FG | cc- agg- دفعة- fg |
cc_num (معرف السجل) | cc_num (معرف السجل) |
عبر_وقت | عبر_وقت |
عدد_الترانس_الآخر_10 م | num_trans_last_1w |
متوسط_عمت_الآخر_10 م | avg_amt_last_1w |
يجب أن تحتوي كل مجموعة ميزات على ميزة واحدة تُستخدم كمعرف سجل (لهذا المنشور ، رقم بطاقة الائتمان). يعمل معرّف السجل كمفتاح أساسي لمجموعة الميزات ، مما يتيح عمليات البحث السريعة بالإضافة إلى الانضمام عبر مجموعات الميزات. ميزة وقت الحدث مطلوبة أيضًا ، والتي تمكن متجر الميزات من تتبع محفوظات قيم الميزة بمرور الوقت. يصبح هذا مهمًا عند الرجوع إلى حالة الميزات في نقطة زمنية محددة.
في كل مجموعة ميزات ، نتتبع عدد المعاملات لكل بطاقة ائتمان فريدة ومتوسط مبلغ المعاملة. الاختلاف الوحيد بين مجموعتنا هو النافذة الزمنية المستخدمة للتجميع. نستخدم نافذة مدتها 10 دقائق لتجميع البث ونافذة مدتها أسبوع واحد لتجميع الدُفعات.
باستخدام Feature Store ، لديك المرونة لإنشاء مجموعات ميزات غير متصلة بالإنترنت فقط ، أو متصلة بالإنترنت فقط ، أو متصلة بالإنترنت وغير متصلة بالإنترنت. يوفر المتجر عبر الإنترنت عمليات كتابة عالية الإنتاجية وعمليات استرداد منخفضة زمن الوصول لقيم الميزات ، وهو أمر مثالي للاستدلال عبر الإنترنت. يتم توفير متجر غير متصل بالإنترنت باستخدام خدمة تخزين أمازون البسيطة (Amazon S3) ، مما يمنح الشركات مستودعًا قابلاً للتوسع بدرجة عالية ، مع سجل كامل لقيم الميزات ، مقسمًا حسب مجموعة الميزات. يعد المتجر غير المتصل بالإنترنت مثاليًا للتدريب وحالات استخدام تسجيل الدُفعات.
عندما تقوم بتمكين مجموعة ميزات لتوفير كل من المتاجر عبر الإنترنت وغير المتصلة ، يقوم SageMaker تلقائيًا بمزامنة قيم الميزات إلى متجر غير متصل بالإنترنت ، مع إلحاق أحدث القيم باستمرار لمنحك سجلًا كاملاً للقيم بمرور الوقت. فائدة أخرى لمجموعات الميزات الموجودة على الإنترنت وغير المتصلة بالإنترنت هي أنها تساعد في تجنب مشكلة انحراف التدريب والاستدلال. يتيح لك SageMaker تغذية كل من التدريب والاستدلال بنفس قيم الميزات المحولة ، مما يضمن الاتساق لتحقيق تنبؤات أكثر دقة. ينصب التركيز في منشورنا على إظهار تدفق الميزات عبر الإنترنت ، لذلك قمنا بتطبيق مجموعات ميزات عبر الإنترنت فقط.
ابتلاع دفعة
لتجسيد ميزات الدُفعات الخاصة بنا ، نقوم بإنشاء خط أنابيب للميزات يعمل كوظيفة معالجة SageMaker على أساس ليلي. للوظيفة مسؤوليتين: إنتاج مجموعة البيانات لتدريب نموذجنا ، وملء مجموعة ميزات الدُفعات بأحدث القيم للميزات الإجمالية لمدة أسبوع واحد ، كما هو موضح في الرسم التخطيطي التالي.
يتم إثراء كل معاملة تاريخية مستخدمة في مجموعة التدريب بميزات مجمعة لبطاقة الائتمان المحددة المشاركة في المعاملة. ننظر إلى الوراء في نافذتين زمنيتين منفصلتين: أسبوع واحد إلى الوراء ، والدقائق العشر السابقة. تتضمن الميزات الفعلية المستخدمة لتدريب النموذج النسب التالية لهذه القيم المجمعة:
- amt_ratio1 =
avg_amt_last_10m / avg_amt_last_1w
- amt_ratio2 =
transaction_amount / avg_amt_last_1w
- النسبة =
num_trans_last_10m / num_trans_last_1w
على سبيل المثال، count_ratio
هو عدد المعاملات من الدقائق العشر السابقة مقسومًا على عدد المعاملات من الأسبوع الماضي.
يمكن أن يتعلم نموذج ML الخاص بنا أنماط النشاط الطبيعي مقابل النشاط الاحتيالي من هذه النسب ، بدلاً من الاعتماد على الأعداد الأولية ومبالغ المعاملات. تختلف أنماط الإنفاق على البطاقات المختلفة اختلافًا كبيرًا ، لذا فإن النسب المقيسة توفر إشارة أفضل للنموذج من المبالغ المجمعة نفسها.
قد تتساءل عن سبب قيام وظيفة الدُفعات لدينا بحوسبة الميزات مع مراجعة مدتها 10 دقائق. أليس هذا مناسبًا فقط للاستدلال عبر الإنترنت؟ نحتاج إلى نافذة مدتها 10 دقائق على المعاملات التاريخية لإنشاء مجموعة بيانات تدريب دقيقة. يعد هذا أمرًا بالغ الأهمية لضمان الاتساق مع نافذة البث التي تبلغ مدتها 10 دقائق والتي سيتم استخدامها في الوقت الفعلي تقريبًا لدعم الاستدلال عبر الإنترنت.
يمكن حفظ مجموعة بيانات التدريب الناتجة من مهمة المعالجة مباشرة كملف CSV للتدريب على النموذج ، أو يمكن استيعابها بشكل مجمّع في مجموعة ميزات غير متصلة بالإنترنت يمكن استخدامها للنماذج الأخرى وفرق علوم البيانات الأخرى لمعالجة مجموعة متنوعة من أخرى استخدم حالات. على سبيل المثال ، يمكننا إنشاء وملء مجموعة ميزات تسمى cc-transactions-fg
. يمكن لوظيفة التدريب لدينا بعد ذلك سحب مجموعة بيانات تدريب محددة بناءً على احتياجات نموذجنا المحدد ، واختيار نطاقات زمنية محددة ومجموعة فرعية من الميزات ذات الأهمية. يمكّن هذا النهج فرقًا متعددة من إعادة استخدام مجموعات الميزات والحفاظ على عدد أقل من خطوط أنابيب الميزات ، مما يؤدي إلى توفير كبير في التكاليف وتحسينات الإنتاجية بمرور الوقت. هذا المثال دفتر يوضح نمط استخدام Feature Store كمستودع مركزي يمكن لعلماء البيانات من خلاله استخراج مجموعات بيانات التدريب.
بالإضافة إلى إنشاء مجموعة بيانات تدريبية ، نستخدم ملحق PutRecord
API لوضع تجميعات الميزات لمدة أسبوع واحد في متجر الميزات عبر الإنترنت ليلاً. يوضح الكود التالي وضع سجل في مجموعة ميزات عبر الإنترنت وفقًا لقيم ميزة معينة ، بما في ذلك معرف السجل ووقت الحدث:
غالبًا ما ينشئ مهندسو ML إصدارًا منفصلاً من رمز هندسة الميزات للميزات عبر الإنترنت استنادًا إلى الكود الأصلي الذي كتبه علماء البيانات لتدريب النموذج. يمكن أن يقدم هذا الأداء المطلوب ، ولكنه يعد خطوة تطوير إضافية ، ويوفر فرصة أكبر للتدريب والانحراف الاستدلال. في حالة الاستخدام الخاصة بنا ، نوضح كيف يمكن أن يؤدي استخدام SQL للتجميعات إلى تمكين عالم البيانات من توفير نفس الرمز لكل من الدُفعات والبث.
ابتلاع البث
يوفر Feature Store استردادًا مكونًا من رقم واحد بالمللي ثانية للميزات المحسوبة مسبقًا ، ويمكنه أيضًا أن يلعب دورًا فعالاً في الحلول التي تتطلب البث المتدفق. حالة الاستخدام الخاصة بنا توضح كليهما. يتم التعامل مع المراجعة الأسبوعية كمجموعة ميزات محسوبة مسبقًا ، تتحقق كل ليلة كما هو موضح سابقًا. الآن دعنا نتعمق في كيفية حساب الميزات المجمعة أثناء التنقل خلال نافذة مدتها 10 دقائق واستيعابها في متجر الميزات للاستدلال لاحقًا عبر الإنترنت.
في حالة الاستخدام الخاصة بنا ، نقوم باستيعاب معاملات بطاقة الائتمان المباشرة إلى موضوع MSK المصدر ، واستخدام Kinesis Data Analytics لتطبيق Apache Flink لإنشاء ميزات مجمعة في موضوع MSK الوجهة. التطبيق مكتوب باستخدام أباتشي فلينك SQL. يجعل Flink SQL تطوير التطبيقات المتدفقة باستخدام لغة SQL القياسية أمرًا سهلاً. من السهل تعلم Flink إذا كنت قد عملت مع قاعدة بيانات أو نظام يشبه SQL من خلال الاستمرار في التوافق مع ANSI-SQL 2011. بصرف النظر عن SQL ، يمكننا إنشاء تطبيقات Java و Scala بتنسيق تحليلات بيانات Amazon Kinesis باستخدام مكتبات مفتوحة المصدر تعتمد على Apache Flink. ثم نستخدم وظيفة Lambda لقراءة موضوع MSK الوجهة واستيعاب الميزات المجمعة في مجموعة ميزات SageMaker للاستدلال. يعد إنشاء تطبيق Apache Flink باستخدام Flink's SQL API أمرًا سهلاً. نستخدم Flink SQL لتجميع البيانات المتدفقة في موضوع MSK المصدر وتخزينها في موضوع MSK الوجهة.
لإنتاج أعداد مجمعة ومتوسط المبالغ بالنظر إلى الوراء خلال نافذة مدتها 10 دقائق ، نستخدم استعلام Flink SQL التالي حول موضوع الإدخال وننقل النتائج إلى الموضوع الوجهة:
cc_num | كمية | التاريخ والوقت | عدد_الترانس_الآخر_10 م | متوسط_عمت_الآخر_10 م |
... 1248 | 50.00 | نوفمبر - 01,22 ، 01: 00:XNUMX | 1 | 74.99 |
... 9843 | 99.50 | نوفمبر - 01,22 ، 02: 30:XNUMX | 1 | 99.50 |
... 7403 | 100.00 | نوفمبر - 01,22 ، 03: 48:XNUMX | 1 | 100.00 |
... 1248 | 200.00 | نوفمبر - 01,22 ، 03: 59:XNUMX | 2 | 125.00 |
... 0732 | 26.99 | نوفمبر 01، 22:04:15 | 1 | 26.99 |
... 1248 | 50.00 | نوفمبر - 01,22 ، 04: 28:XNUMX | 3 | 100.00 |
... 1248 | 500.00 | نوفمبر - 01,22 ، 05: 05:XNUMX | 4 | 200.00 |
في هذا المثال ، لاحظ أن الصف الأخير يحتوي على أربع حركات في آخر 10 دقائق من بطاقة الائتمان التي تنتهي بـ 1248 ، ومتوسط مبلغ المعاملة المقابل 200.00 دولار. يتوافق استعلام SQL مع الاستعلام المستخدم في إنشاء مجموعة بيانات التدريب لدينا ، مما يساعد على تجنب التدريب والانحراف في الاستدلال.
أثناء تدفق المعاملات إلى Kinesis Data Analytics لتطبيق تجميع Apache Flink ، يرسل التطبيق النتائج الإجمالية إلى وظيفة Lambda الخاصة بنا ، كما هو موضح في الرسم البياني التالي. تأخذ وظيفة Lambda هذه الميزات وتقوم بملء ملف cc-agg-fg
مجموعة مميزة.
نرسل أحدث قيم الميزات إلى متجر الميزات من Lambda باستخدام استدعاء بسيط إلى PutRecord API. ما يلي هو الجزء الأساسي من كود Python لتخزين الميزات الإجمالية:
نقوم بإعداد السجل كقائمة من أزواج القيم المسماة ، بما في ذلك الوقت الحالي كوقت الحدث. تضمن Feature Store API أن هذا السجل الجديد يتبع المخطط الذي حددناه عندما أنشأنا مجموعة الميزات. إذا كان هناك بالفعل سجل لهذا المفتاح الأساسي ، فسيتم استبداله الآن في المتجر عبر الإنترنت.
تدفق التنبؤات
الآن بعد أن أصبح لدينا عرض متدفق مع الحفاظ على تحديث مخزن الميزات بأحدث قيم الميزات ، فلنلقِ نظرة على كيفية قيامنا بتنبؤات الاحتيال.
نقوم بإنشاء دالة Lambda ثانية تستخدم موضوع MSK المصدر كمشغل. لكل حدث معاملة جديد ، تسترد وظيفة Lambda أولاً ميزات الدُفعات والبث من متجر الميزات. لاكتشاف الانحرافات في سلوك بطاقة الائتمان ، يبحث نموذجنا عن الارتفاعات المفاجئة في مبالغ الشراء الأخيرة أو تكرار الشراء. تحسب دالة Lambda النسب البسيطة بين التجميعات لمدة أسبوع واحد والتجميعات التي تبلغ مدتها 1 دقائق. ثم تستدعي نقطة نهاية نموذج SageMaker باستخدام تلك النسب لعمل توقع الاحتيال ، كما هو موضح في الرسم التخطيطي التالي.
نستخدم الكود التالي لاسترداد قيم الميزات عند الطلب من متجر الميزات قبل استدعاء نقطة نهاية نموذج SageMaker:
يدعم SageMaker أيضًا استرداد سجلات الميزات المتعددة بامتداد مكالمة واحدة، حتى لو كانوا من مجموعات ميزات مختلفة.
أخيرًا ، مع تجميع متجه ميزة إدخال النموذج ، نسمي نقطة النهاية النموذجية للتنبؤ بما إذا كانت معاملة بطاقة ائتمان معينة احتيالية. يدعم SageMaker أيضًا استرداد سجلات الميزات المتعددة بمكالمة واحدة ، حتى لو كانت من مجموعات ميزات مختلفة.
sagemaker_runtime = boto3.client(service_name='runtime.sagemaker')
request_body = ','.join(features)
response = sagemaker_runtime.invoke_endpoint( EndpointName=ENDPOINT_NAME, ContentType='text/csv', Body=request_body)
probability = json.loads(response['Body'].read().decode('utf-8'))
في هذا المثال ، عاد النموذج مع احتمال 98٪ أن المعاملة المحددة كانت احتيالية ، وكان قادرًا على استخدام ميزات إدخال مجمعة في الوقت الفعلي تقريبًا استنادًا إلى آخر 10 دقائق من المعاملات على بطاقة الائتمان هذه.
اختبر الحل الشامل
لإثبات سير العمل الكامل للحل الذي نقدمه ، نقوم ببساطة بإرسال معاملات بطاقات الائتمان إلى موضوع مصدر MSK الخاص بنا. تتولى تحليلات بيانات Kinesis التلقائية الخاصة بنا لتجميع Apache Flink من هناك ، مع الحفاظ على عرض شبه فوري لأعداد المعاملات ومبالغها في متجر الميزات ، مع نافذة مراجعة منزلقة مدتها 10 دقائق. يتم دمج هذه الميزات مع الميزات الإجمالية لمدة أسبوع واحد والتي تم استيعابها بالفعل في متجر الميزات دفعة واحدة ، مما يتيح لنا إجراء تنبؤات بالاحتيال في كل معاملة.
نرسل معاملة واحدة من ثلاث بطاقات ائتمان مختلفة. ثم نقوم بمحاكاة هجوم احتيالي على بطاقة ائتمان رابعة عن طريق إرسال العديد من المعاملات المتتالية في ثوانٍ. يظهر الإخراج من وظيفة Lambda الخاصة بنا في لقطة الشاشة التالية. كما هو متوقع ، يتم توقع المعاملات الثلاث الأولى لمرة واحدة على أنها NOT FRAUD
. من بين 10 معاملات احتيالية ، من المتوقع أن تكون الأولى NOT FRAUD
، ويتم تحديد البقية بشكل صحيح على أنها FRAUD
. لاحظ كيف يتم تحديث الميزات الإجمالية ، مما يساعد في الحصول على تنبؤات أكثر دقة.
وفي الختام
لقد أظهرنا كيف يمكن لـ Feature Store أن يلعب دورًا رئيسيًا في بنية الحلول لعمليات سير العمل التشغيلية الهامة التي تحتاج إلى تجميع متدفق واستنتاج بزمن انتقال منخفض. مع وجود متجر ميزات جاهز للمؤسسات ، يمكنك استخدام كل من استيعاب الدُفعات وبث البث المباشر لتغذية مجموعات الميزات ، والوصول إلى قيم الميزات عند الطلب لإجراء تنبؤات عبر الإنترنت لقيمة تجارية كبيرة. يمكن الآن مشاركة ميزات ML على نطاق واسع عبر العديد من فرق علماء البيانات والآلاف من نماذج ML ، مما يؤدي إلى تحسين اتساق البيانات ودقة النموذج وإنتاجية علماء البيانات. متجر الميزات متاح الآن ، ويمكنك تجربة ذلك المثال بأكمله. اسمحوا لنا أن نعرف ما هو رأيك.
شكر خاص لكل من ساهم في مشاركة المدونة السابقة بهندسة معمارية مماثلة: بول هارجيس وجيمس ليوني وأرونبراساث شانكار.
حول المؤلف
مارك روي هو مهندس رئيسي لتعلم الآلة في AWS ، يساعد العملاء على تصميم وبناء حلول AI / ML. يغطي عمل Mark مجموعة واسعة من حالات استخدام ML ، مع اهتمام أساسي بمخازن الميزات ورؤية الكمبيوتر والتعلم العميق وتوسيع ML عبر المؤسسة. لقد ساعد الشركات في العديد من الصناعات ، بما في ذلك التأمين والخدمات المالية والإعلام والترفيه والرعاية الصحية والمرافق والتصنيع. يحمل مارك ست شهادات AWS ، بما في ذلك شهادة التخصص في ML. قبل انضمامه إلى AWS ، كان مارك مهندسًا معماريًا ومطورًا وقائدًا في مجال التكنولوجيا لأكثر من 25 عامًا ، بما في ذلك 19 عامًا في الخدمات المالية.
راج راماسوبو هو مهندس حلول متخصص أول في التحليلات يركز على البيانات الضخمة والتحليلات و AI / ML مع Amazon Web Services. إنه يساعد العملاء في تصميم وبناء حلول قائمة على السحابة وقابلة للتطوير وذات أداء عالي وآمنة على AWS. قدم راج الخبرة الفنية والقيادة في بناء هندسة البيانات وتحليلات البيانات الضخمة وذكاء الأعمال وحلول علوم البيانات لأكثر من 18 عامًا قبل انضمامه إلى AWS. ساعد العملاء في قطاعات صناعية مختلفة مثل الرعاية الصحية ، والأجهزة الطبية ، وعلوم الحياة ، وتجارة التجزئة ، وإدارة الأصول ، والتأمين على السيارات ، وصناديق الاستثمار العقارية السكنية ، والزراعة ، والتأمين على الملكية ، وسلسلة التوريد ، وإدارة المستندات ، والعقارات.
برابهاكار شاندراسيكاران هو مدير حساب فني أول مع AWS Enterprise Support. يتمتع Prabhakar بمساعدة العملاء على بناء حلول AI / ML المتطورة على السحابة. كما أنه يعمل مع العملاء من المؤسسات لتقديم التوجيه الاستباقي والمساعدة التشغيلية ، مما يساعدهم على تحسين قيمة حلولهم عند استخدام AWS. يحمل برابهاكار ست شهادات AWS وست شهادات مهنية أخرى. مع أكثر من 20 عامًا من الخبرة المهنية ، كان Prabhakar مهندس بيانات وقائد برنامج في مجال الخدمات المالية قبل الانضمام إلى AWS.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. الوصول هنا.
- سك المستقبل مع أدرين أشلي. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/machine-learning/use-streaming-ingestion-with-amazon-sagemaker-feature-store-and-amazon-msk-to-make-ml-backed-decisions-in-near-real-time/
- :لديها
- :يكون
- $ UP
- 000
- 1
- 10
- 100
- 11
- 20 سنة
- 2011
- 7
- 8
- a
- ماهرون
- من نحن
- الوصول
- حسابي
- دقة
- دقيق
- في
- نشاط
- الأفعال
- Ad
- إضافة
- العنوان
- الوكيل
- تجميع
- زراعة
- AI / ML
- المطار
- الكل
- سابقا
- أمازون
- الأمازون SageMaker
- أمازون ويب سيرفيسز
- كمية
- المبالغ
- تحليلات
- و
- آخر
- أي وقت
- أباتشي
- بعيدا
- API
- التطبيق
- تطبيق
- التطبيقات
- نهج
- هندسة معمارية
- هي
- AS
- جانب
- تجميعها
- الأصول
- إدارة الأصول
- مساعدة
- At
- مهاجمة
- الهجمات
- الآلي
- تلقائيا
- متاح
- المتوسط
- AWS
- الى الخلف
- المدعومة
- على أساس
- أساس
- BE
- لان
- يصبح
- قبل
- تستفيد
- أفضل
- أفضل
- ما بين
- كبير
- البيانات الكبيرة
- سدت
- حجب
- المدونة
- الجسدي
- اشترى
- نساعدك في بناء
- ابني
- بنيت
- الأعمال
- ذكاء الأعمال
- يشترى
- by
- حساب
- تحسب
- الحسابات
- دعوة
- مركز الاتصال
- تسمى
- دعوة
- CAN
- قدرات
- سيارة
- فيزا وماستركارد
- بطاقات
- حقيبة
- الحالات
- مركز
- مركزي
- معين
- الشهادات
- الشهادات
- سلسلة
- التحديات
- فرصة
- تغيير
- اختار
- صنف
- سحابة
- الكود
- البرمجة
- الجمع بين
- آت
- الشركات
- إكمال
- مجمع
- تعقيد
- متوافقة
- معقد
- عنصر
- شامل
- إحصاء
- الكمبيوتر
- رؤية الكمبيوتر
- الحوسبة
- ثابتة
- يحتوي
- سياق الكلام
- بشكل متواصل
- ساهمت
- جوهر
- المقابلة
- التكلفة
- وفورات في التكاليف
- استطاع
- زوجان
- تغطية
- يغطي
- خلق
- خلق
- يخلق
- خلق
- خلق
- ائتمان
- بطاقة إئتمان
- بطاقات الائتمان
- حرج
- حاسم
- حالياًّ
- العملاء
- المتطور والحديث
- غامق
- الويب المظلم
- البيانات
- تحليلات البيانات
- علم البيانات
- عالم البيانات
- قاعدة البيانات
- قواعد البيانات
- التاريخ
- يوم
- تقرر
- القرارات
- عميق
- التعلم العميق
- نقل
- يسلم
- الطلب
- شرح
- يوضح
- نشر
- وصف
- تصميم
- تصميم
- مطلوب
- افضل الرحلات السياحية
- التفاصيل
- تفاصيل
- كشف
- تطوير
- المطور
- التطوير التجاري
- جهاز
- الأجهزة
- فرق
- مختلف
- مباشرة
- اكتشاف
- التوزيعات
- منقسم
- وثيقة
- إدارة الوثائق
- دولار
- لا
- عشرات
- قيادة
- سائق
- أثناء
- حيوي
- كل
- في وقت سابق
- بسهولة
- الطُرق الفعّالة
- تمكين
- تمكن
- تمكين
- النهائي إلى نهاية
- نقطة النهاية
- محرك
- مهندس
- الهندسة
- المهندسين
- ضخم
- كاف
- المخصب
- يضمن
- ضمان
- مشروع
- الشركات
- ترفيه
- عزبة
- حتى
- الحدث/الفعالية
- EVER
- كل شخص
- مثال
- متوقع
- الخبره في مجال الغطس
- خبرة
- خبرة
- اكتشف
- احتفل على
- استخراج
- زائف
- الأزياء
- FAST
- الميزات
- المميزات
- نهائي
- مالي
- الخدمات المالية
- الشركات
- الاسم الأول
- مرونة
- تركز
- ركز
- متابعيك
- متابعات
- في حالة
- النموذج المرفق
- أربعة
- رابع
- FRAME
- الإطار
- احتيال
- الكشف عن الغش
- المحتالين
- محتال
- نشاط احتيالي
- تردد
- تبدأ من
- بالإضافة إلى
- تماما
- وظيفة
- علاوة على ذلك
- توليد
- دولار فقط واحصل على خصم XNUMX% على جميع
- منح
- معطى
- إعطاء
- خير
- عظيم
- جدا
- تجمع
- مجموعات
- ينمو
- توجيه
- الخارقة
- مقابض
- يحدث
- يملك
- وجود
- he
- الرعاية الصحية
- مساعدة
- ساعد
- مساعدة
- يساعد
- مرتفع
- جدا
- تاريخي
- تاريخ
- يحمل
- ساعات العمل
- كيفية
- HTML
- HTTP
- HTTPS
- مئات
- ID
- المثالي
- محدد
- معرف
- تحديد
- نفذت
- أهمية
- تحسن
- تحسينات
- تحسين
- in
- تتضمن
- بما فيه
- الوارد
- على نحو متزايد
- مستقل
- بشكل مستقل
- فرد
- الصناعات
- العالمية
- معلومات
- البنية التحتية
- إدخال
- بدلًا من ذلك
- التأمين
- رؤيتنا
- عمدا
- مصلحة
- يدخل
- يتضرع
- المشاركة
- IT
- انها
- جافا
- وظيفة
- انضمام
- ينضم
- JPG
- جسون
- احتفظ
- حفظ
- القفل
- نوع
- علم
- معروف
- البلد
- كبير
- اسم العائلة
- كمون
- آخر
- قيادة
- زعيم
- القيادة
- قيادة
- التسريبات
- تعلم
- تعلم
- يتيح
- السماح
- مستوى
- المكتبات
- المكتبة
- الحياة
- علم الحياة
- مثل
- محدود
- قائمة
- قوائم
- حي
- منطقي
- بحث
- أبحث
- تبدو
- آلة
- آلة التعلم
- المحافظة
- الحفاظ على
- جعل
- يصنع
- القيام ب
- تمكن
- إدارة
- مدير
- تصنيع
- كثير
- علامة
- مارك
- تجارة
- مباراة
- مايو..
- ذات مغزى
- الوسائط
- طبي
- تاجر
- مليون
- ملايين
- مانع
- دقيقة
- دقيقة
- ML
- نموذج
- عارضات ازياء
- الأكثر من ذلك
- أكثر
- متعدد
- عين
- حاجة
- إحتياجات
- جديد
- التالي
- عادي
- نوفمبر
- عدد
- أرقام
- of
- عرض
- عروض
- حاليا
- on
- ONE
- جارية
- online
- المصدر المفتوح
- تشغيل
- الأمثل
- طلب
- المنظمات
- منظم
- أصلي
- أخرى
- لنا
- الناتج
- على مدى
- الكلي
- الخاصة
- أزواج
- موازية
- جزء
- الماضي
- نمط
- أنماط
- بول
- وسائل الدفع
- نفذ
- أداء
- فترة
- اختيار
- قطعة
- قطعة
- أنبوب
- خط أنابيب
- المكان
- وضع
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- بلايستشن
- البوينت
- الرائج
- ممكن
- منشور
- تنبأ
- وتوقع
- تنبؤ
- تنبؤات
- إعداد
- أعدت
- سابق
- السعر
- التسعير
- ابتدائي
- رئيسي
- قبل
- استباقية
- المشكلة
- معالجة
- إنتاج
- المنتج
- إنتاجية
- المنتجات
- محترف
- جانبي
- البرنامج
- المتوقع
- الملكية
- تزود
- المقدمة
- ويوفر
- توفير
- علانية
- شراء
- مشتريات
- وضع
- وضع
- بايثون
- جودة
- بسرعة
- نطاق
- سريع
- بدلا
- الخام
- عرض
- حقيقي
- العقارات
- العالم الحقيقي
- في الوقت الحقيقي
- واقع
- تلقى
- يستلم
- الأخيرة
- التوصية
- سجل
- تسجيل
- المناطق
- ذات صلة
- ذات الصلة
- المتبقية
- إزالة
- مستودع
- طلبات
- تطلب
- مطلوب
- سكني
- الموارد
- الرد
- استجابة
- المسؤوليات
- مسؤول
- REST
- نتيجة
- مما أدى
- النتائج
- بيع بالتجزئة
- إعادة استخدام
- Ride
- قوي
- النوع
- صف
- sagemaker
- تخفيضات
- نفسه
- مدخرات
- تحجيم
- حجم
- النطاقات
- التحجيم
- سيناريو
- علوم
- عالم
- العلماء
- النقاط
- بحث
- الثاني
- ثواني
- أقسام
- تأمين
- آمن
- اختيار
- إرسال
- كبير
- حساس
- مستقل
- تسلسل
- الخدمة
- خدماتنا
- الجلسة
- طقم
- شاركت
- مشاركة
- قصير
- إظهار
- أظهرت
- يظهر
- سيجنل
- إشارات
- هام
- بشكل ملحوظ
- مماثل
- الاشارات
- ببساطة
- عزباء
- SIX
- انحرف
- انزلاق
- So
- حل
- الحلول
- بعض
- شيء
- مصدر
- مصادر
- الفضاء
- شرارة
- متخصص
- تخصص
- محدد
- بسرعة
- أنفق
- الإنفاق
- قضى
- التموج
- بقعة
- انتشار
- كومات
- معيار
- ابتداء
- الولايه او المحافظه
- خطوة
- مسروق
- تخزين
- متجر
- فروعنا
- تخزين
- صريح
- مجرى
- تدفق
- متدفق
- تيارات
- هذه
- تزويد
- سلسلة التوريد
- الدعم
- الدعم
- مشكوك فيه
- نظام
- جدول
- يأخذ
- فريق
- تقني
- تكنولوجيا
- قالب
- شكر
- أن
- •
- المصدر
- الدولة
- من مشاركة
- منهم
- أنفسهم
- تشبه
- الآلاف
- ثلاثة
- عبر
- الإنتاجية
- الوقت
- مرات
- عنوان
- إلى
- موضوع
- المواضيع
- مسار
- قطار
- قادة الإيمان
- صفقة
- المعاملات
- التحولات
- تحول
- يثير
- نموذجي
- عادة
- فريد من نوعه
- حديث جديد
- تحديث
- آخر التحديثات
- us
- تستخدم
- حالة الاستخدام
- مستعمل
- خدمات
- قيمنا
- القيم
- تشكيلة
- مختلف
- ● السرعة
- الباعة
- الإصدار
- القطاعات
- المزيد
- رؤيتنا
- vs
- نفاية
- الويب
- خدمات ويب
- أسبوع
- أسبوعي
- حسن
- ابحث عن
- التي
- من الذى
- واسع
- مدى واسع
- سوف
- نوافذ
- مع
- بدون
- يتساءل
- للعمل
- عمل
- سير العمل
- أعمال
- سوف
- مكتوب
- XGBoost
- سنوات
- أنت
- حل متجر العقارات الشامل الخاص بك في جورجيا
- نفسك
- زفيرنت