السلاسل الزمنية2024متوسط11 دقيقة قراءة
نموذج أساسي بفاكّ ترميز فقط للتنبؤ بالسلاسل الزمنية
A Decoder-Only Foundation Model for Time Series Forecasting
Das, A. · Kong, W. · Sen, R. · Zhou, Y. — ICML
المشكلة
بحلول عام 2023، أثبتت النماذج اللغوية الكبيرة أن نموذجاً واحداً مُدرَّباً مسبقاً يكفي لأداء عدد هائل من مهام معالجة اللغة الطبيعية دون أمثلة مسبقة. لكن الوضع في كان مختلفاً تماماً: كل مجموعة بيانات تحتاج نموذجاً خاصاً بها يُدرَّب من الصفر. السلاسل الزمنية ليس لها مفردات ثابتة ولا قواعد بنيوية واضحة، والبيانات العامة المتاحة لا تكفي لبناء . فوق ذلك، نموذج التنبؤ مطلوب منه التعامل مع أطوال سياق متغيّرة وآفاق تنبؤ مختلفة ودقّات زمنية تمتد من الدقائق إلى السنوات — وكل هذا التنوّع يظهر وقت لا وقت .
الإسهام
يقدّم الباحثون TimesFM: محوِّل بفاكّ ترميز فقط يضم 200 مليون معامل، مُدرَّب مسبقاً على نحو 100 مليار نقطة زمنية تمزج بين بيانات واقعية (اتجاهات بحث Google وإحصاءات صفحات ويكيبيديا) وأنماط مُصطنعة (عمليات ARMA، موسمية، اتجاهات عامة). الفكرة أن النموذج يتعامل مع مقاطع السلسلة الزمنية باعتبارها رقعاً تُشبه الرموز في النماذج اللغوية، ويعتمد انتباهاً سببياً برقعة إدخال بطول 32 ورقعة إخراج بطول 128، ما يتيح له التنبؤ بأي أفق زمني عبر فكّ ترميز بعدد أقل من الخطوات. أداؤه دون أمثلة على معايير Monash وDarts وETT يُضاهي أو يتجاوز أفضل النماذج المُشرَف عليها والمُدرَّبة خصيصاً على كل مجموعة بيانات — بتكلفة لا تُقارن بتكلفة النماذج اللغوية الكبيرة.
الأثر
أثبت TimesFM أن فكرة النموذج الأساسي ليست حكراً على اللغة والرؤية الحاسوبية، بل تمتد إلى السلاسل الزمنية أيضاً. بيّن أن نموذجاً صغيراً نسبياً (200 مليون معامل) مُدرَّباً من الصفر على بيانات زمنية فحسب يتفوّق بفارق واسع على نماذج لغوية ضخمة أُعيد توظيفها للتنبؤ مثل GPT-3. فتح هذا العمل الباب أمام موجة كاملة من النماذج الأساسية للسلاسل الزمنية — جاء بعده Chronos وMoirai وغيرهما — ورسّخ وصفة التقسيم إلى رقع مع التدريب بفاكّ ترميز فقط بوصفها النهج المعياري في هذا المجال.
تخيّل خبير أرصاد جوية مُخضرماً درس آلاف الخرائط المناخية من كل قارة: رياح موسمية استوائية، جبهات باردة قطبية، موجات حرّ صحراوية. حين تُقدَّم له خريطة طقس لمدينة لم يزرها قط، يظلّ قادراً على توقّع طقس الأيام القادمة — لأنه يتعرّف على الأنماط لا على المدينة ذاتها.
نماذج التنبؤ التقليدية تُشبه محطات الأرصاد المحلية: كلّ واحدة لا تعرف سوى مناخ مدينتها. أما TimesFM فهو خبير الأرصاد العالمي: يقرأ بطريقة تُشبه قراءة GPT للنصوص — يقسّمها إلى مقاطع (رقع)، ويُمرّرها عبر سببي، ثم يتنبّأ بما سيأتي — غير أن «اللغة» هنا ليست كلمات وجُملاً، بل القواعد العامة التي تحكم الاتجاهات والمواسم والتشويش.
المشكلة: كل مجموعة بيانات تحتاج نموذجها الخاص
في مجال معالجة اللغة الطبيعية، أظهر GPT أن نموذجاً واحداً يكفي للترجمة والتلخيص والإجابة عن الأسئلة — وكلها مهام مسبقة. لكن الوضع في التنبؤ بالسلاسل الزمنية كان مختلفاً تماماً: تريد التنبؤ بطلب التجزئة؟ درِّب نموذج DeepAR على بيانات التجزئة. أسعار الطاقة؟ درِّب نموذجاً آخر. حركة المرور؟ نموذج ثالث مستقل تماماً.
يُفرز هذا الواقع ثلاث مشكلات أساسية. أولاً، تكلفة التدريب: كل مهمة تنبؤ جديدة تستهلك وقتاً على وحدات المعالجة الرسومية وجهداً هندسياً. ثانياً، الجوع إلى البيانات: كثير من السلاسل الزمنية الواقعية قصيرة — البيانات الفصلية أو السنوية قد لا تتجاوز عشرات النقاط — وهذا أقل بكثير مما يحتاجه . ثالثاً، غياب : نموذج دُرِّب على بيانات الكهرباء لا يعرف شيئاً عن حالات دخول المستشفيات، رغم أن كليهما قد يشتركان في أنماط موسمية واحدة.
السؤال المنطقي إذن: هل يمكن بناء نموذج أساسي للسلاسل الزمنية كما بُني GPT للنصوص؟ التحدي أن السلاسل الزمنية لا تمتلك مفردات ثابتة ولا قواعد نحوية محددة، وتتراوح دقّاتها الزمنية تراوحاً هائلاً — من قراءات حسّاسات كل 10 دقائق إلى أرقام الناتج المحلي السنوية.
الفكرة الأولى: الرقع هي رموز السلاسل الزمنية
في النماذج اللغوية، يُقسَّم النص إلى — وحدات فرعية يعالجها النموذج واحدة تلو الأخرى. TimesFM يتبع المبدأ نفسه مع السلاسل الزمنية: يُجزّئ المدخلات إلى رقع غير متراكبة بطول ثابت (32 نقطة زمنية افتراضياً). يمكن تشبيه كل رقعة بـ«كلمة» في عالم السلاسل الزمنية.
لماذا التقسيم إلى رقع؟ لثلاثة أسباب. أولاً، الضغط: سلسلة من 512 نقطة تتحوّل إلى 16 رمزاً فقط، فتصبح تكلفة أقل بكثير. ثانياً، كل رقعة تلتقط بنية محلية — كدورة يومية أو إيقاع أسبوعي — وهو أمر تعجز عنه نقطة زمنية منفردة. ثالثاً، أثبت PatchTST سابقاً أن هذا التقسيم يُحسِّن دقّة التنبؤ بصورة ملموسة.
تمرّ كل رقعة عبر كتلة متبقية للإدخال — شبكة MLP صغيرة مزوّدة بوصلة تجاوز — فتُنتج متجهاً بحجم model_dim (يساوي 1280 في نموذج 200 مليون معامل). بعد ذلك تُضاف ليعرف النموذج ترتيب الرقع. الناتج النهائي هو تسلسل من متجهات جاهزة للدخول إلى المُحوِّل.
الفكرة الثانية: التدريب بفاكّ ترميز فقط لتنبؤ مرن
يعتمد PatchTST على بنية فقط: يرى جميع الرقع دفعة واحدة ويُخرج التنبؤ كاملاً في خطوة واحدة. هذا الأسلوب يعمل حين يكون أفق التنبؤ ثابتاً ومعروفاً سلفاً، لكن النموذج الأساسي يحتاج أن يتعامل مع أي أفق زمني عند الاستدلال.
الحل الذي يقدّمه TimesFM هو اعتماد بنية فقط — المنهج نفسه الذي يقوم عليه GPT-2. في هذه البنية، كل رمز إخراج لا يلتفت إلا إلى الرموز التي سبقته (وهو ما يُعرف بـ السببي). النتيجة أن النموذج يتعلّم التنبؤ بالرقعة التالية انطلاقاً من جميع الرقع السابقة، ووقت الاستدلال يستطيع توليد رقع مستقبلية ذاتية الانحدار بأي عدد مطلوب.
الفرق الجوهري بين TimesFM وGPT يكمن في طول رقعة الإخراج. النماذج اللغوية تولّد رمزاً واحداً في كل خطوة، بينما TimesFM يولّد رقعة إخراج من 128 نقطة زمنية في الخطوة الواحدة — أي 4 أضعاف طول رقعة الإدخال. عملياً، التنبؤ بـ 512 نقطة مستقبلية لا يحتاج سوى 4 خطوات بدلاً من 16. وكلّما قلّت الخطوات، قلّ تراكم الأخطاء وتسارع الاستدلال.
البنية: فاكّ الترميز المُرقَّع بالتفصيل
بنية TimesFM الكاملة تمرّ بثلاث مراحل متتالية، كأنها خط تجميع في مصنع:
المرحلة الأولى — معالجة المدخلات: تُقسَّم السلسلة الزمنية الخام إلى رقع بحجم 32 نقطة. كل رقعة تمرّ عبر كتلة متبقية للإدخال (شبكة MLP مزوّدة بوصلة تجاوز) فتتحوّل إلى متجه بحجم model_dim. بعدها تُضاف تشفيرات الموضع، ويتكفّل قناع الحشو بمعالجة المدخلات المتفاوتة الطول.
المرحلة الثانية — المُحوِّل المتراكب: 20 طبقة من المحوِّل تستخدم (16 رأساً) إلى جانب شبكات تغذية أمامية. بُعد النموذج 1280، وكل طبقة تطبّق . هذه الكتلة تحتضن الجزء الأكبر من المعاملات البالغة 200 مليون.
المرحلة الثالثة — تحويل الإخراج: كل ناتج من المحوِّل يمرّ عبر كتلة متبقية للإخراج تحوّله من model_dim إلى رقعة إخراج تضم 128 نقطة زمنية.
دالة الخسارة في التدريب بسيطة ومباشرة: محسوباً على جميع رقع الإخراج في الدفعة التدريبية. لا حيل معقّدة — مجرد مقارنة بين القيم المتنبَّأ بها والقيم الفعلية.
الوقود: 100 مليار نقطة زمنية
أي نموذج أساسي لن يتجاوز أداؤه جودة البيانات التي تدرَّب عليها. يستمدّ TimesFM بياناته من ثلاثة مصادر رئيسية:
اتجاهات بحث Google (نحو 0.5 مليار نقطة): بيانات الاهتمام بالبحث عبر الزمن لنحو 22 ألف استعلام شائع، بدقّات ساعية ويومية وأسبوعية وشهرية تغطّي الفترة من 2007 إلى 2022.
إحصاءات زيارات ويكيبيديا (نحو 300 مليار نقطة): عدد الزيارات الساعية لجميع صفحات ويكيميديا من 2012 إلى 2023، مُجمَّعة بدقّات ساعية ويومية وأسبوعية وشهرية. هذا أكبر المصادر حجماً بفارق كبير، وهو ما يوفّر الكمّ الضخم الذي يحتاجه أي نموذج أساسي.
(نحو 6 مليارات نقطة): 3 ملايين سلسلة زمنية مُولَّدة، طول كلٍّ منها 2048 نقطة، تمزج عمليات ARMA بأنماط موسمية (جيبية وجيب تمامية) واتجاهات (خطية وأُسّية) ودوال خطوة. الغرض من هذه البيانات ضمان أن يرى النموذج دقّات زمنية وأنماطاً قلّ تمثيلها في البيانات الحقيقية.
تُكمل مجموعات بيانات واقعية إضافية (M4 والكهرباء والمرور والطقس) هذا المزيج. يسحب مُحمِّل التدريب 80% من البيانات الحقيقية و20% من المُصطنعة، مع توزيع متساوٍ بين مجموعات الدقّات الزمنية المختلفة.
الفكرة في الكود
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import numpy as np
def patchify(series, patch_len=32):
"""قسِّم السلسلة الزمنية إلى رقع غير متراكبة."""
n = len(series) // patch_len
patches = series[:n * patch_len].reshape(n, patch_len)
return patches
def input_residual_block(patch, W1, W2, b1, b2):
"""شبكة MLP مع وصلة تجاوز — تحوّل الرقعة إلى متجه بحجم model_dim."""
h = np.maximum(0, patch @ W1 + b1) # طبقة مخفية بتنشيط ReLU
out = h @ W2 + b2 # طبقة خطية
return out + patch @ W_skip # وصلة التجاوز
def timesfm_forward(series, model, patch_len=32, output_len=128):
"""تمريرة أمامية واحدة لـ TimesFM."""
patches = patchify(series, patch_len)
# المرحلة 1: الرقع ← رموز الإدخال
tokens = []
for j, patch in enumerate(patches):
token = input_residual_block(patch, *model.input_params)
token += model.pos_encoding[j] # أضف تشفير الموضع
tokens.append(token)
# المرحلة 2: محوِّل سببي — كل رمز لا يرى إلا الرموز السابقة
outputs = model.causal_transformer(tokens) # (N, model_dim)
# المرحلة 3: كل رمز إخراج ← تنبؤ بـ output_len نقطة تالية
forecasts = []
for o in outputs:
pred = output_residual_block(o, *model.output_params)
forecasts.append(pred) # الشكل: (output_len,)
return forecasts # آخر تنبؤ = التنبؤ الفعلي بالمستقبل
# الفكرة الجوهرية: output_len (128) > patch_len (32)
# ← خطوات ذاتية الانحدار أقل لتغطية الأفق الكامل
# ← تراكم أخطاء أقل من التوليد رمزاً بعد رمزالنتائج: نموذج واحد ينافس أفضل المتخصصين
جرى تقييم TimesFM بدون أمثلة على ثلاث مجموعات — أي مجموعات بيانات لم يطّلع عليها أثناء التدريب قط:
أرشيف Monash (18 مجموعة بيانات): يشمل مجالات متنوّعة من التمويل والطقس والمرور، بدقّات زمنية تمتد من الدقائق إلى السنوات. حقّق TimesFM أفضل متوسط هندسي لخطأ ، متفوّقاً على نماذج مُشرَف عليها مثل DeepAR وN-BEATS، ومتقدّماً على llmtime (المبني على GPT-3) بأكثر من 25%.
Darts (8 مجموعات بيانات): سلاسل أحادية المتغير بأنماط موسمية لافتة. جاء أداء TimesFM ضمن هامش الدلالة الإحصائية لأفضل النماذج (ARIMA الموسمي وllmtime)، رغم أنه يعمل دون أي أمثلة مسبقة.
ETT (4 مجموعات بيانات، بآفاق 96 و192): بيانات حرارة محوِّلات الكهرباء. ضاهى TimesFM أو تفوّق على PatchTST — وهو نموذج متطوّر للتنبؤ بعيد المدى ومُدرَّب خصيصاً على هذه المجموعات.
كل هذه النتائج جاءت من نموذج 200 مليون معامل نفسه دون أي خاص بالمهمة. واستغرق تدريبه يومين فحسب على 16 نواة TPUv5e.
دراسة الاستئصال: ماذا يُسهم كل قرار تصميمي
تتضمن الورقة دقيقة تبرّر كل قرار تصميمي رئيسي:
التوسّع (17 مليون → 70 مليون → 200 مليون): يتحسّن الأداء بشكل مطّرد مع زيادة حجم الحوسبة (FLOPs)، وفق نمط الشبيه بقوانين التوسّع في النماذج اللغوية الكبيرة. هذا يُلمّح إلى أن نماذج أكبر حجماً ستحقّق نتائج أفضل.
طول رقعة الإخراج (8 → 128): رقع الإخراج الأطول تُقلّل الخطأ باطّراد في مهام التنبؤ بعيد المدى. الانتقال من طول 8 إلى 128 على مجموعات ETT يُظهر تحسّناً رتيباً واضحاً، ما يؤكّد أن تقليل خطوات التوليد ذاتي الانحدار يفيد فعلاً.
طول رقعة الإدخال (8 → 128): النقطة المثلى تقع عند 16–32. الرقع القصيرة جداً (8) تفقد البنية المحلية، والرقع الطويلة جداً (128) تدفع النموذج نحو بنية المُرمِّز-فاكّ الترميز التقليدية فيخسر مزايا التدريب بفاكّ ترميز فقط.
البيانات المُصطنعة: حذف هذه البيانات يُضعف الأداء على الدقّات الزمنية قليلة التمثيل (الفصلية والسنوية وكل 10 دقائق). أما على البيانات الساعية جيدة التمثيل (ETTh) فلا يكاد يظهر فرق — لكن على بيانات 15 دقيقة (ETTm)، تُحدث البيانات المُصطنعة فرقاً ملموساً.
ما الذي فتحه TimesFM
2022
PatchTST — التقسيم إلى رقع للسلاسل الزمنية
أثبت أن تقسيم مقاطع السلاسل الزمنية إلى رقع واستخدام مُرمِّز المحوِّل يحقّق نتائج رائدة في التنبؤ بعيد المدى، ورسّخ فكرة التقسيم إلى رقع بوصفها مبدأ تصميمياً جوهرياً.
2023
llmtime — النماذج اللغوية الكبيرة كأدوات تنبؤ
أظهر أن GPT-3 يستطيع التنبؤ دون أمثلة مسبقة عبر تحويل قيم السلاسل الزمنية إلى نص. الفكرة واعدة لكنها مكلفة، وكثيراً ما تغلّبت عليها نماذج متخصصة أصغر حجماً.
2024
TimesFM — أول نموذج أساسي عملي للسلاسل الزمنية
نموذج بفاكّ ترميز فقط يضم 200 مليون معامل، تدرَّب مسبقاً على 100 مليار نقطة زمنية. أداؤه دون أمثلة يُضاهي أحدث النماذج المُشرَف عليها عبر معايير Monash وDarts وETT.
2024
Chronos — ترميز قيم السلاسل الزمنية إلى رموز
نهج أمازون: تكميم قيم السلاسل الزمنية إلى حاويات منفصلة ثم تدريب نموذج مبني على T5 على الرموز الناتجة. يُكمّل نهج TimesFM القائم على الرقع بدلاً من منافسته.
2024
Moirai وغيره — موجة النماذج الأساسية
ظهرت نماذج أساسية متعددة للسلاسل الزمنية. Moirai من Salesforce يتعامل مع التنبؤ متعدد المتغيرات. المنهجية التي رسّخها TimesFM أصبحت هي المعيار السائد في المجال.
الإرث الحقيقي لـ TimesFM هو إثبات المفهوم: بالإمكان فعلاً بناء نموذج أساسي لـالسلاسل الزمنية يُعمّم عبر مجالات ودقّات زمنية وآفاق تنبؤ مختلفة. الوصفة واضحة: قسِّم المدخلات إلى رقع، واستخدم محوِّلاً بـفاكّ ترميز فقط، ودرِّبه على بيانات مختلطة ضخمة — هذه الوصفة أصبحت نقطة الانطلاق لكل عمل جديد في هذا الحقل. وكما أثبت BERT أن التدريب المسبق ينجح في معالجة اللغة الطبيعية، أثبت TimesFM أنه ينجح في التنبؤ بالسلاسل الزمنية.
المرجعDas, Kong, Sen, Zhou. A Decoder-Only Foundation Model for Time Series Forecasting. ICML, 2024.
مصطلحات هذه الورقة
- نموذج أساسيFoundation Model
- النمط الصفريZero-Shot
- وحدة تفكيك ترميز فقطDecoder-Only
- رُقعةPatch
- تضمين الرُّقعPatch Embedding
- ذاتي الانحدارAutoregressive
- التنبؤ بالسلاسل الزمنيةTime Series Forecasting
- قناع سببيCausal Mask
- الترميز الموضعيPositional Encoding
- الكتلة المتبقّيةResidual Block
- متوسط الخطأ المطلقMean Absolute Error
- متوسط مربع الخطأMean Squared Error
- الانتباه الذاتيSelf-Attention
- شبكة التغذية الأماميةFeed Forward Network (FFN)
- الانتباه المتعدد المساراتMulti-Head Attention