AWS Machine Learningآخر تحديث

Muse Spark Open من Meta متاح الآن في Amazon SageMaker JumpStart

Muse Spark Open، وهو نموذج Meta ذو الأوزان المفتوحة المحسّن للبرمجة، متاح الآن في Amazon SageMaker JumpStart. انشره في نقطة نهاية SageMaker AI ضمن حسابك الخاص في AWS باستخدام SageMaker Studio أو SageMaker Python SDK، وقم…

Muse Spark Open model detail card in SageMaker JumpStart with the Deploy option
مصدر الصورة · AWS Machine Learning

Muse Spark Open، نموذج Meta ذو الأوزان المفتوحة المحسّن للبرمجة، متاح الآن في Amazon SageMaker JumpStart، وهو مركز التعلم الآلي (ML) الخاص بـ Amazon SageMaker AI. تم تدريب النموذج على سير عمل حقيقية للمطورين، مثل إعادة الهيكلة متعددة الملفات وجلسات تصحيح الأخطاء الطويلة، وهو يدعم نافذة سياق تبلغ 1 مليون رمز. يمكنك نشره في نقطة نهاية SageMaker AI ضمن حسابك الخاص في AWS في خطوات قليلة، دون الحاجة إلى إدارة البنية التحتية للخدمة بنفسك. يقدم SageMaker JumpStart متغيرين: BF16 (Muse-Spark-Open-816B-A42B) و NVFP4 المكمّم (Muse-Spark-Open-816B-A42B-NVFP4).

في هذا المنشور، نقدم Muse Spark Open ونوضح لك كيفية نشر النموذج باستخدام Amazon SageMaker Studio و SageMaker Python SDK، وإرسال أول طلب استدلال إليه، ثم تنظيف الموارد.

نظرة عامة على Muse Spark Open

تصف Meta برنامج Muse Spark Open بأنه نموذج محسّن للبرمجة ومدرَّب لسير عمل البرمجة الوكيلية، مع التركيز على دقة المحاولة الأولى، واستدعاء الأدوات، وفهم قواعد الأكواد البرمجية الكبيرة. وهو نموذج استدلالي، ويقبل النصوص والصور والمستندات والصوت والصوت المرئي كمدخلات ويعيد نصوصًا.

يستخدم Muse Spark Open بنية خليط الخبراء (MoE) بإجمالي 816 مليار معامل، منها 42 مليار معامل نشطة لكل رمز. يمتلك النموذج سعة شبكة ضخمة جدًا، بينما الحوسبة التي يستهلكها لكل رمز أقرب إلى تلك الخاصة بنموذج كثيف أصغر بكثير. تُصدر Meta الأوزان بموجب Muse Model License، والتي تتضمن Muse Spark Usage Policy.

يلخص الجدول التالي النموذج.

الخاصية Muse Spark Open
المزود Meta
البنية خليط الخبراء (MoE)، نموذج استدلالي
المعاملات 816B إجمالي، 42B نشط
طول السياق 1M رمز
وسائط الإدخال النص، الصورة، المستند، الصوت، الصوت المرئي
وسائط الإخراج النص
المتغيرات في SageMaker JumpStart BF16 و NVFP4
الترخيص ترخيص Muse Model License، بما في ذلك سياسة الاستخدام Muse Spark Usage Policy

مصمم لوكلاء البرمجة طويلة الأمد

درّبت Meta نموذج Muse Spark Open على الطريقة التي يعمل بها المطوّرون في المستودعات الحقيقية: توليد الشيفرة، وتصحيح الأخطاء، وإعادة الهيكلة عبر ملفات متعددة، والمهام التي تستغرق وقتًا طويلاً. وبفضل نافذة السياق البالغة 1 مليون رمز، يمكن للنموذج استيعاب مشروع كامل، بما في ذلك تبعياته والشيفرة القديمة وآلاف الملفات. ولست بحاجة إلى تقسيم المهمة إلى أجزاء أصغر لتناسب السياق.

صمّمت Meta أيضًا Muse Spark Open كنموذج وكيلي (agentic) منذ البداية. تقول Meta إن النموذج يخطط وينفّذ ويراقب النتيجة ويصحح نفسه على مدى آفاق زمنية طويلة، بدلاً من إجراء استدعاءات أدوات منفردة. وبكونه نموذج استدلال، يعالج المهمة قبل أن يتصرف، وتُعيد نقطة النهاية في SageMaker AI هذا الاستدلال مع الإجابة، حتى تتمكن من متابعة ما يفعله الوكيل ولماذا. درّبت Meta النموذج لتصفح الويب، وتنسيق عمل وكلاء فرعيين للمهام القابلة للتقسيم، وتشغيل الحواسيب عبر بيئات سطح المكتب والهواتف المحمولة والمتصفح. وهذه قدرات للنموذج نفسه. أما على SageMaker AI، فيوفر تطبيقك أو إطار عمل الوكيل لديك الأدوات والمتصفح وبيئة استخدام الحاسوب التي يستدعيها النموذج. وإلى جانب الشيفرة، تذكر Meta أن Muse Spark Open يجري الاستدلال عبر الصور والمستندات والصوت والفيديو.

خاصيتان للنموذج تشكلان طريقة تقديمه. أولًا، التنشيط المتناثر يُبقي الحساب لكل رمز منخفضًا، لكن التقديم لا يزال يتطلب ذاكرة GPU كافية لاستيعاب جميع المعاملات البالغ عددها 816 مليار معامل، لذا ينعكس اختيار المثيل على سعة الذاكرة. ثانيًا، يخزّن متغير NVFP4 الأوزان بصيغة الفاصلة العائمة 4-bit من NVIDIA، والتي تحتاج إلى حوالي ربع ذاكرة أوزان BF16. على SageMaker AI، يحدد هذا الفرق المثيل: إذ يعمل متغير NVFP4 على ml.p5e.48xlarge، بينما يعمل متغير BF16 على ml.p6-b300.48xlarge. ما يجعل NVFP4 المتغير الذي يجب تجربته أولًا عند التحجيم وفق التكلفة. قيّمه على أعباء العمل الخاصة بك للتأكد من أن الجودة تناسب حالة الاستخدام لديك.

مع الأوزان المفتوحة على SageMaker AI، أنت تتحكم أيضًا في النشر. تعمل نقطة النهاية في حساب AWS الخاص بك، لذا تُعالَج شيفرة المصدر والتعليمات (prompts) على بنية تحتية تقوم أنت بإعدادها والتحكم فيها. يمكنك ربط نقطة النهاية بشبكتك الخاصة Amazon Virtual Private Cloud (Amazon VPC)، وتشفير وحدة التخزين الخاصة بها بمفتاح من AWS Key Management Service (AWS KMS)، وتمكين عزل الشبكة للحاوية. كما تختار نوع المثيل وحدود التوسع، وتثبّت إصدار النموذج، بحيث لا يتغير النموذج إلا عندما تعيد النشر.

حالات الاستخدام

يمكنك استخدام Muse Spark Open لمجموعة واسعة من التطبيقات. تركيز Meta على البرمجة وسير العمل الوكيلية (agentic workflows) يجعله مناسبًا لحالات الاستخدام التالية:

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

البدء مع SageMaker JumpStart

يمكنك نشر Muse Spark Open من SageMaker Studio أو باستخدام SageMaker Python SDK. ينشئ كل مسار نقطة نهاية SageMaker AI في الوقت الفعلي في حسابك.

المتطلبات الأساسية

قبل أن تبدأ، تأكد من أن لديك ما يلي:

  • حساب AWS لديه الأذونات لإنشاء نماذج ونقاط نهاية SageMaker AI.
  • دور تنفيذ AWS Identity and Access Management (IAM) لـ SageMaker AI. في هذا الاستعراض التوضيحي، يكفي AmazonSageMakerFullAccess السياسة المُدارة. ولأغراض الإنتاج، قصر الدور على الإجراءات والموارد التي يحتاجها نشرُك. لمزيد من التفاصيل، راجع كيفية استخدام أدوار تنفيذ SageMaker AI.
  • نطاق SageMaker AI مع وصول إلى SageMaker Studio، لمسار Studio. لتعليمات الإعداد، راجع استخدام الإعداد السريع لـ Amazon SageMaker AI.
  • حصة خدمة (Service quota) لنوع مثيل نقطة النهاية: ml.p5e.48xlarge لاستخدام نقطة النهاية لمتغير NVFP4، أو ml.p6-b300.48xlarge لاستخدام نقطة النهاية لمتغير BF16. لرفع الحصة، راجع طلب زيادة حصة.
  • لمسار SDK: Python 3.10 أو أحدث و SageMaker Python SDK v3 (pip install --upgrade sagemaker).
  • منطقة AWS يتوفر فيها Muse Spark Open في SageMaker JumpStart. عند الإطلاق، يتوفر Muse Spark Open في US East (N. Virginia) و US East (Ohio). للتحقق من التوفر في مناطق أخرى، افتح SageMaker JumpStart في منطقتك.

المثيلات التي تستضيف Muse Spark Open هي مثيلات متعددة وحدات معالجة الرسومات (GPU)، وتدفع مقابل نقطة النهاية طوال فترة تشغيلها، سواء كانت تخدم الطلبات أم لا. احذف نقطة النهاية عند الانتهاء، كما هو موضح في قسم التنظيف في هذه المقالة. للاطلاع على الأسعار، راجع أسعار Amazon SageMaker AI.

النشر باستخدام SageMaker Studio

يناسب مسار SageMaker Studio التقييم الأول: تجد النموذج، وتراجع ترخيصه، وتنشره من بطاقة تفاصيل نموذج واحدة.

للعثور على Muse Spark Open في SageMaker JumpStart

  1. افتح SageMaker Studio.
  2. في جزء التنقل، اختر JumpStart.
  3. في مربع البحث، أدخل Muse Spark Open.
  4. اختر Muse-Spark-Open-816B-A42B لإصدار BF16 أو Muse-Spark-Open-816B-A42B-NVFP4 لإصدار NVFP4 لفتح بطاقة تفاصيل النموذج الخاصة به.

يعرض الشكل 1 بطاقة تفاصيل النموذج، التي تحتوي على وصف النموذج والترخيص وخيار Deploy .

Muse Spark Open model detail card in SageMaker JumpStart with the Deploy option

الشكل 1: بطاقة تفاصيل نموذج Muse Spark Open في SageMaker JumpStart

لنشر النموذج

  1. في بطاقة تفاصيل النموذج، اختر Deploy.
  2. . Muse Spark Open هو نموذج مقيّد، لذلك يعرض SageMaker Studio اتفاقية ترخيص المستخدم النهائي (EULA) الخاصة به. راجع الاتفاقية واقبلها للمتابعة.
  3. بالنسبة إلى Endpoint name، احتفظ بالاسم المُنشأ أو أدخل اسماً خاصاً بك.
  4. بالنسبة إلى Instance type، اختر ml.p5e.48xlarge لإصدار NVFP4 أو ml.p6-b300.48xlarge لإصدار BF16. يسرد SageMaker Studio فقط أنواع المثيلات التي يدعمها النموذج.
  5. بالنسبة إلى Initial instance count، أدخل 1.
  6. (اختياري) ضمن خيارات متقدمة، اختر VPC ومفتاح AWS KMS، أو فعّل عزل الشبكة.
  7. اختيار النشر.

يوضح الشكل 2 إعدادات النشر لنسخة NVFP4.

Deployment settings for the Muse Spark Open NVFP4 variant in SageMaker JumpStart

الشكل 2: إعدادات النشر لـ Muse Spark Open

يستغرق النشر عادةً من 15 إلى 20 دقيقة بينما يقوم SageMaker AI بتوفير المثيل وتحميل الأوزان. عندما تتغير حالة الـ endpoint إلى InServiceيصبح الـ endpoint جاهزًا لاستقبال الطلبات، كما هو موضح في الشكل 3.

Muse Spark Open endpoint showing InService status in the SageMaker AI console

الشكل 3: الـ endpoint لـ Muse Spark Open قيد الخدمة

النشر باستخدام SageMaker Python SDK

يحدد SageMaker JumpStart كل نسخة عبر معرّف نموذج:

  • BF16: meta-vlm-muse-spark-open-816b-a42b.
  • NVFP4: meta-vlm-muse-spark-open-816b-a42b-nvfp4.

الشيفرة التالية تنشر نسخة NVFP4 باستخدام SageMaker Python SDK v3. يمكنك تشغيلها في دفتر ملاحظات SageMaker Studio، والذي يستخدم دور التنفيذ الخاص بمجالك. في أي بيئة Python أخرى مع بيانات اعتماد AWS، مرّر دور تنفيذ SageMaker AI الخاص بك عبر المعامل role_arn وبما أن Muse Spark Open نموذج مقيّد (gated)، يجب عليك تعيين accept_eula=True لنشره. لتثبيت إصدار محدد من النموذج، أضف model_version إلى JumpStartConfig.

from sagemaker.core.jumpstart.configs import JumpStartConfig
from sagemaker.serve import ModelBuilder
from sagemaker.train.configs import Compute

# NVFP4 variant; for BF16, use "meta-vlm-muse-spark-open-816b-a42b" with ml.p6-b300.48xlarge
model_id = "meta-vlm-muse-spark-open-816b-a42b-nvfp4"

jumpstart_config = JumpStartConfig(
    model_id=model_id,
    accept_eula=True,  # Confirms that you accept Meta's license terms
)

model_builder = ModelBuilder.from_jumpstart_config(
    jumpstart_config=jumpstart_config,
    compute=Compute(instance_type="ml.p5e.48xlarge"),
    # role_arn="<your-sagemaker-execution-role-arn>",  # Required outside SageMaker Studio
)

model = model_builder.build(model_name="muse-spark-open-nvfp4")
endpoint = model_builder.deploy(endpoint_name="muse-spark-open-nvfp4")

تشغيل الاستدلال

عندما يكون الـ endpoint قيد الخدمة، أرسل إليه طلبًا باستخدام invoke يقبل الـ endpoint حمولة محادثة متوافقة مع OpenAI تحتوي على قائمة messages ويعيد إكمال محادثة. الإجابة النهائية تكون في message.contentبينما يكون استدلال النموذج في message.reasoning_contentو usage.reasoning_tokens يبلّغ عن عدد الرموز (tokens) التي استخدمها الاستدلال. ولأن Muse Spark Open نموذج استدلالي، اترك مساحة كافية في max_tokens لاستدلاله وللإجابة النهائية.

import json

payload = {
    "messages": [
        {
            "role": "user",
            "content": "Write a Python function that validates ISO 8601 dates, and add pytest unit tests for it.",
        }
    ],
    "max_tokens": 4096,
}

response = endpoint.invoke(
    body=json.dumps(payload),
    content_type="application/json",
)

result = json.loads(response.body.read().decode("utf-8"))
message = result["choices"][0]["message"]
print("Reasoning:", message.get("reasoning_content"))
print("Answer:", message["content"])

يدعم الـ endpoint أيضًا البث المباشر. لاستقبال الرموز أثناء توليدها، أضف "stream": true إلى جسم الطلب واتصل بـ endpoint.invoke_with_response_stream بدلاً من invoke.

التنظيف

للتوقف عن تكبّد الرسوم، احذف الـ endpoint عندما لا تحتاجه بعد الآن. إذا نشرت باستخدام الـ SDK، فاحذف النموذج والـ endpoint وإعدادات الـ endpoint:

from sagemaker.core.resources import EndpointConfig

endpoint_config = EndpointConfig.get(endpoint_config_name=endpoint.endpoint_name)
model.delete()
endpoint.delete()
endpoint_config.delete()

إذا نشرت من SageMaker Studio، فاحذف الـ endpoint من وحدة تحكم SageMaker AI: اختر Inferenceثم نقاط النهاية (Endpoints)، حدد نقطة النهاية، ثم اختر الإجراءات (Actions), حذف (Delete).

الخلاصة

في هذه المقالة، أوضحنا كيفية نشر Muse Spark Open، وهو نموذج Meta مفتوح الأوزان المحسّن للبرمجة، من SageMaker JumpStart إلى نقطة نهاية في حساب AWS الخاص بك. لقد استخدمت SageMaker Studio أو SageMaker Python SDK وأرسلت أول طلب استدلال إلى النموذج. قم باختبار كلا الخيارين على مستودعاتك الخاصة قبل اختيار مثيل لبيئة الإنتاج.

للبدء، ابحث عن Muse Spark Open في SageMaker JumpStart داخل SageMaker Studio. لمزيد من خيارات النشر، مثل مكونات الاستدعاء وتهيئات النشر المحسّنة، راجع استخدام نماذج JumpStart الأساسية في دليل مطوّر Amazon SageMaker AI. قبل النشر، راجع ترخيص Muse Model License، الذي يعرضه SageMaker JumpStart عند نشر النموذج. للحصول على مساعدة في التخطيط لنشر في بيئة الإنتاج، اتصل بـ AWS.

 


عن المؤلفين

المصدر الأصلي

AWS Machine Learning

ملاحظات المحتوى

النشر الأصلي والحقوق تعود إلى المصدر.

ترجمة آلية · يُرجى الرجوع إلى الأصل