<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://thakicloud.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://thakicloud.github.io/" rel="alternate" type="text/html" /><updated>2026-06-25T04:01:13+09:00</updated><id>https://thakicloud.github.io/feed.xml</id><title type="html">Thaki Cloud Tech Blog | ThakiCloud | 다키클라우드 기술 블로그</title><subtitle>Thaki Cloud (ThakiCloud, 다키클라우드, thaki cloud, THAKI CLOUD, ثاكي كلاود)는 AI/ML Engineering, LLMOps, DevOps 분야의 최신 기술과 실무 경험을 공유하는 전문 기술 블로그입니다. 머신러닝 모델 운영, 쿠버네티스, 클라우드 인프라, AI 엔지니어링 커리어, 인공지능 기술 블로그, 다키클라우드 개발 팀의 깊이 있는 인사이트를 제공합니다. مدونة تقنية متخصصة في هندسة الذكاء الاصطناعي والحوسبة السحابية.</subtitle><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><entry xml:lang="ar"><title type="html">NVIDIA Qwen3.6-35B-A3B-NVFP4: تشغيل نموذج 35B بسرعة 3B عبر تكميم FP4</title><link href="https://thakicloud.github.io/ar/llmops/nvidia-qwen36-nvfp4/" rel="alternate" type="text/html" title="NVIDIA Qwen3.6-35B-A3B-NVFP4: تشغيل نموذج 35B بسرعة 3B عبر تكميم FP4" /><published>2026-06-25T00:00:00+09:00</published><updated>2026-06-25T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/nvidia-qwen36-nvfp4</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/nvidia-qwen36-nvfp4/"><![CDATA[<p>بالنسبة لأي فريق يحاول خدمة النماذج الكبيرة على بنيته التحتية الخاصة، فإن أكبر عائق هو ذاكرة GPU. إن وضع نموذج أكبر على نفس وحدة GPU، أو نفس النموذج على وحدة GPU أرخص، ينعكس مباشرة على تكلفة الخدمة. النموذج <code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code> الذي نشرته NVIDIA على Hugging Face في 28 مايو 2026 هو محاولة لخفض هذا العائق عبر التكميم بأربع بتات. كل رقم في هذه المقالة هو قياس رسمي من بطاقة نموذج NVIDIA، أما إمكانية إعادة إنتاجه على عتاد ThakiCloud الخاص فنتناولها بصدق في قسم منفصل.</p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p><code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code> هو نموذج <code class="language-plaintext highlighter-rouge">Qwen/Qwen3.6-35B-A3B</code> من Alibaba بعد تكميمه باستخدام NVIDIA Model Optimizer (ModelOpt). النموذج الأساسي بنية خليط الخبراء (MoE) بإجمالي 35B معامل و3B فقط نشطة، وطول سياق يصل إلى 262K، ورخصة Apache-2.0 تتيح الاستخدام التجاري وغير التجاري. وتوضّح NVIDIA صراحةً في بطاقة النموذج أن هذا ليس نموذجاً أساسياً من بناء NVIDIA بل نسخة مكمَّمة من نموذج طرف ثالث.</p>

<p>تتلخّص القيمة الجوهرية في فكرتين. <strong>بنية MoE تتكفّل بالسرعة، وتكميم NVFP4 يتكفّل بالذاكرة.</strong> بفضل بنية MoE، فإن توليد رمز واحد يشغّل فقط 3B من الخبراء النشطين بدلاً من كامل الـ35B، فيعمل نموذج 35B بحِمل حسابي قريب من نموذج كثيف بحجم 3B. أضف إلى ذلك تكميم NVFP4 الذي يخفض الأوزان من 16 بت إلى 4 بت، فتنخفض متطلبات القرص وذاكرة GPU بنحو 3.06 ضعف وفق بطاقة النموذج. هذا المزيج يشغّل “ذكاء بمستوى 35B بسرعة 3B وبذاكرة أقل بكثير.”</p>

<p>تدير ThakiCloud منصة SaaS متعددة المستأجرين للذكاء الاصطناعي والتعلم الآلي مبنية على Kubernetes، وتخدم النماذج عبر بيئات عملاء متنوعة. القدرة على أخذ نقطة تحقّق مكمَّمة مسبقاً وتحميلها مباشرة في vLLM تعني خفض تكلفة الخدمة دون إعادة تشغيل خط تكميم في كل مرة. وفي الواقع، تشغّل ThakiCloud بالفعل خط أنابيب داخلياً يكمّم العائلة نفسها Qwen3-MoE إلى NVFP4، ونشارك هذه التجربة لاحقاً في المقالة.</p>

<h2 id="ما-هذه-التقنية">ما هذه التقنية</h2>

<p>NVFP4 صيغة فاصلة عائمة بأربع بتات عرّفتها NVIDIA. وهي لا تسحق كل قيمة إلى 4 بتات ببساطة، بل تطبّق التكميم تحديداً على <strong>أوزان وتنشيطات</strong> المعاملات الخطية داخل كتل محوّل MoE. ونقتبس من بطاقة النموذج مباشرةً: “تم الحصول على هذا النموذج بتكميم أوزان Qwen3.6-35B-A3B إلى صيغة بيانات NVFP4. تُكمَّم فقط أوزان وتنشيطات المعاملات الخطية داخل كتل المحوّل في MoE. يخفض هذا التحسين عدد البتات لكل معامل من 16 إلى 4، ما يقلّل حجم القرص ومتطلبات ذاكرة GPU بنحو 3.06 ضعف.”</p>

<p>المفتاح هو إدراك أن MoE والتكميم يعملان على محورين مختلفين. ويوضّح المخطط أدناه كلا المحورين.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph QUANT["محور التكميم (الذاكرة)"]
      A["Qwen3.6-35B-A3B&lt;br/&gt;أوزان BF16"] --&gt;|"ModelOpt PTQ&lt;br/&gt;معايرة NVFP4"| B["نقطة تحقّق NVFP4&lt;br/&gt;16→4 بت، توفير ~3.06×"]
    end
    subgraph SERVE["محور الخدمة (السرعة)"]
      C["رمز الإدخال"] --&gt; D["الموجّه"]
      D --&gt;|"اختيار 3B من 35B"| E["الخبراء النشطون&lt;br/&gt;(حساب 3B)"]
      E --&gt; F["رمز الإخراج"]
    end
    B --&gt;|"vLLM --quantization modelopt"| G["Blackwell / Hopper&lt;br/&gt;Tensor Core"]
    G --&gt; D
</code></pre>

<p>على محور التكميم، تُحوَّل أوزان BF16 إلى نقطة تحقّق NVFP4 عبر التكميم بعد التدريب (PTQ) في ModelOpt. وعلى محور الخدمة، يختار الموجّه لكل رمز إدخال مجموعة فرعية فقط من خبراء الـ35B ويجري نحو 3B من الحساب. يلتقي المحوران عند عملية Tensor Core فوق vLLM، وهنا بالضبط تظهر تبعية NVFP4 للعتاد. تُسرَّع عمليات NVFP4 فقط على معماريتي NVIDIA Hopper وBlackwell. وتُدرج بطاقة النموذج NVIDIA GB300 كعتاد اختبار.</p>

<p>سرّ تقليل فقدان الدقة هو التكميم “بانتقائية لا شمولية.” تُترك المسارات الحساسة بما فيها الانتباه دون مساس، ويتركّز الجهد على الأوزان الخطية لـMoE التي تستهلك أكبر قدر من الذاكرة، فيبقى توفير الذاكرة كبيراً ويبقى تدهور الجودة صغيراً.</p>

<h2 id="التثبيت-والتكامل">التثبيت والتكامل</h2>

<p>أمر الخدمة الأساسي في vLLM الذي توفّره NVIDIA في بطاقة النموذج أدناه. تشغّل صورة دوكر <code class="language-plaintext highlighter-rouge">vllm/vllm-openai:nightly</code> ثم تنفّذه.</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vllm serve nvidia/Qwen3.6-35B-A3B-NVFP4 <span class="se">\</span>
  <span class="nt">--port</span> 8000 <span class="se">\</span>
  <span class="nt">--quantization</span> modelopt <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--reasoning-parser</span> qwen3
</code></pre></div></div>

<p>الراية <code class="language-plaintext highlighter-rouge">--quantization modelopt</code> هي ما يجعل المحرّك يتعرّف على نقطة تحقّق NVFP4. إذا كانت ذاكرة GPU ضيقة، فإن خفض <code class="language-plaintext highlighter-rouge">--max-model-len</code> أولاً ثم رفعه تدريجياً نهج آمن، لأن الحفاظ على كامل سياق 262K يتطلّب ذاكرة كبيرة لمخبأ KV.</p>

<p>للبيئات محدودة الذاكرة مثل NVIDIA DGX Spark، توفّر بطاقة النموذج أمراً موصى به منفصلاً.</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vllm serve nvidia/Qwen3.6-35B-A3B-NVFP4 <span class="se">\</span>
  <span class="nt">--host</span> 0.0.0.0 <span class="se">\</span>
  <span class="nt">--port</span> 8000 <span class="se">\</span>
  <span class="nt">--tensor-parallel-size</span> 1 <span class="se">\</span>
  <span class="nt">--trust-remote-code</span> <span class="se">\</span>
  <span class="nt">--kv-cache-dtype</span> fp8 <span class="se">\</span>
  <span class="nt">--attention-backend</span> flashinfer <span class="se">\</span>
  <span class="nt">--moe-backend</span> marlin <span class="se">\</span>
  <span class="nt">--gpu-memory-utilization</span> 0.4 <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--max-num-seqs</span> 4 <span class="se">\</span>
  <span class="nt">--max-num-batched-tokens</span> 8192 <span class="se">\</span>
  <span class="nt">--enable-chunked-prefill</span> <span class="se">\</span>
  <span class="nt">--async-scheduling</span> <span class="se">\</span>
  <span class="nt">--enable-prefix-caching</span> <span class="se">\</span>
  <span class="nt">--speculative-config</span> <span class="s1">'{"method":"mtp","num_speculative_tokens":3,"moe_backend":"triton"}'</span> <span class="se">\</span>
  <span class="nt">--load-format</span> fastsafetensors <span class="se">\</span>
  <span class="nt">--reasoning-parser</span> qwen3 <span class="se">\</span>
  <span class="nt">--tool-call-parser</span> qwen3_xml <span class="se">\</span>
  <span class="nt">--enable-auto-tool-choice</span>
</code></pre></div></div>

<p>يحتوي هذا الأمر على عدة خيارات مفيدة تشغيلياً. تُصغّر <code class="language-plaintext highlighter-rouge">--kv-cache-dtype fp8</code> حتى مخبأ KV إلى 8 بت، وتُبقي <code class="language-plaintext highlighter-rouge">--gpu-memory-utilization 0.4</code> بصمة الذاكرة منخفضة، وتفعّل <code class="language-plaintext highlighter-rouge">--speculative-config</code> الفك التخميني القائم على MTP (التنبؤ متعدد الرموز). وتجعل <code class="language-plaintext highlighter-rouge">--tool-call-parser qwen3_xml</code> و<code class="language-plaintext highlighter-rouge">--enable-auto-tool-choice</code> استدعاء الأدوات قابلاً للاستخدام فوراً في سيناريوهات الوكلاء وRAG. وحالة الاستخدام التي تذكرها NVIDIA هي بالضبط “المطوّرون الباحثون عن نماذج جاهزة مكمَّمة مسبقاً للنشر في أنظمة وكلاء الذكاء الاصطناعي وروبوتات المحادثة وأنظمة RAG”، وتعكس مجموعة الخيارات هذه ذلك الغرض مباشرةً.</p>

<h2 id="نتائج-تجريبية-حقيقية">نتائج تجريبية حقيقية</h2>

<p>دعوني أوضّح أمراً بصدق منذ البداية. تُسرَّع عمليات NVFP4 فقط على Tensor Core من Blackwell/Hopper، لذا لم تتمكّن بيئة Apple Silicon المستخدمة في كتابة هذه المقالة من إعادة إنتاج الاستدلال مباشرةً. لذلك فإن الأرقام أدناه هي <strong>نتائج التقييم الرسمية من NVIDIA المنشورة في بطاقة النموذج</strong>، ولم تُختلق أي أرقام قياس ذاتية.</p>

<p>قارنت NVIDIA النسخة المكمَّمة NVFP4 بالنموذج الأساسي <code class="language-plaintext highlighter-rouge">Qwen3.6-35B-A3B</code> (BF16) على معايير الاستدلال النصي والبرمجة.</p>

<table>
  <thead>
    <tr>
      <th>المعيار</th>
      <th>BF16 (الأساس)</th>
      <th>NVFP4</th>
      <th>Δ</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>MMLU Pro</td>
      <td>85.6</td>
      <td>85.0</td>
      <td>-0.6</td>
    </tr>
    <tr>
      <td>GPQA Diamond</td>
      <td>84.9</td>
      <td>84.8</td>
      <td>-0.1</td>
    </tr>
    <tr>
      <td>τ²-Bench Telecom</td>
      <td>95.5</td>
      <td>94.7</td>
      <td>-0.8</td>
    </tr>
    <tr>
      <td>SciCode</td>
      <td>40.8</td>
      <td>40.6</td>
      <td>-0.2</td>
    </tr>
    <tr>
      <td>AIME 2025</td>
      <td>89.2</td>
      <td>88.8</td>
      <td>-0.4</td>
    </tr>
    <tr>
      <td>AA-LCR</td>
      <td>62.0</td>
      <td>62.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <td>IFBench</td>
      <td>62.3</td>
      <td>62.8</td>
      <td>+0.5</td>
    </tr>
    <tr>
      <td>MMMU PRO</td>
      <td>74.1</td>
      <td>74.5</td>
      <td>+0.4</td>
    </tr>
  </tbody>
</table>

<p><img src="/assets/images/nvidia-qwen36-nvfp4-results.png" alt="مخطط أعمدة يقارن دقة NVFP4 بـ BF16" /></p>

<p>تمثيل بصري للأرقام المنشورة في بطاقة النموذج (تسميات المحاور بالكورية). حتى بعد التكميم بأربع بتات، تبقى معظم فروق الدقة دون نقطة واحدة.</p>

<p>مفتاح قراءة الجدول هو حجم الخسارة. أكبر انخفاض عبر المعايير الثمانية هو -0.8 على τ²-Bench Telecom، أما GPQA Diamond فهو -0.1، وAA-LCR متعادل. بل إن IFBench وMMMU PRO يتقدّم فيهما NVFP4 قليلاً على BF16. حدث التحوّل الطفيف في التوزيع الناتج عن التكميم بشكل مواتٍ في بعض المهام مصادفةً، لكن لا ينبغي تعميم ذلك إلى “التكميم يحسّن الأداء.” إجمالاً، رسالة الجدول أن خفض 16 بت إلى الربع عند 4 بتات حافظ على قدرات الاستدلال والرياضيات والبرمجة واستخدام أدوات الوكلاء بشكل شبه كامل. وكانت شروط التقييم لـSciCode عند temperature=0.6 وtop_p=0.95 وبحد أقصى 131072 رمزاً، والبقية عند temperature=1.0 وtop_p=0.95 وبحد أقصى 131072 رمزاً.</p>

<p>أما من ناحية الذاكرة، فتذكر بطاقة النموذج توفيراً بنحو 3.06 ضعف. ووفق مستودع Hugging Face، يُبلَّغ عن حجم المعاملات المحزومة لنقطة تحقّق NVFP4 بنحو 18.7B، وهو شكل مخفّض كثيراً للنموذج 35B مقارنةً بـ BF16 الأصلي. ويجب التحقق من حجم الملف الدقيق مباشرةً في الشريط الجانبي للمستودع، وتحذّر بطاقة النموذج من الخلط بين إحصاءات ملفات الشريط الجانبي ومعاملات بنية النموذج الأساسي.</p>

<h2 id="التطبيق-والدلالات-لمنصة-thakicloud-للذكاء-الاصطناعي-والتعلم-الآلي-على-kubernetes">التطبيق والدلالات لمنصة ThakiCloud للذكاء الاصطناعي والتعلم الآلي على Kubernetes</h2>

<p>من منظور منصة ThakiCloud، جاذبية هذا النموذج واضحة. في بيئة متعددة المستأجرين، تكون GPU أغلى مورد مشترك، وكلما تمكّنّا من تحميل مزيد من نماذج المستأجرين على نفس GPU في آنٍ واحد، انخفضت تكلفة الاستدلال للوحدة. خفض NVFP4 للذاكرة بنحو 3.06 ضعف يعني، بصيغة مبسّطة، مساحة لاستيعاب نموذج أكبر أو جلسات متزامنة أكثر في نفس ذاكرة GPU. أضف خاصية MoE المتمثّلة في تشغيل MoE بحجم 35B بحساب نحو 3B، فتصبح قيمة “نماذج عالية الجودة بتكلفة خدمة منخفضة” المحلية أكثر تجسيداً بكثير.</p>

<p>تعكس ThakiCloud هذا بالفعل في التشغيل. نحافظ على خط أنابيب داخلي يكمّم <code class="language-plaintext highlighter-rouge">Qwen/Qwen3-30B-A3B</code>، من عائلة Qwen3-MoE نفسها، إلى NVFP4 (W4A4، group_size=16) على RunPod B200 (Blackwell SM100). وفي تشغيل تحقّق في 1 مايو 2026، <strong>أنتج نقطة تحقّق بحجم 17.1GB بـ137 ثانية من حساب PTQ.</strong> بلغ إجمالي الوقت الفعلي نحو 25 دقيقة، والتكلفة نحو 3.48 دولار على B200 عند الطلب. يترتّب على هذه التجربة أمران. أولاً، تكميم NVFP4 نفسه مهمة لمرة واحدة تنتهي في وقت قصير بتكلفة منخفضة. ثانياً، عند نشر نقطة تحقّق مكمَّمة مسبقاً كما فعلت NVIDIA هنا، يمكنك تخطّي حتى تلك المهمة لمرة واحدة والانتقال مباشرةً إلى الخدمة. بعبارة أخرى، نقطة تحقّق NVIDIA العامة مدخل أشمل لخط أنابيبنا.</p>

<p>أما من ناحية تشغيل K8s، فيتوافق كما يلي. تُصفّ أحمال GPU وتُجدول عبر Kueue، وتُشغّل الخدمة كحُجيرات vLLM مع الراية <code class="language-plaintext highlighter-rouge">--quantization modelopt</code> للتعرّف على نقطة تحقّق NVFP4، ويُعالَج عزل المستأجرين بمساحات الأسماء وتقسيم GPU، مع تعديل التخصيص لكل مستأجر بقدر الذاكرة الموفَّرة. لكن يرافق ذلك شرط عتاد واحد. تسريع NVFP4 يعمل فقط على Blackwell وHopper، لذا لا يمكن لمجمّعات العقد القائمة على A100 التمتّع بفائدة الأربع بتات لهذا النموذج كما هي. وهذا قرار تشغيلي مرتبط مباشرةً بتكوين مجمّع العقد، ونشير إليه كقيد في القسم التالي.</p>

<h2 id="القيود-والحجج-المضادة">القيود والحجج المضادة</h2>

<p>أولاً، <strong>تبعية العتاد قوية.</strong> توجد نوى Tensor Core الخاصة بـNVFP4 فقط على Blackwell وHopper. على وحدات GPU من الأجيال السابقة مثل A100 أو V100، لا يُسرَّع NVFP4، فلا يمكن توقّع نفس توفير الذاكرة ويجب سلوك مسار آخر مثل INT8 أو FP8. وإذا كانت أصول GPU الحالية لعميل محلي من جيل سابق، فإن جني فائدة هذا النموذج يستلزم تكلفة إضافية لاستبدال العقد.</p>

<p>ثانياً، <strong>توفير الذاكرة ومكاسب الإنتاجية أمران مختلفان.</strong> تذكر بطاقة النموذج توفيراً للقرص والذاكرة بنحو 3.06 ضعف، لكنها لا تقدّم مباشرةً أرقام إنتاجية مثل الرموز/الثانية أو زمن الاستجابة. ومع أن الأوزان بأربع بتات تساعد عادةً في فك التشفير بتخفيف ضغط عرض النطاق للذاكرة، فإن الإنتاجية الفعلية تعتمد على حجم الدفعة وطول السياق وإعدادات مخبأ KV. والجزم بأنه “أسرع بـN ضعفاً” دون معيار خدمة خاص بـThakiCloud سيكون غير دقيق. وإلى أن نقيسه مباشرةً في بيئتنا، يكون الاعتماد على جدول الدقة وحده أكثر أماناً.</p>

<p>ثالثاً، <strong>يرث التكميم قيود النموذج الأساسي كما هي.</strong> كما تذكر بطاقة النموذج مباشرةً، دُرّب النموذج الأساسي على بيانات مسحوبة من الإنترنت تحتوي على لغة سامّة وتحيّزات مجتمعية، وقد يولّد إجابات غير دقيقة أو يحذف معلومات أساسية أو ينتج نصاً غير ذي صلة. التكميم يحسّن الذاكرة والسرعة فقط، ولا يحلّ مشكلات الأمان والدقة هذه. ولا تزال الخدمة متعددة المستأجرين تتطلّب ترشيحاً ومراقبةً منفصلين للمخرجات.</p>

<p>رابعاً، <strong>فقدان الدقة لا يتقارب إلى الصفر.</strong> رغم أن معظم المعايير تُظهر خسارة دون نقطة واحدة، فإن السيناريوهات التي يكون فيها استخدام أدوات الوكلاء والالتزام بالسياسات محورياً، مثل -0.8 في τ²-Bench Telecom، تُظهر خسارة أكبر نسبياً. وفي مجالات مثل المالية والرعاية الصحية حيث تنعكس فروق الدقة الصغيرة مباشرةً على التكلفة، تحتاج إلى سياسة توازن بين اقتصاديات توفير الأربع بتات وفقدان الدقة لكل مستأجر، وتختار بين BF16 وFP8 وNVFP4.</p>

<p>إجمالاً، <code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code> خيار عملي للغاية للفرق التي تمتلك بنية تحتية قائمة على Blackwell/Hopper لـ”خفض الذاكرة إلى الربع تقريباً دون خسارة تُذكر.” لكن هذه الفائدة لا تصمد إلا فوق شرط العتاد والتحقق من الدقة الخاص بكل مجال، وتعتزم ThakiCloud تأكيد الإنتاجية وملاءمة كل مستأجر بمعيار خدمة خاص بها قبل عكسه في سياسة مجمّع العقد.</p>

<h2 id="المصادر">المصادر</h2>

<ul>
  <li>بطاقة النموذج: <a href="https://huggingface.co/nvidia/Qwen3.6-35B-A3B-NVFP4">nvidia/Qwen3.6-35B-A3B-NVFP4 · Hugging Face</a></li>
  <li>النموذج الأساسي: <a href="https://huggingface.co/Qwen/Qwen3.6-35B-A3B">Qwen/Qwen3.6-35B-A3B · Hugging Face</a></li>
  <li>أداة التكميم: <a href="https://github.com/NVIDIA/Model-Optimizer">NVIDIA Model Optimizer (GitHub)</a></li>
  <li>محرّك الاستدلال: <a href="https://github.com/vllm-project/vllm">vLLM (GitHub)</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="nvfp4" /><category term="quantization" /><category term="vllm" /><category term="qwen3" /><category term="moe" /><category term="inference-optimization" /><category term="model-optimizer" /><summary type="html"><![CDATA[أصدرت NVIDIA نسخة مكمَّمة بصيغة NVFP4 (4 بت) من نموذج Qwen3.6-35B-A3B من Alibaba. خفض الأوزان من 16 بت إلى 4 بت يقلّل مساحة القرص وذاكرة GPU بنحو 3.06 ضعف، بينما يبقى فقدان الدقة مقابل BF16 في حدود 0.1 إلى 0.8 نقطة وفق الأرقام المنشورة في بطاقة النموذج. نحلّل كيف تتكامل بنية MoE (إجمالي 35B، 3B نشطة) مع تكميم NVFP4، وأوامر النشر في vLLM، وما يعنيه ذلك للخدمة المحلية لدى ThakiCloud.]]></summary></entry><entry xml:lang="en"><title type="html">NVIDIA Qwen3.6-35B-A3B-NVFP4: Running 35B at 3B Speed with FP4 Quantization</title><link href="https://thakicloud.github.io/en/llmops/nvidia-qwen36-nvfp4/" rel="alternate" type="text/html" title="NVIDIA Qwen3.6-35B-A3B-NVFP4: Running 35B at 3B Speed with FP4 Quantization" /><published>2026-06-25T00:00:00+09:00</published><updated>2026-06-25T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/llmops/nvidia-qwen36-nvfp4</id><content type="html" xml:base="https://thakicloud.github.io/en/llmops/nvidia-qwen36-nvfp4/"><![CDATA[<p>For any team trying to serve large models on their own infrastructure, the biggest wall is GPU memory. Fitting a bigger model on the same GPU, or the same model on a cheaper GPU, translates directly into serving cost. <code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code>, which NVIDIA published on Hugging Face on May 28, 2026, is an attempt to lower that wall with 4-bit quantization. Every figure in this article is an official measurement from NVIDIA’s model card; whether we could reproduce it on ThakiCloud’s own hardware is addressed honestly in a separate section.</p>

<h2 id="overview">Overview</h2>

<p><code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code> is Alibaba’s <code class="language-plaintext highlighter-rouge">Qwen/Qwen3.6-35B-A3B</code> quantized with NVIDIA Model Optimizer (ModelOpt). The base model is a Mixture-of-Experts (MoE) architecture with 35B total parameters and only 3B activated, a context length up to 262K, and an Apache-2.0 license that permits both commercial and non-commercial use. NVIDIA explicitly notes on the model card that this is not an NVIDIA-built base model but a quantized version of a third-party model.</p>

<p>The core value reduces to two words. <strong>MoE handles speed, NVFP4 handles memory.</strong> Thanks to the MoE structure, generating a single token engages only the 3B of active experts rather than all 35B, so a 35B model runs with a compute load close to a 3B dense model. Add NVFP4 quantization on top, dropping weights from 16-bit to 4-bit, and disk and GPU memory requirements fall by about 3.06x per the model card. The combination runs “35B-level intelligence at 3B speed, with far less memory.”</p>

<p>ThakiCloud operates a K8s-based multi-tenant AI/ML SaaS platform and serves models across diverse customer environments. Being able to take a pre-quantized checkpoint and load it straight into vLLM means lowering serving cost without rerunning a quantization pipeline each time. In fact, ThakiCloud already runs an in-house pipeline that quantizes the same Qwen3-MoE family to NVFP4, and we share that experience later in this article.</p>

<h2 id="what-is-this-technology">What Is This Technology</h2>

<p>NVFP4 is a 4-bit floating-point format defined by NVIDIA. It does not simply crush every value down to 4 bits; it applies quantization specifically to the <strong>weights and activations</strong> of the linear operators inside MoE transformer blocks. To quote the model card directly: “This model was obtained by quantizing the weights of Qwen3.6-35B-A3B to NVFP4 data type. Only the weights and activations of the linear operators within transformer blocks in MoE are quantized. This optimization reduces the number of bits per parameter from 16 to 4, reducing the disk size and GPU memory requirements by approximately 3.06x.”</p>

<p>The key is to recognize that MoE and quantization operate on different axes. The diagram below shows both.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph QUANT["Quantization axis (memory)"]
      A["Qwen3.6-35B-A3B&lt;br/&gt;BF16 weights"] --&gt;|"ModelOpt PTQ&lt;br/&gt;NVFP4 calibration"| B["NVFP4 checkpoint&lt;br/&gt;16→4 bit, ~3.06x savings"]
    end
    subgraph SERVE["Serving axis (speed)"]
      C["Input token"] --&gt; D["Router"]
      D --&gt;|"3B of 35B selected"| E["Active experts&lt;br/&gt;(3B compute)"]
      E --&gt; F["Output token"]
    end
    B --&gt;|"vLLM --quantization modelopt"| G["Blackwell / Hopper&lt;br/&gt;Tensor Core"]
    G --&gt; D
</code></pre>

<p>On the quantization axis, BF16 weights are converted into an NVFP4 checkpoint via ModelOpt’s post-training quantization (PTQ). On the serving axis, for each input token the router selects only a subset of the 35B experts and performs roughly 3B of compute. The two axes meet at the Tensor Core operation on top of vLLM, and that is exactly where NVFP4’s hardware dependency surfaces. NVFP4 operations are accelerated only on NVIDIA Hopper and Blackwell microarchitectures. The model card lists NVIDIA GB300 as the test hardware.</p>

<p>The trick to minimizing accuracy loss is quantizing “selectively, not everything.” Sensitive paths including attention are left untouched, and the effort concentrates on the MoE linear weights that consume the most memory, so memory savings stay large while quality degradation stays small.</p>

<h2 id="installation-and-integration">Installation and Integration</h2>

<p>The basic vLLM serving command NVIDIA provides on the model card is below. You launch the <code class="language-plaintext highlighter-rouge">vllm/vllm-openai:nightly</code> docker image and run it.</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vllm serve nvidia/Qwen3.6-35B-A3B-NVFP4 <span class="se">\</span>
  <span class="nt">--port</span> 8000 <span class="se">\</span>
  <span class="nt">--quantization</span> modelopt <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--reasoning-parser</span> qwen3
</code></pre></div></div>

<p>The <code class="language-plaintext highlighter-rouge">--quantization modelopt</code> flag is what makes the runtime recognize the NVFP4 checkpoint. If GPU memory is tight, reducing <code class="language-plaintext highlighter-rouge">--max-model-len</code> first and then raising it gradually is the safe approach, because keeping the full 262K context requires considerable KV cache memory.</p>

<p>For memory-constrained environments such as the NVIDIA DGX Spark, the model card provides a separate recommended command.</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vllm serve nvidia/Qwen3.6-35B-A3B-NVFP4 <span class="se">\</span>
  <span class="nt">--host</span> 0.0.0.0 <span class="se">\</span>
  <span class="nt">--port</span> 8000 <span class="se">\</span>
  <span class="nt">--tensor-parallel-size</span> 1 <span class="se">\</span>
  <span class="nt">--trust-remote-code</span> <span class="se">\</span>
  <span class="nt">--kv-cache-dtype</span> fp8 <span class="se">\</span>
  <span class="nt">--attention-backend</span> flashinfer <span class="se">\</span>
  <span class="nt">--moe-backend</span> marlin <span class="se">\</span>
  <span class="nt">--gpu-memory-utilization</span> 0.4 <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--max-num-seqs</span> 4 <span class="se">\</span>
  <span class="nt">--max-num-batched-tokens</span> 8192 <span class="se">\</span>
  <span class="nt">--enable-chunked-prefill</span> <span class="se">\</span>
  <span class="nt">--async-scheduling</span> <span class="se">\</span>
  <span class="nt">--enable-prefix-caching</span> <span class="se">\</span>
  <span class="nt">--speculative-config</span> <span class="s1">'{"method":"mtp","num_speculative_tokens":3,"moe_backend":"triton"}'</span> <span class="se">\</span>
  <span class="nt">--load-format</span> fastsafetensors <span class="se">\</span>
  <span class="nt">--reasoning-parser</span> qwen3 <span class="se">\</span>
  <span class="nt">--tool-call-parser</span> qwen3_xml <span class="se">\</span>
  <span class="nt">--enable-auto-tool-choice</span>
</code></pre></div></div>

<p>This command packs in several operationally useful options. <code class="language-plaintext highlighter-rouge">--kv-cache-dtype fp8</code> shrinks even the KV cache to 8-bit, <code class="language-plaintext highlighter-rouge">--gpu-memory-utilization 0.4</code> keeps memory footprint low, and <code class="language-plaintext highlighter-rouge">--speculative-config</code> enables MTP (Multi-Token Prediction) based speculative decoding. <code class="language-plaintext highlighter-rouge">--tool-call-parser qwen3_xml</code> and <code class="language-plaintext highlighter-rouge">--enable-auto-tool-choice</code> make tool calling immediately usable in agent and RAG scenarios. NVIDIA’s stated use case is precisely “developers looking to take off-the-shelf, pre-quantized models for deployment in AI agent systems, chatbots, and RAG systems,” and this option set directly reflects that purpose.</p>

<h2 id="real-experimental-results">Real Experimental Results</h2>

<p>Let me state one thing honestly up front. NVFP4 operations are accelerated only on Blackwell/Hopper Tensor Cores, so the Apple Silicon environment used to write this article could not reproduce inference directly. The numbers below are therefore <strong>NVIDIA’s official evaluation results published on the model card</strong>; no self-measured figures were invented.</p>

<p>NVIDIA compared the NVFP4 quantized version against the base model <code class="language-plaintext highlighter-rouge">Qwen3.6-35B-A3B</code> (BF16) on text reasoning and coding benchmarks.</p>

<table>
  <thead>
    <tr>
      <th>Benchmark</th>
      <th>BF16 (baseline)</th>
      <th>NVFP4</th>
      <th>Δ</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>MMLU Pro</td>
      <td>85.6</td>
      <td>85.0</td>
      <td>-0.6</td>
    </tr>
    <tr>
      <td>GPQA Diamond</td>
      <td>84.9</td>
      <td>84.8</td>
      <td>-0.1</td>
    </tr>
    <tr>
      <td>τ²-Bench Telecom</td>
      <td>95.5</td>
      <td>94.7</td>
      <td>-0.8</td>
    </tr>
    <tr>
      <td>SciCode</td>
      <td>40.8</td>
      <td>40.6</td>
      <td>-0.2</td>
    </tr>
    <tr>
      <td>AIME 2025</td>
      <td>89.2</td>
      <td>88.8</td>
      <td>-0.4</td>
    </tr>
    <tr>
      <td>AA-LCR</td>
      <td>62.0</td>
      <td>62.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <td>IFBench</td>
      <td>62.3</td>
      <td>62.8</td>
      <td>+0.5</td>
    </tr>
    <tr>
      <td>MMMU PRO</td>
      <td>74.1</td>
      <td>74.5</td>
      <td>+0.4</td>
    </tr>
  </tbody>
</table>

<p><img src="/assets/images/nvidia-qwen36-nvfp4-results.png" alt="Bar chart comparing NVFP4 accuracy against BF16" /></p>

<p>A visualization of the model card’s published numbers (axis labels in Korean). Even after 4-bit quantization, most accuracy differences stay below one point.</p>

<p>The key to reading the table is the magnitude of the loss. The largest drop across the 8 benchmarks is -0.8 on τ²-Bench Telecom; GPQA Diamond is -0.1, and AA-LCR is a tie. IFBench and MMMU PRO actually have NVFP4 slightly ahead of BF16. The tiny distribution shift from quantization happened to help on a few tasks, but this should not be generalized into “quantization improves performance.” Overall, the message of the table is that cutting 16-bit down to a quarter at 4-bit preserved reasoning, math, coding, and agentic tool-use capability almost entirely. The evaluation conditions were SciCode at temperature=0.6, top_p=0.95, max 131072 tokens, and the rest at temperature=1.0, top_p=0.95, max 131072 tokens.</p>

<p>On the memory side, the model card states roughly 3.06x savings. Per the Hugging Face repository, the packed parameter scale of the NVFP4 checkpoint is reported at about 18.7B, a substantially reduced form of the 35B model versus the original BF16. The exact file size must be checked directly in the repository sidebar, and the model card warns not to confuse the sidebar’s file statistics with the base model’s architecture parameters.</p>

<h2 id="application-and-implications-for-the-thakicloud-k8s-aiml-saas-platform">Application and Implications for the ThakiCloud K8s AI/ML SaaS Platform</h2>

<p>From ThakiCloud’s platform perspective, the appeal of this model is clear. In a multi-tenant environment, the GPU is the most expensive shared resource, and the more tenant models we can load onto the same GPU simultaneously, the lower the per-inference cost. NVFP4 reducing memory by about 3.06x means, in simplified terms, room to fit a larger model or more concurrent sessions in the same GPU memory. Layer in the MoE characteristic of running a 35B MoE at roughly 3B compute, and the on-premises value proposition of “high-quality models at low serving cost” becomes much more concrete.</p>

<p>ThakiCloud already reflects this in operations. We maintain an in-house pipeline that quantizes <code class="language-plaintext highlighter-rouge">Qwen/Qwen3-30B-A3B</code>, of the same Qwen3-MoE family, to NVFP4 (W4A4, group_size=16) on RunPod B200 (Blackwell SM100). In a validation run on May 1, 2026, it <strong>produced a 17.1GB checkpoint with 137 seconds of PTQ compute.</strong> Total wall-clock was about 25 minutes, and cost was around $3.48 on B200 on-demand. Two things follow from this experience. First, NVFP4 quantization itself is a one-time job that finishes in a short time at low cost. Second, when a pre-quantized checkpoint is published as NVIDIA did here, you can skip even that one-time job and go straight to serving. In other words, NVIDIA’s public checkpoint is a superset input to our pipeline.</p>

<p>On the K8s operations side, it aligns as follows. GPU workloads are queued and scheduled with Kueue, serving is brought up as vLLM pods with the <code class="language-plaintext highlighter-rouge">--quantization modelopt</code> flag recognizing the NVFP4 checkpoint, and multi-tenant isolation is handled with namespaces and GPU partitioning, adjusting per-tenant allocation by the memory saved. One hardware premise comes attached, though. NVFP4 acceleration works only on Blackwell and Hopper, so existing A100-based node pools cannot enjoy this model’s 4-bit benefit as-is. This is an operational decision tied directly to node-pool composition, which we flag as a limitation in the next section.</p>

<h2 id="limitations-and-counterarguments">Limitations and Counterarguments</h2>

<p>First, <strong>the hardware dependency is strong.</strong> NVFP4 Tensor Cores exist only on Blackwell and Hopper. On prior-generation GPUs like the A100 or V100, NVFP4 is not accelerated, so you cannot expect the same memory savings and must take a different path such as INT8 or FP8. If an on-premises customer’s existing GPU assets are prior-generation, reaping this model’s benefit incurs the added cost of node replacement.</p>

<p>Second, <strong>memory savings and throughput gains are different matters.</strong> The model card states roughly 3.06x disk and memory savings, but it does not directly present throughput figures such as tokens/sec or latency. While 4-bit weights generally help decoding by easing memory-bandwidth pressure, actual throughput depends on batch size, context length, and KV cache settings. Asserting “it’s N times faster” without ThakiCloud’s own serving benchmark would be inaccurate. Until we measure it directly in our environment, it is safer to rely only on the accuracy table.</p>

<p>Third, <strong>quantization inherits the base model’s limitations as-is.</strong> As the model card states directly, the base model was trained on data crawled from the internet that contains toxic language and societal biases, and it may generate inaccurate answers, omit key information, or produce irrelevant text. Quantization only optimizes memory and speed; it does not solve these safety and accuracy issues. Multi-tenant serving still requires separate output filtering and monitoring.</p>

<p>Fourth, <strong>accuracy loss does not converge to zero.</strong> Although most benchmarks show loss under one point, scenarios where agentic tool use and policy adherence are central, like τ²-Bench Telecom’s -0.8, show a relatively larger loss. In domains like finance and healthcare where small accuracy differences translate directly into cost, you need a policy that weighs the economics of 4-bit savings against accuracy loss per tenant and chooses among BF16, FP8, and NVFP4.</p>

<p>In sum, <code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code> is a highly practical option for teams with Blackwell/Hopper-based infrastructure to “cut memory to a quarter with almost no loss.” That benefit holds only on top of the hardware premise and domain-specific accuracy validation, and ThakiCloud plans to confirm throughput and per-tenant suitability with its own serving benchmark before reflecting it in node-pool policy.</p>

<h2 id="sources">Sources</h2>

<ul>
  <li>Model card: <a href="https://huggingface.co/nvidia/Qwen3.6-35B-A3B-NVFP4">nvidia/Qwen3.6-35B-A3B-NVFP4 · Hugging Face</a></li>
  <li>Base model: <a href="https://huggingface.co/Qwen/Qwen3.6-35B-A3B">Qwen/Qwen3.6-35B-A3B · Hugging Face</a></li>
  <li>Quantization tool: <a href="https://github.com/NVIDIA/Model-Optimizer">NVIDIA Model Optimizer (GitHub)</a></li>
  <li>Inference engine: <a href="https://github.com/vllm-project/vllm">vLLM (GitHub)</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="nvfp4" /><category term="quantization" /><category term="vllm" /><category term="qwen3" /><category term="moe" /><category term="inference-optimization" /><category term="model-optimizer" /><summary type="html"><![CDATA[NVIDIA released an NVFP4 (4-bit) quantized version of Alibaba's Qwen3.6-35B-A3B. Cutting weights from 16-bit to 4-bit reduces disk and GPU memory by about 3.06x, while accuracy loss against BF16 stays within 0.1-0.8 points on the model card's published numbers. We break down how the MoE structure (35B total, 3B active) combines with NVFP4 quantization, the vLLM deployment commands, and what it means for ThakiCloud's on-premises serving.]]></summary></entry><entry xml:lang="ko"><title type="html">NVIDIA Qwen3.6-35B-A3B-NVFP4: 35B를 3B처럼 돌리는 FP4 양자화의 실제</title><link href="https://thakicloud.github.io/ko/llmops/nvidia-qwen36-nvfp4/" rel="alternate" type="text/html" title="NVIDIA Qwen3.6-35B-A3B-NVFP4: 35B를 3B처럼 돌리는 FP4 양자화의 실제" /><published>2026-06-25T00:00:00+09:00</published><updated>2026-06-25T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/llmops/nvidia-qwen36-nvfp4</id><content type="html" xml:base="https://thakicloud.github.io/ko/llmops/nvidia-qwen36-nvfp4/"><![CDATA[<p>대규모 모델을 자체 인프라에서 서빙하려는 팀에게 가장 큰 벽은 GPU 메모리입니다. 같은 GPU에 더 큰 모델을 올리거나, 같은 모델을 더 싼 GPU에 올리는 일은 곧바로 서빙 단가와 직결됩니다. NVIDIA가 2026년 5월 28일 Hugging Face에 공개한 <code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code>는 이 벽을 4비트 양자화로 낮추려는 시도입니다. 이 글의 모든 수치는 NVIDIA가 모델카드에 공개한 공식 측정치이며, ThakiCloud 자체 하드웨어에서의 재현 가능 여부는 별도 항목에서 정직하게 다룹니다.</p>

<h2 id="개요">개요</h2>

<p><code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code>는 Alibaba의 <code class="language-plaintext highlighter-rouge">Qwen/Qwen3.6-35B-A3B</code>를 NVIDIA Model Optimizer(ModelOpt)로 양자화한 버전입니다. 베이스 모델은 35B 총 파라미터에 3B만 활성화되는 Mixture-of-Experts(MoE) 구조이며, 컨텍스트 길이는 최대 262K, 라이선스는 Apache-2.0으로 상업·비상업 모두 사용 가능합니다. NVIDIA는 이 모델이 자사가 처음부터 만든 베이스 모델이 아니라 제3자 모델의 양자화 버전임을 모델카드에 명시하고 있습니다.</p>

<p>핵심 가치는 두 단어로 요약됩니다. <strong>MoE는 속도를, NVFP4는 메모리를</strong> 담당합니다. MoE 구조 덕분에 토큰 하나를 생성할 때 35B 전체가 아니라 3B의 활성 전문가만 계산에 참여하므로, 35B 모델이면서도 연산량은 3B 밀집 모델에 가깝습니다. 여기에 NVFP4 양자화가 더해져 가중치를 16비트에서 4비트로 줄이면, 모델카드 기준 디스크와 GPU 메모리 요구가 약 3.06배 감소합니다. 즉 “35B의 지능을 3B의 속도와, 그보다 한참 작은 메모리로” 돌리는 조합입니다.</p>

<p>ThakiCloud는 K8s 기반의 멀티테넌트 AI/ML SaaS 플랫폼을 운영하면서 다양한 고객 환경에 모델을 서빙합니다. 사전 양자화된 체크포인트를 그대로 받아 vLLM에 올릴 수 있다는 점은, 양자화 파이프라인을 매번 다시 돌릴 필요 없이 서빙 단가를 낮출 수 있다는 의미입니다. 실제로 ThakiCloud는 이미 같은 계열인 Qwen3-MoE를 NVFP4로 양자화하는 사내 파이프라인을 운영하고 있으며, 이 경험을 글 후반에서 공유합니다.</p>

<h2 id="이-기술은-무엇인가">이 기술은 무엇인가</h2>

<p>NVFP4는 NVIDIA가 정의한 4비트 부동소수점 포맷입니다. 단순히 모든 값을 4비트로 깎아내리는 방식이 아니라, MoE 트랜스포머 블록 안 선형 연산자(linear operator)의 <strong>가중치와 활성값</strong>에 한정해 양자화를 적용합니다. 모델카드의 설명을 그대로 옮기면, “Qwen3.6-35B-A3B의 가중치를 NVFP4 데이터 타입으로 양자화했으며, MoE 트랜스포머 블록 내부 선형 연산자의 가중치와 활성값만 양자화한다. 이 최적화는 파라미터당 비트 수를 16에서 4로 줄여, 디스크 크기와 GPU 메모리 요구를 약 3.06배 감소시킨다”입니다.</p>

<p>여기서 MoE와 양자화가 서로 다른 축에서 동작한다는 점을 이해하는 것이 중요합니다. 아래 흐름도가 두 축을 보여줍니다.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph QUANT["양자화 축 (메모리)"]
      A["Qwen3.6-35B-A3B&lt;br/&gt;BF16 가중치"] --&gt;|"ModelOpt PTQ&lt;br/&gt;NVFP4 보정"| B["NVFP4 체크포인트&lt;br/&gt;16→4 bit, 약 3.06x 절감"]
    end
    subgraph SERVE["서빙 축 (속도)"]
      C["입력 토큰"] --&gt; D["라우터"]
      D --&gt;|"35B 중 3B만 선택"| E["활성 전문가&lt;br/&gt;(3B 연산)"]
      E --&gt; F["출력 토큰"]
    end
    B --&gt;|"vLLM --quantization modelopt"| G["Blackwell / Hopper&lt;br/&gt;Tensor Core"]
    G --&gt; D
</code></pre>

<p>양자화 축에서는 BF16 가중치를 ModelOpt의 사후 양자화(PTQ, Post-Training Quantization)로 NVFP4 체크포인트로 변환합니다. 서빙 축에서는 입력 토큰마다 라우터가 35B 전체 전문가 중 일부만 골라 3B 규모의 연산만 수행합니다. 두 축이 만나는 지점이 vLLM 위 Tensor Core 연산이며, 바로 여기서 NVFP4의 하드웨어 의존성이 드러납니다. NVFP4 연산은 NVIDIA Hopper와 Blackwell 마이크로아키텍처에서만 가속됩니다. 모델카드의 테스트 하드웨어는 NVIDIA GB300으로 기재되어 있습니다.</p>

<p>정확도 손실을 최소화하는 비결은 “전부가 아니라 선택적으로” 양자화하는 데 있습니다. 어텐션을 포함한 민감한 경로는 손대지 않고, 메모리를 가장 많이 차지하는 MoE 선형 가중치에 집중함으로써, 메모리 절감 효과는 크게 가져가면서 품질 저하는 작게 막는 것입니다.</p>

<h2 id="설치-및-통합">설치 및 통합</h2>

<p>NVIDIA가 모델카드에서 제공하는 기본 vLLM 서빙 명령은 다음과 같습니다. <code class="language-plaintext highlighter-rouge">vllm/vllm-openai:nightly</code> 도커 이미지를 띄운 뒤 실행합니다.</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vllm serve nvidia/Qwen3.6-35B-A3B-NVFP4 <span class="se">\</span>
  <span class="nt">--port</span> 8000 <span class="se">\</span>
  <span class="nt">--quantization</span> modelopt <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--reasoning-parser</span> qwen3
</code></pre></div></div>

<p><code class="language-plaintext highlighter-rouge">--quantization modelopt</code> 플래그가 NVFP4 체크포인트를 인식하게 하는 핵심입니다. GPU 메모리가 빠듯하면 <code class="language-plaintext highlighter-rouge">--max-model-len</code>을 먼저 줄였다가 점진적으로 올리는 방식이 안전합니다. 262K 컨텍스트를 그대로 유지하려면 KV 캐시 메모리가 상당히 필요하기 때문입니다.</p>

<p>NVIDIA DGX Spark처럼 메모리가 제한된 환경을 위해서는 모델카드가 별도의 권장 명령을 제공합니다.</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vllm serve nvidia/Qwen3.6-35B-A3B-NVFP4 <span class="se">\</span>
  <span class="nt">--host</span> 0.0.0.0 <span class="se">\</span>
  <span class="nt">--port</span> 8000 <span class="se">\</span>
  <span class="nt">--tensor-parallel-size</span> 1 <span class="se">\</span>
  <span class="nt">--trust-remote-code</span> <span class="se">\</span>
  <span class="nt">--kv-cache-dtype</span> fp8 <span class="se">\</span>
  <span class="nt">--attention-backend</span> flashinfer <span class="se">\</span>
  <span class="nt">--moe-backend</span> marlin <span class="se">\</span>
  <span class="nt">--gpu-memory-utilization</span> 0.4 <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--max-num-seqs</span> 4 <span class="se">\</span>
  <span class="nt">--max-num-batched-tokens</span> 8192 <span class="se">\</span>
  <span class="nt">--enable-chunked-prefill</span> <span class="se">\</span>
  <span class="nt">--async-scheduling</span> <span class="se">\</span>
  <span class="nt">--enable-prefix-caching</span> <span class="se">\</span>
  <span class="nt">--speculative-config</span> <span class="s1">'{"method":"mtp","num_speculative_tokens":3,"moe_backend":"triton"}'</span> <span class="se">\</span>
  <span class="nt">--load-format</span> fastsafetensors <span class="se">\</span>
  <span class="nt">--reasoning-parser</span> qwen3 <span class="se">\</span>
  <span class="nt">--tool-call-parser</span> qwen3_xml <span class="se">\</span>
  <span class="nt">--enable-auto-tool-choice</span>
</code></pre></div></div>

<p>이 명령에는 운영에 유용한 옵션이 여럿 들어 있습니다. <code class="language-plaintext highlighter-rouge">--kv-cache-dtype fp8</code>로 KV 캐시까지 8비트로 줄이고, <code class="language-plaintext highlighter-rouge">--gpu-memory-utilization 0.4</code>로 메모리 점유를 낮추며, <code class="language-plaintext highlighter-rouge">--speculative-config</code>로 MTP(Multi-Token Prediction) 기반 추측 디코딩까지 켭니다. <code class="language-plaintext highlighter-rouge">--tool-call-parser qwen3_xml</code>과 <code class="language-plaintext highlighter-rouge">--enable-auto-tool-choice</code>는 에이전트·RAG 시나리오에서 도구 호출을 바로 쓸 수 있게 합니다. NVIDIA가 명시한 사용 사례 자체가 “AI 에이전트 시스템, 챗봇, RAG 시스템에 바로 배포할 사전 양자화 모델을 찾는 개발자”이므로, 이 옵션 구성은 그 용도를 그대로 반영합니다.</p>

<h2 id="실제-실험-결과">실제 실험 결과</h2>

<p>가장 먼저 정직하게 밝힐 점이 있습니다. NVFP4 연산은 Blackwell/Hopper Tensor Core에서만 가속되므로, 이 글을 작성한 Apple Silicon 환경에서는 추론을 직접 재현할 수 없었습니다. 따라서 아래 수치는 <strong>NVIDIA가 모델카드에 공개한 공식 평가 결과</strong>이며, 자체 측정치를 지어내지 않았습니다.</p>

<p>NVIDIA는 베이스 모델 <code class="language-plaintext highlighter-rouge">Qwen3.6-35B-A3B</code>(BF16)를 기준으로 NVFP4 양자화 버전을 텍스트 추론·코딩 벤치마크에서 비교했습니다.</p>

<table>
  <thead>
    <tr>
      <th>벤치마크</th>
      <th>BF16 (기준)</th>
      <th>NVFP4</th>
      <th>Δ</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>MMLU Pro</td>
      <td>85.6</td>
      <td>85.0</td>
      <td>-0.6</td>
    </tr>
    <tr>
      <td>GPQA Diamond</td>
      <td>84.9</td>
      <td>84.8</td>
      <td>-0.1</td>
    </tr>
    <tr>
      <td>τ²-Bench Telecom</td>
      <td>95.5</td>
      <td>94.7</td>
      <td>-0.8</td>
    </tr>
    <tr>
      <td>SciCode</td>
      <td>40.8</td>
      <td>40.6</td>
      <td>-0.2</td>
    </tr>
    <tr>
      <td>AIME 2025</td>
      <td>89.2</td>
      <td>88.8</td>
      <td>-0.4</td>
    </tr>
    <tr>
      <td>AA-LCR</td>
      <td>62.0</td>
      <td>62.0</td>
      <td>0.0</td>
    </tr>
    <tr>
      <td>IFBench</td>
      <td>62.3</td>
      <td>62.8</td>
      <td>+0.5</td>
    </tr>
    <tr>
      <td>MMMU PRO</td>
      <td>74.1</td>
      <td>74.5</td>
      <td>+0.4</td>
    </tr>
  </tbody>
</table>

<p><img src="/assets/images/nvidia-qwen36-nvfp4-results.png" alt="BF16 대비 NVFP4 정확도 비교 막대 그래프" /></p>

<p>모델카드 공개 수치를 시각화한 그래프입니다. 4비트 양자화 후에도 정확도 차이가 대부분 1점 미만에 머뭅니다.</p>

<p>표를 읽는 핵심은 손실의 크기입니다. 8개 벤치마크 중 손실이 가장 큰 항목이 τ²-Bench Telecom의 -0.8점이며, GPQA Diamond는 -0.1점, AA-LCR은 동률입니다. IFBench와 MMMU PRO는 오히려 NVFP4가 BF16을 소폭 앞섭니다. 양자화로 인한 미세한 분포 변화가 일부 태스크에서는 우연히 유리하게 작용한 결과로 보이며, 이를 “양자화가 성능을 올린다”로 일반화해서는 안 됩니다. 종합하면, 16비트를 4비트로 4분의 1로 줄였는데도 추론·수학·코딩·에이전트 도구사용 능력이 사실상 보존되었다는 것이 이 표의 메시지입니다. 평가 조건은 SciCode가 temperature=0.6, top_p=0.95, 최대 131072 토큰이고, 나머지는 temperature=1.0, top_p=0.95, 최대 131072 토큰입니다.</p>

<p>메모리 측면에서는 모델카드가 약 3.06배 절감을 명시합니다. Hugging Face 저장소 기준 NVFP4 체크포인트의 패킹된 파라미터 규모는 약 18.7B로 집계되며, 35B 모델을 기존 BF16 대비 크게 줄인 형태입니다. 다만 정확한 파일 크기는 저장소 사이드바를 직접 확인해야 하며, 사이드바의 파일 통계를 베이스 모델의 아키텍처 파라미터와 혼동하지 않아야 한다고 모델카드가 경고합니다.</p>

<h2 id="thakicloud-k8s-aiml-saas-플랫폼-적용-및-시사점">ThakiCloud K8s AI/ML SaaS 플랫폼 적용 및 시사점</h2>

<p>ThakiCloud의 플랫폼 관점에서 이 모델이 매력적인 이유는 분명합니다. 멀티테넌트 환경에서 GPU는 가장 비싼 공유 자원이고, 같은 GPU에 더 많은 테넌트의 모델을 동시에 올릴수록 단위 추론 단가가 내려갑니다. NVFP4가 메모리를 약 3.06배 줄인다는 것은, 단순화하면 동일 GPU 메모리에 더 큰 모델 또는 더 많은 동시 세션을 수용할 여지가 생긴다는 뜻입니다. 35B MoE를 3B 수준의 연산량으로 돌리는 MoE 특성까지 겹치면, “고품질 모델을 낮은 서빙 비용으로” 제공한다는 온프레미스 가치 제안이 한층 구체화됩니다.</p>

<p>ThakiCloud는 이 흐름을 이미 운영에 반영하고 있습니다. 같은 Qwen3-MoE 계열인 <code class="language-plaintext highlighter-rouge">Qwen/Qwen3-30B-A3B</code>를 RunPod B200(Blackwell SM100)에서 NVFP4(W4A4, group_size=16)로 양자화하는 사내 파이프라인을 보유하고 있으며, 2026년 5월 1일 검증 실행에서 <strong>17.1GB 체크포인트를 137초의 PTQ 연산으로 생성</strong>했습니다. 전체 소요는 약 25분, 비용은 B200 온디맨드 기준 약 3.48달러였습니다. 이 경험이 시사하는 바는 두 가지입니다. 첫째, NVFP4 양자화 자체는 짧은 시간·낮은 비용으로 끝나는 일회성 작업입니다. 둘째, NVIDIA처럼 사전 양자화 체크포인트가 공개되면 이 일회성 작업조차 건너뛰고 곧바로 서빙으로 진입할 수 있습니다. 즉 NVIDIA의 공개 체크포인트는 우리 파이프라인의 상위 호환 입력입니다.</p>

<p>K8s 운영 측면에서는 다음과 같이 정렬됩니다. GPU 워크로드는 Kueue로 큐잉·스케줄링하고, 서빙은 vLLM 파드로 띄우되 <code class="language-plaintext highlighter-rouge">--quantization modelopt</code> 플래그로 NVFP4 체크포인트를 인식시킵니다. 멀티테넌트 격리는 네임스페이스와 GPU 파티셔닝으로 처리하며, 절감된 메모리만큼 테넌트당 할당을 조정합니다. 다만 한 가지 하드웨어 전제가 따라옵니다. NVFP4 가속은 Blackwell·Hopper에서만 동작하므로, 기존 A100 기반 노드 풀에서는 이 모델의 4비트 이점을 그대로 누릴 수 없습니다. 이 부분은 노드 풀 구성과 직결되는 운영 의사결정이며, 다음 항목에서 한계로 짚습니다.</p>

<h2 id="한계-및-반론">한계 및 반론</h2>

<p>첫째, <strong>하드웨어 종속이 강합니다.</strong> NVFP4 Tensor Core는 Blackwell·Hopper에만 존재합니다. A100·V100 같은 이전 세대 GPU에서는 NVFP4가 가속되지 않으므로, 같은 메모리 절감 효과를 기대할 수 없고 INT8·FP8 같은 다른 경로를 택해야 합니다. 온프레미스 고객의 기존 GPU 자산이 이전 세대라면, 이 모델의 이점을 누리기 위해 노드 교체라는 추가 비용이 발생합니다.</p>

<p>둘째, <strong>메모리 절감과 처리량 향상은 다른 문제입니다.</strong> 모델카드는 디스크·메모리 약 3.06배 절감을 명시하지만, 토큰/초나 지연시간 같은 처리량 수치는 직접 제시하지 않습니다. 4비트 가중치가 메모리 대역폭 부담을 줄여 일반적으로 디코딩에 유리하게 작용하긴 하지만, 실제 처리량은 배치 크기·컨텍스트 길이·KV 캐시 설정에 따라 달라집니다. ThakiCloud 자체 서빙 벤치마크 없이 “몇 배 빠르다”고 단정하는 것은 부정확합니다. 우리 환경에서 직접 측정하기 전까지는 정확도 표만을 근거로 삼는 것이 안전합니다.</p>

<p>셋째, <strong>양자화는 베이스 모델의 한계를 그대로 물려받습니다.</strong> 모델카드가 직접 밝히듯, 베이스 모델은 인터넷에서 수집한 데이터로 학습되어 독성 표현·사회적 편향을 포함할 수 있고, 부정확하거나 핵심 정보를 누락한 답변을 생성할 수 있습니다. 양자화는 메모리와 속도를 최적화할 뿐 이런 안전성·정확성 문제를 해결하지 않습니다. 멀티테넌트 서빙에서는 출력 필터링과 모니터링이 여전히 별도로 필요합니다.</p>

<p>넷째, <strong>정확도 손실이 0에 수렴하는 것은 아닙니다.</strong> 대부분의 벤치마크에서 손실이 1점 미만이지만, τ²-Bench Telecom의 -0.8점처럼 에이전트 도구사용·정책 준수가 핵심인 시나리오에서는 상대적으로 큰 손실이 관찰됩니다. 금융·의료처럼 작은 정확도 차이가 비용으로 직결되는 도메인에서는, 4비트 절감의 경제성과 정확도 손실을 테넌트별로 따져 BF16·FP8·NVFP4 중에서 선택하는 정책이 필요합니다.</p>

<p>종합하면, <code class="language-plaintext highlighter-rouge">nvidia/Qwen3.6-35B-A3B-NVFP4</code>는 Blackwell·Hopper 기반 인프라를 가진 팀에게는 “거의 손실 없이 메모리를 4분의 1로 줄이는” 매우 실용적인 선택지입니다. 다만 그 이점은 하드웨어 전제와 도메인별 정확도 검증 위에서만 성립하며, ThakiCloud는 자체 서빙 벤치마크로 처리량과 테넌트별 적합성을 확인한 뒤 노드 풀 정책에 반영할 계획입니다.</p>

<h2 id="출처-sources">출처 (Sources)</h2>

<ul>
  <li>모델카드: <a href="https://huggingface.co/nvidia/Qwen3.6-35B-A3B-NVFP4">nvidia/Qwen3.6-35B-A3B-NVFP4 · Hugging Face</a></li>
  <li>베이스 모델: <a href="https://huggingface.co/Qwen/Qwen3.6-35B-A3B">Qwen/Qwen3.6-35B-A3B · Hugging Face</a></li>
  <li>양자화 도구: <a href="https://github.com/NVIDIA/Model-Optimizer">NVIDIA Model Optimizer (GitHub)</a></li>
  <li>추론 엔진: <a href="https://github.com/vllm-project/vllm">vLLM (GitHub)</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="nvfp4" /><category term="quantization" /><category term="vllm" /><category term="qwen3" /><category term="moe" /><category term="inference-optimization" /><category term="model-optimizer" /><summary type="html"><![CDATA[NVIDIA가 Alibaba의 Qwen3.6-35B-A3B를 NVFP4(4비트)로 양자화해 공개했습니다. 16비트를 4비트로 줄여 디스크·GPU 메모리를 약 3.06배 절감하면서도, 모델카드 공개 수치 기준 BF16 대비 정확도 손실이 0.1~0.8점 수준에 그칩니다. MoE 구조(35B 총 파라미터, 3B 활성)와 NVFP4 양자화가 어떻게 결합하는지, vLLM 배포 명령과 ThakiCloud 온프레미스 서빙 관점에서 정리합니다.]]></summary></entry><entry xml:lang="ar"><title type="html">محاكيات أندرويد داخل حاويات - بناء مزرعة أجهزة قابلة للتكرار على Kubernetes باستخدام docker-android</title><link href="https://thakicloud.github.io/ar/dev/docker-android-k8s-emulator/" rel="alternate" type="text/html" title="محاكيات أندرويد داخل حاويات - بناء مزرعة أجهزة قابلة للتكرار على Kubernetes باستخدام docker-android" /><published>2026-06-24T00:00:00+09:00</published><updated>2026-06-24T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/dev/docker-android-k8s-emulator</id><content type="html" xml:base="https://thakicloud.github.io/ar/dev/docker-android-k8s-emulator/"><![CDATA[<pre><code class="language-mermaid">flowchart LR
    subgraph NODE["عقدة K8s مع KVM / Pod"]
      EMU["محاكي Android (QEMU + KVM، اختياري CUDA)"]
      KVM["/dev/kvm"]
    end
    KVM --&gt;|passthrough| EMU
    EMU --&gt; SVC["خدمة ADB"]
    SVC --&gt; CI["مزرعة CI"]
    SVC --&gt; SCRCPY["تحكم scrcpy عن بُعد"]
</code></pre>
<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>اختبار تطبيق موبايل يستلزم أجهزة أندرويد. إدارة أسطول من الأجهزة الحقيقية عبء صيانة مُضنٍ، وتثبيت محاكٍ ثقيل على كل جهاز مطوّر يُفضي إلى اختلاف البيئات وضعف قابلية التكرار. تتضاعف هذه المشكلة حين تُريد إدراج اختبارات أندرويد في خط CI، إذ يحتاج كل عقدة بناء إلى إعداد محاكٍ متسق.</p>

<p>يحل <code class="language-plaintext highlighter-rouge">docker-android</code> (إصدار HQarroum) هذه المشكلة بالحاويات. يُغلّف محاكي أندرويد بتهيئة بسيطة، ويُشغّله بلا واجهة رسومية، ويُتيح ADB والتحكم بالشاشة عبر الشبكة. حاوية واحدة توفر بيئة أندرويد نظيفة ومتسقة في ثوانٍ، مما يجعلها مناسبة تماماً لـ CI/CD والاختبارات الآلية.</p>

<p>يتحقق هذا المقال من بنية docker-android ومتطلباته الفعلية وفق التوثيق، ثم يستعرض كيف تتعامل منصة Kubernetes مثل ThakiCloud مع هذا النوع من أحمال عمل الأجهزة. محاكاة أندرويد ليست في صميم منصتنا للذكاء الاصطناعي، لكن السؤال حول عزل الحاويات ذات الامتيازات التي تحتاج KVM passthrough وتسريع GPU يتقاطع مباشرة مع قدرات بنيتنا التحتية.</p>

<hr />

<h2 id="ما-هو-docker-android">ما هو docker-android</h2>

<p>يجمع docker-android الخاص بـ HQarroum بين محاكي أندرويد ودعم KVM و JRE 11 في صورة مدمجة مبنية على Alpine (الإصدار الحالي 1.1.0). النية التصميمية واضحة: كشف محاكي أندرويد كامل يمكن التحكم به عن بُعد بأقل بصمة برمجية ممكنة. تحتوي الصورة على المحاكي نفسه، وخادم ADB للوصول الخارجي، وQEMU مع libvirt.</p>

<p>الخصائص الرئيسية:</p>

<ul>
  <li><strong>بصمة بسيطة</strong>: مبنية على Alpine لتحسين الحجم. البناء بدون SDK أو محاكٍ ينتج صورة أصغر بكثير.</li>
  <li><strong>قابلية التخصيص</strong>: إصدار أندرويد ونوع الجهاز ونوع الصورة كلها قابلة للاختيار.</li>
  <li><strong>توجيه المنافذ مدمج</strong>: يُكشف المحاكي و ADB عبر واجهة شبكة الحاوية.</li>
  <li><strong>بلا واجهة رسومية</strong>: لا تحتاج إلى GUI، مما يجعلها مناسبة لمزارع CI. يمكن الوصول إلى الشاشة عن بُعد عبر <a href="https://github.com/Genymobile/scrcpy">scrcpy</a>.</li>
  <li><strong>قابلية التكرار</strong>: تُعاد صورة المحاكي إلى حالتها الأصلية عند كل إعادة تشغيل، فكل تشغيل يبدأ من حالة متطابقة.</li>
</ul>

<p>يُوضح الرسم البياني أعلاه نشراً افتراضياً لهذه الحاوية على ThakiCloud Kubernetes. يعمل المحاكي في pod على عقدة مُفعَّل فيها KVM مع تمرير <code class="language-plaintext highlighter-rouge">/dev/kvm</code>، ويُستخدم المتغير cuda حين يُحتاج تسريع GPU. يُكشف ADB كـ Service ليصل إليه مزرعة CI و scrcpy.</p>

<hr />

<h2 id="التثبيت-والتكامل">التثبيت والتكامل</h2>

<p>يجمع البناء الافتراضي Android SDK وأدوات المنصة والمحاكي في الصورة. تشغيل كل شيء باستخدام docker-compose:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># المحاكي الأساسي</span>
docker compose up android-emulator

<span class="c"># تسريع GPU</span>
docker compose up android-emulator-cuda

<span class="c"># تسريع GPU + Google Play Store</span>
docker compose up android-emulator-cuda-store
</code></pre></div></div>

<p>يمكن البناء مباشرة باستخدام Docker:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker build <span class="nt">-t</span> android-emulator <span class="nb">.</span>
</code></pre></div></div>

<p>بعد بناء الصورة، شغّل الحاوية مع تثبيت محرك KVM. استخدام صورة Play Store يستلزم مشاركة المحاكي والعميل لنفس <code class="language-plaintext highlighter-rouge">adbkey</code>؛ أنشئه بـ <code class="language-plaintext highlighter-rouge">adb keygen adbkey</code> وضعه في مجلد <code class="language-plaintext highlighter-rouge">./keys</code>.</p>

<p>يتباين حجم الصورة تبايناً كبيراً حسب متغير البناء. جدول المقارنة من توثيق المستودع:</p>

<table>
  <thead>
    <tr>
      <th>متغير البناء</th>
      <th>غير مضغوط</th>
      <th>مضغوط</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>API 33 + المحاكي</td>
      <td>5.84 GB</td>
      <td>1.97 GB</td>
    </tr>
    <tr>
      <td>API 32 + المحاكي</td>
      <td>5.89 GB</td>
      <td>1.93 GB</td>
    </tr>
    <tr>
      <td>API 28 + المحاكي</td>
      <td>4.29 GB</td>
      <td>1.46 GB</td>
    </tr>
    <tr>
      <td>بدون SDK أو محاكٍ</td>
      <td>414 MB</td>
      <td>138 MB</td>
    </tr>
  </tbody>
</table>

<p>الصور التي تتضمن المحاكي تتجاوز 1.5 GB حتى بعد الضغط. عند التوزيع على عقد كثيرة، يجب مراعاة عرض نطاق السجل وسعة قرص العقد.</p>

<hr />

<h2 id="التحقق-من-السلوك-الفعلي">التحقق من السلوك الفعلي</h2>

<p>لم يشمل هذا المقال التحقق من إقلاع الحاوية فعلياً. تسجيل أمين: فشل التحقق هنا (لا يوجد Docker daemon على المضيف، وmacOS لا يوفر <code class="language-plaintext highlighter-rouge">/dev/kvm</code>). يتطلب docker-android تسريع KVM للأجهزة، لذا التشغيل الفعلي ممكن فقط على مضيف Linux أو عقدة KVM تدعم المحاكاة الافتراضية المتداخلة.</p>

<p>ما أمكن التحقق منه استُقي مباشرة من توثيق المستودع. جدول مقارنة أحجام الصور أعلاه يعكس أرقاماً مُصرَّحاً بها في التوثيق؛ متغيرات البناء وأسماء خدمات compose ومتطلبات تثبيت KVM كلها مستندة إلى التوثيق. أرقام كوقت الإقلاع أو معدل معالجة الاختبارات التي لم نقسها لم نُدرجها. عند النشر الفعلي، بعد توفير عقد KVM، الإجراء الصحيح هو قياس وقت إقلاع الحاوية وزمن استجابة ADB والحد الأقصى لعدد المحاكيات المتزامنة مباشرة.</p>

<hr />

<h2 id="الآثار-على-منصة-thakicloud-k8s-aiml-saas">الآثار على منصة ThakiCloud K8s AI/ML SaaS</h2>

<p>docker-android ليس أداة ذكاء اصطناعي في حد ذاتها. لكن المتطلبات التشغيلية التي يكشف عنها تتقاطع بدقة مع ما تُتقنه ThakiCloud.</p>

<p>أولاً، <strong>عزل أحمال عمل مرور الأجهزة</strong>. المحاكي حاوية ذات امتيازات في جوهرها تتطلب <code class="language-plaintext highlighter-rouge">/dev/kvm</code>. تشغيل هذا النوع من أحمال العمل بأمان في بيئة Kubernetes متعددة المستأجرين يستلزم اختيار العقد بعناية والمكوّنات الإضافية للأجهزة وسياقات الأمان. تُجهّز ThakiCloud بالفعل وحدات GPU عبر مكوّنات الأجهزة الإضافية وKueue؛ يمكن التعامل مع KVM passthrough بالنمط ذاته.</p>

<p>ثانياً، <strong>مزارع الاختبار القابلة للتكرار</strong>. تغليف المحاكيات عديمة الواجهة الرسومية كحاويات يتيح توسيع البيئات النظيفة أفقياً عبر عدد العقد المطلوب. تشغيل اختبارات Appium UI متوازية كثيرة من خط CI/CD حالة استخدام نموذجية لجدولة وظائف Kubernetes.</p>

<p>ثالثاً، ونظرة إلى الأمد البعيد، يمتد هذا بشكل طبيعي نحو <strong>التحقق من أداء الذكاء الاصطناعي على الجهاز</strong>. التحقق من سلوك النماذج الخفيفة أو العوامل العاملة على أجهزة الموبايل على نطاق واسع يتطلب مزرعة أجهزة تنشئ بيئات أندرويد معزولة كثيرة وتُشغّل اختبارات الانحدار آلياً. هذا ليس اهتماماً محورياً لمنصتنا اليوم، لكن مع نضج قدرات تنظيم GPU والأجهزة متعددة المستأجرين لدينا، تغدو مزرعة QA للذكاء الاصطناعي على الموبايل من هذا النوع شيئاً يمكن تقديمه على البنية التحتية ذاتها.</p>

<p>باختصار، docker-android ليس منتجاً نبنيه، لكنه دراسة حالة جيدة في ترويض أحمال عمل الحاويات الثقيلة التي تجمع بين الامتياز ومرور الأجهزة وتسريع GPU على Kubernetes. هذه صورة ملموسة لقدرات تنظيم Kubernetes للأغراض العامة التي تُؤكد عليها ThakiCloud.</p>

<hr />

<h2 id="القيود-والاعتراضات">القيود والاعتراضات</h2>

<ul>
  <li><strong>اعتماديات ثقيلة</strong>: تسريع KVM للأجهزة غير قابل للتفاوض. في البيئات التي لا تدعم المحاكاة الافتراضية المتداخلة، يتدهور الأداء بشكل حاد أو لا يُقلع المحاكي أصلاً. اختيار عقدة السحابة يصبح قيداً صارماً.</li>
  <li><strong>تضخم الصورة</strong>: الصور التي تتضمن المحاكي تبلغ عدة GB حتى بعد الضغط. التوزيع عبر عقد كثيرة يُراكم تكاليف السجل والقرص.</li>
  <li><strong>البُعد عن صلة الذكاء الاصطناعي</strong>: بصراحة، هذه الأداة بعيدة عن أحمال عمل التدريب والاستدلال التي تمثل صميم منصتنا. للمؤسسات التي ليس لديها طلب اختبار موبايل، القيمة المباشرة محدودة. قيمة هذا المقال ليست في “المحاكي بحد ذاته” بل في “أنماط تشغيل حاويات مرور الأجهزة”.</li>
  <li><strong>أمن الحاويات ذات الامتيازات</strong>: الوصول إلى <code class="language-plaintext highlighter-rouge">/dev/kvm</code> وإعدادات الامتياز تُعقّد حدود أمان المستأجرين المتعددين. الحفاظ على عزل المستأجرين يستلزم مجمّعات عقد مخصصة وسياسات صارمة.</li>
</ul>

<p>docker-android أداة قوية لأتمتة اختبارات الموبايل، ومرجع مفيد لكيفية التعامل مع أحمال عمل الأجهزة على Kubernetes. حتى قبل اللحظة التي نحتاجها فيها مباشرة، أنماط التشغيل تستحق الإلمام بها مسبقاً.</p>

<hr />

<h2 id="المصادر">المصادر</h2>

<ul>
  <li>docker-android (HQarroum): <a href="https://github.com/HQarroum/docker-android">https://github.com/HQarroum/docker-android</a></li>
  <li>صورة Docker Hub: <code class="language-plaintext highlighter-rouge">halimqarroum/docker-android</code></li>
  <li>scrcpy (التحكم بالشاشة عن بُعد): <a href="https://github.com/Genymobile/scrcpy">https://github.com/Genymobile/scrcpy</a></li>
  <li>التغريدة الأصلية: <a href="https://x.com/hjguyhan/status/2069427245295493446">https://x.com/hjguyhan/status/2069427245295493446</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="dev" /><category term="docker" /><category term="android" /><category term="kubernetes" /><category term="kvm" /><category term="ci-cd" /><summary type="html"><![CDATA[يُغلّف docker-android محاكي أندرويد في حاوية واحدة ويُشغّله بلا واجهة رسومية. نتحقق من أحجام الصور ومتطلبات KVM وفق التوثيق الرسمي، ونستعرض كيفية تشغيل أحمال عمل مرور الأجهزة على منصة ThakiCloud Kubernetes.]]></summary></entry><entry xml:lang="ar"><title type="html">توجيه Claude Code إلى نماذجك الخاصة، بنية برمجة فعّالة التكلفة باستخدام claude-code-router</title><link href="https://thakicloud.github.io/ar/llmops/claude-code-router-onprem-routing/" rel="alternate" type="text/html" title="توجيه Claude Code إلى نماذجك الخاصة، بنية برمجة فعّالة التكلفة باستخدام claude-code-router" /><published>2026-06-24T00:00:00+09:00</published><updated>2026-06-24T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/claude-code-router-onprem-routing</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/claude-code-router-onprem-routing/"><![CDATA[<p><img src="/assets/images/claude-code-router-onprem-routing-hero.png" alt="مخطط مفاهيمي" /></p>

<pre><code class="language-mermaid">flowchart LR
    CC["Claude Code"] --&gt; CCR["وسيط claude-code-router"]
    CCR --&gt;|default / background| GLM["Ollama Cloud · glm-5.2"]
    CCR --&gt;|think / longContext| MM["MiniMax-M2.7 (نقطة Anthropic)"]
    CCR -.-&gt;|وسم الوكيل الفرعي للبرمجة| KIMI["Ollama Cloud · kimi-k2.7-code"]
    CCR -.-&gt;|خيار محلي| VLLM["vLLM داخلي (GLM-air)"]
    AUDIT["حلقة قياس التكلفة اليومية"] --&gt;|تتحقق مقابل Sonnet| CCR
</code></pre>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>‏Claude Code أداة برمجة وكيلية تعمل في الطرفية. افتراضياً تُرسِل الطلبات إلى واجهة Anthropic، لكن ليست كل الطلبات بالوزن نفسه. فالتلخيص الخلفي، والإكمال القصير، وتحليل السياق الطويل، والاستدلال العميق لإعادة الهيكلة تتطلب جميعها مستويات نماذج مختلفة. إذا أرسلت كل شيء إلى أغلى نموذج تتراكم التكلفة، وإذا أرسلت كل شيء إلى أرخصها تنهار الجودة.</p>

<p>يحل <code class="language-plaintext highlighter-rouge">claude-code-router</code> (واختصاراً CCR) هذه المشكلة عبر طبقة توجيه. يقف كوسيط بين Claude Code وخلفيات النماذج ويفرّع الحركة حسب نوع الطلب. هذا المقال ليس مجرد جولة مفاهيمية، بل سجل لاستدعاء ثلاثة نماذج خارجية للتحقق من سلوكها، وإصلاح المشكلات المكتشفة في الطريق (مفتاح API ميت، وتسرّب وسوم التفكير)، وأخيراً إرفاق حلقة تقيس باستمرار ما إذا كان التوجيه أرخص فعلاً من Sonnet.</p>

<p>المبدأ الحاكم، نذكره مقدّماً: <strong>كل نموذج يُوجَّه عبر CCR لا قيمة له إلا إذا كان أكثر كفاءة في التكلفة من Claude Sonnet.</strong> وإلا فإنك تخفض الجودة بينما يستمر صرف المال. لذلك لا نؤكّد، بل نقيس.</p>

<hr />

<p><img src="/assets/images/claude-code-router-onprem-routing-diagram.svg" alt="مخطط مفاهيمي" /></p>

<p><em>مخطط مفاهيمي</em></p>

<h2 id="ما-هو-claude-code-router">ما هو claude-code-router</h2>

<p>‏CCR وسيط يتلقى طلبات بصيغة Anthropic، ويحوّلها إلى صيغة متوافقة مع OpenAI (أو غيرها)، ثم يمرّرها إلى المزوّد المُعَدّ. لا يعدّل عميل Claude Code. شغّل جلسة بـ <code class="language-plaintext highlighter-rouge">ccr code</code> فتُوجَّه حركة تلك الجلسة عبر الوسيط على <code class="language-plaintext highlighter-rouge">localhost:3456</code>.</p>

<p>أبرز الميزات:</p>

<ul>
  <li><strong>التوجيه حسب نوع الطلب</strong>: <code class="language-plaintext highlighter-rouge">default</code> و<code class="language-plaintext highlighter-rouge">background</code> و<code class="language-plaintext highlighter-rouge">think</code> و<code class="language-plaintext highlighter-rouge">longContext</code> و<code class="language-plaintext highlighter-rouge">webSearch</code>، لكلٍّ نموذج مختلف.</li>
  <li><strong>تعدّد المزوّدين</strong>: أي نقطة متوافقة مع OpenAI يمكن تسجيلها. نستخدم هنا Ollama Cloud وMiniMax.</li>
  <li><strong>المحوّلات (transformers)</strong>: يمتص المحوّل خصوصيات كل مزوّد. ومحوّل التمرير <code class="language-plaintext highlighter-rouge">Anthropic</code> لنقاط Anthropic الأصلية هو الأداة المحورية في هذا المقال.</li>
  <li><strong>التبديل الديناميكي</strong>: غيّر النموذج أثناء الجلسة بـ <code class="language-plaintext highlighter-rouge">/model provider,model</code>.</li>
</ul>

<p>إصدار CCR المُتحقَّق منه هو <code class="language-plaintext highlighter-rouge">1.0.62</code>. يقع الإعداد في <code class="language-plaintext highlighter-rouge">~/.claude-code-router/config.json</code>، ومحوره مصفوفة <code class="language-plaintext highlighter-rouge">Providers</code> وكائن <code class="language-plaintext highlighter-rouge">Router</code>.</p>

<hr />

<h2 id="ماذا-يُوجَّه-مثبَّت-على-ثلاثة-نماذج">ماذا يُوجَّه، مثبَّت على ثلاثة نماذج</h2>

<p>مجموعة النماذج ثلاثة بالضبط. فزيادة النماذج تعقّد جدول التوجيه وترفع كلفة التحقق، لذا ضيّقناها عمداً.</p>

<table>
  <thead>
    <tr>
      <th>الدور</th>
      <th>النموذج</th>
      <th>المزوّد</th>
      <th>ملاحظة</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>الأساسي (default/background)</td>
      <td><code class="language-plaintext highlighter-rouge">glm-5.2</code></td>
      <td>Ollama Cloud</td>
      <td>برمجة يومية، قوي ورخيص</td>
    </tr>
    <tr>
      <td>الاستدلال (think/longContext)</td>
      <td><code class="language-plaintext highlighter-rouge">MiniMax-M2.7</code></td>
      <td>MiniMax</td>
      <td>تفكير منفصل، كلفة منخفضة جداً لكل رمز</td>
    </tr>
    <tr>
      <td>الوكيل الفرعي للبرمجة</td>
      <td><code class="language-plaintext highlighter-rouge">kimi-k2.7-code</code></td>
      <td>Ollama Cloud</td>
      <td>للأدوار البرمجية الصعبة فقط</td>
    </tr>
  </tbody>
</table>

<p>‏<code class="language-plaintext highlighter-rouge">glm-5.2</code> هو حصان العمل؛ والاستدلال العميق والسياق الطويل فقط يذهبان إلى MiniMax، والدور البرمجي الصعب إلى Kimi.</p>

<hr />

<h2 id="التحقق-استدعينا-ولم-نفترض">التحقق، استدعينا ولم نفترض</h2>

<p>قبل كتابة أي إعداد، استدعينا النماذج الثلاثة مباشرةً. ولتجنّب اختلاق الأرقام فحصنا الاستجابات الفعلية، فظهرت ثلاث حقائق.</p>

<p><strong>أولاً، مفتاح Ollama Cloud واحد يغطي GLM وKimi معاً.</strong> أرجع كلٌّ من <code class="language-plaintext highlighter-rouge">glm-5.2</code> و<code class="language-plaintext highlighter-rouge">kimi-k2.7-code</code> رمز HTTP 200 من <code class="language-plaintext highlighter-rouge">https://ollama.com/v1</code>. فـ Ollama Cloud يجمع عائلات GLM وKimi وDeepSeek وQwen خلف مفتاح واحد.</p>

<p><strong>ثانياً، مفتاح Kimi المنفرد كان ميتاً.</strong> أرجع مفتاح Moonshot المنفرد في <code class="language-plaintext highlighter-rouge">.env</code> رمز 401 (مصادقة غير صالحة) على moonshot.ai وmoonshot.cn ونقطة Anthropic المتوافقة على حدٍّ سواء. لحسن الحظ يمكن الوصول إلى Kimi K2 عبر <code class="language-plaintext highlighter-rouge">kimi-k2.7-code</code> في Ollama Cloud، فلم يكن المفتاح الميت طريقاً مسدوداً.</p>

<p><strong>ثالثاً، اختيار نقطة MiniMax يحسم الجودة.</strong> عند الاستدعاء عبر النقطة المتوافقة مع OpenAI (<code class="language-plaintext highlighter-rouge">/v1/chat/completions</code>) يضمّن النموذج استدلاله داخل المتن بوسوم <code class="language-plaintext highlighter-rouge">&lt;think&gt;...&lt;/think&gt;</code>، وتعجز طبقة التحويل في CCR عن إزالتها فتتسرب إلى المستخدم (musistudio/claude-code-router#964). أما عند الاستدعاء عبر نقطة Anthropic الأصلية (<code class="language-plaintext highlighter-rouge">/anthropic/v1/messages</code>) فيُرجع النموذج نفسه كتلتي <code class="language-plaintext highlighter-rouge">thinking</code> و<code class="language-plaintext highlighter-rouge">text</code> نظيفتين.</p>

<p>البند الأخير علّة وجب إصلاحها لا سبباً لإسقاط MiniMax. والإصلاح مُضمَّن في الإعداد أدناه.</p>

<hr />

<h2 id="الإعداد-الأسرار-خارج-المستودع-والإعداد-كشيفرة">الإعداد، الأسرار خارج المستودع، والإعداد كشيفرة</h2>

<p>لا تُكتب المفاتيح مباشرةً في ملف الإعداد. سكربت مولِّد يقرأ <code class="language-plaintext highlighter-rouge">.env</code> في المستودع ويكتب <code class="language-plaintext highlighter-rouge">~/.claude-code-router/config.json</code>. فلا تبقى مفاتيح في المستودع، وتدوير المفتاح يعني فقط إعادة تشغيل السكربت.</p>

<p>الإعداد المُولَّد الأساسي:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"LOG"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
  </span><span class="nl">"HOST"</span><span class="p">:</span><span class="w"> </span><span class="s2">"127.0.0.1"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"PORT"</span><span class="p">:</span><span class="w"> </span><span class="mi">3456</span><span class="p">,</span><span class="w">
  </span><span class="nl">"API_TIMEOUT_MS"</span><span class="p">:</span><span class="w"> </span><span class="mi">1800000</span><span class="p">,</span><span class="w">
  </span><span class="nl">"Providers"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ollama"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"api_base_url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://ollama.com/v1/chat/completions"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;OLLAMA_GLM_API_KEY&gt;"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"models"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"glm-5.2"</span><span class="p">,</span><span class="w"> </span><span class="s2">"kimi-k2.7-code"</span><span class="p">],</span><span class="w">
      </span><span class="nl">"transformer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"use"</span><span class="p">:</span><span class="w"> </span><span class="p">[[</span><span class="s2">"maxtoken"</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"max_tokens"</span><span class="p">:</span><span class="w"> </span><span class="mi">16000</span><span class="w"> </span><span class="p">}]]</span><span class="w"> </span><span class="p">}</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"minimax"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"api_base_url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://api.minimax.io/anthropic/v1/messages"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"api_key"</span><span class="p">:</span><span class="w"> </span><span class="s2">"&lt;MINIMAX_API_KEY&gt;"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"models"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"MiniMax-M2.7"</span><span class="p">],</span><span class="w">
      </span><span class="nl">"transformer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nl">"use"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"Anthropic"</span><span class="p">]</span><span class="w"> </span><span class="p">}</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"Router"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"default"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ollama,glm-5.2"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"background"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ollama,glm-5.2"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"think"</span><span class="p">:</span><span class="w"> </span><span class="s2">"minimax,MiniMax-M2.7"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longContext"</span><span class="p">:</span><span class="w"> </span><span class="s2">"minimax,MiniMax-M2.7"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longContextThreshold"</span><span class="p">:</span><span class="w"> </span><span class="mi">60000</span><span class="p">,</span><span class="w">
    </span><span class="nl">"webSearch"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ollama,glm-5.2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>السطران في مزوّد MiniMax هما ما يُصلِح تسرّب التفكير. وجِّه <code class="language-plaintext highlighter-rouge">api_base_url</code> إلى مسار Anthropic الأصلي واستخدم محوّل التمرير <code class="language-plaintext highlighter-rouge">Anthropic</code>، فيستجيب MiniMax بصيغة رسائل Anthropic (كتلتا <code class="language-plaintext highlighter-rouge">thinking</code> و<code class="language-plaintext highlighter-rouge">text</code>) منذ البداية. وعند إعادة الفحص عبر الوسيط كانت كتل الاستجابة <code class="language-plaintext highlighter-rouge">["thinking", "text"]</code> بلا أي تسرّب لـ <code class="language-plaintext highlighter-rouge">&lt;think&gt;</code>.</p>

<p>نماذج الاستدلال بطيئة الإخراج، لذا جُعِلت المهلة سخية (<code class="language-plaintext highlighter-rouge">1800000ms</code>)، ويحجز <code class="language-plaintext highlighter-rouge">maxtoken</code> مساحة إخراج كي لا تستنفد نماذج مثل GLM وKimi ( التي تُخرِج الاستدلال أولاً ) الميزانية قبل الإجابة.</p>

<p>تُوجَّه الوكلاء الفرعيون لا بالإعداد بل بوسم في مقدمة المُوجّه. لتفويض مهمة برمجية صعبة، أضِف في مقدمة المُوجّه <code class="language-plaintext highlighter-rouge">&lt;CCR-SUBAGENT-MODEL&gt;ollama,kimi-k2.7-code&lt;/CCR-SUBAGENT-MODEL&gt;</code>.</p>

<hr />

<h2 id="أين-وكيف-تتصل">أين وكيف تتصل</h2>

<p>نقطة الاتصال واحدة. ابدأ جلسة بـ <code class="language-plaintext highlighter-rouge">ccr code</code> في مستودع عملك، فتُوجَّه حركة تلك الجلسة الرئيسية والفرعية كلها عبر الوسيط وفق الجدول أعلاه. أما <code class="language-plaintext highlighter-rouge">claude</code> الأصلي فيتصل مباشرةً بـ Anthropic، فلا يتأثر.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># توليد الإعداد ثم تشغيل الموجِّه</span>
python3 scripts/ccr/gen_ccr_config.py <span class="o">&amp;&amp;</span> ccr restart

<span class="c"># بدء جلسة موجَّهة للتكلفة (هذه هي نقطة الاتصال)</span>
ccr code

<span class="c"># بدّل النماذج حسب المهمة داخل الجلسة</span>
/model ollama,kimi-k2.7-code     <span class="c"># دور برمجي صعب</span>
/model minimax,MiniMax-M2.7      <span class="c"># دور استدلال عميق</span>
/model ollama,glm-5.2            <span class="c"># برمجة يومية</span>
</code></pre></div></div>

<p>من حيث كفاءة التكلفة، النمط المُوصى به هجين. شغّل الأعمال الكثيفة والمتكررة وغير التفاعلية (توليد الاختبارات، إعادة الهيكلة الجماعية، تحليل السجلات، الترجمة، استكشاف الكود) تحت <code class="language-plaintext highlighter-rouge">ccr code</code> لخفض التكلفة، وأبقِ الأعمال التي تتطلب حكماً (قرارات معمارية، تصحيح دقيق) على جلسة <code class="language-plaintext highlighter-rouge">claude</code> الاشتراكية الأصلية. فنقل كل شيء إلى الجلسة الموجَّهة يجعل GLM حلقتك الرئيسية، وقد يخفض الجودة في المهام الصعبة.</p>

<hr />

<h2 id="كفاءة-التكلفة-قياس-مستمر-مقابل-sonnet">كفاءة التكلفة، قياس مستمر مقابل Sonnet</h2>

<p>سبب وجود هذا الإعداد هو التكلفة. لذا بدل أن ندّعي أنه “أرخص”، نقيس.</p>

<p>الأسعار المُتحقَّق منها في 2026-06-24 (بالدولار لكل مليون رمز):</p>

<table>
  <thead>
    <tr>
      <th>النموذج</th>
      <th>الإدخال</th>
      <th>الإخراج</th>
      <th>نمط الفوترة</th>
      <th>مقابل Sonnet</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Claude Sonnet 4.6 (المرجع)</td>
      <td>$3.00</td>
      <td>$15.00</td>
      <td>لكل رمز</td>
      <td>1.0×</td>
    </tr>
    <tr>
      <td>MiniMax-M2.7</td>
      <td>$0.24</td>
      <td>$0.96</td>
      <td>لكل رمز</td>
      <td>~0.07×</td>
    </tr>
    <tr>
      <td>glm-5.2 / kimi-k2.7-code</td>
      <td>-</td>
      <td>-</td>
      <td>اشتراك $20/شهر (Pro)</td>
      <td>يعتمد على الاستخدام</td>
    </tr>
  </tbody>
</table>

<p>‏MiniMax-M2.7 نحو 7-8% من سعر Sonnet لكل رمز، فهو دوماً أرخص بفارق كبير. أما Ollama Cloud فاشتراك شهري ثابت لا تسعير لكل رمز. سعره الفعلي = <code class="language-plaintext highlighter-rouge">الرسم الشهري ÷ الرموز المستخدمة شهرياً</code>، وعند الاستخدام المنخفض يكون الرسم الثابت $20 خسارة. وبمعدل مخلوط $9/M، عليك تجاوز <strong>نحو 2.2 مليون رمز شهرياً</strong> قبل أن يتفوق على Sonnet.</p>

<p>نقطة التعادل هذه هدف قياس لا تخمين. تسجّل سجلات CCR النموذج المُوجَّه ورموز الإدخال/الإخراج لكل طلب. وسكربت قياس يجمعها، فيحسب نسبة التكلفة الفعلية إلى تكلفة Sonnet المكافئة للنماذج بالرمز، والتكلفة الشهرية المتوقّعة لـ Sonnet مقابل رسم الاشتراك للنماذج بالاشتراك. وتتراكم النتائج في ملف تاريخي لتتبّع الاتجاه، والتحسّن يعني انخفاض النسبة مع الوقت.</p>

<p>تعمل الحلقة مرة يومياً عبر launchd. ولا يكون Claude داخل الحلقة؛ بل يعمل سكربت بسيط فقط على cron، فتكون كلفة القياس نفسها صفراً. وإذا وُجِد نموذج بالرمز أغلى من Sonnet يُطلَق تنبيه إلى Slack. أما النموذج بالاشتراك دون نقطة التعادل (استخدام ناقص) فيُسجَّل دون تنبيه، تفادياً للضجيج في مرحلة الانطلاق.</p>

<p>قواعد الإجراء مرتبطة بالقياس. إذا بلغت نسبة نموذج بالرمز 1.0 أو أكثر (أغلى من Sonnet) يُزال فوراً من التوجيه. وإذا بقي نموذج بالاشتراك دون الاستخدام أشهراً، خفّض الخطة أو انقل ذلك المسار إلى نموذج رخيص بالرمز. وعند تغيّر الأسعار يكفي تحديث ملف جدول الأسعار لينعكس في التشغيل التالي.</p>

<hr />

<h2 id="منظور-منصة-thakicloud">منظور منصة ThakiCloud</h2>

<p>ينسجم نموذج التوجيه هذا طبيعياً مع البنية التي تشغّلها ThakiCloud فعلاً.</p>

<p><strong>أمن الكود.</strong> في البيئات التي لا يمكن أن يغادر فيها الكود المصدري (المالية، القطاع العام، الرعاية الصحية)، يكفي تبديل <code class="language-plaintext highlighter-rouge">default</code> في الإعداد أعلاه إلى نقطة vLLM داخلية. فتحتفظ بقابلية استخدام Claude Code بينما لا تغادر المُوجّهات والكود قط. وإعداد النماذج الخارجية هنا للتحقق من التكلفة؛ ضع خدمة GPU الداخلية في الهيكل نفسه فتحصل على النسخة المحلية.</p>

<p><strong>التحكم في التكلفة.</strong> التوجيه حسب المهمة هو توجيه حسب التكلفة. أرسِل الطلبات عالية التكرار منخفضة الصعوبة إلى نماذج رخيصة واحتفظ بالنماذج العليا للاستدلال الصعب، فتضيّق الاستخدام المكلف إلى حيث يلزم فعلاً، وتثبت حلقة القياس الأثر بالأرقام.</p>

<p><strong>السياسة كشيفرة.</strong> المزوّدون وقواعد التوجيه وجدول الأسعار ومعايير القياس كلها مُدارة كملفات نصية مُودَعة في المستودع. وتبقى المفاتيح وحدها في <code class="language-plaintext highlighter-rouge">.env</code> ويُعاد إنتاج الإعداد بمولِّد، فيُستعاد الإعداد نفسه على أي جهاز.</p>

<hr />

<h2 id="الحدود-والاعتراضات">الحدود والاعتراضات</h2>

<p>الموجِّه لا يحل كل شيء. عدة نقاط تستحق نظرة باردة.</p>

<ul>
  <li><strong>فجوة الجودة</strong>: قيمة التوجيه تتبع جودة النموذج الخلفي. فالنماذج المفتوحة لا تجاري دوماً النماذج المغلقة العليا في إعادة الهيكلة المعقدة متعددة الخطوات أو التصحيح الدقيق. ومن هنا توصية النمط الهجين.</li>
  <li><strong>موثوقية استدعاء الأدوات</strong>: يعتمد Claude Code كثيراً على استدعاء الأدوات. وقد تهتز صيغ استدعاء الأدوات عبر طبقة التحويل المتوافقة مع OpenAI، فهي آمنة لوكلاء الاستكشاف/التلخيص لكنها تستدعي توسعاً تدريجياً لوكلاء التحرير/التنفيذ.</li>
  <li><strong>فخ الاشتراك</strong>: Ollama Cloud بسعر ثابت، فالاستخدام المنخفض خسارة. ودون نقطة التعادل يكون Sonnet أرخص ببساطة. وحلقة القياس تراقب هذه النقطة بالضبط.</li>
  <li><strong>الوسيط نقطة فشل واحدة</strong>: تمر الحركة الرئيسية أيضاً عبر CCR، فإذا مات الوسيط تتوقف الجلسة. والبديل هو <code class="language-plaintext highlighter-rouge">claude</code> الأصلي.</li>
  <li><strong>فخ تأطير “المجاني”</strong>: تروّج بعض النسخ المعدّلة لإزالة القياس عن بُعد أو حواجز الأمان بوصفها “مجانية”. وهذا اتجاه لا تستطيع شركة تأييده. والقيمة التي نأخذها ليست المجانية بل التحكم، نحن من يقرّر أي طلب يذهب إلى أي نموذج، ونحن من يقيس التكلفة.</li>
</ul>

<p>في الخلاصة، CCR ليس حيلة سحرية لخفض التكلفة بل أداة تحكم في التوجيه. وحين يُدمَج مع مجموعة نماذج مُتحقَّق منها، وإصلاحات لعلل حقيقية مثل تسرّب التفكير، وقياس مستمر مقابل Sonnet، يصبح مكسباً حقيقياً على محوري الأمان والتكلفة.</p>

<hr />

<h2 id="المصادر">المصادر</h2>

<ul>
  <li>claude-code-router (musistudio): <a href="https://github.com/musistudio/claude-code-router">https://github.com/musistudio/claude-code-router</a></li>
  <li>مشكلة تسرّب تفكير MiniMax: <a href="https://github.com/musistudio/claude-code-router/issues/964">claude-code-router#964</a></li>
  <li>سعر MiniMax M2.7: <a href="https://openrouter.ai/minimax/minimax-m2.7">openrouter.ai/minimax/minimax-m2.7</a></li>
  <li>أسعار Ollama Cloud: <a href="https://ollama.com/pricing">ollama.com/pricing</a></li>
  <li>أسعار Claude API: <a href="https://platform.claude.com/docs/en/about-claude/pricing">platform.claude.com/docs pricing</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="claude-code" /><category term="model-routing" /><category term="cost-optimization" /><category term="ollama" /><category term="minimax" /><category term="on-premise" /><summary type="html"><![CDATA[توجيه حركة Claude Code عبر glm-5.2 وMiniMax-M2.7 وKimi K2 باستخدام claude-code-router. سجل عملي للتحقق من النماذج الثلاثة مباشرةً، وإصلاح تسرّب تفكير MiniMax، وبناء حلقة تتحقق باستمرار من أن كل نموذج موجَّه أرخص من Sonnet.]]></summary></entry><entry xml:lang="ar"><title type="html">DFlash والفك التخميني: تسريع الاستدلال في vLLM حتى 15 ضعفاً باستخدام الانتشار الكتلي</title><link href="https://thakicloud.github.io/ar/llmops/dflash-speculative-decoding-vllm/" rel="alternate" type="text/html" title="DFlash والفك التخميني: تسريع الاستدلال في vLLM حتى 15 ضعفاً باستخدام الانتشار الكتلي" /><published>2026-06-24T00:00:00+09:00</published><updated>2026-06-24T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/dflash-speculative-decoding-vllm</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/dflash-speculative-decoding-vllm/"><![CDATA[<p><img src="/assets/images/dflash-speculative-decoding-vllm-hero.png" alt="مرئية تجريدية لكتل رموز متوازية تنطلق للأمام دفعة واحدة" /></p>

<p>صورة تجسّد مفهوم DFlash: تحويل مرحلة الصياغة في الفك التخميني من نهج تسلسلي إلى نهج متوازي.</p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>في خدمة نماذج اللغة الكبيرة، يُحدَّد التكلفة وسرعة الاستجابة المحسوسة للمستخدم في آنٍ واحد من خلال إنتاجية فك التشفير. طالما أن النموذج يولّد الرموز واحداً تلو الآخر بالنهج الانحداري الذاتي (autoregressive)، فسيظل القيد البنيوي قائماً: يجب إجراء تمريرة كاملة عبر النموذج لكل رمز، بصرف النظر عن سرعة وحدة معالجة الرسومات. لقد أصبح الفك التخميني (speculative decoding) الأسلوب الأكثر عملية لتجاوز هذا الاختناق، غير أن المسودّات التقليدية أيضاً كانت تُولّد الرموز تسلسلياً، مما جعل معاملات التسريع تتوقف في الغالب عند نطاق 2-3×.</p>

<p>في 23 يونيو 2026، نشرت NVIDIA في مدونتها التقنية دراسة حول DFlash من باحثي جامعة كاليفورنيا سان دييغو. يُدخل DFlash نموذج انتشار كتلي (block diffusion) في مرحلة الصياغة من الفك التخميني، إذ يقترح الرموز المستقبلية ككتلة في تمريرة أمامية واحدة بدلاً من اقتراحها رمزاً رمزاً. وفقاً للأرقام المنشورة، يبلغ التسريع الخالي من الخسارة في التدفق المفرد ما يصل إلى 6×، فيما تصل الإنتاجية على NVIDIA Blackwell إلى 15× مقارنةً بنفس هدف الاستجابة.</p>

<p>والميزة التشغيلية الأكثر أهمية هي <strong>التكامل المباشر (drop-in)</strong>. يدعم DFlash كلاً من vLLM وSGLang وTensorRT-LLM؛ وفي vLLM يكفي استبدال إعداد الصياغة من EAGLE-3 بإعداد DFlash دون أي تعديل في كود التطبيق. تستعرض هذه المقالة آلية عمل DFlash، وما تكشفه المعايير المنشورة، والتداعيات من منظور ThakiCloud في تشغيل منصة AI/ML متعددة المستأجرين مبنية على Kubernetes. جميع الأرقام الواردة هنا هي قياسات رسمية منشورة من NVIDIA وUCSD، ونتناول موضوع إعادة الإنتاج على معداتنا الخاصة بصدق في القسم المناسب.</p>

<h2 id="ما-هي-هذه-التقنية">ما هي هذه التقنية؟</h2>

<p>ينقسم الفك التخميني إلى مرحلتين: يقترح نموذج مسودة صغير الرموز المستقبلية، ثم يتحقق النموذج المستهدف الكبير من هذه الرموز بالتوازي ويقبل الصيغة الصحيحة الأطول. إذا كانت المسودة صحيحة، تُؤكَّد رموز متعددة بتمريرة تحقق واحدة من النموذج المستهدف. المشكلة أن المسودّات التقليدية تعتمد النهج الانحداري الذاتي، فترتفع تكلفة الصياغة خطياً مع زيادة عدد الرموز التخمينية، مما يُصعّب رفع الإنتاجية أكثر.</p>

<p>يستبدل DFlash هذا المسودّ الانحداري بمسودّ انتشار كتلي خفيف. يُزيل نموذج الانتشار الكتلي التشويش عن كتلة رموز مُخفاة دفعةً واحدة، جامعاً بين التوليد المتوازي والبنية الكتلية الانحدارية. يُطبّق DFlash هذه الفكرة على مرحلة الصياغة فحسب، بينما يتولى النموذج المستهدف الانحداري الموثوق التحقق. هذا الفصل هو مفتاح الحفاظ على الجودة: كثيراً ما تفتقر نماذج الانتشار المنفردة إلى دقة النماذج الانحدارية وتتطلب مراحل إزالة تشويش متعددة، لكن في DFlash يكفي أن تكون المسودة “جيدة بما يكفي لتجتاز التحقق”، وتكفل تمريرة التحقق المتوازية من النموذج المستهدف التزام توزيع المخرجات بالنموذج المستهدف. أي أن العملية خالية من الخسارة (lossless).</p>

<pre><code class="language-mermaid">flowchart LR
    subgraph EAGLE["EAGLE-3 (صياغة انحدارية ذاتية)"]
        direction TB
        E1["رمز t1"] --&gt; E2["رمز t2"] --&gt; E3["رمز t3"] --&gt; E4["رمز t4"]
    end
    subgraph DFLASH["DFlash (صياغة بالانتشار الكتلي)"]
        direction TB
        D0["كتلة مُخفاة"] --&gt; D1["t1 · t2 · t3 · t4 (تمريرة أمامية واحدة)"]
    end
    EAGLE --&gt; V1["تحقق متوازٍ بالنموذج المستهدف"]
    DFLASH --&gt; V2["تحقق متوازٍ بالنموذج المستهدف"]
    V1 --&gt; OUT["مخرجات خالية من الخسارة"]
    V2 --&gt; OUT
</code></pre>

<p>الميزة الثانية تكمن في بنية تكلفة الصياغة. ترتفع تكلفة المسودّ الانحداري خطياً مع عدد الرموز التخمينية، بينما يُولّد مسودّ الانتشار جميع الرموز في تمريرة متوازية واحدة، فيظل تأخر الصياغة شبه ثابت بتوسع الكتلة. هذا يُتيح لـDFlash استخدام نماذج صياغة أعمق وأكثر تعبيراً دون زيادة التأخر. يستخدم DFlash فعلياً مسودّاً صغيراً بـ5 طبقات (8 طبقات في حالة Qwen3-Coder)، وهو تباين واضح مع أبحاث مسودّات الانتشار السابقة (DiffuSpec، SpecDiff-2) التي استخدمت مسودّات ضخمة بمليارات المعاملات فأبقت التسريع عند 3-4×.</p>

<p>التقنيات الثلاث التي يجمعها DFlash هي: أولاً <strong>الصياغة بالانتشار الكتلي</strong> للتنبؤ المتوازي بالرموز المستقبلية، وثانياً <strong>التكييف بالحالات الخفية للنموذج المستهدف (target hidden-state conditioning)</strong> لتمرير ميزات السياق من النموذج المستهدف إلى المسودّ عبر حقن KV، وثالثاً التدريب الصديق للتحقق لرفع معدل قبول الكتل المُسوَّدة. هذا المزيج يُحقق توازن “مسودّ صغير + اقتراح كتلي متوازٍ + تحقق خالٍ من الخسارة”.</p>

<h2 id="التثبيت-والتكامل">التثبيت والتكامل</h2>

<p>يُوزَّع DFlash مع نقاط التفتيش ودعم الأطر معاً، مما يجعل التبني يتطلب حداً أدنى من الكود. نقاط التفتيش العامة متاحة من مجموعة <code class="language-plaintext highlighter-rouge">z-lab/dflash</code> على Hugging Face، وفي وقت الإعلان تتضمن 20 نقطة تفتيش. في vLLM، يكفي استبدال إعداد EAGLE-3 بإعداد DFlash دون إعادة هيكلة التطبيق. المثال التالي من التوثيق الرسمي:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>vllm serve Qwen/Qwen3.5-27B <span class="se">\</span>
  <span class="nt">--speculative-config</span> <span class="s1">'{"method": "dflash", "model": "z-lab/Qwen3.5-27B-DFlash", "num_speculative_tokens": 15}'</span> <span class="se">\</span>
  <span class="nt">--attention-backend</span> flash_attn <span class="se">\</span>
  <span class="nt">--max-num-batched-tokens</span> 32768
</code></pre></div></div>

<p>المفتاح هو تحديد <code class="language-plaintext highlighter-rouge">"method": "dflash"</code> في <code class="language-plaintext highlighter-rouge">--speculative-config</code> مع تمرير مسار نقطة تفتيش المسودّ. تظل بنية الأعلام مطابقة تقريباً لما كان يُستخدم في خدمة EAGLE-3، مما يجعل التحويل مجرد استبدال نهج الفك التخميني في نشر vLLM القائم. يقبل SGLang وTensorRT-LLM بالمثل نقطة تفتيش مسودّ DFlash عبر واجهة API الخاصة بالفك التخميني.</p>

<p>يدعم خلفية Transformers سلسلتَي Qwen3 وLLaMA-3.1، ويوفر واجهة <code class="language-plaintext highlighter-rouge">spec_generate</code> تستدعي نموذج المسودّ والنموذج المستهدف معاً:</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="n">transformers</span> <span class="kn">import</span> <span class="n">AutoModel</span><span class="p">,</span> <span class="n">AutoModelForCausalLM</span><span class="p">,</span> <span class="n">AutoTokenizer</span>

<span class="n">draft</span> <span class="o">=</span> <span class="n">AutoModel</span><span class="p">.</span><span class="nf">from_pretrained</span><span class="p">(</span>
    <span class="sh">"</span><span class="s">z-lab/Qwen3-8B-DFlash-b16</span><span class="sh">"</span><span class="p">,</span> <span class="n">trust_remote_code</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
    <span class="n">dtype</span><span class="o">=</span><span class="sh">"</span><span class="s">auto</span><span class="sh">"</span><span class="p">,</span> <span class="n">device_map</span><span class="o">=</span><span class="sh">"</span><span class="s">cuda:0</span><span class="sh">"</span><span class="p">).</span><span class="nf">eval</span><span class="p">()</span>
<span class="n">target</span> <span class="o">=</span> <span class="n">AutoModelForCausalLM</span><span class="p">.</span><span class="nf">from_pretrained</span><span class="p">(</span>
    <span class="sh">"</span><span class="s">Qwen/Qwen3-8B</span><span class="sh">"</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="sh">"</span><span class="s">auto</span><span class="sh">"</span><span class="p">,</span> <span class="n">device_map</span><span class="o">=</span><span class="sh">"</span><span class="s">cuda:0</span><span class="sh">"</span><span class="p">).</span><span class="nf">eval</span><span class="p">()</span>
<span class="n">tokenizer</span> <span class="o">=</span> <span class="n">AutoTokenizer</span><span class="p">.</span><span class="nf">from_pretrained</span><span class="p">(</span><span class="sh">"</span><span class="s">Qwen/Qwen3-8B</span><span class="sh">"</span><span class="p">)</span>

<span class="n">messages</span> <span class="o">=</span> <span class="p">[{</span><span class="sh">"</span><span class="s">role</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">user</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">content</span><span class="sh">"</span><span class="p">:</span> <span class="sh">"</span><span class="s">196의 양의 약수는 몇 개인가?</span><span class="sh">"</span><span class="p">}]</span>
<span class="n">input_ids</span> <span class="o">=</span> <span class="n">tokenizer</span><span class="p">.</span><span class="nf">apply_chat_template</span><span class="p">(</span>
    <span class="n">messages</span><span class="p">,</span> <span class="n">return_tensors</span><span class="o">=</span><span class="sh">"</span><span class="s">pt</span><span class="sh">"</span><span class="p">,</span> <span class="n">add_generation_prompt</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
    <span class="n">enable_thinking</span><span class="o">=</span><span class="bp">False</span><span class="p">).</span><span class="nf">to</span><span class="p">(</span><span class="n">draft</span><span class="p">.</span><span class="n">device</span><span class="p">)</span>

<span class="n">output</span> <span class="o">=</span> <span class="n">draft</span><span class="p">.</span><span class="nf">spec_generate</span><span class="p">(</span>
    <span class="n">input_ids</span><span class="o">=</span><span class="n">input_ids</span><span class="p">,</span> <span class="n">max_new_tokens</span><span class="o">=</span><span class="mi">2048</span><span class="p">,</span> <span class="n">temperature</span><span class="o">=</span><span class="mf">0.0</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="n">target</span><span class="p">)</span>
</code></pre></div></div>

<p>كتل الكود أعلاه مستشهد بها من الأمثلة الرسمية الواردة في مدونة NVIDIA التقنية وMarkTechPost، وليست نتائج التقاط مباشر من بيئة ThakiCloud. قياسات إنتاجية DFlash أُجريت على بيئة NVIDIA Blackwell (DGX B300، 8 وحدات GPU)، ولا تتوفر في بيئة كتابة هذا المقال المُعجِّلات ونقاط التفتيش المطلوبة لإعادة إنتاج نفس الظروف. وبناءً على ذلك، فإن جميع النتائج المذكورة أدناه أرقام منشورة من مصادر موثّقة، ولا تشمل قياسات محققة ذاتياً.</p>

<h2 id="نتائج-التجارب-الفعلية-وفق-الأرقام-المنشورة">نتائج التجارب الفعلية (وفق الأرقام المنشورة)</h2>

<p>تنقسم أرقام تسريع DFlash إلى فئتين تختلف طرق قياسهما، لذا ينبغي قراءتهما بتمييز:</p>

<p>أولاً، <strong>التسريع الخالي من الخسارة في التدفق المفرد</strong>. يُرجع بحث UCSD متوسط 4.86× لـQwen3-8B بالفك الجشع (Transformers backend)، وأعلى قيمة 6.08× على MATH-500. في نفس الظروف، يُحقق EAGLE-3 متوسط 1.76× بحجم شجرة 16، و2.02× بحجم 60. أرقام كل مهمة موضحة في الرسم البياني أدناه.</p>

<p><img src="/assets/images/dflash-speculative-decoding-vllm-results.png" alt="رسم بياني شريطي لمقارنة التسريع الخالٍ من الخسارة لـDFlash وEAGLE-3 على Qwen3-8B عبر المهام" /></p>

<p>الرسم البياني أعلاه يُمثّل بيانياً الأرقام الرسمية من ورقة UCSD حول DFlash، وليس قياسات مباشرة من ThakiCloud. GSM8K: 5.15×، MATH-500: 6.08×، AIME25: 5.62×، HumanEval: 5.14×، LiveCodeBench: 5.51×، وهي قيم مرتفعة بشكل خاص في مهام الاستدلال الرياضي والبرمجي. في المقابل، تبلغ قيمة MT-Bench للمحادثات المفتوحة 2.75× فقط، وهو أمر متوقع لأن مكاسب الفك التخميني تتناسب مع إمكانية التنبؤ بالمخرجات (معدل القبول).</p>

<p>ثانياً، <strong>الإنتاجية عند هدف استجابة ثابت</strong>. الرقم 15× الذي تُرجعه NVIDIA يعني أن خدمة gpt-oss-120b عبر TensorRT-LLM على DGX B300 (8 وحدات Blackwell GPU) تُنتج إنتاجية أعلى بأكثر من 15× مقارنة بالفك التشفيري الانحداري، في النطاق الذي يتراوح فيه 500-600 رمز/ثانية للمستخدم. وفي نفس النقطة، يبلغ التسريع مقارنة بـEAGLE-3 نحو 1.5×. في اختبار Speed-Bench المنفصل من NVIDIA (تسريع الاستجابة عند نفس التزامن)، حقق gpt-oss-120b: DFlash 2.3× مقابل EAGLE-3 1.7×، وحقق Llama 3.1 8B Instruct: DFlash 2.8× مقابل EAGLE-3 2.2×. عبر المهام، تصل الأرقام إلى Gemma 4 31B: 5.8× (vLLM)، Qwen3 8B: 5.1× (SGLang).</p>

<p>خلاصة القول، “6×” هو تسريع خالٍ من الخسارة لطلب منفرد، أما “15×” فهو إنتاجية الخدمة عند تقييد عدد كبير من المستخدمين بنفس هدف الاستجابة. الرقمان يُجيبان على سؤالين مختلفين؛ لذا عند تقدير التأثير المتوقع في بيئة الإنتاج، حدد أولاً نسبة التزامن وهدف الاستجابة لديك ثم ارجع إلى الأرقام المقابلة لذلك النطاق.</p>

<h2 id="التداعيات-على-منصة-thakicloud-aiml-saas-على-kubernetes">التداعيات على منصة ThakiCloud AI/ML SaaS على Kubernetes</h2>

<p>تُشغّل ThakiCloud بنية تُجدول فيها GPU عبر Kueue على Kubernetes وتخدم نماذج مستأجرين متعددين عبر vLLM. DFlash نوع من التحسين يتناسب بشكل خاص مع هذه البنية، لثلاثة أسباب:</p>

<p>أولاً، <strong>التكامل المباشر يُخفض مخاطر التشغيل</strong>. إذا كنت تستخدم الفك التخميني مع EAGLE-3، يمكنك تبديل method ونقطة تفتيش المسودّ إلى DFlash والتحقق من النتائج بنشر كناري. بما أنها تقنية خالية من الخسارة لا تُغير عقد التطبيق (مخطط API، توزيع المخرجات)، تبقى الاستجابات المُدرَكة من المستأجرين متطابقة وتتحسن الإنتاجية والتأخر فقط. التحسينات التي لا تكسر اتساق المخرجات في SaaS متعدد المستأجرين نادرة القيمة.</p>

<p>ثانياً، <strong>كفاءة GPU تساوي تكلفة الوحدة</strong>. القدرة على معالجة طلبات متزامنة أكثر بنفس وحدة GPU وعند نفس مستوى الاستجابة تعني انخفاض تكلفة الخدمة لكل مستأجر. يتضاعف هذا التأثير في بيئات GPU يصعب فيها التوسع مثل GPU محلية أو في مناطق إقليمية. هذا يتوافق تماماً مع رسالة ThakiCloud المتعلقة بالخدمة الذاتية وكفاءة التكلفة. غير أن الـ15× من NVIDIA هو الحد الأعلى لمزيج Blackwell + TensorRT-LLM، وينبغي معايرة التوقعات وفق جيل GPU والخلفية لديك.</p>

<p>ثالثاً، <strong>مكاسب أكبر في أحمال عمل الرياضيات والبرمجة</strong>. عوامل الكود الداخلية وخطوط معالجة البيانات وأعباء عمل الوكلاء الغنية بالأدوات تُنتج مخرجات منظمة نسبياً تُحقق معدلات قبول عالية. المستأجرون الذين يخدمون هذه الأحمال بكثافة يُرجَّح أن يحققوا مكاسب DFlash فوق المتوسط. لما كانت ThakiCloud تستهدف منصة وكلاء متعددي المستأجرين، فإن تطبيق ملف تعريف خدمة DFlash أولاً على المستأجرين المتمحورين حول الكود والاستدلال استراتيجية تستحق الدراسة.</p>

<p>على صعيد خارطة طريق النضج، المسار الطبيعي هو الكشف عن نهج الفك التخميني في مخطط خدمة vLLM كملف تعريف لكل مستأجر، مع تشغيل حلقة قياس تكلفة في الخلفية لتتبع “هل انخفض سعر الرمز الواحد فعلاً بعد تطبيق DFlash؟” في الزمن الفعلي. مبدأ القياس لا الجزم ينطبق على تحسين الاستدلال بنفس القدر.</p>

<h2 id="القيود-والاعتراضات">القيود والاعتراضات</h2>

<p>DFlash ليس الحل الشامل لكل شيء. أولاً، أقصى الأرقام المُرجَعة مقيّدة بأجهزة وخلفيات بعينها. الـ15× نتيجة مزيج Blackwell + TensorRT-LLM، وستنخفض عوامل التسريع مع GPU أقدم أو مكدسات خدمة مختلفة. الـ6× الخالية من الخسارة هي أيضاً للفك الجشع في تدفق مفرد؛ في أعباء عمل المحادثة عالية الحرارة أو المتنوعة، تنخفض معدلات القبول وتتضاءل المكاسب (2.75× لـMT-Bench يُوضح ذلك).</p>

<p>ثانياً، الفك التخميني نفسه يتطلب ذاكرة إضافية. يشغل نموذج المسودّ وذاكرة KV الخاصة به مساحة GPU، مما قد يُحدث مقايضة مع الحد الأقصى للتزامن في بيئات متعددة المستأجرين ذات الذاكرة الضيقة. صغر حجم المسودّ يُخفف هذا العبء لكنه لا يُلغيه.</p>

<p>ثالثاً، مسؤولية التحقق التشغيلي تقع على عاتق المُطبِّق. الأرقام المنشورة من مصادر موثّقة، لكن لا يوجد ضمان بإعادة إنتاجها على نموذجك وحركة مرورك ومستوى تزامنك. في هذا المقال لم نتمكن من إعادة الإنتاج في بيئة ThakiCloud، لذا قبل أي تبني فعلي ينبغي قياس تكلفة الرمز وتأخر p50/p99 مباشرةً عبر نشر كناري. أخيراً، مسودّات الانتشار الكتلي نهج جديد نسبياً قد لا تتوفر له نقاط تفتيش لجميع بنى النماذج، لذا تحقق أولاً من وجود نقطة تفتيش مسودّ مناسبة للنموذج المستهدف الذي تخدمه.</p>

<h2 id="المصادر">المصادر</h2>

<ul>
  <li><a href="https://developer.nvidia.com/blog/boost-inference-performance-up-to-15x-on-nvidia-blackwell-using-dflash-speculative-decoding">Boost Inference Performance up to 15x on NVIDIA Blackwell Using DFlash Speculative Decoding (NVIDIA Technical Blog, 2026-06-23)</a></li>
  <li><a href="https://www.marktechpost.com/2026/06/24/dflash-speculative-decoding-drafts-whole-token-blocks-in-parallel-for-up-to-15x-higher-throughput-on-nvidia-blackwell/">DFlash Speculative Decoding Drafts Whole Token Blocks in Parallel (MarkTechPost, 2026-06-24)</a></li>
  <li><a href="https://huggingface.co/collections/z-lab/dflash">مجموعة نقاط تفتيش DFlash العامة (Hugging Face, z-lab/dflash)</a></li>
  <li><a href="https://docs.vllm.ai/en/latest/features/speculative_decoding/">توثيق الفك التخميني في vLLM</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="speculative-decoding" /><category term="dflash" /><category term="vllm" /><category term="inference-optimization" /><category term="block-diffusion" /><category term="eagle" /><summary type="html"><![CDATA[يستبدل DFlash مسودة EAGLE-3 القائمة على التوليد التلقائي بمسودة انتشار كتلي، تقترح كتلة من الرموز المستقبلية في تمريرة أمامية واحدة. يتكامل DFlash مباشرة مع vLLM وSGLang وTensorRT-LLM، ويُرجع وفق الأرقام المنشورة تسريعاً خالياً من الخسارة يبلغ 6 أضعاف في التدفق المفرد، وإنتاجية تصل إلى 15 ضعفاً على Blackwell. نحلل ما يعنيه ذلك من منظور منصة الخدمة متعددة المستأجرين المبنية على Kubernetes.]]></summary></entry><entry xml:lang="ar"><title type="html">ربط Claude Code بالنماذج المستضافة ذاتياً باستخدام free-claude-code: اختبار ميداني لبروكسي التوجيه بين 17 مزوداً</title><link href="https://thakicloud.github.io/ar/llmops/free-claude-code-router/" rel="alternate" type="text/html" title="ربط Claude Code بالنماذج المستضافة ذاتياً باستخدام free-claude-code: اختبار ميداني لبروكسي التوجيه بين 17 مزوداً" /><published>2026-06-24T00:00:00+09:00</published><updated>2026-06-24T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/free-claude-code-router</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/free-claude-code-router/"><![CDATA[<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>Claude Code عميل برمجي قوي. غير أن بنيته القائمة على توجيه كل طلب مباشرةً إلى Anthropic API تُقيّد المؤسسات الراغبة في ضبط التكاليف أو إبقاء البيانات داخل حدودها. يعالج مشروع <code class="language-plaintext highlighter-rouge">free-claude-code</code> الذي شهد انتشاراً واسعاً مؤخراً هذه النقطة بالذات؛ إذ يُمثّل طبقة بروكسي تعترض حركة مرور Claude Code وتعيد توجيهها إلى 17 مزوداً مختلفاً. وهو مشروع مرخص بـ MIT يحمل 36.7k نجمة على GitHub و5.7k تفرع و712 إيداعاً.</p>

<p>شعار المشروع التسويقي هو “Claude Code مجاناً إلى الأبد.” يعمل النهج عبر تحويل حركة المرور نحو مزودين ذوي فئة مجانية أو منخفضة التكلفة، وهذا الإطار مبالغ فيه إلى حد ما وينطوي على منطقة رمادية من حيث شروط الخدمة. لذا يركز هذا المقال لا على زاوية “المجاني”، بل على ما يعنيه هذا الأداة للمؤسسات كـ ThakiCloud التي <strong>تخدم نماذجها الخاصة على Kubernetes وتريد ربط Claude Code ببنيتها التحتية الخاصة</strong>. النقاط الجوهرية هي أن الكود والمطالبات لا تغادر حدود المستأجر، وتختفي فواتير السحابة المحسوبة لكل رمز، ولا حاجة لتعديل جانب العميل لأن نقطة النهاية متوافقة مع Anthropic.</p>

<blockquote>
  <p>ملاحظة: ركّز المقال السابق “توجيه Claude Code إلى النماذج الداخلية - claude-code-router” على <strong>المراجحة في التكاليف</strong> بين نماذج السحابة (glm وMiniMax وKimi). يتناول هذا المقال أداةً مختلفة (<code class="language-plaintext highlighter-rouge">free-claude-code</code>)، ويعالج الاتصال بـ <strong>الخلفيات المستضافة ذاتياً (Ollama وvLLM)</strong> لا بالسحابة، إلى جانب مخاطر النشر التي كشفها هذا المسار.</p>
</blockquote>

<h2 id="ما-الذي-يفعله-هذا-الأداة">ما الذي يفعله هذا الأداة</h2>

<p><code class="language-plaintext highlighter-rouge">free-claude-code</code> خادم بروكسي محلي يستقبل الطلبات التي يرسلها Claude Code (وCodex). ميزته الجوهرية أنه <strong>يحاكي نقطة نهاية متوافقة مع Anthropic بشكل كامل</strong>. من منظور العميل، لا يمكن تمييزه عن Anthropic API الحقيقية، مما يتيح تبديل الخلفية دون تغيير سطر واحد في Claude Code.</p>

<p>الخادم مكتوب بـ FastAPI ويكشف نقاط النهاية التالية:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">/v1/messages</code> - متوافق مع Anthropic Messages API (المسار الرئيسي لـ Claude Code)</li>
  <li><code class="language-plaintext highlighter-rouge">/v1/models</code> - قائمة النماذج</li>
  <li><code class="language-plaintext highlighter-rouge">/v1/responses</code> - متوافق مع OpenAI Responses API (لـ Codex؛ يُحوَّل داخلياً إلى Messages)</li>
</ul>

<p>عند وصول طلب، يقرر <strong>موجّه النماذج</strong> أي مزود يرسل إليه الطلب، ثم يحوّل <strong>المُوحِّد</strong> كتل التفكير وأدوات الاستدعاء واستجابات الخطأ إلى الشكل الذي يتوقعه كل عميل. نظراً لاختلاف صيغ الاستجابة بين المزودين، تكمن في طبقة التوحيد هذه الصعوبة الحقيقية.</p>

<p>لنتوسع قليلاً في سبب صعوبة التوحيد: يفترض Claude Code بنية استجابة خاصة بـ Anthropic؛ فخطوات الاستدلال تأتي ككتل <code class="language-plaintext highlighter-rouge">thinking</code>، واستدعاءات الأدوات ككتل محتوى <code class="language-plaintext highlighter-rouge">tool_use</code>. لكن DeepSeek يُصدر الاستدلال كحقل منفصل، في حين تُعيد المزودين المتوافقين مع OpenAI استدعاءات الأدوات كمصفوفة <code class="language-plaintext highlighter-rouge">tool_calls</code>. المعنى واحد وهو “استُدعيت أداة”، لكن صيغة السلك تختلف في كل حالة. يجب على المُوحِّد استيعاب هذه الفوارق وضمان حصول Claude Code على استجابات بشكل متطابق بغض النظر عن الخلفية المستخدمة. يذهب مسار Codex (<code class="language-plaintext highlighter-rouge">/v1/responses</code>) خطوة أبعد بتحويل طلبات OpenAI Responses داخلياً إلى Anthropic Messages قبل مشاركة الموجّه والمُوحِّد ومحوّلات المزودين ذاتها. أي أن تحويل البروتوكول يجري في الاتجاهين — وهذا هو الفارق الجوهري بين البروكسي العكسي البسيط وبروكسي التوجيه.</p>

<p><img src="/assets/images/free-claude-code-router-diagram.png" alt="بنية توجيه free-claude-code" />
<em>الشكل 1. يستقبل بروكسي FastAPI حركة المرور المتوافقة مع Anthropic من Claude Code ويوزعها على 17 مزوداً. من منظور ThakiCloud، المسارات الجوهرية هي الخلفيات المستضافة ذاتياً على اليمين (Ollama وLM Studio وvLLM).</em></p>

<p>المزودون المدعومون 17 مزوداً. على الجانب السحابي: NVIDIA NIM وOpenRouter وGoogle AI Studio (Gemini) وDeepSeek وMistral La Plateforme وMistral Codestral وOpenCode Zen وOpenCode Go وWafer وKimi وCerebras وGroq وFireworks وZ.ai. على <strong>جانب الاستضافة الذاتية: LM Studio وllama.cpp وOllama</strong>. الثلاثة الأخيرة هي ذات الأهمية من منظور ThakiCloud. إذ يكشف Ollama وllama.cpp نقاط نهاية متوافقة مع OpenAI، مما يعني أن خادم vLLM المنشور بالطريقة ذاتها على Kubernetes يمكن ربطه بنفس الأسلوب.</p>

<p>يتحكم في توجيه الفئات عبر متغيرات البيئة. يحدد كل من <code class="language-plaintext highlighter-rouge">MODEL_OPUS</code> و<code class="language-plaintext highlighter-rouge">MODEL_SONNET</code> و<code class="language-plaintext highlighter-rouge">MODEL_HAIKU</code> أي نموذج يُوجَّه إليه كل فئة من فئات Claude الثلاث؛ وعند غياب التحديد يُستخدم النموذج الاحتياطي <code class="language-plaintext highlighter-rouge">MODEL</code>. يتيح هذا نشراً متدرجاً، كتوجيه حركة مرور Haiku الخفيفة إلى نماذج صغيرة والحركة الثقيلة من Opus إلى نماذج أكبر.</p>

<h2 id="التثبيت-والتكامل">التثبيت والتكامل</h2>

<p>مسار التثبيت الرسمي هو سطر أوامر واحد:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># macOS / Linux</span>
curl <span class="nt">-fsSL</span> <span class="s2">"https://github.com/Alishahryar1/free-claude-code/blob/main/scripts/install.sh?raw=1"</span> | sh

<span class="c"># Windows PowerShell</span>
irm <span class="s2">"https://github.com/Alishahryar1/free-claude-code/blob/main/scripts/install.ps1?raw=1"</span> | iex
</code></pre></div></div>

<p>بدلاً من سطر الأوامر، تحققت من الحزمة بتثبيتها مباشرةً في بيئة اختبار معزولة، حفاظاً على سلامة البيئة الافتراضية المشتركة وفق قواعد وقت تشغيل Python في ThakiCloud.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># شجرة عمل معزولة + venv مؤقت (البيئة المشتركة .venv على 3.12.8 وستتعارض)</span>
uv venv <span class="nt">--python</span> 3.14 .expenv
<span class="nv">VIRTUAL_ENV</span><span class="o">=</span>.expenv uv pip <span class="nb">install</span> <span class="s2">"git+https://github.com/Alishahryar1/free-claude-code.git"</span>
</code></pre></div></div>

<p>تُثبَّت الحزمة ذاتها بنظافة. تُحلّ التبعيات مثل fastapi وuvicorn وhttpx وpydantic وopenai وloguru بنجاح، وتُنشأ سكريبتات وحدة التحكم مثل <code class="language-plaintext highlighter-rouge">fcc-server</code> و<code class="language-plaintext highlighter-rouge">fcc-init</code> و<code class="language-plaintext highlighter-rouge">fcc-claude</code>. بعد تشغيل الخادم، يُوجَّه Claude Code نحو البروكسي على النحو الآتي:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>fcc-server            <span class="c"># تشغيل بروكسي FastAPI (الافتراضي http://127.0.0.1:8082)</span>
<span class="c"># مثال على خلفية مستضافة ذاتياً (Ollama):</span>
<span class="c">#   MODEL_HAIKU=ollama/llama3.2:3b</span>
<span class="c">#   MODEL_SONNET=ollama/qwen2.5:7b</span>
<span class="c"># حدد عنوان URL الأساسي لتوجيه Claude Code نحو البروكسي ثم استخدمه كالمعتاد</span>
</code></pre></div></div>

<p>واجهة الإدارة متاحة على <code class="language-plaintext highlighter-rouge">http://127.0.0.1:8082/admin</code> وتكون محدودة بحلقة الاسترداد فقط. تُدار هنا مفاتيح المزودين وتوجيه النماذج وإعدادات الرسائل والصوت.</p>

<h2 id="نتائج-التجربة-الفعلية">نتائج التجربة الفعلية</h2>

<p>خلال عملية التحقق، واجهت <strong>نقطة أعاقت إعادة الإنتاج</strong>، وأسجلها كما هي. عدم اختلاق الأرقام مبدأ راسخ في هذا التقرير.</p>

<h3 id="حاجز-التشغيل-الاشتراط-الصارم-بـ-python-314">حاجز التشغيل: الاشتراط الصارم بـ Python 3.14</h3>

<p>يُثبّت <code class="language-plaintext highlighter-rouge">free-claude-code</code> الإصدار v2.3.14 اشتراط <code class="language-plaintext highlighter-rouge">requires-python = "&gt;=3.14.0"</code> بشكل صارم. Python 3.14 هو الإصدار الأحدث الذي صدر رسمياً في أكتوبر 2025 فحسب. المشكلة أن الإصدار 3.14 الوحيد المتاح في بيئة الاختبار كان بناء ألفا (3.14.0a7). تشغيل <code class="language-plaintext highlighter-rouge">fcc-server</code> على هذا الإصدار الألفا يفشل بالخطأ التالي:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ImportError: cannot import name 'get_annotate_from_class_namespace'
from 'annotationlib'
</code></pre></div></div>

<p>يحدث هذا التعارض لأن pydantic المثبّت يتوقع واجهة <code class="language-plaintext highlighter-rouge">annotationlib</code> الخاصة بالإصدار النهائي 3.14، لكن الرمز المطلوب غير موجود بعد في الإصدار الألفا المبكر. حاولت عندئذٍ التشغيل قسراً على الإصدار المستقر الأدنى (3.13)، لكن التثبيت ذاته يُرفض بسبب الاشتراط الصارم في بيانات الحزمة:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>free-claude-code==2.3.14 cannot be used ... your requirements are unsatisfiable.
</code></pre></div></div>

<p>الخلاصة واضحة: <strong>في البيئات التي تفتقر إلى Python 3.14 المستقر، لن يعمل هذا البروكسي أبداً.</strong> فشل محاولة إعادة الإنتاج: الحزمة تشترط Python 3.14 الصادر حديثاً، لكن الإصدار 3.14 الوحيد المتاح ألفا يتعارض مع pydantic المثبّت. هذه ليست عيباً في الأداة بقدر ما هي مشكلة <strong>تثبيت إصدار متعجّل</strong> يتعارض مع واقع بيئات الإنتاج التي تبقى في الغالب على 3.11–3.12.</p>

<h3 id="القياس-المباشر-لمسار-التوجيه-المستضاف-ذاتياً">القياس المباشر لمسار التوجيه المستضاف ذاتياً</h3>

<p>رغم أن البروكسي نفسه لم يُشغَّل، فإن <strong>الآلية</strong> التي تستخدمها هذه الأداة لاستدعاء مزود <code class="language-plaintext highlighter-rouge">ollama</code> هي نقطة النهاية المتوافقة مع OpenAI. لذا قست هذا المسار باستدعاء Ollama المحلي مباشرةً. هذه أرقام أداء التوجيه للخلفية ذاتها دون تضمين الحمل الإضافي للبروكسي الذي ستضيفه fcc. نتائج تعيين فئات Claude الثلاث لنماذج محلية كالآتي (Apple Silicon، مطالبة متطابقة، حد 64 رمزاً):</p>

<p><img src="/assets/images/free-claude-code-router-results.png" alt="نتائج قياس التوجيه المستضاف ذاتياً" />
<em>الشكل 2. التأخر ومعدل المعالجة عند توجيه فئات Claude إلى نماذج Ollama المحلية. qwen3:8b المُدرج في مسار opus نموذج تفكير يُصدر رموز استدلال مطوّلة مما يزيد الوقت بشكل ملحوظ.</em></p>

<table>
  <thead>
    <tr>
      <th>التوجيه</th>
      <th>النموذج</th>
      <th>التأخر</th>
      <th>رموز الإكمال</th>
      <th>معدل المعالجة</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>haiku</td>
      <td>llama3.2:3b</td>
      <td>0.49s</td>
      <td>33</td>
      <td>67.3 tok/s</td>
    </tr>
    <tr>
      <td>sonnet</td>
      <td>qwen2.5:7b</td>
      <td>0.56s</td>
      <td>20</td>
      <td>35.7 tok/s</td>
    </tr>
    <tr>
      <td>opus</td>
      <td>qwen3:8b</td>
      <td>8.12s</td>
      <td>281</td>
      <td>34.6 tok/s</td>
    </tr>
  </tbody>
</table>

<p>النموذج الصغير (llama3.2:3b) ينهي استجابته في أقل من 0.5 ثانية، وهو سرعة كافية لحركة مرور بديلة عن Haiku. كذلك qwen2.5:7b عند 0.56 ثانية عملي للاستخدام. في المقابل، استغرق qwen3:8b المُدرج في مسار opus 8.12 ثانية، لأن نموذج التفكير يُصدر أولاً 281 رمز استدلال. معدل المعالجة (34.6 tok/s) طبيعي في حد ذاته، لكن القياس أكد أن <strong>توظيف نموذج استدلالي في فئة ثقيلة يُفجّر عدد الرموز ويزيد التأخر المُدرَك بشكل كبير</strong>. درس عملي: عند تصميم تعيينات الفئات، ينبغي مراعاة ميل النموذج لتوليد رموز الاستدلال.</p>

<h2 id="التطبيق-والدلالات-لمنصة-thakicloud-saas-للذكاء-الاصطناعيتعلم-الآلة-على-kubernetes">التطبيق والدلالات لمنصة ThakiCloud SaaS للذكاء الاصطناعي/تعلم الآلة على Kubernetes</h2>

<p>القيمة الحقيقية لهذه الأداة ليست في “المجانية” بل في <strong>نمط الاتصال</strong>. بمجرد إدراج بروكسي متوافق مع Anthropic كطبقة وسيطة، يمكن إرفاق عملاء تجاريين كـ Claude Code مباشرةً ببنيتنا التحتية.</p>

<p>تُجدول ThakiCloud وحدات GPU باستخدام Kueue وتُقدّم النماذج عبر vLLM على Kubernetes. نظراً لأن vLLM يوفر نقطة نهاية متوافقة مع OpenAI (<code class="language-plaintext highlighter-rouge">/v1/chat/completions</code>)، يمكن ربطها بمسار المزود المستضاف ذاتياً في <code class="language-plaintext highlighter-rouge">free-claude-code</code> بنفس الطريقة المتبعة مع Ollama أو llama.cpp. أسلوب الاتصال مشترك بين المزودين المستضافين ذاتياً: يُحدَّد عنوان URL الأساسي بنقطة نهاية خدمة vLLM في الكتلة، ويُضاف بادئة المزود إلى معرّف النموذج. تماماً كما تُكتب Ollama بالصيغة <code class="language-plaintext highlighter-rouge">ollama/llama3.2:3b</code>، يُضاف النموذج المُقدَّم على vLLM الداخلي لأهداف التوجيه باتباع قاعدة البادئة ذاتها. يُتيح ذلك:</p>

<ul>
  <li><strong>سيادة البيانات</strong>: لا يغادر الكود والمطالبات حدود المستأجر. هذا أمر جوهري في البيئات التنظيمية مثل النشر داخل المنشأة ومتطلبات الامتثال للأجهزة الحكومية.</li>
  <li><strong>تحوّل هيكل التكلفة</strong>: تتحوّل فوترة القياس لكل رمز إلى تكاليف GPU ثابتة. كلما ارتفع الاستخدام، تسارعت نقطة التعادل للتقديم الذاتي.</li>
  <li><strong>النشر المتدرج حسب الفئة</strong>: يمكن توجيه حركة مرور Haiku الخفيفة إلى نماذج صغيرة والأعمال الثقيلة إلى نماذج أكبر، مما يُحسّن الاستفادة من وحدات GPU. تُقدّم القياسات أعلاه الأرقام المرجعية لهذا النشر المتدرج.</li>
</ul>

<p>غير أن الأنسب بدلاً من اعتماد هذه الأداة كما هي هو <strong>استعارة نمط التوجيه المُتحقَّق منه فحسب</strong>. في بيئة متعددة المستأجرين، يجب أن يمتلك البروكسي مصادقة وعزلاً ومراقبةً لكل مستأجر، في حين تفترض واجهة إدارة <code class="language-plaintext highlighter-rouge">free-claude-code</code> مستخدماً واحداً في حلقة الاسترداد وهي قاصرة كما هي. الفكرة الكامنة في طبقة التوحيد المتوافقة مع Anthropic تستحق الاستعارة، لكن المصادقة والحصص والتسجيل يجب إعادة تطبيقها وفق معايير بوابتنا.</p>

<h2 id="القيود-والاعتراضات">القيود والاعتراضات</h2>

<p>أولاً، <strong>المنطقة الرمادية لشروط الخدمة</strong>. يعتمد إطار “Claude Code مجاناً” على التوجيه عبر مزودين ذوي فئة مجانية، مما قد يتعارض مع شروط خدمة كل منصة. في البيئات المؤسسية، الاستخدام المشروع والمستدام هو حصراً <strong>التوجيه إلى الخلفيات المملوكة (النماذج المُقدَّمة ذاتياً)</strong>. هذا هو سبب تأكيد هذا المقال على مسار الاستضافة الذاتية فحسب.</p>

<p>ثانياً، <strong>تثبيت الإصدار المتعجّل</strong>. يمنع الاشتراط الصارم بـ Python 3.14 التشغيلَ فوراً في البيئات التي تفتقر إلى وقت تشغيل مستقر كما رأينا. مع الأخذ بعين الاعتبار تكلفة ومخاطر ترقية صور حاويات الإنتاج إلى 3.14، فإن إدراج هذه الأداة مباشرةً في خط أنابيب النشر في الوقت الراهن ينطوي على عبء مفرط.</p>

<p>ثالثاً، <strong>لا يُضمن تكافؤ الجودة</strong>. استبدال Opus أو Sonnet من Claude بنماذج مختلفة لا يُبقي جودة البرمجة على حالها. التوجيه خيار يكسب فيه تكاليف أقل وسيادة بيانات مقابل التنازل عن جودة الاستجابة؛ وأي حركة مرور تُوجَّه إلى أي مكان يجب تحديده بالقياس وفق درجة صعوبة المهمة.</p>

<p>رابعاً، قياسات هذا التقرير هي <strong>أرقام استدعاء مباشر للخلفية دون المرور بالبروكسي</strong>. لا يشمل ذلك الحمل الإضافي للتوحيد والتوجيه في fcc. متى توافرت بيئة Python 3.14 المستقرة، أخطط لإعادة قياس التأخر ذهاباً وإياباً عبر البروكسي وإضافته تكملةً لهذه النتائج.</p>

<p>خلاصة القول، <code class="language-plaintext highlighter-rouge">free-claude-code</code> محفوف بالمخاطر إذا استُهلك بوصفه “اختراقاً مجانياً”، لكنه نقطة انطلاق ممتازة <strong>كمرجع مفتوح المصدر لأنماط التوجيه المتوافقة مع Anthropic</strong> عند تصميم ربط العملاء التجاريين ببنية الاستدلال المستضافة ذاتياً.</p>

<h2 id="المصادر">المصادر</h2>

<ul>
  <li>GitHub: <a href="https://github.com/Alishahryar1/free-claude-code">Alishahryar1/free-claude-code</a> (MIT, 36.7k stars, v2.3.14)</li>
  <li>بيانات القياس: استدعاءات مباشرة لنقطة النهاية المتوافقة مع OpenAI في Ollama المحلي (llama3.2:3b وqwen2.5:7b وqwen3:8b، Apple Silicon)</li>
  <li>مقال ذو صلة: مدونة ThakiCloud التقنية “توجيه Claude Code إلى النماذج الداخلية - claude-code-router”</li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="free-claude-code" /><category term="Claude Code" /><category term="LLM Gateway" /><category term="Model Routing" /><category term="Ollama" /><category term="vLLM" /><category term="Self-Hosting" /><category term="FastAPI" /><category term="LLM Ops" /><summary type="html"><![CDATA[يعترض free-claude-code (36.7k نجمة) حركة مرور Claude Code عبر بروكسي FastAPI متوافق مع Anthropic ويوجهها إلى 17 مزوداً. يوثق هذا التقرير التوجيه المباشر إلى خلفية Ollama محلية مع قياسات للتأخر، ويسجل بصدق مخاطر النشر الناجمة عن اشتراط Python 3.14 بشكل صارم.]]></summary></entry><entry xml:lang="ar"><title type="html">Anthropic Claude Tag: تحويل قنوات Slack إلى مساحات عمل لزملاء الذكاء الاصطناعي المقيمين</title><link href="https://thakicloud.github.io/ar/news/anthropic-claude-tag-slack/" rel="alternate" type="text/html" title="Anthropic Claude Tag: تحويل قنوات Slack إلى مساحات عمل لزملاء الذكاء الاصطناعي المقيمين" /><published>2026-06-24T00:00:00+09:00</published><updated>2026-06-24T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/news/anthropic-claude-tag-slack</id><content type="html" xml:base="https://thakicloud.github.io/ar/news/anthropic-claude-tag-slack/"><![CDATA[<p><img src="/assets/images/anthropic-claude-tag-slack-hero.png" alt="مرئي تجريدي لشبكة تعاون تربط عقدة ذكاء اصطناعي مركزية بعقد متعددة للأشخاص في قناة مشتركة واحدة" /></p>

<p>صورة تجسّد هيكل متعدد اللاعبين حيث يعمل Claude واحد في كل قناة Slack مع جميع أعضاء الفريق.</p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>تتحول ساحة منافسة الذكاء الاصطناعي المؤسسي من روبوتات المحادثة المنفردة إلى طبقة التعاون. إذ لا يعمل الناس في نافذة محادثة فردية، بل في قنوات مشتركة تضم الفريق بأكمله؛ ولكي يُستخدم الذكاء الاصطناعي كزميل حقيقي، يجب أن يكون حاضراً داخل تلك القنوات. في 23 يونيو 2026، أقدمت Anthropic على أجرأ خطوة في هذا الاتجاه.</p>

<p>أعلنت Anthropic عن Claude Tag ليحل محل تطبيق Claude in Slack الحالي — وهو وكيل ذكاء اصطناعي مشترك مدمج مباشرة في Slack التابعة لـ Salesforce، ومتاح كإصدار تجريبي وتجريبي للأبحاث لعملاء Claude Enterprise وTeam. يعمل على نموذج Claude Opus 4.8 الذي أُطلق حديثاً، ويمكن لأي شخص في القناة كتابة <code class="language-plaintext highlighter-rouge">@Claude</code> لتفويض مهام غير متزامنة كإنشاء طلبات السحب، واستخراج مقاييس المبيعات، وتحليل البيانات.</p>

<p>تتناول هذه المقالة Claude Tag من <strong>منظور معمارية الوكلاء</strong> لا من زاوية الأسعار أو العبارات التسويقية. نستعرض ما يميّزه عن تكاملات روبوتات المحادثة التقليدية، وما يغيّره تعدد اللاعبين والسلوك الاستباقي على مستوى العمليات، وما يمثله ذلك من انعكاسات على ThakiCloud بوصفها منصة وكلاء متعددة المستأجرين مبنية على K8s.</p>

<h2 id="ما-الذي-جرى">ما الذي جرى؟</h2>

<p>تتمحور الإعلانات حول أربعة محاور:</p>

<p><strong>أولاً، من روبوت محادثة منفرد إلى زميل متعدد اللاعبين.</strong> كانت التكاملات السابقة تعتمد نموذج 1:1 حيث يرتبط كل مستخدم بنسخة ذكاء اصطناعي منفصلة. أما Claude Tag، فيوجد Claude واحد داخل قناة Slack واحدة، ويتفاعل مع جميع أعضائها. يمكن لأي شخص رؤية ما يعمل عليه Claude، والانضمام إلى المحادثة من حيث توقف الآخر.</p>

<p><strong>ثانياً، السلوك الاستباقي (ambient).</strong> لا ينتظر Claude Tag التعليمات فحسب. فبتفعيل السلوك الاستباقي، يسحب المعلومات ذات الصلة بنشاط من القنوات التي يراقبها ومن الأدوات المتصلة بها، ويتابع تلقائياً الخيوط والمهام التي خمدت دون حل.</p>

<p><strong>ثالثاً، التعلم عبر الزمن.</strong> يتابع القناة ويراكم سياق ما يجري فيها من عمل. لا يحتاج المستخدم إلى شرح المشروع من البداية في كل مرة — القناة نفسها هي الذاكرة طويلة الأمد للوكيل.</p>

<p><strong>رابعاً، الوصول إلى الأدوات المؤسسية والتحكم في نطاق البيانات.</strong> يصل Claude Tag إلى الأدوات المؤسسية المتصلة مع إمكانية التحكم في نطاق الوصول إلى البيانات. بوصفه وكيلاً يتعامل مع أدوات العمل الفعلية لا مجرد الردود على الرسائل، تُعدّ حدود الصلاحيات عنصراً جوهرياً في المنتج.</p>

<p>أفصحت Anthropic عن أن نحو 65% من شيفرة فريق منتجاتها يتولد حالياً عبر الإصدار الداخلي من Claude Tag، وأن النمط ذاته يمتد إلى تحليل البيانات وحل تذاكر الدعم.</p>

<h2 id="كيف-يعمل">كيف يعمل؟</h2>

<p>يمكن تصوير Claude Tag من الناحية التشغيلية على النحو التالي:</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph CH["قناة Slack (Claude مشترك واحد)"]
        U1["عضو الفريق أ"] --&gt;|تفويض @Claude| C["Claude Tag (Opus 4.8)"]
        U2["عضو الفريق ب"] --&gt;|متابعة| C
        U3["عضو الفريق ج"] -.-&gt;|مراقبة| C
    end
    C --&gt;|مراقبة ambient| MEM["السياق المتراكم للقناة (ذاكرة طويلة الأمد)"]
    C --&gt;|صلاحيات النطاق| TOOLS["الأدوات المؤسسية&lt;br/&gt;GitHub · البيانات · أنظمة المبيعات"]
    C --&gt;|متابعة استباقية| TASK["الخيوط المتوقفة · المهام غير المحلولة"]
    MEM --&gt; C
</code></pre>

<p>النقطة الجوهرية هنا أن Claude يحتفظ بـ<strong>الحالة المشتركة</strong> للقناة كجهة واحدة. بخلاف روبوتات المحادثة الفردية التي تحتفظ كل منها بسياق محادثتها الخاص، يدمج Claude Tag سير عمل القناة بأكملها في سياق واحد. هذا هو السبب في أن أحداً يمكنه الاستمرار في عمل بدأه شخص آخر. في الوقت ذاته، يتحد هذا السياق المتكامل مع صلاحيات نطاق الوصول إلى الأدوات المؤسسية، ليكتمل حلقة الوكيل القائمة على “المراقبة + الذاكرة + الإجراء الاستباقي + تنفيذ الأدوات” داخل مساحة التعاون.</p>

<h2 id="لماذا-يهمنا-هذا">لماذا يهمنا هذا؟</h2>

<p>يتحول Slack تدريجياً إلى ميدان المنافسة الرئيسي للذكاء الاصطناعي المؤسسي. أضافت Salesforce في مارس 30 قدرة وكيل إلى Slackbot، وأطلق OpenAI Workspace Agents في أبريل. يتوقع Gartner أن 40% من تطبيقات المؤسسات ستدمج وكلاء ذكاء اصطناعي متخصصة في المهام بحلول نهاية 2026. Claude Tag هو إعلان من Anthropic بأنها ستسيطر مباشرةً على طبقة التعاون.</p>

<p>يدعم حجم رأس المال هذه الجرأة. جمعت Anthropic مؤخراً 65 مليار دولار في جولة Series H بتقييم ما بعد الاستثمار 965 مليار دولار، متجاوزةً معدل إيرادات سنوياً يبلغ 47 مليار دولار[تقديري]، منها أكثر من 2.5 مليار دولار تُسهم بها أداة المطورين Claude Code. بمعنى آخر، Claude Tag هو المنتج الذي ترسّخ به الشركة توجهها نحو “إخراج الذكاء الاصطناعي من نافذة المحادثة ليعيش داخل سير عمل الفريق”. وأعلنت Anthropic عن خطط لتوسيع Claude Tag ليشمل Microsoft Teams والبريد الإلكتروني وأدوات إدارة المشاريع الأخرى خلال الأسابيع المقبلة.</p>

<h2 id="منظور-thakicloud-مرآة-منصة-الوكلاء-متعددة-المستأجرين">منظور ThakiCloud: مرآة منصة الوكلاء متعددة المستأجرين</h2>

<p>تسعى ThakiCloud إلى بناء منصة SaaS للذكاء الاصطناعي والتعلم الآلي تشغّل وكلاء متعددي المستأجرين على K8s. يعرض Claude Tag بصيغة منتج تجاري المشكلات ذاتها التي يجب أن نحلّها. نرصد ثلاث نقاط جوهرية:</p>

<p>أولاً، <strong>إدارة الحالة المشتركة والذاكرة طويلة الأمد.</strong> يرتبط التصميم القائم على وكيل واحد يحتفظ بسياق متراكم لكل قناة ارتباطاً مباشراً بمشكلة عزل ذاكرة الوكيل وإدامتها لكل مستأجر (أو مساحة عمل) في بيئة متعددة المستأجرين. من يحق له الوصول إلى تلك الذاكرة؟ هل يحتفظ السياق بقيمته عند تغيُّر الأشخاص؟ هل تتجاوز الذاكرة حدود المستأجر؟ كل هذه قرارات تصميم في المنصة. Claude Tag مثال على رفع هذه القرارات إلى سطح المنتج.</p>

<p>ثانياً، <strong>صلاحيات النطاق هي الثقة بعينها.</strong> حين يتعامل الوكيل مباشرةً مع الأدوات المؤسسية، يصبح “ما يُمنع من فعله” أكثر أهمية من “ما يستطيع فعله”. هذا بالضبط سبب تأكيد ThakiCloud على الاستضافة المحلية والمنطقة الإقليمية وself-hosting. التحدي الجوهري هو تمكين العملاء من الاستفادة من استباقية الوكيل دون أن يفقدوا السيطرة على بيانات مؤسساتهم. بالنسبة للعملاء الذين يجدون في التفويض الدائم للذاكرة المؤسسية لسحابة بائع واحد عبئاً، تمثّل منصة الوكلاء الذاتية المعزولة بديلاً واضحاً.</p>

<p>ثالثاً، <strong>التحكم في تكلفة الاستباقية.</strong> المراقبة الاستباقية قوية، لكنها تُغير كثيراً في استهلاك الرموز وملامح الفواتير. لتوفير وكلاء استباقيين في منصة متعددة المستأجرين، لا بد من حلقة تُمكّن من تحديد مستوى الاستباقية والحد الأقصى للميزانية لكل مستأجر، وقياس التكلفة الفعلية في جميع الأوقات. تجربة ThakiCloud في الجمع بين جدولة GPU المبنية على Kueue وقياس التكاليف تشكّل نقطة تمايز تحديداً هنا — الانتقال من مجرد “تشغيل الوكيل الاستباقي أو إيقافه” إلى معالجة “درجة استباقيته” كمتغير تشغيلي يُدار بجانب التكلفة.</p>

<h2 id="القيود-والحجج-المضادة">القيود والحجج المضادة</h2>

<p>Claude Tag ليس الحل الفوري الأمثل لكل مؤسسة. ثمة مخاطر ينبغي لقادة التقنية المؤسسية أخذها بعين الاعتبار قبل التبني.</p>

<p>أولاً، <strong>المراقبة غير المتزامنة المستمرة قد تُغير هيكل استهلاك الرموز والفواتير بصورة جذرية.</strong> وكيل يعمل دائماً يولّد تكاليف دون أن يستدعيه المستخدم صراحةً — وهذا عبء على المؤسسات التي تريد فواتير متوقعة.</p>

<p>ثانياً، <strong>التفويض الدائم للذاكرة المؤسسية إلى ذكاء اصطناعي بائع واحد يرفع ارتباطاً بالمنصة والاعتماد على البائع بصورة كبيرة.</strong> حين تصبح سياقات القنوات أصولاً، يأتي معها خطر تقييد تلك الأصول في بنية تحتية بائع محدد.</p>

<p>ثالثاً، <strong>التوازن بين الاستباقية والسيطرة.</strong> السحب الاستباقي للمعلومات والمتابعة التلقائية مريحان، لكن أخطاء الحكم السياقي أو التدخل المفرط قد يعيقان التعاون. وحتى مع توافر التحكم في نطاق البيانات، تظل السلامة رهينة بكيفية تحديد المؤسسة لحدود الصلاحيات وتدقيقها فعلياً. أخيراً، ينبغي تذكّر أن الإصدار في مرحلة التجريبي وتجريبي الأبحاث. القدرات المُعلنة وأرقام كـ 65% مقيّسة ببيئة Anthropic الداخلية، ولا يوجد ضمان بأنها تتكرر بالقدر ذاته في أعباء عمل المؤسسات العامة.</p>

<h2 id="المصادر">المصادر</h2>

<ul>
  <li><a href="https://techstrong.ai/articles/anthropic-launches-claude-tag-to-turn-slack-channels-into-agentic-ai-workspaces/">Anthropic Launches Claude Tag to Turn Slack Channels into Agentic AI Workspaces (Techstrong.ai, 2026-06-23)</a></li>
  <li><a href="https://venturebeat.com/technology/anthropic-launches-claude-tag-replacing-its-slack-app-with-a-persistent-ai-teammate-that-learns-monitors-and-works-autonomously">Anthropic launches Claude Tag, replacing its Slack app with a persistent AI teammate (VentureBeat, 2026-06-23)</a></li>
  <li><a href="https://www.anthropic.com/news/introducing-claude-tag">Introducing Claude Tag (Anthropic الإعلان الرسمي)</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="news" /><category term="anthropic" /><category term="claude-tag" /><category term="slack" /><category term="agentic-ai" /><category term="enterprise-collaboration" /><category term="claude-opus" /><summary type="html"><![CDATA[أعلنت Anthropic عن Claude Tag ليحل محل تطبيق Slack الحالي. يعمل Claude واحد في كل قناة بالتعاون مع الجميع، ويتابع السياق بشكل استباقي، ويتلقى تفويضات المهام غير المتزامنة. تحليل لكيفية تغيير وكلاء متعددي اللاعبين لطبقة التعاون المؤسسي من منظور منصة وكلاء متعددة المستأجرين.]]></summary></entry><entry xml:lang="ar"><title type="html">تشغيل Gemma 4 26B بتوازي 16 ضعفاً على جهاز DGX Spark واحد: مراجعة صريحة لتقنية NVFP4 والقيمة مقابل التكلفة</title><link href="https://thakicloud.github.io/ar/owm/gemma-4-26b-nvfp4-dgx-spark/" rel="alternate" type="text/html" title="تشغيل Gemma 4 26B بتوازي 16 ضعفاً على جهاز DGX Spark واحد: مراجعة صريحة لتقنية NVFP4 والقيمة مقابل التكلفة" /><published>2026-06-24T00:00:00+09:00</published><updated>2026-06-24T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/owm/gemma-4-26b-nvfp4-dgx-spark</id><content type="html" xml:base="https://thakicloud.github.io/ar/owm/gemma-4-26b-nvfp4-dgx-spark/"><![CDATA[<p>⏱️ <strong>وقت القراءة المتوقع</strong>: 12 دقيقة</p>

<p><img src="/assets/images/gemma-4-26b-nvfp4-dgx-spark-hero.png" alt="مخطط مفاهيمي للاستدلال المتوازي لـ Gemma 4 26B NVFP4" /></p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>أثار اهتماماً واسعاً عرضٌ تجريبي يُظهر تشغيل نموذج MoE كبير في 16 جلسة متزامنة على جهاز صغير يُوضع على المكتب. يتعلق الأمر بنموذج <code class="language-plaintext highlighter-rouge">Gemma-4-26B-A4B-NVFP4</code> الذي أصدرته NVIDIA، إذ يعمل على جهاز DGX Spark واحد (128 جيجابايت من الذاكرة الموحدة) بتوازي 16 ضعفاً، محققاً نحو 18 رمزاً في الثانية لكل تدفق وما يزيد على 300 رمز في الثانية إجمالاً. وقد أشار صاحب العرض إلى أن التزامن العالي جداً جعل من الصعب إظهاره بصرياً فاضطر إلى تقديمه برمجياً، مؤكداً إمكانية الوصول إلى 32 ضعفاً وأن flashinfer لم تُطبق بعد في هذه المرحلة.</p>

<p>ثمة نقطتان جوهريتان نود تسليط الضوء عليهما. الأولى: هذا ليس نموذجاً خفيف الوزن من نوع E2B أو E4B يعمل على الحواسيب المحمولة، بل هو <strong>نموذج Gemma MoE كبير</strong> يبلغ مجموع معاملاته 25.2 مليار معامل. الثانية: ما يجعل هذا ممكناً هو التقاء ثلاثة عوامل: <strong>تكميم NVFP4 رباعي البت، وصغر المعاملات النشطة في MoE، وسعة الذاكرة الموحدة الكبيرة في DGX Spark</strong>.</p>

<p>تُدير ThakiCloud منصة لتقديم نماذج اللغة الكبيرة بصورة متعددة المستأجرين فوق Kubernetes. لذا فإن سؤال “كم طلباً متزامناً يمكن استقباله على جهاز خاص صغير واحد؟” ليس مجرد عرض مثير للاهتمام، بل هو سؤال مباشر يتعلق بنموذج التكلفة. يُرتب هذا المقال الحقائق التقنية للنموذج، ويفصل بين أداء التدفق المفرد والتزامن، ويناقش بصدق ما إذا كان DGX Spark يوفر قيمة حقيقية مقارنة بوحدات Blackwell الأخرى، فضلاً عن تحديد مدى صلاحية هذا النموذج لمنظومة المهارات لدينا.</p>

<h2 id="ما-الذي-قدمه-العرض-التجريبي">ما الذي قدمه العرض التجريبي؟</h2>

<p>يمكن تلخيص ادعاءات العرض الأصلي (<a href="https://x.com/googlegemma/status/2069452783523401804">تغريدة فريق Google Gemma</a>) على النحو التالي:</p>

<ul>
  <li>الجهاز: <strong>جهاز DGX Spark واحد، ذاكرة موحدة 128 جيجابايت (GB10 Grace-Blackwell)</strong></li>
  <li>النموذج: <a href="https://huggingface.co/nvidia/Gemma-4-26B-A4B-NVFP4"><code class="language-plaintext highlighter-rouge">nvidia/Gemma-4-26B-A4B-NVFP4</code></a></li>
  <li>التزامن: <strong>16 ضعفاً متوازياً</strong>، بمعدل <strong>نحو 18 رمزاً/ثانية</strong> لكل تدفق و<strong>نحو 300 رمز/ثانية</strong> إجمالاً</li>
  <li>قابلية التوسع: ممكنة حتى <strong>32 ضعفاً</strong>، لكنه عُرض بـ 16 ضعفاً لاعتبارات وضوح الشاشة</li>
  <li>هامش التحسين: <strong>flashinfer لم تُطبق بعد</strong>، مما يعني إمكانية تحسين الأداء لاحقاً</li>
</ul>

<p>نوضح هنا نقطة يسهل إساءة فهمها: “18 رمزاً/ثانية لكل تدفق” هي القيمة عند تشغيل 16 تدفقاً متزامناً، وتدفق واحد وحيد يعطي أداءً أسرع. سيتم تناول المقايضة بين التزامن والتأخير المفرد بالأرقام الفعلية في قسم لاحق.</p>

<h2 id="الحقائق-التقنية-لنموذج-gemma-4-26b-a4b-nvfp4">الحقائق التقنية لنموذج Gemma-4-26B-A4B-NVFP4</h2>

<p>النموذج الذي رفعته NVIDIA هو نسخة مُكممة بتقنية NVFP4 من نموذج <code class="language-plaintext highlighter-rouge">gemma-4-26B-A4B-it</code> الخاص بـ Google DeepMind، وذلك باستخدام NVIDIA Model Optimizer. المواصفات الرئيسية وفقاً لبطاقة النموذج:</p>

<table>
  <thead>
    <tr>
      <th>العنصر</th>
      <th>القيمة</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>النموذج الأساسي</td>
      <td>google/gemma-4-26B-A4B-it</td>
    </tr>
    <tr>
      <td>البنية</td>
      <td>Mixture-of-Experts (Transformer)</td>
    </tr>
    <tr>
      <td>إجمالي المعاملات</td>
      <td>25.2 مليار</td>
    </tr>
    <tr>
      <td>المعاملات النشطة</td>
      <td>3.8 مليار (لكل رمز)</td>
    </tr>
    <tr>
      <td>تكوين الخبراء</td>
      <td>8 من أصل 128 نشطون + خبير مشترك واحد</td>
    </tr>
    <tr>
      <td>عدد الطبقات</td>
      <td>30</td>
    </tr>
    <tr>
      <td>طول السياق</td>
      <td>256 ألف رمز</td>
    </tr>
    <tr>
      <td>نافذة الانزلاق</td>
      <td>1024 رمز</td>
    </tr>
    <tr>
      <td>أنماط الإدخال</td>
      <td>نص + صورة</td>
    </tr>
    <tr>
      <td>التكميم</td>
      <td>NVFP4 (Model Optimizer v0.43.0)</td>
    </tr>
    <tr>
      <td>الجهاز المستهدف</td>
      <td>NVIDIA Blackwell</td>
    </tr>
    <tr>
      <td>الرخصة</td>
      <td>Apache 2.0</td>
    </tr>
  </tbody>
</table>

<h3 id="ما-هو-nvfp4-ولماذا-يستلزم-blackwell">ما هو NVFP4 ولماذا يستلزم Blackwell؟</h3>

<p>NVFP4 هو تنسيق نقطة عائمة رباعي البت تُعجله NVIDIA بالجهاز في جيل Blackwell. خلافاً لتكميم INT4 الذي يقطع الأوزان إلى أعداد صحيحة رباعية البت فحسب، يعتمد NVFP4 على مقياس FP8 لكل كتلة صغيرة (micro-scaling)، مما يتيح تقليص الذاكرة المعادل لأربعة بتات مع الحفاظ على دقة عالية.</p>

<p>يظهر الأثر بوضوح في متطلبات الذاكرة: تحميل 25.2 مليار معامل بتنسيق BF16 يتطلب نحو 50 جيجابايت، بينما يُقلص NVFP4 الأوزان إلى <strong>14-16 جيجابايت</strong> تقريباً. في DGX Spark بذاكرته الموحدة البالغة 128 جيجابايت، يعني الاحتفاظ بالأوزان في 16 جيجابايت أن ما يزيد على 100 جيجابايت تبقى متاحة بالكامل لذاكرة التخزين المؤقت KV Cache. هذا الهامش الواسع هو ما يتيح التزامن من 16 إلى 32 ضعفاً واستيعاب سياقات طويلة تصل إلى 256 ألف رمز.</p>

<p>غير أن تسريع جهاز NVFP4 مقصور على Blackwell حصراً. الأجيال السابقة كـ Hopper (H100) وAda (RTX 4090) تفتقر إلى مسار Tensor Core الخاص بـ NVFP4، مما يعني عدم الاستفادة الكاملة من هذا التنسيق. بمعنى آخر، هذا النموذج مبني عملياً “للتشغيل على Blackwell”.</p>

<h3 id="المعايير-القياسية-هل-خسارة-الدقة-في-nvfp4-مقبولة">المعايير القياسية: هل خسارة الدقة في NVFP4 مقبولة؟</h3>

<p>تقدم بطاقة النموذج مقارنة جنباً إلى جنب بين نسخة NVFP4 والنموذج الأساسي غير المُكمم:</p>

<table>
  <thead>
    <tr>
      <th>المعيار</th>
      <th>NVFP4</th>
      <th>الأساس</th>
      <th>المجال</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>AIME 2025</td>
      <td>90.00%</td>
      <td>88.95%</td>
      <td>الرياضيات التنافسية</td>
    </tr>
    <tr>
      <td>MMLU Pro</td>
      <td>84.80%</td>
      <td>85.00%</td>
      <td>المعرفة العامة والاستدلال</td>
    </tr>
    <tr>
      <td>IFBench</td>
      <td>78.1%</td>
      <td>77.77%</td>
      <td>اتباع التعليمات</td>
    </tr>
    <tr>
      <td>GPQA Diamond</td>
      <td>79.90%</td>
      <td>80.30%</td>
      <td>الاستدلال العلمي</td>
    </tr>
  </tbody>
</table>

<p>جميع المعايير الأربعة في فارق أقل من 1% مقارنة بالأساس. تتفوق نسخة NVFP4 قليلاً في AIME وIFBench، لكن يُفضل قراءة هذا الفارق باعتباره ضمن نطاق التشتت القياسي. الخلاصة: “ضغط الأوزان إلى أربعة بتات يحافظ على الجودة فعلياً”، وهذا ما يُميز NVFP4 عن INT4. مع ذلك، يُنصح بإجراء تقييم مستقل على مجموعات بيانات المهام العربية وغيرها من اللغات، إذ لا تظهر هذه في المعايير العامة المنشورة.</p>

<h2 id="الأداء-الفعلي-التدفق-المفرد-مقابل-التزامن">الأداء الفعلي: التدفق المفرد مقابل التزامن</h2>

<p>قد تُوهم “18 رمزاً/ثانية لكل تدفق” في العرض بالبطء. الفصل بين التدفق المفرد والتزامن ضروري. بالاستناد إلى تقارير المجتمع من قياسات على DGX Spark:</p>

<ul>
  <li><strong>التدفق المفرد الأساسي</strong>: نحو 32 رمزاً/ثانية (بدون MTP، بإعداد 64 ألف رمز)</li>
  <li><strong>التدفق المفرد + MTP (التنبؤ بعدة رموز)</strong>: نحو <strong>55-61 رمزاً/ثانية</strong> (بإعداد 32 ألف رمز، أعلى أداء للاستجابات القصيرة إلى المتوسطة و JSON المنظم)</li>
  <li><strong>16 تدفقاً متزامناً</strong>: نحو 18 رمزاً/ثانية لكل تدفق و<strong>نحو 300 رمز/ثانية</strong> إجمالاً</li>
  <li><strong>معالجة السياق الطويل</strong>: نحو 11.9 ثانية لمدخل 25 ألف رمز، ونحو 28.6 ثانية لمدخل 50 ألف رمز (بإعداد 64 ألف رمز)</li>
</ul>

<p>تبرز هنا حقيقتان:</p>

<p>الأولى: <strong>فك ترميز MoE محدود بالنطاق الترددي للذاكرة</strong>. صحيح أن المعاملات النشطة لكل رمز تبلغ 3.8 مليار فقط مما يُقلل العمليات الحسابية (FLOPs)، لكن كل رمز يتطلب قراءة أوزان الخبراء النشطين من الذاكرة. النطاق الترددي لذاكرة LPDDR5X الموحدة في DGX Spark أدنى من HBM في مراكز البيانات، وهذا ما يُفسر سبب كون سرعة التدفق المفرد “متحفظة لجهاز Blackwell”. فائض قدرة FP4 الحسابية يصطدم بسقف النطاق الترددي.</p>

<p>الثانية: <strong>القوة الحقيقية لهذا الجهاز ليست في التأخير المفرد بل في الإنتاجية المتزامنة</strong>. الحصول على 300 رمز/ثانية إجمالاً مع تشغيل 16 ضعفاً يعني أن طلبات متعددة تتشارك النطاق الترددي معاً لرفع الكفاءة. الهامش الواسع للذاكرة الموحدة يتيح KV Cache سخياً، وهذا ما يُمكن هذا السيناريو. باختصار: الجهاز مُصمم لـ “استجابات كافية لعدة وكلاء ومستخدمين في آن واحد” لا لـ “استجابة سريعة لشخص واحد”.</p>

<pre><code class="language-mermaid">flowchart LR
    subgraph Spark["DGX Spark · 128GB Unified Memory"]
      W["NVFP4 Weights&lt;br/&gt;~16GB"]
      KV["KV Cache Pool&lt;br/&gt;~100GB+ headroom"]
    end
    R1["Request 1"] --&gt; Spark
    R2["Request 2"] --&gt; Spark
    R3["..."] --&gt; Spark
    R16["Request 16"] --&gt; Spark
    Spark --&gt; O["~18 tok/s per stream&lt;br/&gt;~300 tok/s total"]
</code></pre>

<h2 id="مراجعة-صريحة-1-هل-يوفر-dgx-spark-قيمة-حقيقية-مقابل-التكلفة">مراجعة صريحة 1: هل يوفر DGX Spark قيمة حقيقية مقابل التكلفة؟</h2>

<p>الخلاصة المباشرة: <strong>“قيمة استثنائية من حيث السعة التخزينية للجيجابايت، وقيمة متوسطة من حيث التأخير لكل رمز”</strong>. حتى ضمن جيل Blackwell الواحد، تتباين طبيعة كل شريحة.</p>

<table>
  <thead>
    <tr>
      <th>الشريحة</th>
      <th>السعر (دولار)</th>
      <th>الذاكرة</th>
      <th>النطاق الترددي</th>
      <th>حالة NVFP4 MoE (يونيو 2026)</th>
      <th>الطابع</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>DGX Spark</strong> (GB10, SM121)</td>
      <td>نحو $4,699</td>
      <td>128 جيجابايت LPDDR5X موحدة</td>
      <td>273 جيجابايت/ث</td>
      <td>✅ يعمل (vLLM Marlin backend)</td>
      <td>ذاكرة كبيرة وتزامن عالٍ، نطاق ترددي أدنى</td>
    </tr>
    <tr>
      <td><strong>RTX 5090</strong> (SM120)</td>
      <td>نحو $2,000 [تقديري]</td>
      <td>32 جيجابايت GDDR7</td>
      <td>1,792 جيجابايت/ث</td>
      <td>⚠️ غير مستقر حالياً (flashinfer #2577)</td>
      <td>أعلى إمكانية لتكلفة الرمز، ذاكرة VRAM محدودة</td>
    </tr>
    <tr>
      <td><strong>RTX PRO 6000</strong> Blackwell (SM120)</td>
      <td>نحو $8,500</td>
      <td>96 جيجابايت GDDR7</td>
      <td>1,792 جيجابايت/ث</td>
      <td>⚠️ نفس مشكلة SM120</td>
      <td>ذاكرة VRAM كبيرة، مبالغ فيه لهذا النموذج</td>
    </tr>
    <tr>
      <td><strong>B200</strong> (SM100، مراكز البيانات)</td>
      <td>سحابة نحو $3-10/ساعة [تقديري]</td>
      <td>192 جيجابايت HBM3e</td>
      <td>8,000 جيجابايت/ث</td>
      <td>✅ دعم كامل (TRT-LLM/flashinfer)</td>
      <td>أعلى أداء، فارق كبير في التكلفة</td>
    </tr>
  </tbody>
</table>

<p>أهم خانة في هذا الجدول ليست السعر بل <strong>“حالة NVFP4 MoE”</strong>، لأنها حيث تنفصل الحسابات النظرية عن الواقع.</p>

<ul>
  <li><strong>نظرياً، RTX 5090 هو الأكثر كفاءة من حيث التكلفة لكل رمز.</strong> نطاقه الترددي يبلغ 6.6 أضعاف DGX Spark (1,792 مقابل 273 جيجابايت/ث)، وفك ترميز MoE يعتمد على النطاق الترددي، مما يعني أن السقف النظري يتبع هذه النسبة مباشرة. قراءة 16 جيجابايت من الأوزان بـ 273 جيجابايت/ث تُعطي نظرياً نحو 170 رمزاً/ثانية، بينما بـ 1,792 جيجابايت/ث تصل إلى نحو 1,100 رمز/ثانية. والسعر هو نصف الثمن، فالحساب البسيط يُرجح الـ 5090 بمقدار 5 إلى 6 أضعاف.</li>
  <li><strong>لكن في الواقع، نواة NVFP4 MoE معطوبة حالياً على شرائح Blackwell الاستهلاكية والمهنية (SM120).</strong> مشكلة NVFP4 GEMM في flashinfer على SM120 (<a href="https://github.com/flashinfer-ai/flashinfer/issues/2577">#2577</a>) مفتوحة، مما يجعل تشغيل هذا النموذج رباعي البت على RTX 5090 وRTX PRO 6000 أمراً صعباً حالياً. الأفضل على الورق هو عملياً “لا يعمل الآن”.</li>
  <li><strong>لذا يبقى DGX Spark (SM121) الجهاز الاستهلاكي الوحيد الذي يعمل عليه NVFP4 MoE فعلاً.</strong> النطاق الترددي أدنى والسرعة متحفظة، لكن “صندوق MoE رباعي البت يعمل اليوم” هو السبب الحقيقي لصدور العرض من DGX Spark.</li>
  <li><strong>Blackwell لمراكز البيانات (B200, SM100)</strong> مدعوم بالكامل عبر TRT-LLM وflashinfer NVFP4، لكن فارق التكلفة شاسع. للاستضافة الذاتية المستمرة يُفضل امتلاك الجهاز، أما لتحميل الأعباء المتفرقة ومتعددة المستأجرين فـ B200 سحابياً أجدى.</li>
</ul>

<p>خلاصة: DGX Spark ليس “آلة شراء أداء الطليعة”، بل هو <strong>“آلة شراء ذاكرة كبيرة وتزامن عالٍ بشكل يعمل اليوم، للتطوير والنمذجة الأولية والخدمة المتزامنة الصغيرة”</strong>. حين تُصلح مشكلة SM120، ستنزل الكفاءة النظرية لـ RTX 5090 إلى الواقع، لكن حتى ذلك الحين موقع DGX Spark واضح. العرض المبهر بتوازي 16 ضعفاً مبني بالضبط على هذه الميزة.</p>

<h2 id="مراجعة-صريحة-2-ما-المهام-الملائمة-لهذا-النموذج">مراجعة صريحة 2: ما المهام الملائمة لهذا النموذج؟</h2>

<p>حين يتضح طابع الكفاءة، تتضح المهام الملائمة.</p>

<p><strong>المهام الأنسب</strong></p>

<ul>
  <li>تشغيل عدة وكلاء متزامنين: نمط 16 إلى 32 عاملاً يعملون معاً بسرعة معقولة. الإنتاجية الإجمالية هي نقطة القوة.</li>
  <li>أعباء المخرجات المنظمة: تدعم بطاقة النموذج استدعاء الدوال ومخرجات JSON المنظمة، و MTP يُحقق أعلى سرعة للاستجابات القصيرة إلى المتوسطة والـ JSON التحكمي. مناسب للتصنيف والتسمية والاستخراج المنظم.</li>
  <li>معالجة السياق الطويل: سياق 256 ألف رمز مع KV Cache واسع يمنح مرونة في تلخيص الوثائق الطويلة وحقن سياق RAG.</li>
  <li>النمذجة الأولية في البيئات الخاصة: تجربة خدمة نماذج MoE الكبيرة دون وحدات GPU لمراكز البيانات.</li>
</ul>

<p><strong>المهام الأقل ملاءمة</strong></p>

<ul>
  <li>محادثة فردية منخفضة التأخير: سرعة التدفق لكل مستخدم واحد أبطأ من بطاقات GDDR7. إن كان الهدف “أسرع استجابة لشخص واحد”، فهذا الجهاز ليس المناسب.</li>
  <li>استدلال أحادي عالي الصعوبة: المهام التي تتطلب أعلى دقة ممكنة تستفيد من نماذج أكثر كثافة أو أكبر حجماً. 26 ملياراً هي فئة الإنتاجية لا الدقة القصوى.</li>
</ul>

<h2 id="دليل-التشغيل">دليل التشغيل</h2>

<p>الطريق الموصى به في بطاقة النموذج هو vLLM. ثمة قيود موثقة حالياً:</p>

<ul>
  <li><strong>vLLM TP=1 فقط</strong>: البنية الحالية تدعم التوازي التنسوري 1 فقط (GPU واحد/جهاز واحد).</li>
  <li><strong>محلل Gemma 4 مخصص</strong>: يلزم تحديد <code class="language-plaintext highlighter-rouge">--tool-call-parser gemma4</code> و<code class="language-plaintext highlighter-rouge">--reasoning-parser gemma4</code> عند التشغيل لتحليل مخرجات استدعاء الدوال والاستدلال بشكل صحيح.</li>
  <li><strong>flashinfer غير مُطبقة</strong>: كما أشار صاحب العرض، لم تُستخدم flashinfer بعد. تطبيق تحسينات نواة الانتباه سيضيف هامشاً إضافياً من الأداء.</li>
</ul>

<p>يستلزم التشغيل نظام Linux وجهاز Blackwell (Tensor Cores لـ NVFP4). الأجيال السابقة لا تستفيد من ميزة التسريع رباعي البت.</p>

<h2 id="دلالات-التطبيق-على-منصة-thakicloud-k8s-للذكاء-الاصطناعي">دلالات التطبيق على منصة ThakiCloud K8s للذكاء الاصطناعي</h2>

<p>تُدير ThakiCloud منصة متعددة المستأجرين تستخدم Kueue لإدارة حصص GPU وvLLM لخدمة النماذج. ثمة ثلاثة دلالات رئيسية يمنحها هذا العرض لنموذج تشغيلنا:</p>

<p><strong>مرشح للاستضافة الذاتية في طبقة العمال.</strong> انضباطنا في التكاليف يتبع قاعدة “العمال بالرخيص، والبوابات بالغالي”. مهام العمال كالاستكشاف والتصنيف والتلخيص والاستخراج المنظم لا تستلزم النماذج الأعلى رتبة. NVFP4 26B بإنتاجيته الإجمالية البالغة 300 رمز/ثانية ودعمه لاستدعاء الدوال ومخرجات JSON، مرشح مناسب لتشغيل عمال متعددين محلياً في آن واحد. إبقاء مراحل التحقق والتوليف والأحكام المعمارية للنماذج الأعلى رتبة يُقلص تكلفة الرموز هيكلياً.</p>

<p><strong>الذاكرة الموحدة الكبيرة تُبسط ميزانية KV لمتعدد المستأجرين.</strong> مع أوزان تبلغ 16 جيجابايت في ذاكرة موحدة 128 جيجابايت، يتجاوز هامش KV Cache 100 جيجابايت. في البيئات متعددة المستأجرين، KV Cache هو أول مورد ينضب، وهذا الهامش يتيح تحديد حدود تزامن سخية لكل مستأجر.</p>

<p><strong>مرجع لاقتراحات الخوادم الخاصة والامتثال.</strong> رخصة Apache 2.0 والتشغيل على جهاز واحد تكوين قابل للاقتراح مباشرة على عملاء القطاع العام والمالي الذين يشترطون الاستضافة الذاتية. إمكانية تشغيل MoE كبيرة على صندوق صغير دون GPU لمراكز البيانات توفر مساراً عملياً للبيئات التي تحظر نقل البيانات خارجياً أو تستلزم امتثالاً أمنياً صارماً.</p>

<h2 id="مراجعة-صريحة-3-ما-حدود-استخدام-هذا-النموذج-في-منظومة-مهاراتنا">مراجعة صريحة 3: ما حدود استخدام هذا النموذج في منظومة مهاراتنا؟</h2>

<p>معظم مهارات ThakiCloud ووكلائها تعتمد النماذج الأعلى رتبة كـ Opus/Sonnet أساساً. إذن أين يمكن إدراج NVFP4 26B؟ بصدق:</p>

<ul>
  <li><strong>قابل للاستبدال فوراً (طبقة العمال)</strong>: قراءة الملفات وتلخيص Grep، التصنيف وتطبيع Enum (عمال حتمية التنسيق)، توليد المسودات الأولى، استخراج الأخبار والوثائق. مهام read-only والمهام المنظمة التي يتولاها حالياً haiku/sonnet كعمال فرعيين يمكن نقل جزء كبير منها إلى 26B محلياً.</li>
  <li><strong>ممكن بشروط (مع تعزيز التحقق)</strong>: عمال استدعاء أدوات الوكيل. دعم استدعاء الدوال ومخرجات JSON يجعله صالحاً كعامل طرفي في حلقات استدعاء الأدوات. لكن نتائج fan-out يجب دائماً إغلاقها بـ adversarial verify من نموذج أعلى (منع تراكم هلوسات العمال).</li>
  <li><strong>غير موصى به (طبقة البوابات)</strong>: الاستدلال المعماري متعدد الخطوات، وأحكام التوليف والتحقق، وتوليد المحتوى عالي المخاطر. المراحل التي تتطلب أعلى دقة ممكنة تبقى على Opus.</li>
</ul>

<p>الجوهر هو مطابقة رتبة النموذج مع رتبة المهمة. رؤية NVFP4 26B كـ “بديل لـ Opus” تُخيب الآمال، لكن رؤيته كـ “مرشح للاستضافة الذاتية في طبقة عمال haiku/sonnet” تجعله بطاقة قادرة على تغيير هيكل التكاليف. هذا بالضبط ما تقوله قاعدة توجيهنا: الاستكشاف بالرخيص، والبوابات بالغالي.</p>

<h2 id="القيود-والنقد">القيود والنقد</h2>

<p>للتوازن، نذكر الجوانب التي تستحق المراجعة:</p>

<ul>
  <li><strong>سرعة التدفق المفرد متحفظة.</strong> بطء النطاق الترددي يجعله أبطأ من بطاقات GDDR7. أعباء العمل الحساسة للتأخير تستلزم إعادة النظر في اختيار الجهاز.</li>
  <li><strong>أرقام العرض مرتبطة بالإعداد.</strong> 18 رمزاً/ثانية و300 رمز/ثانية هي قيم لتزامن 16 ضعفاً وإعداد محدد، وتتفاوت حسب طول المدخل والمخرج وتطبيق MTP. يجب إعادة القياس على أعباء العمل الخاصة بك.</li>
  <li><strong>vLLM TP=1 وغياب flashinfer قيود اللحظة الحالية.</strong> إضافة التحسينات قد تُغير الأرقام، لذا يُقرأ هذا المقال كـ “لقطة الحال”.</li>
  <li><strong>تعقيد تشغيل MoE.</strong> رغم أن المعاملات النشطة 3.8 مليار، تبقى الأوزان الكاملة في الذاكرة، وتوجيه الخبراء يؤثر على كفاءة الدفعات. “صغير الحجم” تفسير مبسط.</li>
  <li><strong>يلزم التحقق من الاستخدام الفعلي بالعربية والكورية.</strong> المعايير العامة تُركز على اللغة الإنجليزية. دقة RAG واستدعاء الأدوات بالعربية تستلزم تقييماً داخلياً منفصلاً.</li>
</ul>

<p>مع ذلك، يبقى الجمع بين رخصة Apache 2.0 وخدمة MoE كبيرة على جهاز واحد وتزامن مبني على ذاكرة واسعة خياراً جذاباً حقاً للمؤسسات التي تدرس الاستضافة الذاتية. بالنظر إليه من زاوية “شراء ذاكرة رخيصة وتزامن” لا “شراء سرعة الطليعة”، يُقدم DGX Spark + NVFP4 26B قيمة واضحة.</p>

<h2 id="روابط-مرجعية">روابط مرجعية</h2>

<ul>
  <li><a href="https://huggingface.co/nvidia/Gemma-4-26B-A4B-NVFP4">بطاقة نموذج Gemma-4-26B-A4B-NVFP4 (Hugging Face)</a></li>
  <li><a href="https://x.com/googlegemma/status/2069452783523401804">تغريدة العرض الأصلي (Google Gemma)</a></li>
  <li><a href="https://thakicloud.github.io/owm/gemma-4-open-weight-lineup/">ملخص تشكيلة Gemma 4 الكاملة (مدونة ThakiCloud)</a></li>
  <li><a href="https://github.com/NVIDIA/TensorRT-Model-Optimizer">NVIDIA TensorRT Model Optimizer</a></li>
  <li><a href="https://developer.nvidia.com/blog/introducing-nvfp4-for-efficient-and-accurate-low-precision-inference/">مقدمة NVFP4 (NVIDIA Developer)</a></li>
  <li><a href="https://github.com/flashinfer-ai/flashinfer/issues/2577">مشكلة NVFP4 GEMM على SM120 في flashinfer #2577</a></li>
  <li><a href="https://ai-muninn.com/en/blog/dgx-spark-gemma4-26b-nvfp4-52-toks">معايير DGX Spark مع Gemma 4 26B NVFP4 (ai-muninn)</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="owm" /><category term="gemma-4" /><category term="nvfp4" /><category term="dgx-spark" /><category term="blackwell" /><category term="mixture-of-experts" /><category term="quantization" /><category term="vllm" /><category term="on-premise" /><category term="inference" /><summary type="html"><![CDATA[نموذج Gemma-4-26B-A4B-NVFP4 الذي أصدرته NVIDIA يعمل على جهاز DGX Spark واحد (128 جيجابايت من الذاكرة الموحدة) بتوازي 16 ضعفاً، محققاً نحو 18 رمزاً في الثانية لكل تدفق وما يزيد على 300 رمز في الثانية إجمالاً. نستعرض في هذا المقال آلية NVFP4 التي تضغط 25.2 مليار معامل MoE إلى نحو 14 جيجابايت، والمقايضة بين التدفق المفرد والتزامن، ومدى تفوق DGX Spark فعلاً من حيث القيمة مقابل التكلفة مقارنة بوحدات Blackwell الأخرى.]]></summary></entry><entry xml:lang="ar"><title type="html">تشكيلة Gemma 4 الكاملة: خمسة نماذج مفتوحة الأوزان برخصة Apache 2.0 ودليل التشغيل المحلي</title><link href="https://thakicloud.github.io/ar/owm/gemma-4-open-weight-lineup/" rel="alternate" type="text/html" title="تشكيلة Gemma 4 الكاملة: خمسة نماذج مفتوحة الأوزان برخصة Apache 2.0 ودليل التشغيل المحلي" /><published>2026-06-24T00:00:00+09:00</published><updated>2026-06-24T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/owm/gemma-4-open-weight-lineup</id><content type="html" xml:base="https://thakicloud.github.io/ar/owm/gemma-4-open-weight-lineup/"><![CDATA[<p>⏱️ <strong>وقت القراءة المقدر</strong>: 10 دقائق</p>

<p><img src="/assets/images/gemma-4-open-weight-lineup-hero.png" alt="مخطط مفاهيمي لتشكيلة Gemma 4" /></p>

<h2 id="نظرة-عامة-على-gemma-4">نظرة عامة على Gemma 4</h2>

<p>أصدرت Google DeepMind نموذج Gemma 4 في الثاني من أبريل 2026، وهو أذكى عائلة نماذج مفتوحة الأوزان أطلقتها Gemma حتى الآن. وتذكر Google أنه بُني على نفس الأبحاث والتقنيات التي يقوم عليها Gemini 3. بعبارة أخرى، يمكن اعتباره وصفة التدريب وراء نموذج رائد مغلق، مقطّرة إلى تشكيلة مفتوحة الأوزان.</p>

<p>من منظور ThakiCloud، يبرز تغييران في هذا الجيل. أولًا، انتقلت الرخصة إلى <strong>Apache 2.0</strong>. فخلافًا للأجيال السابقة من Gemma التي كانت تحمل سياسة استخدام منفصلة، يتبنى Gemma 4 رخصة مفتوحة المصدر قياسية ومتساهلة تجاريًا. ثانيًا، لا يُطرح بحجم واحد بل كتشكيلة من خمسة نماذج تمتد من <strong>الحافة (الهواتف) إلى وحدة معالجة رسومية واحدة على الخادم</strong>. أي أنه يمكنك اختيار هدف النشر حسب فئة الجهاز ضمن نفس عائلة النماذج.</p>

<p>بدلًا من التعمق في نموذج واحد، يهدف هذا المقال إلى <strong>مقارنة النماذج الخمسة دفعة واحدة وتوضيح أيها يُختار لكل حالة</strong>.</p>

<h2 id="تشكيلة-gemma-4-النماذج-الخمسة-كاملة">تشكيلة Gemma 4: النماذج الخمسة كاملة</h2>

<p>يتكوّن Gemma 4 من النماذج الخمسة التالية، منظمة حسب المعاملات والسياق والوسائط والبنية وفق بطاقة النموذج:</p>

<table>
  <thead>
    <tr>
      <th>النموذج</th>
      <th>المعاملات</th>
      <th>السياق</th>
      <th>وسائط الإدخال</th>
      <th>البنية</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>E2B</strong></td>
      <td>2.3B فعّالة (5.1B مع التضمينات)</td>
      <td>128K</td>
      <td>نص + صورة + صوت</td>
      <td>Dense</td>
    </tr>
    <tr>
      <td><strong>E4B</strong></td>
      <td>4.5B فعّالة (8B مع التضمينات)</td>
      <td>128K</td>
      <td>نص + صورة + صوت</td>
      <td>Dense</td>
    </tr>
    <tr>
      <td><strong>12B Unified</strong></td>
      <td>11.95B</td>
      <td>256K</td>
      <td>نص + صورة + صوت</td>
      <td>Dense</td>
    </tr>
    <tr>
      <td><strong>26B A4B</strong></td>
      <td>25.2B إجمالًا / 3.8B نشطة</td>
      <td>256K</td>
      <td>نص + صورة</td>
      <td>MoE (8 خبراء نشطون من 128)</td>
    </tr>
    <tr>
      <td><strong>31B Dense</strong></td>
      <td>30.7B</td>
      <td>256K</td>
      <td>نص + صورة</td>
      <td>Dense</td>
    </tr>
  </tbody>
</table>

<p>تُخرج النماذج الخمسة جميعها نصًا. ودعم إدخال الصوت متاح فقط في نماذج E2B وE4B و12B، بينما يتعامل 26B و31B مع النص والصورة.</p>

<p>يرمز حرف “E” في <code class="language-plaintext highlighter-rouge">E2B</code> و<code class="language-plaintext highlighter-rouge">E4B</code> إلى المعاملات الفعّالة (effective). وهو الحجم المبني على معاملات الحوسبة الفعلية باستثناء جدول التضمينات، والقيم الفعّالة هي الرقم الأكثر واقعية عند تقدير ميزانيات الذاكرة والحوسبة. ويستهدف هذان النموذجان مباشرةً الأجهزة الطرفية كالهواتف والحواسيب المحمولة.</p>

<p>جوهر التشكيلة هو <strong>تقسيم العمل بين النموذجين الأعلى: 26B A4B (MoE) و31B (Dense)</strong>.</p>

<ul>
  <li><strong>26B A4B</strong> هو نموذج Mixture-of-Experts. يضم 25.2B معاملًا إجماليًا لكنه يُفعّل نحو 3.8B فقط لكل رمز. ولا تزال الأوزان الكاملة بحاجة إلى الوجود في ذاكرة VRAM، لكن حوسبة كل رمز (FLOPs) تُحسب على أساس المعاملات النشطة، وهو ما <strong>يصب في صالح زمن الاستجابة والإنتاجية</strong>. ويناسب الخدمة التي تتطلب تمرير أعداد كبيرة من الطلبات بسرعة.</li>
  <li><strong>31B Dense</strong> نموذج كثيف قياسي يشارك فيه كل معامل في كل رمز. وهو موجّه نحو تعظيم الجودة وملاءمة الضبط الدقيق، وتضع Google نموذج 31B كسقف الجودة في التشكيلة.</li>
</ul>

<p>ووفقًا لـ Google، احتل 31B المركز الثالث بين النماذج المفتوحة عالميًا على لوحة Arena AI النصية، وحل 26B في المركز السادس، ووصفت التشكيلة بأنها “تنافس نماذج أكبر منها بعشرين ضعفًا”. وتتغير مثل هذه الترتيبات بمرور الوقت، لذا يُفضّل قراءتها كاتجاه (“كثافة ذكاء عالية مقارنة بفئتها”) لا كأرقام مطلقة.</p>

<h3 id="مسار-اختيار-النموذج">مسار اختيار النموذج</h3>

<pre><code class="language-mermaid">flowchart TD
    A[اختر نموذج Gemma 4] --&gt; B{هدف النشر؟}
    B --&gt;|هاتف/جهاز طرفي| C[E2B / E4B&lt;br/&gt;128K، دعم الصوت]
    B --&gt;|تشغيل محلي بوحدة واحدة| D{الأولوية؟}
    D --&gt;|الإنتاجية/زمن الاستجابة| E[26B A4B MoE&lt;br/&gt;نشطة 3.8B]
    D --&gt;|أعلى جودة/ضبط دقيق| F[31B Dense]
    D --&gt;|متعدد الوسائط + صوت + توازن| G[12B Unified&lt;br/&gt;256K، دعم الصوت]
</code></pre>

<h2 id="البنية-الانتباه-الهجين-وتعدد-الوسائط">البنية: الانتباه الهجين وتعدد الوسائط</h2>

<p>تتشارك نماذج Gemma 4 الخمسة آلية <strong>انتباه هجين</strong>. فهي تتناوب بين انتباه النافذة المنزلقة المحلية والانتباه العالمي الكامل. تُعالَج النطاقات القصيرة بثمن زهيد عبر النافذة المنزلقة، بينما يُدرَج الانتباه العالمي دوريًا لالتقاط ترابطات السياق الكامل، بهدف كبح كلفة الذاكرة والحوسبة في السياقات الطويلة. وهذا التصميم هو الخلفية وراء قدرة النماذج العليا (12B/26B/31B) على التعامل مع سياق 256K.</p>

<p>تعدد الوسائط هو الإعداد الافتراضي في هذا الجيل. تستقبل النماذج الخمسة جميعها النص والصورة كمدخل، وتتعامل الفئات الطرفية والمتوسطة (E2B/E4B/12B) مع إدخال الصوت أيضًا. كما أن الميزات الموجهة لسير عمل الوكلاء مدمجة أيضًا. فاستدعاء الدوال، وإخراج JSON المنظّم، وتعليمات النظام الأصلية مدعومة رسميًا، وتؤكد التشكيلة تحسينات في التخطيط متعدد الخطوات والاستدلال المنطقي مقارنة بالجيل السابق. وتاريخ قطع بيانات التدريب هو يناير 2025.</p>

<p>ودعم اللغات واسع: أكثر من 35 لغة جاهزة، وأكثر من 140 لغة على مستوى التدريب المسبق. وتتطلب الجودة الفعلية في التشغيل بالكورية تقييمًا مباشرًا، لكن التغطية متعددة اللغات نفسها واسعة.</p>

<h2 id="المعايير">المعايير</h2>

<p>فيما يلي المعايير التمثيلية التي نشرتها Google لنموذج 31B المضبوط على التعليمات، وفق بطاقة النموذج.</p>

<table>
  <thead>
    <tr>
      <th>المعيار</th>
      <th>31B (IT)</th>
      <th>المجال المقيس</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>MMLU-Pro</td>
      <td>85.2%</td>
      <td>المعرفة العامة والاستدلال</td>
    </tr>
    <tr>
      <td>GPQA Diamond</td>
      <td>84.3%</td>
      <td>الاستدلال العلمي بمستوى الدراسات العليا</td>
    </tr>
    <tr>
      <td>LiveCodeBench v6</td>
      <td>80.0%</td>
      <td>توليد الشيفرة</td>
    </tr>
    <tr>
      <td>MATH-Vision</td>
      <td>85.6%</td>
      <td>الرياضيات المعتمدة على الرؤية</td>
    </tr>
    <tr>
      <td>Codeforces (ELO)</td>
      <td>2150</td>
      <td>البرمجة التنافسية</td>
    </tr>
  </tbody>
</table>

<p>عند حجم 31B بعقدة واحدة، يُعد GPQA Diamond بنسبة 84.3% وMMLU-Pro بنسبة 85.2% في الصدارة بين النماذج المفتوحة الأوزان المماثلة. ومع ذلك، فالمعايير خاصة بالنسخة المضبوطة على التعليمات، ويجب التحقق من الأداء في المهام الواقعية بشكل منفصل. وعلى وجه الخصوص، لا تنعكس مهام الاستدلال والبرمجة بالكورية مباشرةً في المعايير العامة، لذا يُنصح بقياسها بمجموعة تقييم داخلية.</p>

<h2 id="الخدمة-والنشر">الخدمة والنشر</h2>

<p>أمّن Gemma 4 دعمًا واسعًا من منظومة الخدمة منذ الإطلاق. والمسارات الرسمية هي:</p>

<ul>
  <li><strong>خوادم الاستدلال</strong>: vLLM، SGLang، llama.cpp، Ollama، LM Studio، NVIDIA NIM</li>
  <li><strong>الأطر</strong>: Hugging Face Transformers / TRL / Transformers.js / Candle، Keras، MaxText، NeMo</li>
  <li><strong>الحافة/على الجهاز</strong>: LiteRT-LM، Cactus</li>
  <li><strong>الضبط الدقيق/التكميم</strong>: Unsloth، Tunix</li>
  <li><strong>بنية النشر</strong>: Docker، Baseten، Google Cloud (Vertex AI)</li>
</ul>

<p>يمكن تنزيل الأوزان من <a href="https://huggingface.co/collections/google/gemma-4">مجموعة google/gemma-4 على Hugging Face</a> وKaggle وOllama.</p>

<h3 id="متطلبات-وحدة-المعالجة-الرسومية-للتشغيل-المحلي-تقديري">متطلبات وحدة المعالجة الرسومية للتشغيل المحلي (تقديري)</h3>

<p>دليل تقريبي للنشر المحلي مبني على ذاكرة أوزان BF16 لكل نموذج. هذه تقديرات للأوزان تستثني ذاكرة KV وأعباء وقت التشغيل، لذا اترك هامشًا لطول السياق وعدد الطلبات المتزامنة في النشر الفعلي.</p>

<table>
  <thead>
    <tr>
      <th>النموذج</th>
      <th>أوزان BF16 (تقديري)</th>
      <th>نقطة بداية واقعية للتشغيل المحلي</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>E2B / E4B</td>
      <td>نحو 5–16GB [تقديري]</td>
      <td>وحدة استهلاكية، حاسوب محمول، هاتف (LiteRT)</td>
    </tr>
    <tr>
      <td>12B Unified</td>
      <td>نحو 24GB [تقديري]</td>
      <td>وحدة 24GB واحدة (فئة RTX 4090/L4)، هامش عند التكميم</td>
    </tr>
    <tr>
      <td>26B A4B (MoE)</td>
      <td>نحو 50GB [تقديري]</td>
      <td>وحدة H100/A100 80GB واحدة</td>
    </tr>
    <tr>
      <td>31B Dense</td>
      <td>نحو 62GB [تقديري]</td>
      <td>وحدة H100/A100 80GB واحدة</td>
    </tr>
  </tbody>
</table>

<p>تكمن القوة العملية للتشكيلة في أن النموذجين الأعلى (26B و31B) يتسعان في <strong>وحدة معالجة رسومية واحدة بسعة 80GB</strong> بدقة BF16. أي أنه يمكنك تشغيل استدلال بمستوى متقدم على خادم واحد دون توازي موترات متعدد العقد، وهو ما يخفض كثيرًا حاجز التبني المحلي. وبميزانية وحدة أصغر، انزل إلى نموذج 12B أو إلى مسار مكمَّم (GGUF Q4/Q8). وبفضل طبيعته MoE التي تحسب فقط 3.8B النشطة، يتمتع 26B بأفضلية في الإنتاجية لكل رمز مقارنة بـ31B Dense عند نفس سعة VRAM.</p>

<h2 id="دلالات-للتطبيق-على-منصة-thakicloud-k8s-aiml-saas">دلالات للتطبيق على منصة ThakiCloud K8s AI/ML SaaS</h2>

<p>تتناغم تشكيلة Gemma 4 جيدًا مع استراتيجية الخدمة متعددة المستأجرين لدى ThakiCloud. وهي مهمة على ثلاث جبهات.</p>

<p><strong>Apache 2.0 يفتح حاجز التبني.</strong> إن إطلاق عائلة مفتوحة الأوزان بمستوى متقدم تحت رخصة Apache 2.0 القياسية أمر بالغ الأهمية للتبني المؤسسي والمحلي. إذ يمكنك دمجها في خدمات تجارية دون عبء مراجعة سياسة استخدام منفصلة، وتوزيع نواتج الضبط الدقيق بحرية. وهي عائلة نماذج يمكن اقتراحها مباشرةً على البيئات ذات الامتثال الصارم للترخيص، كالقطاع العام والمالي محليًا، وعلى العملاء المحليين الذين يشترطون الاستضافة الذاتية.</p>

<p><strong>التشكيلة نفسها تتوافق مع توجيه وحدات المعالجة الرسومية متعدد المستأجرين.</strong> تدير ThakiCloud حصص وحدات المعالجة الرسومية عبر Kueue وتخدم النماذج عبر vLLM. وتشكيلة Gemma 4 المكوّنة من خمسة نماذج بنية تتيح توجيه فئات النماذج ضمن عائلة واحدة لتلائم احتياجات المستأجرين (حساسية زمن الاستجابة، أولوية الجودة، استدلال الحافة). وجّه المحادثة/التلخيص الخفيف إلى 12B، والدفعات الحرجة للإنتاجية إلى 26B MoE، والاستدلال/البرمجة عالية الصعوبة إلى 31B، فتتمكن من تحسين ميزانية الوحدات حسب فئة المهمة مع الحفاظ على نفس المُرمِّز وصيغة المُوجِّه.</p>

<p><strong>الخدمة بوحدة 80GB واحدة تبسّط نموذج الكلفة.</strong> كون 26B و31B يتسعان في وحدة H100/A100 واحدة يبسّط تقدير كلفة مهام وحدات المعالجة الرسومية في Kueue. إذ تختفي أعباء الاتصال وتعقيد الجدولة في توازي الموترات متعدد العقد، فيمكنك التسعير بوضوح بنموذج وحدة مخصصة لكل مستأجر. وميزة 26B MoE بتفعيل 3.8B تعني أنه يستطيع استقبال طلبات متزامنة أكثر على نفس الوحدة، وهو ما يصب أيضًا في صالح كلفة الوحدة لكل طلب.</p>

<p>باختصار، يصلح Gemma 4 كعائلة نماذج مرجعية حين تقترح ThakiCloud نمط تشغيل “تشغيل محلي بوحدة واحدة + توجيه نماذج متعدد المستأجرين” على العملاء.</p>

<h2 id="القيود-والاعتراضات">القيود والاعتراضات</h2>

<p>من باب التوازن، تستحق بضع ملاحظات الذكر.</p>

<ul>
  <li><strong>الفجوة بين المعايير والاستخدام الواقعي.</strong> تتركز الأرقام المنشورة على المعايير المضبوطة على التعليمات وباللغة الإنجليزية. ويجب إعادة قياس المهام الكورية، خصوصًا دقة RAG واستدعاء أدوات الوكلاء، بمجموعة تقييم خاصة بك.</li>
  <li><strong>صعوبة تشغيل MoE.</strong> نموذج 26B A4B منخفض الحوسبة لكل رمز لكنه يجب أن يُبقي الأوزان الكاملة مقيمة في VRAM، ويؤثر توجيه الخبراء في كفاءة الدُفعات وأنماط الذاكرة. والقراءة المبسطة “إنه صغير لأن النشط 3.8B” قراءة محفوفة بالمخاطر.</li>
  <li><strong>عدم تماثل دعم الصوت.</strong> إدخال الصوت موجود فقط في E2B/E4B/12B. وإن أردت أعلى جودة (26B/31B) والصوت معًا، تنشأ مقايضة ضمن التشكيلة.</li>
  <li><strong>قطع التدريب في يناير 2025.</strong> المهام التي تحتاج أحدث المعلومات يجب تعزيزها بـRAG وتكامل الأدوات.</li>
</ul>

<p>ومع ذلك، فإن رخصة Apache 2.0، وجدوى الخدمة بوحدة واحدة، وتشكيلة تصل الحافة بالخادم، أسباب كافية لوضع Gemma 4 على رأس قائمة التقييم لأي مؤسسة تفكر في التشغيل المحلي والاستضافة الذاتية.</p>

<h2 id="المراجع">المراجع</h2>

<ul>
  <li><a href="https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/">مدونة الإعلان الرسمي عن Gemma 4 (Google)</a></li>
  <li><a href="https://ai.google.dev/gemma/docs/core/model_card_4">بطاقة نموذج Gemma 4 (Google AI for Developers)</a></li>
  <li><a href="https://ai.google.dev/gemma/docs/core">وثائق نظرة عامة على نموذج Gemma 4</a></li>
  <li><a href="https://huggingface.co/collections/google/gemma-4">مجموعة google/gemma-4 على Hugging Face</a></li>
  <li><a href="https://github.com/google-deepmind/gemma">مكتبة Gemma على GitHub من Google DeepMind</a></li>
  <li><a href="https://cloud.google.com/blog/products/ai-machine-learning/gemma-4-available-on-google-cloud">توفّر Gemma 4 على Google Cloud</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="owm" /><category term="gemma-4" /><category term="google-deepmind" /><category term="open-weight" /><category term="apache-2.0" /><category term="mixture-of-experts" /><category term="multimodal" /><category term="edge-ai" /><category term="vllm" /><category term="sglang" /><category term="on-premise" /><summary type="html"><![CDATA[أصدرت Google DeepMind نموذج Gemma 4 في أبريل 2026، وهو عائلة متعددة الوسائط مفتوحة الأوزان مكوّنة من خمسة نماذج تمتد من E2B إلى 31B. نشرح رخصة Apache 2.0، وسياق 256 ألف رمز، والفرق بين 26B MoE و31B Dense، وكيفية اختيار كل نموذج من منظور التشغيل المحلي.]]></summary></entry></feed>