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

القدرة على اكتشاف الشواذ تصبح مهمة في عالم البيانات الحديث وهي مكون أساسي لصناعات مختلفة مثل الشؤون المالية، الرعاية الصحية، أمن المعلومات، والتصنيع. يمكن أن تكون الشواذ علامة على الاحتيال، الأعطال في النظام، حوادث الأمان، أو أحداث أخرى مهمة تتطلب اهتمامًا فوريًا. الكمية، والسرعة، والتنوع في بيانات التدفق صعبة لتقنيات اكتشاف الشواذ التقليدية التعامل معها. من ناحية أخرى، تقدم التطورات الحديثة في نماذج اللغة الكبيرة (LLMs) مسارًا جديدًا لأداء اكتشاف الشواذ في الوقت الحقيقي. في هذه المقالة، نناقش كيف يمكن استخدام نماذج اللغة الكبيرة لاكتشاف الشواذ على بيانات التدفق بالتفصيل مع بعض الأمثلة.

اكتشاف الشواذ

الشواذ هي أنماط في بياناتك لا تتماشى مع مفهوم محدد جيدًا للسلوك الطبيعي.

اكتشاف الشواذ

هو عملية العثور على النقطة في البيانات التي تختلف بشكل كبير عن بقية نوعها. قد تكشف هذه العملية عن أحداث نادرة أو حالات حدودية لا تتناسب مع ملف البيانات الكلي. يمكن تعميم هذه الشواذ إلى ثلاثة أنواع:

  1. شواذ الجدول: وهي شواذ النقطة، أساسًا خلايا فردية تبرز بشكل واضح في الجدول.
  2. القيم الشاذة مع السياق: نقاط البيانات التي يمكن اعتبارها قيم شاذة ضمن سياق معين.
  3. شواذ الفضاء: مجموعة من النقاط تبدو شاذة فقط عند رؤيتها معًا.

مشاكل البث المباشر للبيانات

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

  • الكمية: لدينا جبال من البيانات.
  • السرعة: توجيه البيانات السريع يتطلب نهج تعامل حالي مع التيار.
  • التنوع: يصل البيانات بأشكال وأنواع عديدة.
  • الصدق: ضمان دقة وموثرية البيانات.

وهناك أسباب عديدة تعود لما لا يمكن لأساليب الكشف عن الاساءات التقليدية (مثل اختبارات الإحصاء ونماذج ال leaning المتقنة) توصل إلى معالجة هذه التحديات. وهنا حيث يأتي دور النماذج الكبيرة اللغوية (النماذج الكبيرة لللغة مثل GPT-4 من OpenAI).

النماذج الكبيرة اللغوية

النماذج اللغوية (مثل GPT-4 من OpenAI، على سبيل المثال) هي آلات التعلم العميق تم تدريبها بكميات كبيرة من النصوص. هذه النماذج قادرة على فهم وتوليد النص كما الإنسان، مما يجعلها أدوات جيدة لعدة مهام في المعالجة الطبيعية لللغة (NLP). تبرز LLMs قدراتها المذهلة في مهام مثل توليد النص، الترجمة، التصريح، وحتى البرمجيات.

يمكن الاستفادة من خوارزميات LLMs على أفضل وجه من خلال استخدامها لفك رموز السياق والأنماط في البيانات. وهذا يجعلها مرشحة مثالية للكشف عن الشذوذ لأن هذه الخوارزميات يمكنها اكتشاف حتى الانحرافات الصغيرة التي قد تغفلها الطرق التقليدية.

استخدام خوارزميات LLMs للكشف عن الشذوذ

يمكن استخدام خوارزميات LLMs بطرق متعددة لغرض التعامل معها ككاشفات شذوذ لحدث وارد معين ودفعه إلى بعض الأنظمة الخارجية. فيما يلي بعض الطرق:

  • التحليل السياقي: تساعد الآليات LLMs في اكتشاف الحالات الشاذة من خلال تعلم السياق حول نقاط بيانات محددة. في سياق تدفق المعاملات المالية، يمكن لـ LLM اكتشاف عادات الإنفاق غير الطبيعية.
  • تحديد الأنماط:تحدد LLMs أنماطًا معقدة وشاملة في البيانات. يمكن لنموذج LLM اكتشاف أنماط حركة المرور غير الاعتيادية التي قد تشير إلى وجود خرق أمني في أمن الشبكة.
  • البيانات الموسومة:الهدف الرئيسي لأشجار النماذج اللوجستية هو التنبؤ بواحدة من نتيجتين منفصلتين، وغالبًا ما تتم مقارنتها بطريقة خاضعة للإشراف والتي قد تتطلب بيانات موسومة.
  • التعلم غير الخاضع للإشراف:يمكن أيضًا استخدام نماذج LLMs غير الخاضعة للإشراف للكشف عن الشذوذ دون بيانات موسومة. وهذا مناسب بشكل خاص للتطبيقات التي تتميز بحالات شاذة نادرة و/أو بيانات موسومة نادرة.
  • معالجة فعالة من حيث الوقت: نظرًا لأن LLMs يمكنها معالجة البيانات في الوقت الفعلي، فهي مناسبة لتطبيقات تدفق البيانات. ويمكنها القيام بذلك بشكل سريع ومستمر أثناء مراقبة البيانات أثناء تدفقها.

أمثلة عملية

قبل ذلك، دعنا نرى بعض الأمثلة الأساسية على كيفية استخدام نماذج اللغة الطويلة في الزمن الحقيقي لاكتشاف الشذوذ في مجالات مختلفة.

حالة الاستخدام 1: اكتشاف الاحتيال المالي

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

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

حالة الاستخدام 2: مراقب الصحة

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

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

حالة الاستخدام 3: أمان الشبكة

تتطلب أمان الشبكة مراقبة نشطة وفهم لحركة الشبكة العادية. قد تؤدي تشوهات حركة الشبكة إلى مشاكل مثل الإصابة بالبرامج الضارة، وانتهاكات البيانات، أو هجمات إنكار الخدمة.

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

كيفية تنفيذ كشف التشوه باستخدام نماذج تعلم الآلة الخفي

جمع البيانات

جمع البيانات من مصادر البث. يمكن أن تكون هذه سجلات المعاملات، بيانات الاستشعار، أو اتصالات الشبكة.

تنظيف البيانات

تنظيف البيانات خطوة حاسمة حتى يمكن أن تناسب تحليلنا والمعالجة المسبقة. يمكن أن يشمل ذلك إزالة الضوضاء، ومعالجة القيم المفقودة، وتقييس البيانات.

تدريب النموذج

تدريب نموذج تعلم الآلة الخفي بالبيانات التاريخية لإنشاء قيم أساسية. يمكن أن تتضمن هذه الخطوة تدريب إضافي لنموذج تعلم الآلة الخفي المدرب على بيانات المجال.

نشر التحليل في الوقت الحقيقي

استخدام النموذج المدرب لتحليل بيانات البث. يحتاج النموذج إلى مراقبة تدفق البيانات وإثارة إنذار إذا وجد أي تشوهات.

التنبيه والإجراء

إنشاء نظام تنبيه لتحذير السلطة المعنية في حالة اكتشاف أي تشوهات. حدد المهام التي يجب تنفيذها استنادًا إلى أنواع معينة من التشوهات.

إعداد البيئة

ابتداءً، قم بتثبيت الأوساط اللازمة.

pip install transformers torch

مثال النموذج 1: اكتشاف الاحتيال الاقتصادي

فرض أننا نريد تجربة LLM في اكتشاف الانحرافات للمعاملات المالية.

خطوة 1: تجريب البيانات

سنقوم بإرسال سلسلة من المعاملات المالية.

Python

 

import random
import time

def generate_transaction():
    transactions = [
        {"user_id": 1, "amount": random.uniform(1, 100), "location": "New York"},
        {"user_id": 2, "amount": random.uniform(1, 1000), "location": "San Francisco"},
        {"user_id": 3, "amount": random.uniform(1, 500), "location": "Los Angeles"},
        {"user_id": 4, "amount": random.uniform(1, 2000), "location": "Chicago"},
    ]
    return random.choice(transactions)

def stream_transactions():
    while True:
        transaction = generate_transaction()
        yield transaction
        time.sleep(1)  # Simulating real-time data stream

# مثال الاستخدام
for transaction in stream_transactions():
    print(transaction)

خطوة 2: اكتشاف الانحرافات بواسطة LLM

سنستخدم LLM مُعَدَّةَ مسبقًا باستخدام Hugging Face.

Python

 

from transformers import pipeline

# تحميل نموذج تحليل الافكار التعبيرية مُعَدَّ بمثال
# في سيناريو حقيقي، ستقوم بتعديل نموذجاً على مهمة اكتشاف الانحرافات الخاصة بك
model = pipeline("sentiment-analysis")

def detect_anomaly(transaction):
    # تحويل المعاملة إلى نسق نص لـLLM
    transaction_str = f"User {transaction['user_id']} made a transaction of ${transaction['amount']} in {transaction['location']}."

    # استخدام LLM لتحليل المعاملة
    result = model(transaction_str)

    # للتسهيل، تعتبر الافكار السلبية كانحرافًا
    if result[0]['label'] == 'NEGATIVE':
        return True
    return False

# مثال الاستخدام
for transaction in stream_transactions():
    if detect_anomaly(transaction):
        print(f"Anomaly detected: {transaction}")
    else:
        print(f"Normal transaction: {transaction}")

مثال 2: مراقبة الصحة

سنستخدم طريقة LLM لبناء نماذج لاكتشاف الانحرافات في سلسلة بيانات حالة الصحة للمريض.

خطوة 1: تجريب البيانات

Python

 

def generate_health_data():
    health_data = [
        {"patient_id": 1, "heart_rate": random.randint(60, 100), "blood_pressure": random.randint(110, 140)},
        {"patient_id": 2, "heart_rate": random.randint(60, 120), "blood_pressure": random.randint(100, 150)},
        {"patient_id": 3, "heart_rate": random.randint(50, 110), "blood_pressure": random.randint(90, 130)},
        {"patient_id": 4, "heart_rate": random.randint(70, 130), "blood_pressure": random.randint(100, 160)},
    ]
    return random.choice(health_data)

def stream_health_data():
    while True:
        data = generate_health_data()
        yield data
        time.sleep(1)  # Simulating real-time data stream

# مثال الاستخدام
for data in stream_health_data():
    print(data)

خطوة 2: اكتشاف الانحرافات بواسطة LLM

Python

 

def detect_health_anomaly(data):
    # تحويل بيانات الصحة إلى نسق نص لـLLM
    health_data_str = f"Patient {data['patient_id']} has a heart rate of {data['heart_rate']} and blood pressure of {data['blood_pressure']}."

    # استخدام LLM لتحليل بيانات الصحة
    result = model(health_data_str)

    # للتسهيل، تعتبر الافكار السلبية كانحرافًا
    if result[0]['label'] == 'NEGATIVE':
        return True
    return False

# مثال الاستخدام
for data in stream_health_data():
    if detect_health_anomaly(data):
        print(f"Anomaly detected: {data}")
    else:
        print(f"Normal health data: {data}")

مثال 3: أمن الشبكة

توليد سجلات الشبكة واكتشاف الشواهد البعيدة عن الطريقة بواسطة LLM.

الخطوة 1: محاكاة البيانات

Python

 

def generate_network_log():
    network_logs = [
        {"ip": "192.168.1.1", "request": "GET /index.html", "status": 200},
        {"ip": "192.168.1.2", "request": "POST /login", "status": 401},
        {"ip": "192.168.1.3", "request": "GET /admin", "status": 403},
        {"ip": "192.168.1.4", "request": "GET /unknown", "status": 404},
    ]
    return random.choice(network_logs)

def stream_network_logs():
    while True:
        log = generate_network_log()
        yield log
        time.sleep(1)  # Simulating real-time data stream

# استخدام المثال
for log in stream_network_logs():
    print(log)

الخطوة 2: اكتشاف الشذوذ المعتمد على LLM

Python

 

def detect_network_anomaly(log):
    # تحويل سجل الشبكة إلى تنسيق نصي لـ LLM
    log_str = f"IP {log['ip']} made a {log['request']} request with status {log['status']}."

    # استخدام LLM لتحليل سجل الشبكة
    result = model(log_str)

    # لتبسيط الأمر، اعتبر المشاعر السلبية كنوع من الشذوذ
    if result[0]['label'] == 'NEGATIVE':
        return True
    return False

# استخدام المثال
for log in stream_network_logs():
    if detect_network_anomaly(log):
        print(f"Anomaly detected: {log}")
    else:
        print(f"Normal network log: {log}")

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

استخدام LLMs في الوقت الحقيقي

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

التحديات والاعتبارات

بصرف النظر عن مزايا اكتشاف الشذوذ التي توفرها LLMs، يجب أن تكون على دراية أيضًا بتحدياتها وقيودها.

  • الموارد: تتطلب LLMs موارد كبيرة للتدريب وإجراء المعالجة في الوقت الحقيقي. من الضروري ضمان توفر البنية التحتية الكافية.
  • خصوصية البيانات: تقع البيانات الحساسة مثل المعاملات المالية وسجلات الرعاية الصحية ضمن اللوائح حيث تكون الخصوصية حاسمة.
  • التفسيرية: غالبًا ما يُشار إلى LLMs بأنها “صناديق سوداء” بسبب تعقيدها. بالنسبة للثقة والفهم حول سبب اكتشاف الشواذ، فإن قابلية تفسير النموذج وإمكانية التفسير مهمة.
  • التعلم المستمر: معلومات البث غير متوقعة، والاتجاهات قد تتذبذب مع مرور الوقت. يجب تحديث النماذج للتعلم المستمر وتحسين دقة الاكتشاف.

اتجاهات مستقبلية

مجال الكشف عن الشواذ باستخدام LLMs لا يزال قيد التطوير، وهناك بعض الاتجاهات الجديدة للاستكشاف الأعمق التي نجدها واعدة للبحث والابتكار في المستقبل:

  • النماذج الهجينة: ادماج سلاسل زمنية أو خوارزميات تجميع مع LLMs يمكن أن يعزز كشف الشواذ.
  • الحوسبة على الحواف: كجزء من تشغيل LLMs، يمكنك نشرها على أجهزة الحواف؛ مما يمكن من الكشف في الوقت الحقيقي على مستوى المصدر وبالتالي يؤدي إلى تقليل التأخر وزيادة الاستجابة.
  • الذكاء الاصطناعي القابل للتفسير: تصميم تقنيات لتعزيز قابلية تفسير LLMs بحيث يمكن لأصحاب المصلحة فهم والتأييد لأسس اتخاذ النموذج للقرارات.
  • النماذج الخاصة بالمجالات: ضبط دقيق لـ LLMs لمجالات محددة (المالية، الرعاية الصحية، أو الأمان السيبراني) يمكن أن يعزز دقة الكشف والصلة.

الختام

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

Source:
https://dzone.com/articles/realtime-anomaly-detection-using-large-language