تخطّ إلى المحتوى
كل الرؤى طبقة البيانات المالية

عقود البيانات (data contracts) لخطوط أنابيب الذكاء الاصطناعي المالي

تغيير صامت في المخطط (schema) عند المصدر يُعطّل نموذجًا في المصبّ. إليك كيف نستخدم عقود البيانات (data contracts) لجعل التغذيات المالية آمنة لبناء الذكاء الاصطناعي عليها.

متخصصون في القطاع المالي يعملون على مبادرة للذكاء الاصطناعي

عقد البيانات (data contract) هو اتفاق مُدار بالإصدارات ومفروض بشأن تغذية بيانات: مخططها (schema)، ومعنى كل حقل، وتوقّعات الحداثة والقيم الفارغة (nulls)، ونطاقات القيم المسموح بها، ومالكها. في خط أنابيب للذكاء الاصطناعي المالي يقع هذا العقد عند نقطة دخول التغذية إلى نطاق تحكّمك، ويُفشِل بصوت عالٍ حين ينحرف الواقع عن الاتفاق، حتى لا يتمكّن تغيير على بُعد ثلاثة فرق عند المصدر من تسميم نموذج إنتاجي في صمت.

الفشل الذي يمنعه محدّد وشائع. يعيد مورّد تسمية عمود، أو يغيّر رمز العملة من الحروف بمعيار ISO إلى الشكل الرقمي، أو يبدأ بإرسال الأسعار كسلاسل نصية بفواصل للآحاد والآلاف. لا شيء يُطلق خطأً. مهمة التحميل تنجح، ومهمة توليد الخصائص (features) تنجح، والنموذج يُنتج درجاته. بعد أسبوعين يلاحظ أحدهم أن معدّل الإيجابيات الكاذبة (false-positive rate) في نموذج فحص (screening) قد ارتفع، أو أن رقم انكشاف (exposure) في تقرير مُنحرف بمعامل لا يستطيع أحد تفسيره. عندئذٍ تكون القيم الفاسدة قد استقرّت في مخزن الخصائص (feature store) لديك، وفي مجموعات التقييم (eval sets)، وربما في بعض القرارات التي لا يمكنك التراجع عنها. الجزء المكلف نادرًا ما يكون التوقّف عن العمل، بل الأيام التي تُنفق في إثبات أيٌّ من أربعين حقلًا عند المصدر قد تغيّر، ومتى.

ماذا يحتوي العقد فعليًّا

المخطط (schema) يخبرك أن حقلًا اسمه settlement_amount وأنه من النوع العشري (decimal). هذا هو الجزء السهل، وليس فيه يؤلمك بيانات المال. الضرر يسكن في الدلالات والتوقيت، لذا على العقد أن يغطّي ما هو أكثر من الشكل.

  • المعنى، لا النوع فقط. كلمة price بلا معنى ما لم تعرف أهو سعر نظيف (clean) أم غير نظيف (dirty)، وسيط (mid) أم آخر صفقة (last-trade)، وبأي عملة، ولكل أي كمية. نُدوّن هذه كتوكيدات (assertions) على مستوى الحقل، ونرفض الصفوف التي تخالفها.
  • الحداثة والاكتمال. التغذية التي تتأخر عادةً بمقدار 30 ثانية ثم تصبح فجأةً متقادمة بست ساعات هي تغذية معطوبة، حتى لو كانت كل قيمة مُشكّلة تشكيلًا سليمًا. ينصّ العقد على التأخّر المتوقّع وعلى عدد الصفوف المتوقّع في كل نافذة زمنية، وأي نقص يُفشِل الفحص.
  • قواعد نطاق القيم والإحالة المرجعية. يجب أن تكون رموز العملات ضمن مجموعة معروفة. ويجب أن تُحلّ معرّفات الأدوات المالية مقابل السجل الرئيسي للأوراق المالية (security master). الكمية السالبة في تغذية لا تحمل مراكز بيع على المكشوف (shorts) أبدًا هي خلل، لا نقطة بيانات.
  • دلالات الزمن-النقطي (point-in-time). لأي حقل يُعاد بيانه (restated)، يسجّل العقد ما إذا كانت القيمة نهائية أم مؤقتة، ويحظر أي طمس صامت للتاريخ. هذا هو الجزء الذي يحميك من الاستشراف (lookahead): إذا أمكن لرقم مُعاد بيانه أن يحلّ في صمت محلّ ما كان صحيحًا كما-في تاريخ القرار، فإن اختبارك الرجعي (backtest) محض خيال.
  • مالك وإصدار. كل عقد يُسمّي شخصًا أو فريقًا مسؤولًا عن التغييرات، ورقم إصدار. التغييرات الكاسرة تستلزم رفع رقم الإصدار، وهو الخطّاف الذي يراقبه بقية النظام.

افرض عند الحدّ، واجعل العطب صاخبًا

القاعدة التي نلتزم بها: تحقّق من التغذية لحظة دخولها نطاق تحكّمك، قبل أن تقرأها خاصية واحدة. ادفع الفرض إلى المصبّ فتكون كمن يفحص المريض بعد أن انتشرت العدوى. التقطه عند الاستيعاب (ingestion) فيصبح نطاق الانفجار تغذيةً واحدةً في يومٍ واحد.

عمليًّا، هذا يعني مرحلة تحقّق بين مكان الهبوط الخام (raw landing) وأي شيء تلمسه نماذجك. تفحص هذه المرحلة الدفعات (batches) أو الرسائل الواردة مقابل العقد، وتوجّه حالات الفشل إلى حجرٍ صحّي (quarantine) بدلًا من الجدول الرئيسي. الدفعة المحجوزة لا تختفي في صمت، ولا تمرّ في صمت. إنها توقف القسم (partition) المتأثّر، وتستدعي المالك مرفقةً بالتوكيد المضبوط الذي فشل وثلاثة صفوف عيّنة كسرت العقد. الغاية أن يكون انتهاك العقد ظاهرًا كوضوح اختبار وحدة (unit test) فاشل، لأن هذا ما هو عليه بالضبط.

هناك خياران في التصميم يهمّان هنا. أولًا، ميّز بين التوقّف الصارم والوسم اللين. رمز عملة لم ترَه قط هو توقّف صارم؛ لا تريد أن تخمّن. أما تأخّر حداثة تجاوز الميزانية قليلًا فقد يكون تحذيرًا يظلّ يسمح بمتابعة إنتاج الدرجات مع وضع علم وضع-متدنٍّ (degraded-mode). رمّز هذه السياسة لكل توكيد على حدة بدلًا من معاملة كل انحراف كتعطّل. ثانيًا، أبقِ الفحص رخيصًا بما يكفي لتشغيله على كل دفعة. إذا كان التحقّق مكلفًا، فسيُشغَّل على عيّنة، والفحص بالعيّنة يفوّت تمامًا ذلك التلف المتقطّع الذي يصعب تتبّعه لاحقًا.

العقود تمنحك أيضًا قصة نسب (lineage) حقيقية. حين يبدو رقم في المصبّ خاطئًا، يمكنك أن تشير إلى الحدّ الذي اجتاز عنده حقل معيّن عقده لآخر مرة، وأين فشل أول مرة، مع طابع زمني. هذا يُقلّص التحقيق من “ابحث في خط الأنابيب كله” إلى “اقرأ سجلّ الحجر الصحّي”. ولأي شيء عليه أن يصمد أمام أثر تدقيق (audit trail)، تُظهِر السجلات نفسها للمراجع أن التغذية التي غذّت قرارًا قد استوفت توقّعاتها المعلنة في تاريخ اتخاذ القرار.

إدارة الإصدارات هي الجزء الصعب، لا التحقّق

كتابة التوكيدات أمر بسيط. أما الهندسة التي تستحقّ أجرها فهي التعامل مع اليوم الذي يكون فيه لمالك المصدر سبب مشروع لتغيير التغذية. وسيحدث هذا. يضيف مورّد حقلًا، أو يقسّم حقلًا إلى حقلين، أو يغيّر قائمة رموز. العقد الذي يعجز عن استيعاب هذا يصير شيئًا يلتفّ الناس حوله، والعقد المُلتفّ حوله أسوأ من عدمه، لأنه يمنح ثقة كاذبة.

لذا نتعامل مع العقد كواجهة مُدارة بالإصدارات لها مسار إهمال (deprecation). التغيير الإضافي متوافق مع الإصدارات السابقة ويرفع الإصدار الأصغر (minor version)؛ يتجاهل المستهلكون الحقل الجديد إلى أن يختاروا قراءته. أما التغيير الكاسر فيرفع الإصدار الأكبر (major version)، ويعمل الإصداران بالتوازي طوال مدة متفق عليها ريثما يهاجر المستهلكون. لا يستطيع المنتِج أن يكسر الإصدار القديم من جانب واحد. تلك المفاوضة هي جوهر تسميته عقدًا لا مجرّد سكربت تحقّق.

عادات قليلة تمنع هذا من التعفّن:

  • اختبِر العقد مقابل تاريخ حقيقي. أعِد تشغيل شهرٍ من التغذيات الماضية عبر إصدار عقد جديد قبل أن يدخل الخدمة. إذا فشلت بيانات الأمس المشروعة أمام قواعد الغد، فالقواعد خاطئة، وأنت تكتشف ذلك قبل أن يكتشفه الإنتاج.
  • أدِر إصدار العقد مع البيانات، لا منفصلًا عنها. الإصدار الذي تحقّق من دفعة يجب أن يُسجَّل بجوار تلك الدفعة، حتى تستطيع بعد عام أن تعيد بناء القواعد التي كانت سارية بالضبط.
  • حافظ على ميزانية إيجابيات كاذبة (false-positive budget) ضيّقة على الفحوصات نفسها. العقد الذي يصيح مستغيثًا عند ارتفاعات الحجم الطبيعية في نهاية الربع (quarter-end) يُكتَم، والعقد المكتوم لا يفرض شيئًا. اضبط النطاقات على الواقع الموسمي، بما فيه أنماط الإجراءات على الشركات (corporate actions) ونهاية الشهر التي تجعل التغذيات المالية متكتّلة.

لا شيء من هذا يجعل عالَم المصدر مستقرًّا. بل يجعل عدم استقرار المصدر شيئًا يرصده خط أنابيبك ويستجيب له وفق جدول تتحكّم فيه أنت، بدلًا من أن يكون شيئًا يكتشفه لك نموذج بعد فوات الأوان.

الأسئلة الشائعة

هل عقد البيانات (data contract) هو نفسه المخطط (schema)؟

لا. المخطط يصف الشكل فقط. أما العقد فيضيف الدلالات، وتوقّعات الحداثة، ونطاقات القيم المسموح بها، ومالكًا مسؤولًا، وسياسة لإدارة الإصدارات، ويُفشِل عملية البناء (build) عند انتهاك أيٍّ من هذه.

أين تفرض العقد داخل خط الأنابيب؟

عند الحدّ الذي تدخل عنده التغذية إلى نطاق تحكّمك، وقبل أن يقرأها أي خاصية (feature) أو نموذج. الفرض في مرحلة متأخرة يعني أن البيانات الفاسدة قد انتشرت بالفعل، وأنك تُصحّح الأعراض بدل السبب.

هل تساعد العقود في صحّة الزمن-النقطي (point-in-time)؟

تساعدك على التقاط المقدّمات المؤدّية إلى التسرّب (leakage)، مثل قيمة مُعاد بيانها تطمس التاريخ، أو حقل يصل متأخرًا. وهي لا تحلّ محلّ مخزن الحالة-كما-في-تاريخ (as-of store)، لكنها تجعل افتراضات المخزن قابلة للتحقّق.

قراءات ذات صلة

#البيانات

جودة بيانات السوق مشكلة نموذج لا مشكلة بنية تحتية

الفجوات والأسعار المتجمدة وتصحيحات المزوّدين لا تُعطّل نظام ذكاء اصطناعي، بل تجعله مخطئًا بثقة. إليك كيف نلتقط مشكلات الجودة قبل أن يتعلّمها النموذج.

#البيانات

حين لا تكون الشركة نفسها هي ذاتها: مطابقة الكيانات عبر تدفقات البيانات المالية

تختلف تدفقات بيانات السوق والإفصاحات والبيانات البديلة في تحديد ما يُعدّ مُصدِراً واحداً. إليك كيف نبني طبقة مطابقة تصمد عند إقفال الربع.

#البيانات

كيف يُفسد إجراءٌ مؤسسي فائت بياناتك المالية في صمت

تقسيمات الأسهم وعمليات الفصل ورموز التداول المُعاد استخدامها تُخرّب تاريخ الأسعار ومطابقة الكيانات قبل أن يلاحظ أحد. إليك كيف نتعامل مع الإجراءات المؤسسية حتى يبقى الاختبار الرجعي نزيهاً.

#مراقبة البيانات

مراقبة جودة البيانات (data quality observability) لأنظمة الذكاء الاصطناعي المالية

تدفّق بيانات معطوب يظهر على شكل إجابة خاطئة على بُعد ثلاث طبقات لاحقة. إليك مراقبة الحداثة والحجم والمخطّط (schema) التي نفرضها على البيانات المالية.

تعمل على شيء مشابه؟

أخبِرنا عن بياناتك وسير العمل المحيط بها، وسنعطيك رأياً صريحاً.

احجز مكالمة تعريفية مدتها 30 دقيقة