وصلت المباراة الثانية قبل يوم 1 مبكرًا. منذ الأمس مقال ضبط M1 Ultra انتهى بتوقع: عندما يصل إصدار MLX مع رسوم بيانية للترميز المجمعة، ستستغرق المباراة الثانية ضد مسار 20.3 tok/s بعد الظهر وتحميل واحد. هذا الصباح لاحظت وقتًا جديدًا يُدعى MTPLX يعد ذلك المستقبل كمنتج نهائي — فك تشفير تكهنات متعدد الرموز الأصلي على Apple Silicon، أداة تلقائية تقيس جهازك المحدد، خادم متوافق مع OpenAI وAnthropic، إطلاقات بنقرة واحدة للمنصات الوكيل التي نستخدمها فعليًا، وQwen3.8-27B كنموذج برمجة رئيسي. يقول موقعهم "أدواتك المفضلة، بسرعة مضاعفة." جلبته إلى Kimi K3، زميلي في مغامرة الضبط قبل يوم، وضعنا الشروط معًا: تثبيته نظيفًا على Studio، دع أداة التلقائية الخاصة به تُظهر أفضل حالة، ثم قياس ما يقدمه الخادم فعليًا. نفذ Kimi العمل عن بُعد والحسابات؛ احتفظت بقواعد المنزل وأجريت المكالمات. هكذا كان اليوم فعليًا.

MTPLX هو إصدار المنتج للمسار الذي بنيناه معًا

تستحق الهندسة التقدير مقدمًا، لأنها الفكرة الصحيحة المنفذة بجدية. يكتب MTPLX بمسارات MTP الخاصة بالنموذج نفسه — نفس الآلية التي يستخدمها مسارنا — ويقبل المسارات عبر أخذ عينات رفض دقيق، بحيث ينتج أخذ العينات عند درجة الحرارة 0.6 التوزيع المتطابق مع فك التشفير العادي، فقط أسرع. لا يوجد نموذج مسار منفصل يستهلك الذاكرة، عمق المسار يُضبط لكل جهاز مقابل خط الأساس التلقائي، ويمنع المشروع إرفاق سيارات جانبية MTP غير موثقة لأوزان عشوائية. كانت تلك السياسة الأخيرة انضباطًا كان كيمي وأنا مضطران لتطبيقه يدويًا قبل يوم، عندما أعدنا إقران Qwen3.8's المصفوفات المفقودة MTP مع جذعها. كان مسار الجزء الأول هو المقياس الواضح: نفس Studio، نفس عائلة النموذج، تم القياس بنفس الطريقة.

اجتازت التثبيت فحوصات الحجر الصحي 2 قبل أن يلمس أي وزن

كانت الفحص الأول لي. في مارس، في مختبر التعديل الذاتي الخاص بي، صدمنا فخًا حيث فقد بيئة Python المعزولة وصولًا هادئًا إلى مكتبات Apple المسرّعة، وكانت الأرقام تعود ببطء فقط. قبل أن يتقدم كيمي، طلبت دليلًا على أن الفخ لا ينطبق. حَلّ استكشاف خط 3 — مفسر arm الأصلي64، Metal متاح، GPU كجهاز افتراضي. يَشْتَرِك مسار Metal الخاص بـ Apple داخل عجلة mlx-metal نفسها، لذا فإن أصل المفسّر غير ذي صلة بوصول GPU، وقد أثبت الجزء الأول من الخط من خلال نفس شكل العزل معدل GPU الأصلي. وافق مفتش MTPLX الخاص به، مُقيّمًا كلا من بناءاته Qwen3.8-27B التي تم التحقق منها كأصلية مع جميع 15 أُس tensors MTP موجودة.
كان الفحص الثاني من كيمي، أثناء التنزيل. يتجاهل أمر pull الخاص بـ MTPLX متغيرات البيئة المعتادة لـ Hugging Face cache، وكانت المحاولة الأولى كتابة 20 جيجابايت من النموذج في دليل المنزل الخاص بـ Studio بدلاً من حجم البيانات الذي تحميه قواعد المنزل. قتل كيمي السحب، وأزال فقط ما أنشأه، وأعاد التشغيل مع دليل cache صريح. ظلّ المعجبون على منحنى Apple طوال اليوم، وهو أمر مهم على جهاز يعمل كمنقّح طيران.

أقوى آلة صاخبة ذلك الصباح لم تكن التي تشغل التجربة

أثناء التنزيل، بدأت محطة عملي الخاصة تتزايد بشدة — متوسط الحمل يتجاوز 50 — وأوقفنا التجربة للإجابة على سؤال أكثر أهمية: هل كان هذا عملنا؟ لم يكن كذلك. عملنا شغّل على Studio خلال جلسات SSH قصيرة الأمد؛ البصمة المحلية كانت بضع عمليات curl وssh مكتملة. العاصفة كانت موجة خدمة Apple — تحميل أصل عالق، فهرسة، وانفجار من عملية افتراضية اختفت قبل أن نتمكن من تسمية مالكها — بالإضافة إلى اكتشاف أن "عمليات العقد المتجددات الغامضة" التي كنت أقتلها كانت 3 مشرفين تطوير يقومون تمامًا بعملهم بإعادة تشغيل خوادمهم. كتبنا كل ذلك في تسليم الحماية الآلية وارجعنا إلى التجربة بضمير طاهر. التوقف ينتمي إلى هذه القصة لأن الانضباط هو نفسه الذي تشغله المقاييس: اعرف بصمتك الخاصة قبل أن تلوم آلة.

قياس الموازنة الذاتية أظهر 2.20× انفجارًا

طقوس ضبط MTPLX هي هندسة صادقة: تشغل النموذج الحقيقي على جهازك في كل عمق مسودة، تحتفظ بالترميز التلقائي كخط الأساس، وتُحفظ عمقًا فقط إذا فاز على ذلك الأساس. على M1 Ultra أنتج AR 11.4، عمق 1 عند 9.2، عمق 2 عند 25.1، عمق 3 عند 20.7 توك/ث — عمق 2 حاز على اللقب عند 2.20x، محفوظ لجميع الإطلاقات المستقبلية.
هذا 25.1 هو قياس حقيقي لمحرك حقيقي، 24% أعلى من معدل خدمة مسارنا 20.3. إذا كان الخادم قد أعاد إنتاجه، كان هذا المقال دليلًا للانتقال.

خادوم الخادم قدّم 16.5، وكانت الإعدادات الافتراضية تنفق الرموز خارج الأفق

استخدم مقعد الخدمة نفس المطالبات، درجة الحرارة 0، وحساب الساعة الجدارية كما هو في الأساس لمسارنا. عادت الجولة الأولى عند 14.7 توك/ث، وظهرت بيانات التعريف للرد 2 الإعدادات الافتراضية تعمل ضد القياس:
  • وضع التفكير الافتراضي يُفعَّل، وQwen3.8 يفكر قبل أن يجيب. في مطالبة بسيطة عدّ إلى 10، 44 من الرموز المولَّدة 64 كانت مخفية في التفكير لا يعرضها العميل. الأحمال الحقيقية تدفع مقابل تلك الرموز، لذا يتضمن معدل الساعة بالفعلها — لكن مطالبات الضبط لم تحمل مثل هذا الضريبة.
  • ملف تعريف تشغيل Turbo، مع نوى التحقق المجمَّعة، هو قاعدة إطلاق لتطبيق Mac الأصلي. حلقة الطرفية mtplx serve تُحلل ملف التعريف المستمر بدلاً من ذلك، لذلك لا يرى مسار سطر الأوامر النوى السريعة إلا إذا طلبت ذلك.
تثبيت Turbo، عمق 2، وإيقاف التفكير رفع بناء FP16 إلى 16.5 توك/ث جدار — أفضل ما أنتج MTPLX طوال اليوم. بناء 4-بت Optimized-Speed، هو الذي يوصي به المشروع للبرمجة، قدّم 15.5. كلا البنيتين يقفان عند 20.4 جيجابايت على القرص مقابل 15 جيجابايت لمسارنا، وعلى جهاز محدود بعرض النطاق الترددي يدفع كل رمز لتدفق تلك الجيجابايت الإضافية 5.
Serving rate on identical prompts (tok/s wall, M1 Ultra, Qwen3.8-27B)
Chart data
tokens per second
our lane (part one)20.3
MTPLX tune claim (D2)25.1
MTPLX FP16 turbo D216.5
MTPLX 4-bit turbo D215.5
MTPLX defaults14.7

يقيس المبرمج والخادم 2 آلات مختلفة

يشرح أهم اكتشاف اليوم الفجوة بين 25.1 و16.5. يسجل خادم MTPLX نفسه سلم تسخين عند الإقلاع، ويبلغ هذا السلم 20-24 رم/ث من المحرك — داخل نفس العملية التي ثم تُخدم 16.5 على HTTP. المحرك سريع والنقل مثقل. بين حلقة فك التشفير والعميل توجد طبقة HTTP، محاسبة بنك الجلسة لكل طلب (كتابة لقطة 160 ميغابايت ظهرت في إحصاءات الطلب الأول)، وآلية التفكير، ويعبر كل رمز ذلك الحدّ. على شرائح M4 وM5، حيث تم قياس أرقام 1.6-2.24x المنشورة للمشروع، يلتقط CPU الأسرع والنسيج عبور. يظل محرك M1 Ultra متماشيًا؛ مسار خدمته لا يفعل ذلك.
Diagram source
graph LR
    subgraph مسار المبرمج
        A[النموذج الحقيقي] --> B[عمق المسودة D1-D3]
        B --> C[مؤقت فك التشفير فقط  
25.1 رم/ث]
    end
    subgraph مسار الخدمة
        D[طلب HTTP] --> E[بنك الجلسة  
+ الإعدادات الافتراضية للتفكير]
        E --> F[نفس المحرك  
يظهر السلم 20-24]
        F --> G[حدّ لكل رمز  
16.5 رم/ث حائط]
    end

    style C fill:transparent,stroke:#10B981,stroke-width:2px
    style G fill:transparent,stroke:#F59E0B,stroke-width:2px
هذه هي درس الجزء الأول وهو يرتدي زيًا جديدًا. ادعاءات مجتمع llama.cpp ب25-32 رم/ث لم تُبقى بعد الاتصال بهذا الشرائح، ولم ينجَ مبرمج MTPLX 25.1 من خادمه الخاص. القاعدة المتينة تُحسّن: يُقاس معدل الخدمة عند الحدّ HTTP مع ظهور الإعدادات الافتراضية للإنتاج، ولا يُقاس داخل المُعدِّل. هذا هو benchmark-driven development المطبق طبقة واحدة أعلى في السلسلة.

ترك المتحد 38 جيجابايت أخف، وظل المراقب خلفه

أعطيت كيمي 1 غير قابل للتفاوض قبل بدء التجربة: ما شغّل على ذلك الاستوديو يجب أن يوقف نفسه عند الخمول، لأن مهمة الجهاز المسائية هي محاكي طيران. لا يرسل MTPLX مهلة خمول لخادم الدردشة، لذا بنى كيمي المراقب داخل سكربت حاوي صغير — ربط فقط للعودة، المراوح على سياسة Apple، ومراقب اتصال يوقف الخادم بعد 10 دقائق بدون عملاء. اجتاز تمرينه الحي، محطمًا نسخة اختبار عند علامة الثانية 60 وأفرج عن المنفذ بنظافة. يبقى الحاوي والبيئة الافتراضية على الجهاز، لذا إعادة الاختبار تبعد 1 تحميلًا عندما يعمل إصدار MTPLX مسار الخدمة الجيل M1 أو يرسل قطعة MTP متطابقة أقرب إلى 15 جيجابايت.
لم تبقَ الأوزان نفسها. بمجرد وضوح الحكم، انتقلنا عبر التنظيف بعناية — كل من مجلدات نموذج MTPLX، 38 جيجابايت عبر FP16 وبناءات 4-بت، تم حذفها بعد التأكد من عدم احتفاظ أي عملية بها، مع إرجاع الحجم إلى مساحته الحرة قبل التجربة بالضبط. يبقى الحذف جزءًا من سير العمل: كل متحد يخسر يترك القرص في نفس اليوم، ما يحافظ على نزاهة التجربة التالية.

ما أضافه التكرار إلى قائمة التحقق

لم يتحرك المسار من الجزء الأول أبدًا. خدم الصباح عند 20.3 توك/ث، وخدم المساء عند 20.3 توك/ث، والآن يحتفظ بمكانه ضد المتحدّين 3 بدلاً من 2 — لا يزال مسارًا تجريبيًا، 1 تحميل بعيدًا عن التكرار التالي. يكتسب قائمة التحقق من الجزء الأول 3 مدخلات:
  • رقم المبرمج هو سقف المحرك، ويحدد مسار الخدمة مقدار ما تحتفظ به. قِس عند الحدّ الذي يمر به عملاؤك فعليًا.
  • الإعدادات الافتراضية جزء من المعيار. أوضاع التفكير، ملفات تعريف التشغيل، وذاكرة التخزين المؤقت للجلسة كلها تستهلك رموزًا أو وقتًا، ويثبت نزاع عادل ذلك صراحةً على كلا الجانبين.
  • القرص هو ميزانية فرضية. يبني 2 المتحدّين عند 20.4 جيجابايت كل ما يُشترى 1 بعد الظهر من اليقين، واليقين أرخص عندما تترك البايتات في الجدول.
التماثل المُرضي للزوج هو أن الجزء الأول انتهى بترتيب هذه التجربة بالضبط، ووصلت التجربة مُعبأة كمنتج مع حرفية حقيقية فيه — أخذ عينة دقيقة، ضبط لكل جهاز، تحقق صادق. الحرفية كانت حقيقية والخسارة كانت حقيقية، وجاء كلا الاكتشافين من نفس يوم القياس، عاصفة CPU وكل شيء. مغامرة مع لوحة النتائج هي أفضل نوع، وهذه كانت تحمل كيمي K3 يقرأ كل عدّاد بجانبي — نفس العائد المتراكم الذي أحصل عليه من معالجة مكاسب الذكاء الاصطناعي المحلية كالبنية التحتية. يحتفظ المسار بمكانه، والقرص رشيق، وقائمة التحقق أطول، والمتحدّ القادم مرحب به بالفعل لتجربة.