دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

شغّل Naive-N0.5-Flash محلياً باستعمال Transformers

تعرّف على علاش Naive-N0.5-Flash مناسب للبرمجة وبحث الذكاء الاصطناعي، وفهم البنية الهجينة ديالو SWA–DSA، وثبّت الاعتماديات المطلوبة ديال Transformers، وولّد النص باستعمال أوزان FP8 المُصدرة.

شغّل Naive-N0.5-Flash محلياً باستعمال Transformers

شنو هو Naive-N0.5-Flash؟

Naive-N0.5-Flash هو موديل مفتوح الأوزان من نوع Mixture-of-Experts، متصمّم للبرمجة وللبحث والتطوير فمجال الذكاء الاصطناعي. فيه 309 مليار بارامتر فالمجموع، منهم 15.5 مليار بارامتر نشيط، وكيدعم نافذة سياق أصلية حتى لمليون توكن.

أوزان الموديل وكود الاستدلال منشورين برخصة MIT. تقدر تلقى الموديل فـ Hugging Face والمشروع المصدر فـ GitHub.

الخصائص الرئيسية

  • سياق أصلي ديال مليون توكن: الموديل كيستعمل مزيج من Sliding-Window Attention (SWA) وDeepSeek Sparse Attention (DSA)، بلا طبقات ديال الانتباه الكامل.
  • فعالية MoE: رغم أن الموديل فيه 309 مليار بارامتر فالمجموع، غير 15.5 مليار بارامتر كيبقاو نشيطين مع كل توكن.
  • تركيز على البرمجة والبحث والتطوير فالذكاء الاصطناعي: تدرّب الموديل باش يحسّن القدرات ديال هندسة البرمجيات، والبحث، وتحسين الأنظمة.
  • الاستدلال بـ FP8: نقطة التحقق المنشورة كتدعم الاستدلال بدقة مختلطة على وحدات معالجة الرسومات NVIDIA اللي كتدعم FP8.
  • استدلال عالي الإنتاجية: نظام الاستدلال NaiveRT كيجمع بين دمج mega-kernel، وProgrammatic Dependent Launch، وspeculative decoding. كيشير README إلى سرعة كتصل حتى لـ50 توكن فالثانية لكل مستخدم فالوضع Standard، وحتى لـ2,000 توكن فالثانية فالوضع Ultrafast.

فهم تصميم الانتباه الهجين

Naive-N0.5-Flash كيستعمل 48 طبقة ديال المحوّل: 39 طبقة SWA و9 طبقات DSA. SWA كيحدّ الانتباه المحلي فنافذة ديال 128 توكن، بينما DSA كيستعمل مفهرس باش يقيّم التاريخ الكامل ويختار أفضل 2,048 توكن لانتباه العمود الفقري.

الموديل منظم فثمانية موديولات، كل واحد فيه ست طبقات. الموديول العادي فيه خمس طبقات SWA متبوعة بطبقة DSA وحدة، وزيد عليها أن الطبقة الأولى فالموديول الأول كتتعوّض حتى هي بـ DSA. DSA كيستعمل الانتباه المجمّع للاستعلامات بأربع مجموعات ديال key-value، والمعروف بـ GQA4، والمفهرس ديالو فيه 16 رأس ديال الاستعلام.

هاد التصميم كيخلي أغلب حسابات الانتباه محلية، مع السماح للمعلومات المختارة من السياق الطويل أنها تأثر فالتوليد. الذاكرة المخبأة الكاملة ديال key-value كتبقى محفوظة، ولكن العمود الفقري كينتبه غير لتوكنات DSA المختارة.

متطلبات العتاد والتثبيت

Naive-N0.5-Flash كيتطلب وحدات معالجة رسومات NVIDIA اللي كتدعم FP8. أوزان الموديل كتشغل تقريباً 315 GB، وخصك تخلي ذاكرة إضافية فـGPU للاستدلال.

README كيوفر بداية سريعة مبنية على Transformers. ثبّت نسخة حديثة من Transformers مع PyTorch والـkernels المطلوبة:

pip install "transformers[torch,kernels]>=5.17.0"

شغّل الموديل باستعمال Transformers

من بعد ما تثبّت التبعيات وتتأكد من توفر موارد GPU المطلوبة، حمّل نقطة التحقق FP8 من Hugging Face. المثال التالي كينشئ tokenizer، كيحمّل الموديل، كيهيّأ رسالة المستخدم، وكيولّد جواباً:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "NaiveAI/Naive-N0.5-Flash-FP8"
tokenizer = AutoTokenizer.from_pretrained(
    model_id,
    trust_remote_code=True,
)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    trust_remote_code=True,
    dtype="auto",
    device_map="auto",
)

inputs = tokenizer.apply_chat_template(
    [{"role": "user", "content": "Hello!"}],
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

output = model.generate(
    **inputs,
    max_new_tokens=2048,
)
response = tokenizer.decode(
    output[0, inputs["input_ids"].shape[1]:],
    skip_special_tokens=True,
)
print(response)

كيفاش كيخدم المثال

  1. اختار نقطة التحقق: NaiveAI/Naive-N0.5-Flash-FP8 كيعرف موديل FP8 فـHugging Face.
  2. حمّل tokenizer: trust_remote_code=True كيفعّل كود Transformers المخصص الموجود فمستودع الموديل.
  3. حمّل الموديل: dtype="auto" كيخلي Transformers يستعمل نوع البيانات المناسب لنقطة التحقق، بينما device_map="auto" كيوزّع مكوّنات الموديل على الأجهزة المتاحة.
  4. هيّأ المحادثة: apply_chat_template كيحوّل رسالة المستخدم للصيغة اللي كيتوقعها الموديل وكيزيد prompt ديال التوليد.
  5. ولّد النص: max_new_tokens=2048 كيحدّد عدد التوكنات الجديدة اللي غادي تتولّد.
  6. فكّ ترميز الجواب فقط: الجزء اللي كيبدا من بعد طول الإدخال كيحيد الـprompt الأصلي قبل طباعة النص المتولّد.

إعدادات التوليد الموصى بها

للاستعمال العام، المشروع كيوصي بتعيين temperature=1.0 وtop_p=0.95. هاد القيم ما داخلاش فمثال README المختصر، ولكن تقدر تمرّرها لـgenerate إلا بغيتي توضّح سلوك أخذ العينات:

output = model.generate(
    **inputs,
    max_new_tokens=2048,
    temperature=1.0,
    top_p=0.95,
)

استعمل قيمة مناسبة لـmax_new_tokens حسب المهمة ديالك. الحدود الكبيرة تقدر تنتج أجوبة أطول وكتحتاج وقت وذاكرة أكثر للتوليد.

اعتبارات الاستعمال المتقدم

استعمل السياق الطويل بوعي

نافذة السياق ديال مليون توكن مدعومة بشكل أصلي بفضل بنية SWA–DSA الهجينة. فحالة قواعد الكود الكبيرة، أو مواد البحث، أو المهام اللي فيها ملفات متعددة، قدّم السياق المرتبط بطريقة منظمة وخلي التعليمات واضحة. هاد البنية متصمّمة باش تحافظ على التفاصيل المحلية عبر SWA، وتختار المعلومات المهمة من التاريخ عبر DSA.

خطّط لسعة GPU قبل التحميل

هاد الـcheckpoint كياخد تقريباً 315 GB قبل ما نحسبو الذاكرة الإضافية ديال الاستدلال. تأكد باللي إعداد GPU ديال NVIDIA اللي كيدعم FP8 فيه السعة الكافية قبل ما تبدا الموديل. التوزيع التلقائي على الأجهزة باستعمال device_map="auto" يقدر يوزّع الموديل على الأجهزة المتاحة، ولكن ما كينقصش من مجموع الذاكرة اللي كيحتاجها الـcheckpoint ووقت التشغيل.

فكّر فاستدلال محسّن

الـREADME كيوصف NaiveRT بأنه نظام الاستدلال المحسّن ديال المشروع. التقنيات ديالو كتشمل دمج الـmega-kernel، وProgrammatic Dependent Launch، وspeculative decoding. إلا كنت محتاج throughput عالي أكثر من نشر أساسي باستعمال Transformers، راجع المدونة التقنية ديال المشروع باش تشوف دراسة الحالة ديال NaiveRT وتفاصيل التنفيذ.

راجع سياق الاختبارات المعيارية

التقييمات المنشورة كتشمل البرمجة، وهندسة البرمجيات، والمهام الوكيلة، وأبحاث الذكاء الاصطناعي، وتحسين الأنظمة. النتائج تقيّمات عموماً باستعمال Claude Code 2.1.207، ونافذة سياق فيها 1M token، وtemperature بقيمة 1.0، وtop-p بقيمة 0.95، وأدوات أساسية لإدخال وإخراج الملفات وBash، إلا إذا تذكر العكس. اعتبر مقارنات الـbenchmark مرتبطة بالـharnesses وبروتوكولات التقييم المذكورة فيها.

الرخصة ومصادر إضافية

Naive-N0.5-Flash منشور بموجب رخصة MIT. باش تلقى إصدارات الموديل والمشاريع المرتبطة به، زُر منظمة NaiveAI على GitHub أو حساب NaiveAI على Hugging Face. كاينين معلومات تقنية على المعمارية، وعملية التدريب، وتحسينات الاستدلال فـالمدونة التقنية ديال المشروع.

الخلاصة

Naive-N0.5-Flash كيجمع بين تصميم MoE فيه 309B بارامتر، منهم 15.5B بارامتر نشيط، وانتباه هجين SWA–DSA، ونافذة سياق أصلية فيها 1M token. باش تجربو محلياً، ثبّت Transformers مع الـkernels المطلوبة، واستعمل عتاد NVIDIA كيدعم FP8 وفيه تقريباً 315 GB للوزنات، وحمّل الـcheckpoint من Hugging Face، وولّد الأجوبة باستعمال إعدادات أخذ العينات الموصى بها.