<?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-07-18T01:50:04+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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><entry xml:lang="ar"><title type="html">مستويات الجهد لمراجعة الكود: أمر /code-review في Claude Code من low إلى ultra</title><link href="https://thakicloud.github.io/ar/dev/claude-code-review-effort-levels/" rel="alternate" type="text/html" title="مستويات الجهد لمراجعة الكود: أمر /code-review في Claude Code من low إلى ultra" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/dev/claude-code-review-effort-levels</id><content type="html" xml:base="https://thakicloud.github.io/ar/dev/claude-code-review-effort-levels/"><![CDATA[<h2 id="نظرة-عامة">نظرة عامة</h2>

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

<p>عالج Claude Code هذا الأمر مباشرة في الإصدار v2.1.101. ففي إصدار 11 أبريل 2026 أعاد تسمية الأمر <code class="language-plaintext highlighter-rouge">/simplify</code> إلى <code class="language-plaintext highlighter-rouge">/code-review</code> وأضاف علامة مستوى الجهد التي تحكم مدى عمق تفكير النموذج قبل الإجابة. هناك خمسة مستويات، هي low وmedium وhigh وmax وultra، وتُعاد كتابة المراجعة نفسها عند كل مستوى. تُرجع المستويات الضحلة نتائج سريعة عالية الثقة، بينما تنفق المستويات العميقة وقتًا أطول وتمسح الحالات الطرفية والانحدارات الدقيقة.</p>

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

<h2 id="ما-هي-هذه-الميزة">ما هي هذه الميزة</h2>

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

<p>المهم أن المستوى ليس مجرد «إطالة المخرجات أو تقصيرها». وفقًا للوثائق، يعيد low وmedium مجموعة صغيرة من النتائج عالية الثقة، بينما يعيد high وmax نتائج غير مؤكدة إلى جانب النتائج الواثقة. بعبارة أخرى، تفضّل المستويات الضحلة الدقة (precision) وتفضّل المستويات العميقة الاستدعاء (recall)؛ فطبيعة المراجعة نفسها تتغير. وهذا يوافق أيضًا نفسية من يتلقى المراجعة. في رقعة صغيرة، حفنة من النتائج المؤكدة أفضل من قائمة طويلة محشوة بالإيجابيات الكاذبة؛ وقبيل الدمج، عدم تفويت أي شيء أفضل.</p>

<pre><code class="language-mermaid">flowchart TB
    A[تغيير الكود&lt;br/&gt;فرق شجرة العمل] --&gt; B{اختيار مستوى الجهد}
    B --&gt;|low / medium| C[الدقة أولًا&lt;br/&gt;نتائج قليلة عالية الثقة]
    B --&gt;|high / max| D[الاستدعاء أولًا&lt;br/&gt;يشمل نتائج غير مؤكدة]
    B --&gt;|ultra| E[صندوق رملي سحابي&lt;br/&gt;مراجعة وكلاء متوازية]
    C --&gt; F[استجابة بمقياس الثواني&lt;br/&gt;رقعة صغيرة، تغيير إعداد]
    D --&gt; G[استكشاف بمقياس الدقائق&lt;br/&gt;قبيل الدمج، حالة معقدة]
    E --&gt; H[التحقق من كل نتيجة مستقلًا&lt;br/&gt;5-10 دقائق، طبقة مدفوعة]
    F --&gt; I[‏--comment: تعليق داخل PR]
    G --&gt; I
    H --&gt; I
    I --&gt; J[‏--fix: التطبيق على شجرة العمل]
</code></pre>

<h2 id="متى-تستخدم-كلًّا-من-المستويات-الخمسة">متى تستخدم كلًّا من المستويات الخمسة</h2>

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

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

<p>يُستخدم high وmax لمسارات الكود قبيل الدمج أو التي تحمل حالة معقدة. دمج فرع ميزة في main، أو ملامسة مناطق مثل التزامن والمعاملات حيث تختبئ الانحدارات الدقيقة، يقع هنا. تنفق هذه المستويات وقتًا أطول في التحقق من الافتراضات ونبش الحالات الطرفية، فتظهر نتائج موسومة بـ«قد لا تكون مشكلة لكن تحقّق منها» إلى جانب النتائج المؤكدة. سواء عاملت ذلك اللايقين كضجيج أم كشبكة أمان يعتمد على الموقف. قبيل الدمج، تكون شبكة الأمان القراءة الصحيحة.</p>

<p>أما ultra فأداة من نوع مختلف. نتناوله على حدة أدناه.</p>

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

<h2 id="comment-وfix-وضع-المراجعة-داخل-سير-العمل">‏–comment و–fix: وضع المراجعة داخل سير العمل</h2>

<p>بمعزل عن مستويات الجهد، تدمج علامتان المراجعة في سير عمل فعلي. تنشر <code class="language-plaintext highlighter-rouge">--comment</code> النتائج كتعليقات مضمّنة على الـPR، وتطبّق <code class="language-plaintext highlighter-rouge">--fix</code> النتائج مباشرة على شجرة العمل.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># مراجعة واسعة قبل الدمج مع تعليقات PR إضافةً إلى التطبيق المحلي</span>
/code-review high <span class="nt">--comment</span> <span class="nt">--fix</span>

<span class="c"># مراجعة سحابية عميقة، ثم تطبيق النتائج على شجرة العمل</span>
/code-review ultra <span class="nt">--fix</span>
</code></pre></div></div>

<p>سير عمل المطوّر الفردي الذي تعرضه الوثائق يجري هكذا. اجمع <code class="language-plaintext highlighter-rouge">--comment --fix</code> لترك النتائج على الـPR وتطبيقها محليًا، ثم عايِن الفرق وادفع. إنها طريقة لتمرير أول تمريرة مراجعة تلقائيًا دون انتظار مراجِع. مع ذلك، لأن <code class="language-plaintext highlighter-rouge">--fix</code> تلامس الكود، يجب على إنسان مراجعة الفرق المُطبَّق. التطبيق التلقائي ليس بديلًا عن المراجعة؛ بل هو تحضير لها.</p>

<h2 id="ultrareview-مراجعة-سحابية-متعددة-الوكلاء">‏ultrareview: مراجعة سحابية متعددة الوكلاء</h2>

<p>مستوى ultra مختلف عن المستويات الأربعة التي تعمل محليًا. تشغيل <code class="language-plaintext highlighter-rouge">/code-review ultra</code> يحزم حالة مستودعك، ويرفعها إلى صندوق رملي بعيد، ويترك وكلاء مراجعة متخصصين يحللون الكود بالتوازي هناك. يركّز كل وكيل على صنف مختلف من المشكلات، ويُتحقَّق من النتائج مستقلةً واحدةً تلو الأخرى. وفقًا للوثائق، يستغرق التشغيل من خمس إلى عشر دقائق، وبعد ثلاث تشغيلات مجانية لمشتركي Pro وMax، يكلّف كل تشغيل من خمسة إلى عشرين دولارًا.</p>

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

<h2 id="ماذا-يعني-هذا-لمنتجات-thakicloud">ماذا يعني هذا لمنتجات ThakiCloud</h2>

<p>تتداخل مبادئ تصميم هذه الميزة بشكل لافت مع ما مارسناه في تشغيل منصة وكلاء. نقسّمه على منتجَينا.</p>

<p><strong>عدسة Paxis.</strong> إن Paxis هي السحابة الأصيلة للوكلاء (Agent-Native Cloud) من ThakiCloud، وتتعامل مع المهارات (Skills) والأدوات (Tools) والسياسات (Policies) وسجلات التدقيق (Audit Logs) كموارد من الدرجة الأولى. السؤال الذي يطرحه <code class="language-plaintext highlighter-rouge">/code-review</code> هو نفسه الذي تحلّه حزمة مهارات Paxis كل يوم: أي شدة وكيل تُلحقها بأي مهمة؟ تختار Paxis من أكثر من 960 مهارة عبر BM25 وتشغّلها في صناديق رملية معزولة، وتعمل الفكرة نفسها المتمثلة في مستويات الجهد هنا. يذهب العمل الخفيف مثل الاستكشاف والبحث إلى طبقة رخيصة؛ ويذهب العمل الثقيل مثل الحكم المعماري والتحقق إلى طبقة أغلى. تتشارك مراجعة ultra المتوازية متعددة الوكلاء والتحقق المستقل لكل نتيجة البنية نفسها مع طريقة إغلاق Paxis لنتائج التوزّع بمرحلة تحقق. توزّع بلا تحقق يراكم الهلوسات، وبوابة تحقق توقفه. إذا جرت مراجعة الكود كمهارة وكيل معزولة تمرّ نتائجها عبر بوابات السياسة وسجلات التدقيق، فتلك بالضبط نموذج التشغيل الذي تهدف إليه Paxis.</p>

<p><strong>عدسة ai-platform.</strong> إن كون ultra يحمّل المراجعة إلى صندوق رملي سحابي ويحاسب لكل تشغيل يؤكد مجددًا أن أعباء عمل الوكلاء تعمل في النهاية على بنية تحتية للـGPU والتنفيذ المعزول. توفّر منصة ai-platform من ThakiCloud جدولة GPU قائمة على K8s وKueue، وعزلًا متعدد المستأجرين، وخدمة داخل المؤسسة (on-premises). إن عبء عمل يشغّل أسطولًا من وكلاء المراجعة بالتوازي هو بالضبط نوع العمل الذي تستهدفه هذه البنية. وللمؤسسات المتحفظة على رفع الشيفرة المصدرية إلى سحابة خارجية خصوصًا، يصبح خيار تشغيل نمط المراجعة نفسه متعدد الوكلاء داخل بنيتها التحتية مهمًا. ولأن اقتصاديات الوكلاء لا تصح إلا حين تتوفّر خدمة منخفضة التكلفة وتنفيذ معزول، تُكمّل العدستان إحداهما الأخرى.</p>

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

<p>مستويات الجهد ليست دواءً لكل داء. بعض الاعتراضات الصادقة.</p>

<p>أولًا، اختيار المستوى نفسه يعتمد على حكم المستخدم. سوء قراءة الخطورة يمرّر تغييرًا مهمًا بمستوى low، أو يهدر ultra على تغيير تافه. توفّر الأداة المحور؛ أما تحديد موقعك الصحيح عليه فيبقى من شأن الإنسان.</p>

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

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

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

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

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

<ul>
  <li><a href="https://code.claude.com/docs/en/code-review">Code Review - Claude Code Docs</a></li>
  <li><a href="https://fast.io/resources/claude-code-review-guide/">Claude Code Review: How to Use /code-review and Ultrareview - Fastio</a></li>
  <li><a href="https://www.mindstudio.ai/blog/claude-code-effort-levels-explained">Claude Code Effort Levels Explained - MindStudio</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="dev" /><category term="claude-code" /><category term="code-review" /><category term="effort-levels" /><category term="ultrareview" /><category term="ai-coding" /><category term="agent" /><category term="developer-tools" /><category term="cost-quality" /><category term="paxis" /><category term="dev" /><summary type="html"><![CDATA[في الإصدار v2.1.101 أعاد Claude Code تسمية /simplify إلى /code-review وأضاف مستويات الجهد إلى المراجعة. يعيد المستويان low وmedium عددًا قليلًا من النتائج عالية الثقة، بينما يضيف high وmax تغطية أوسع مع نتائج غير مؤكدة، أما ultra فيشغّل مراجعة عميقة تتحقق فيها عدة وكلاء من كل نتيجة على السحابة. ننظر في سبب كون هذا التدرّج هو الطريقة الصحيحة لفصل التكلفة عن الجودة في مراجعة الكود، وكيف تنعكس الفكرة على حزمة المهارات في Paxis.]]></summary></entry><entry xml:lang="ar"><title type="html">‏295B على بطاقة واحدة: تشريح خدمة Hunyuan Hy3 بدقة 1-bit و4-bit</title><link href="https://thakicloud.github.io/ar/llmops/hunyuan-hy3-1bit-4bit-single-gpu/" rel="alternate" type="text/html" title="‏295B على بطاقة واحدة: تشريح خدمة Hunyuan Hy3 بدقة 1-bit و4-bit" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/hunyuan-hy3-1bit-4bit-single-gpu</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/hunyuan-hy3-1bit-4bit-single-gpu/"><![CDATA[<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>أول جدار يصطدم به أي فريق عند خدمة نموذج كبير على بنيته التحتية الخاصة ليس الحوسبة بل الذاكرة. يتطلّب تحميل نموذج بحجم 295B بدقة FP16 نحو 598GB من الأوزان مقيمة في ذاكرة وحدة المعالجة الرسومية، وهو حجم يكاد لا يتّسع إلا عبر ثماني بطاقات H100 بسعة 80GB. لهذا ظلّت النماذج الرائدة مفتوحة الأوزان في موضع محرج: مُعلنة، لكن يصعب علينا خدمتها فعلياً.</p>

<p>تستهدف نسخ Hy3 بصيغة GGUF بدقة 1-bit و4-bit التي أصدرتها Tencent Hunyuan في 14 يوليو 2026 هذه النقطة مباشرةً. فهي تضغط نموذج MoE بحجم 295B إلى صيغة منخفضة البتّات ليعمل على بطاقة واحدة، وتُنشر الأوزان برخصة Apache 2.0. عرّفت Tencent النموذج على منصة X بأنه «نموذج بحجم رائد 295B يمكن خدمته على وحدة معالجة رسومية واحدة»، مع ذكر llama.cpp وMTP معاً.</p>

<p>تقرأ هذه المقالة نسخ Hy3 المكمّمة من منظور ThakiCloud بوصفنا فريقاً يخدم نماذج منخفضة البتّات في بيئة متعددة المستأجرين. نستعرض ما تغيّره الضغطة فعلياً، ولماذا يجب قراءة عبارة «وحدة واحدة» بحذر، وماذا يعني هذا الاتجاه لبنية الاستدلال المحلية لدينا. ولنكن واضحين منذ البداية: كل أرقام الحجم والأداء أدناه قيَم أبلغت عنها Tencent والمجتمع، وليست أرقاماً أعادت ThakiCloud إنتاجها.</p>

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

<p>‏Hy3 نموذج Mixture-of-Experts بإجمالي 295B معامل، لكن ما يُفعَّل لمعالجة رمز واحد نحو 21B فقط. يدعم سياقاً طويلاً بحجم 256K رمز، ويستهدف المهام الوكيلة والبرمجة واستدعاء الأدوات. الجديد هنا ليس نموذجاً جديداً بل تمثيلاً منخفض البتّات بصيغة GGUF لأوزان Hy3 القائمة. صدرت نسختان.</p>

<p>تُقلّص نسخة 1-bit النموذج من نحو 598GB إلى 85.5GiB. بهذا الحجم تتّسع الأوزان على بطاقة واحدة من فئة 96GB. تشغل نسخة 4-bit مساحة 169.9GiB وتحتاج إلى الامتداد عبر بطاقتين، لكنها بالمقابل تحافظ على جودة أقرب بكثير إلى الأصل وفق ما أُبلغ. تعمل النسختان مع llama.cpp، وصُمِّمتا لتفعيل MTP (التنبؤ متعدد الرموز) لرفع إنتاجية توليد الرموز.</p>

<pre><code class="language-mermaid">flowchart TB
    A[Hy3 295B MoE&lt;br/&gt;FP16 نحو 598GB] --&gt; B{تكميم GGUF منخفض البتّات}
    B --&gt;|1-bit| C[85.5GiB&lt;br/&gt;بطاقة 96GB واحدة]
    B --&gt;|4-bit| D[169.9GiB&lt;br/&gt;بطاقتان]
    C --&gt; E[التشغيل عبر llama.cpp]
    D --&gt; E
    E --&gt; F[تفعيل MTP&lt;br/&gt;تنبؤ متعدد الرموز لزيادة الإنتاجية]
    F --&gt; G[‏21B معامل مُفعَّل&lt;br/&gt;بعض الخبراء فقط يحسبون لكل رمز]
    G --&gt; H[مهام وكيلة وبرمجة واستدعاء أدوات&lt;br/&gt;سياق طويل 256K]
</code></pre>

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

<h2 id="لماذا-تحتاج-عبارة-وحدة-واحدة-إلى-قراءة-متأنية">لماذا تحتاج عبارة «وحدة واحدة» إلى قراءة متأنية</h2>

<p>هذه أسهل عبارة يُساء فهمها في التسويق. «الخدمة على وحدة واحدة» صحيحة، لكن المقصود بالوحدة هنا جهاز بذاكرة موحّدة من فئة 128GB. فكّر في DGX Spark، أو Mac Studio بسعة 128GB، أو Strix Halo. إن تخيّلت بطاقة RTX 3060 واحدة بسعة 16GB، فهذا التوقع بعيد.</p>

<p>يهمّ هذا التمييز لأن الحساب العملي يتغيّر كلياً. يتطلّب تحميل 85.5GiB من الأوزان بطاقة سعتها 96GB على الأقل، وبمجرد إضافة ذاكرة KV cache وذاكرة التنشيط وحالة الانتباه لسياق طويل، يتقلّص الهامش الفعلي أكثر. حتى على جهاز من فئة 128GB يكون العبء ضيّقاً مع عبء عمل يملأ سياق 256K فعلاً. «بطاقة واحدة» تشير إلى عدد المنافذ الفيزيائية، لا إلى عتاد رخيص.</p>

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

<h2 id="1-bit-مقابل-4-bit-ماذا-تكسب-وماذا-تخسر">‏1-bit مقابل 4-bit: ماذا تكسب وماذا تخسر</h2>

<p>تمثّل النسختان خيارين مختلفين. نسخة 1-bit مُحسّنة لدفع النموذج إلى أقل عتاد ممكن. حجم 85.5GiB نتيجة ضغط شديد، وتقبل في المقابل خسارة جودة مقابل الأصل. أما نسخة 4-bit فتطلب ضعف الذاكرة تقريباً عند 169.9GiB، لكن تقارير المجتمع تقول إنها تحافظ على أداء قريب من الأصل.</p>

<p>هنا تبرز قاعدة قرار عملية. في مهام الوكلاء حيث تتراكم استدعاءات الأدوات وسلاسل الاستدلال الطويلة، تتراكم تراجعات الجودة الصغيرة وتميل إلى إفساد النتيجة النهائية. تبدو الأسئلة القصيرة سليمة حتى مع 1-bit، لكن في العمل الوكيل المتعدد الخطوات يعمل هامش 4-bit الإضافي كحاجز أمان. إن سمحت ميزانية العتاد، فتفضيل 4-bit لخدمة الوكلاء هو الخيار الافتراضي المعقول.</p>

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

<h2 id="منظور-التثبيت-والخدمة">منظور التثبيت والخدمة</h2>

<p>بما أنها ملفات GGUF قائمة على llama.cpp، فمسار الخدمة نفسه مألوف. تجلب ملف GGUF، وتحمّله عبر llama.cpp، وتفعّل خيار MTP، ثم تعرضه كخادم متوافق مع OpenAI. من الناحية المفاهيمية تبدو البنية هكذا.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># تحميل نسخة 1-bit GGUF (مثال مفاهيمي، راجع مستودع الإصدار لأسماء الملفات والرايات الدقيقة)</span>
./llama-server <span class="se">\</span>
  <span class="nt">--model</span> hy3-295b-1bit.gguf <span class="se">\</span>
  <span class="nt">--ctx-size</span> 262144 <span class="se">\</span>
  <span class="nt">--n-gpu-layers</span> 999 <span class="se">\</span>
  <span class="nt">--draft-max</span> 4          <span class="c"># تنبؤ متعدد الرموز على طراز MTP</span>
</code></pre></div></div>

<p>إن أردت إعطاء الأولوية للإنتاجية عند FP8 أو دقة أعلى بدلاً من ذلك، فقد وثّق المجتمع أيضاً مساراً يخدم عبر بطاقات متعددة باستخدام vLLM أو SGLang مع Expert Parallelism. يستهدف مسار GGUF منخفض البتّات الخدمة من عقدة واحدة على أقل عتاد، بينما يستهدف مسار vLLM الإنتاجية وعدد المستخدمين المتزامنين.</p>

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

<h2 id="دلالات-لمنتجات-thakicloud">دلالات لمنتجات ThakiCloud</h2>

<p>يهمّ هذا الإصدار خصوصاً من منظور <strong>ai-platform</strong> لدى ThakiCloud. تجدول ai-platform وحدات المعالجة الرسومية عبر K8s وKueue وتخدم النماذج عبر بيئات عملاء متنوعة بالاعتماد على vLLM. تشغيل نموذج بحجم رائد على عقدة واحدة عالية السعة يعني أن وحدة توزيع العقد للخدمة متعددة المستأجرين تصبح أبسط. فبدلاً من جدولة مبنية على عقد H100 من ثماني بطاقات، تصبح معالجة بطاقة واحدة من فئة 128GB كوحدة خدمة واحدة تجعل إدارة الطوابير وتوزيع الأولويات في Kueue أكثر قابلية للتنبؤ.</p>

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

<p>من منظور أعباء عمل الوكلاء، يتّصل هذا بـ <strong>Paxis</strong> أيضاً. Paxis هي Agent-Native Cloud التي تعمل فوق ai-platform، تنفّذ المهارات في بيئات معزولة وتمرّر كل إجراء عبر بوّابات السياسات وسجلات التدقيق. فإذا أمكن خدمة نموذج متخصص في الوكلاء واستدعاء الأدوات مثل Hy3 بتكلفة عتاد منخفضة، تنخفض تكلفة التشغيل لكل وكيل، وهذا بدوره يعني إمكانية تشغيل مزيد من التدفقات المستقلة اقتصادياً. الخدمة منخفضة التكلفة هي البنية التي تصنع اقتصاديات الوكلاء.</p>

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

<p>أكبر اعتراض هو حقيقة «الوحدة الواحدة». فجهاز بذاكرة موحّدة من فئة 96GB إلى 128GB لا يزال باهظاً وليس عتاداً سائداً بحق. قراءة هذا الإصدار على أنه «يمكن للجميع الآن تشغيل 295B على حاسوب محمول» سوء فهم. الأدقّ هو أن «عبء عمل كان يتطلّب عقدة متعددة البطاقات نزل إلى بطاقة واحدة عالية السعة».</p>

<p>ثانياً، قد تكون خسارة جودة نسخة 1-bit قاتلة حسب عبء العمل. تقول ملخّصات القياس «قريب من الأصل»، لكن هذا يُقاس عادةً مقابل 4-bit أو على تقييمات تغلب عليها المهام القصيرة. أما كيف تصمد 1-bit تحت سلاسل استدلال طويلة واستدعاءات أدوات دقيقة متكرّرة في المهام الوكيلة فلا يتأكّد إلا على أعباء العمل الحقيقية.</p>

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

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

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

<ul>
  <li><a href="https://x.com/TencentHunyuan/status/2076953120765280284">Tencent Hunyuan، إصدار Hy3 بدقة 1-bit و4-bit (X)</a></li>
  <li><a href="https://huggingface.co/tencent/Hy3">tencent/Hy3 (Hugging Face)</a></li>
  <li><a href="https://explainx.ai/blog/tencent-hy3-gguf-1-bit-4-bit-single-gpu-llama-cpp-july-2026">Tencent Hy3 GGUF 1-bit 4-bit Single GPU (explainX)</a></li>
  <li><a href="https://www.remio.ai/post/tencent-hunyuan-hy3-quantized-release-1bit-single-card-deployment-4bit-near-full-performance">تحليل إصدار Hunyuan Hy3 المكمّم (Remio)</a></li>
  <li><a href="https://www.spheron.network/blog/deploy-hunyuan-3-gpu-cloud/">نشر Hunyuan Hy3 عبر vLLM وExpert Parallelism (Spheron)</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="quantization" /><category term="hunyuan-hy3" /><category term="moe" /><category term="1-bit" /><category term="4-bit" /><category term="gguf" /><category term="llama-cpp" /><category term="mtp" /><category term="inference" /><category term="serving" /><category term="on-prem" /><category term="self-hosting" /><category term="llmops" /><category term="ai-platform" /><summary type="html"><![CDATA[تُقلّص نسخ Hy3 من Tencent بصيغة GGUF بدقة 1-bit و4-bit نموذج MoE بحجم 295B من 598GB إلى 85.5GiB ليعمل على وحدة معالجة رسومات واحدة. لكن المقصود بـ«وحدة واحدة» هنا جهاز بذاكرة موحّدة من فئة 128GB، لا بطاقة استهلاكية بسعة 16GB. نتناول ما تكسبه هذه الضغطة وما تخفيه، ولماذا يُذكر MTP إلى جانبها، وماذا تعني خدمة نموذج رائد من عقدة واحدة لاستراتيجية الاستدلال المحلي في ThakiCloud.]]></summary></entry><entry xml:lang="ar"><title type="html">من 46% إلى 90% داخل الهاتف: ضبط النماذج اللغوية الصغيرة لوكلاء على الجهاز</title><link href="https://thakicloud.github.io/ar/llmops/on-device-tiny-llm-finetune-agents/" rel="alternate" type="text/html" title="من 46% إلى 90% داخل الهاتف: ضبط النماذج اللغوية الصغيرة لوكلاء على الجهاز" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/on-device-tiny-llm-finetune-agents</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/on-device-tiny-llm-finetune-agents/"><![CDATA[<h2 id="نظرة-عامة">نظرة عامة</h2>

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

<p>يستهدف عرض «From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents»، الذي قدّمه Cormac Brick، المهندس الرئيسي في Google AI Edge، هذه النقطة بالضبط. رفع ضبطُ نموذج FunctionGemma بحجم 270 مليون معامل على مهمة وكيل محددة الدقةَ من 46% إلى 90%، وهذا هو عنوان العرض وخلاصته معًا. ويُبلَّغ أن هذا النموذج يحقق نحو 2000 رمز في الثانية من إنتاجية المعالجة المسبقة (prefill) على Pixel 7. كل ذلك يحدث داخل الهاتف، بلا استدعاء خادم.</p>

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

<!-- Courtesy of embedresponsively.com -->

<div class="responsive-video-container">
    <iframe src="https://www.youtube-nocookie.com/embed/-TiET_K-E_g" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
  </div>

<p>الفيديو أعلاه هو عرض Cormac Brick الأصلي كاملًا. والتحليل أدناه مبني على ذلك العرض والتغطية العامة.</p>

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

<p>FunctionGemma نموذج بحجم 270 مليون معامل من عائلة Gemma متخصص في استدعاء الدوال (function calling). استدعاء الدوال هو السلوك الجوهري لوكيل على الجهاز، لأنه يحوّل طلب المستخدم بلغة طبيعية إلى استدعاء أداة مُهيكل يستطيع التطبيق تنفيذه. تحويل «اضبط منبّهًا للتاسعة صباح الغد» إلى استدعاء مثل <code class="language-plaintext highlighter-rouge">setAlarm(time="09:00", date="tomorrow")</code> مثال على ذلك. وما دام هذا التحويل دقيقًا، فلا حاجة لاستدعاء نموذج عام بمليارات المعاملات.</p>

<p>المشكلة أن نموذجًا صغيرًا منشورًا بشكل عام تكون دقته منخفضة على مخطط أدوات تطبيق محدد. الـ46% التي يذكرها العرض هي تلك النقطة بالضبط. وهنا يدخل الضبط. اضبط النموذج بشكل ضيّق على مخطط الدوال الفعلي وأنماط الطلبات في التطبيق المستهدف، فيرتفع النموذج نفسه بحجم 270 مليون إلى 90%.</p>

<pre><code class="language-mermaid">flowchart TB
    A[طلب المستخدم بلغة طبيعية&lt;br/&gt;منبّه للتاسعة غدًا] --&gt; B[وكيل على الجهاز]
    B --&gt; C{FunctionGemma 270M}
    C --&gt;|نشر عام| D[دقة نحو 46%&lt;br/&gt;مخطط التطبيق غير محاذى]
    C --&gt;|ضبط خاص بالمهمة| E[دقة نحو 90%&lt;br/&gt;محاذى لمخطط الدوال الفعلي]
    E --&gt; F[استدعاء دالة مُهيكل&lt;br/&gt;setAlarm 09:00 tomorrow]
    F --&gt; G[التطبيق ينفّذ مباشرة&lt;br/&gt;بلا استدعاء خادم]
    E --&gt; H[زمن تشغيل LiteRT-LM&lt;br/&gt;‏Pixel 7 نحو 2000 tok/s]
</code></pre>

<h2 id="من-46-إلى-90-ماذا-يفعل-الضبط">من 46% إلى 90%: ماذا يفعل الضبط</h2>

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

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

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

<h2 id="ماذا-يمنحك-التشغيل-على-الجهاز-الكمون-والخصوصية-والعمل-دون-اتصال-والتكلفة">ماذا يمنحك التشغيل على الجهاز: الكمون والخصوصية والعمل دون اتصال والتكلفة</h2>

<p>يشدّد العرض على التشغيل على الجهاز لأربعة أسباب.</p>

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

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

<p>يعمل دون اتصال. يؤدي الوكيل وظيفته حتى بلا شبكة. النموذج السحابي عاجز حين ينقطع الاتصال؛ أما النموذج على الجهاز فلا.</p>

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

<h2 id="litert-lm-وحزمة-النشر">‏LiteRT-LM وحزمة النشر</h2>

<p>تدريب نموذج صغير ونشره على أجهزة لا تُحصى مشكلتان منفصلتان. يعرض العرض LiteRT-LM كزمن تشغيل للنشر. LiteRT-LM زمن تشغيل يتيح لك وضع نماذج مثل Gemma 4 على طيف واسع من العتاد من المحمول إلى الأنظمة المدمجة. وبدمجه مع AI Core، كما يشرح العرض، يمكنك تشغيل مهارات وكيل على الجهاز.</p>

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

<h2 id="ماذا-يعني-هذا-لمنتجات-thakicloud">ماذا يعني هذا لمنتجات ThakiCloud</h2>

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

<p><strong>عدسة ai-platform.</strong> يزيح صعود النماذج الصغيرة المتخصصة تركيز بنية الخدمة. توفّر منصة ai-platform من ThakiCloud جدولة GPU قائمة على K8s وKueue، وعزلًا متعدد المستأجرين، وخدمة داخل المؤسسة. السؤال الذي يطرحه الضبط على الجهاز هنا ليس «إذا انتقل كل شيء إلى الجهاز، فهل يصبح الخادم غير ضروري؟» بل العكس. فلتدريب نموذج متخصص منفصل بإيجاز لكل تطبيق، تحتاج بنية تحتية تشغّل تلك المهام التدريبية بتكلفة منخفضة وعلى نطاق واسع. إن عبء عمل يكرّر ضبطًا بحجم 270 مليون يستغرق 21 دقيقة عبر مئات مجموعات الأدوات هو بالضبط ما تستهدفه بنية تصفّ الـGPU عبر Kueue وتعزل حسب المستأجر. التدريب على الخادم والاستدلال على الجهاز هو الخلاصة الطبيعية.</p>

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

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

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

<p>لهذا النهج حدود واضحة أيضًا.</p>

<p>أولًا، ثمن التخصص هو العمومية. ذلك النموذج الذي رفع 46% إلى 90% قويٌّ فقط في المهمة الضيّقة التي دُرِّب عليها. غيّر مخطط الأدوات أو انتقل إلى مجال تطبيق جديد وعليك الضبط من جديد. وفي بيئة تتغير فيها التطبيقات والأدوات كثيرًا، يكبُر عبء الصيانة تبعًا لذلك.</p>

<p>ثانيًا، هل تكفي الـ90% يعتمد على المهمة. إن الخطأ في استدعاء دالة يعني تنفيذ فعل خاطئ، ففي المجالات التي تكون فيها كلفة الفشل عالية قد يكون خطأ بنسبة 10% قاتلًا. وفي تلك الحالة تحتاج بنية مزدوجة يتحقق فيها نموذج خادم من نتيجة الجهاز.</p>

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

<p>رابعًا، يواجه النشر على الجهاز تجزئة الأجهزة. فحتى لو امتص LiteRT-LM التغاير، يبقى الأداء الفعلي وقيود الذاكرة لكل جهاز يطلبان تحققًا فرديًا.</p>

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

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

<ul>
  <li><a href="https://www.youtube.com/watch?v=-TiET_K-E_g">From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents - Cormac Brick, Google (YouTube)</a></li>
  <li><a href="https://www.startuphub.ai/ai-news/ai-research/2026/google-s-cormac-brick-on-tiny-llms-for-on-device-agents">Google’s Cormac Brick on Tiny LLMs for On-Device Agents - StartupHub.ai</a></li>
  <li><a href="https://ai.google.dev/gemma/docs/mobile-actions">Fine-tune FunctionGemma 270M for Mobile Actions - Google AI for Developers</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="on-device" /><category term="fine-tuning" /><category term="functiongemma" /><category term="gemma" /><category term="litert-lm" /><category term="edge-ai" /><category term="small-language-model" /><category term="function-calling" /><category term="serving" /><category term="self-hosting" /><category term="llmops" /><category term="paxis" /><summary type="html"><![CDATA[عرض Cormac Brick من Google AI Edge حالة رفع فيها ضبطُ نموذج FunctionGemma بحجم 270 مليون معامل الدقةَ في مهمة وكيل محددة من 46% إلى 90%. الجوهر هو تشغيل نموذج صغير مضبوط على مهمة ضيّقة داخل الهاتف نفسه بدل استدعاء نموذج كبير. ننظر في سبب التقاط هذا النهج للكمون والخصوصية والتكلفة معًا، وماذا يعني صعود النماذج المتخصصة على الجهاز لبنية الخدمة ومنصة الوكلاء في ThakiCloud.]]></summary></entry><entry xml:lang="en"><title type="html">Low Effort Somehow Won the Code Review</title><link href="https://thakicloud.github.io/en/comics/code-review-effort-levels-low-effort-wins/" rel="alternate" type="text/html" title="Low Effort Somehow Won the Code Review" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/comics/code-review-effort-levels-low-effort-wins</id><content type="html" xml:base="https://thakicloud.github.io/en/comics/code-review-effort-levels-low-effort-wins/"><![CDATA[<p>Claude Code’s /code-review just grew effort levels: a dial for how hard the review works, and the whole review gets rewritten from scratch at each setting. The funny part is that even the lowest effort setting reportedly beats other code reviewers. Cranking the dial, though, just means running more inference, and on someone else’s cloud every turn of that dial ticks the meter. Naturally, Paxis and Metis pushed it to the top.</p>

<p><img src="/assets/images/posts/comics/code-review-effort-levels-low-effort-wins/strip.png" alt="Low Effort Somehow Won the Code Review" /></p>

<blockquote>
  <p>Source: <a href="https://x.com/hjguyhan/status/2077894748183097710">Claude Code’s /code-review now has effort levels, with the review rewritten at every one.</a> · twitter</p>
</blockquote>

<h2 id="what-this-means-for-thakicloud">What this means for ThakiCloud</h2>

<p>Whether you can crank the effort dial comes down to who owns the compute. On a rented cloud, every notch of review effort nudges the bill, so you end up rationing the dial exactly when you need it. ThakiCloud’s on-prem approach keeps the models and GPUs inside your own facility, so you can push effort to the top without watching a meter spin. Paxis fans out review agents across effort levels and cross-checks them, while Metis runs that inference on your own rack. If low effort already wins, the side that runs high effort for free just goes further.</p>

<hr />

<p><em>An auto-generated comic riffing on this week’s industry news.</em></p>]]></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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="comics" /><category term="ai-coding" /><category term="code-review" /><category term="on-prem" /><category term="sovereign-ai" /><category term="thakicloud" /><category term="compute-cost" /><summary type="html"><![CDATA[We cranked the effort dial to max. So did the invoice.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://thakicloud.github.io/assets/images/posts/comics/code-review-effort-levels-low-effort-wins/strip.png" /><media:content medium="image" url="https://thakicloud.github.io/assets/images/posts/comics/code-review-effort-levels-low-effort-wins/strip.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Effort Levels for Code Review: Claude Code /code-review from low to ultra</title><link href="https://thakicloud.github.io/en/dev/claude-code-review-effort-levels/" rel="alternate" type="text/html" title="Effort Levels for Code Review: Claude Code /code-review from low to ultra" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/dev/claude-code-review-effort-levels</id><content type="html" xml:base="https://thakicloud.github.io/en/dev/claude-code-review-effort-levels/"><![CDATA[<h2 id="overview">Overview</h2>

<p>There is a question people skip when choosing a code review tool: how much review does this change actually need? Running the same review intensity on a one-line typo fix and on a rewrite of payment logic is either wasteful or insufficient. Most automated review tools do not leave that choice to the user and operate at a single fixed intensity.</p>

<p>Claude Code addressed this directly in v2.1.101. The April 11, 2026 release renamed the existing <code class="language-plaintext highlighter-rouge">/simplify</code> command to <code class="language-plaintext highlighter-rouge">/code-review</code> and attached an effort level flag that governs how deeply the model reasons before answering. There are five levels, low, medium, high, max, and ultra, and the review itself is rewritten at each one. Shallow levels return fast, high-confidence findings; deep levels spend more time and sweep through edge cases and subtle regressions.</p>

<p>This post reads that design from the perspective of ThakiCloud, which operates AI coding agents. We look at why effort level is the right axis for splitting cost and quality in code review, when to pick each level in practice, and how the idea overlaps with the skill harness and verification loop of Paxis, our agent platform. The durations and costs cited below are all reported values from Anthropic’s public documentation and release notes, not figures measured by ThakiCloud.</p>

<h2 id="what-the-feature-is">What the feature is</h2>

<p><code class="language-plaintext highlighter-rouge">/code-review</code> is a slash command that reads the diff in your current working tree, finds problems, and reports them. The key change is that you can append a level to the command. Specifying a level like <code class="language-plaintext highlighter-rouge">/code-review low</code> makes the review engine adjust its exploration scope and reasoning depth to match. Omitting the level runs the default.</p>

<p>What matters is that the level is not simply “make the output longer or shorter.” According to the documentation, low and medium return a small set of high-confidence findings, while high and max return uncertain findings alongside the confident ones. In other words, shallow levels prioritize precision and deep levels prioritize recall; the character of the review itself changes. This also matches the psychology of the person receiving the review. On a small patch, a handful of certain findings beats a long list padded with false positives; just before a merge, missing nothing is better.</p>

<pre><code class="language-mermaid">flowchart TB
    A[Code change&lt;br/&gt;working tree diff] --&gt; B{Select effort level}
    B --&gt;|low / medium| C[Precision first&lt;br/&gt;few high-confidence findings]
    B --&gt;|high / max| D[Recall first&lt;br/&gt;includes uncertain findings]
    B --&gt;|ultra| E[Cloud sandbox&lt;br/&gt;parallel agent review]
    C --&gt; F[Second-scale response&lt;br/&gt;small patch, config change]
    D --&gt; G[Minute-scale exploration&lt;br/&gt;pre-merge, complex state]
    E --&gt; H[Each finding verified independently&lt;br/&gt;5-10 min, paid tier]
    F --&gt; I[--comment: PR inline]
    G --&gt; I
    H --&gt; I
    I --&gt; J[--fix: apply to working tree]
</code></pre>

<h2 id="when-to-use-each-of-the-five-levels">When to use each of the five levels</h2>

<p>Choosing a level is a matter of weighing the risk of the change against the time you have left. Translating the character the documentation describes into practical intuition:</p>

<p>low and medium are for a quick sanity check. Use them before pushing a config edit or a small patch when you only want to filter out obvious correctness bugs. Responses come back in seconds, so you can run them habitually right before a commit without breaking your flow.</p>

<p>high and max are for code paths just before a merge or that carry complex state. Merging a feature branch into main, or touching areas like concurrency and transactions where subtle regressions hide, falls here. These levels spend more time verifying assumptions and digging through edge cases, so findings labeled “this may not be an issue but check it” appear alongside the certain ones. Whether you treat that uncertainty as noise or as a safety net depends on the situation. Just before a merge, the safety net is the right read.</p>

<p>ultra is a different kind of tool. We cover it separately below.</p>

<p>If you compress this ladder into one sentence, it says: match review intensity to the risk of the change. This is exactly the principle we follow when operating scheduled skills. Start cheap, and escalate only the failing task to an expensive tier. Running every review at maximum intensity wastes cost, and running every review at minimum intensity plants the seed of an incident.</p>

<h2 id="comment-and-fix-putting-review-into-the-workflow">–comment and –fix: putting review into the workflow</h2>

<p>Separate from effort levels, two flags wire the review into an actual workflow. <code class="language-plaintext highlighter-rouge">--comment</code> posts findings as inline comments on the PR, and <code class="language-plaintext highlighter-rouge">--fix</code> applies findings directly to the working tree.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Broad pre-merge review with PR comments plus local application</span>
/code-review high <span class="nt">--comment</span> <span class="nt">--fix</span>

<span class="c"># Deep cloud review, then apply results to the working tree</span>
/code-review ultra <span class="nt">--fix</span>
</code></pre></div></div>

<p>The solo-developer workflow the documentation offers goes like this. Combine <code class="language-plaintext highlighter-rouge">--comment --fix</code> to leave findings on the PR and apply them locally, then eyeball the diff and push. It is a way to pass the first review pass automatically without waiting on a reviewer. That said, because <code class="language-plaintext highlighter-rouge">--fix</code> touches the code, a human must review the applied diff. Automatic application is not a replacement for review; it is preparation for it.</p>

<h2 id="ultrareview-cloud-multi-agent-review">ultrareview: cloud multi-agent review</h2>

<p>The ultra level is unlike the other four that run locally. Running <code class="language-plaintext highlighter-rouge">/code-review ultra</code> bundles your repository state, uploads it to a remote sandbox, and lets specialized reviewer agents analyze the code in parallel there. Each agent focuses on a different class of issue, and findings are independently verified one by one. According to the documentation, a run takes five to ten minutes, and after three free runs for Pro and Max subscribers, each run costs five to twenty dollars.</p>

<p>Two design decisions stand out here. First, the review is handled as a fan-out of several specialized agents rather than a single agent. Since one reviewer struggles to catch every class of defect equally well, splitting perspectives by issue type widens coverage. Second, each finding is verified independently. A fan-out on its own risks accumulating hallucinations, so it must be closed with a verification stage before merging. ultra implements both principles as a product feature.</p>

<h2 id="what-this-means-for-thakicloud-products">What this means for ThakiCloud products</h2>

<p>The design principles of this feature overlap strikingly with what we have practiced operating an agent platform. We split it across our two products.</p>

<p><strong>Paxis lens.</strong> Paxis is ThakiCloud’s Agent-Native Cloud, treating Skills, Tools, Policies, and Audit Logs as first-class resources. The question <code class="language-plaintext highlighter-rouge">/code-review</code> poses is the same one the Paxis skill harness solves every day: which intensity of agent do you attach to which task? Paxis selects from over 960 skills via BM25 and runs them in isolated sandboxes, and the same idea as effort levels operates here. Light work like exploration and lookup goes to a cheap tier; heavy work like architectural judgment and verification goes to an expensive tier. ultra’s multi-agent parallel review and per-finding independent verification share the same structure as the way Paxis closes fan-out results with a verification stage. A fan-out without verification accumulates hallucinations, and a verification gate stops it. If code review runs as one isolated agent skill whose results pass through policy gates and audit logs, that is exactly the operating model Paxis aims for.</p>

<p><strong>ai-platform lens.</strong> The fact that ultra offloads the review to a cloud sandbox and charges per run reconfirms that agent workloads ultimately run on GPU and isolated-execution infrastructure. ThakiCloud’s ai-platform provides K8s and Kueue based GPU scheduling, multi-tenant isolation, and on-premises serving. A workload that spins up a fleet of reviewer agents in parallel is exactly the kind of work such infrastructure targets. For organizations reluctant to upload source code to an external cloud in particular, the option to run the same multi-agent review pattern inside their own infrastructure becomes important. Because agent economics only hold when low-cost serving and isolated execution are in place, the two lenses complement each other.</p>

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

<p>Effort levels are not a cure-all. A few honest counterarguments.</p>

<p>First, the level choice itself depends on the user’s judgment. Misreading the risk sends an important change through as low, or wastes ultra on a trivial one. The tool provides the axis; positioning yourself correctly on it is still up to the human.</p>

<p>Second, the uncertain findings that high and max produce are a double-edged sword. They can act as a safety net, but if false positives pile up they cause review fatigue and you end up ignoring the list. How much to trust an unverified finding depends on the team’s discipline.</p>

<p>Third, ultra uploads the repository to a remote sandbox. For organizations with sensitive source, that alone is an adoption barrier. And the five-to-twenty-dollar cost per run is heavy to run often, so the team has to compute its own economics past the three free runs.</p>

<p>Fourth, automatic <code class="language-plaintext highlighter-rouge">--fix</code> does not replace review. Pushing without checking the applied diff lets convenient-looking automation slip in silent bugs instead. Automation is a tool that assists thinking, not one that replaces it.</p>

<p>Even so, the idea of effort levels points in the right direction. Matching review intensity to the risk of the change is exactly the cost-quality balance we learned operating agents.</p>

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

<ul>
  <li><a href="https://code.claude.com/docs/en/code-review">Code Review - Claude Code Docs</a></li>
  <li><a href="https://fast.io/resources/claude-code-review-guide/">Claude Code Review: How to Use /code-review and Ultrareview - Fastio</a></li>
  <li><a href="https://www.mindstudio.ai/blog/claude-code-effort-levels-explained">Claude Code Effort Levels Explained - MindStudio</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="dev" /><category term="claude-code" /><category term="code-review" /><category term="effort-levels" /><category term="ultrareview" /><category term="ai-coding" /><category term="agent" /><category term="developer-tools" /><category term="cost-quality" /><category term="paxis" /><category term="dev" /><summary type="html"><![CDATA[In v2.1.101 Claude Code renamed /simplify to /code-review and attached effort levels to the review. low and medium return a few high-confidence findings, high and max add broader coverage with uncertain findings, and ultra runs a deep review where multiple agents verify each finding in the cloud. We look at why this staging is the right way to split cost and quality in code review, and how the idea maps onto the Paxis skill harness.]]></summary></entry><entry xml:lang="en"><title type="html">295B on a Single Card: Anatomy of Hunyuan Hy3’s 1-bit and 4-bit Serving</title><link href="https://thakicloud.github.io/en/llmops/hunyuan-hy3-1bit-4bit-single-gpu/" rel="alternate" type="text/html" title="295B on a Single Card: Anatomy of Hunyuan Hy3’s 1-bit and 4-bit Serving" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/llmops/hunyuan-hy3-1bit-4bit-single-gpu</id><content type="html" xml:base="https://thakicloud.github.io/en/llmops/hunyuan-hy3-1bit-4bit-single-gpu/"><![CDATA[<h2 id="overview">Overview</h2>

<p>The first wall a team hits when serving a large model on its own infrastructure is not compute, it is memory. Loading a 295B model in FP16 requires roughly 598GB of weights resident in GPU memory, which barely fits across eight H100 80GB cards. That is why flagship open-weight models have always sat in an awkward place: released, but hard for us to actually serve.</p>

<p>The 1-bit and 4-bit GGUF builds of Hy3 that Tencent Hunyuan released on July 14, 2026 aim squarely at this point. They compress a 295B MoE model into low-bit form so it runs on a single card, and the weights ship under Apache 2.0. On X, Tencent introduced it as a “flagship-scale 295B model that can be served on a single GPU,” mentioning llama.cpp and MTP together.</p>

<p>This post reads the Hy3 quantized builds from ThakiCloud’s perspective as a team that serves low-bit models in a multi-tenant setting. We walk through what the compression actually changes, why the phrase “single GPU” needs to be read carefully, and what this trend means for our on-prem inference infrastructure. To be clear up front: the size and performance figures below are all values reported by Tencent and the community, not numbers ThakiCloud reproduced.</p>

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

<p>Hy3 is a Mixture-of-Experts model with 295B total parameters, but only about 21B activate to process a single token. It supports a long 256K-token context and targets agentic tasks, coding, and tool use. What is new here is not a new model but a low-bit GGUF representation of the existing Hy3 weights. Two variants were released.</p>

<p>The 1-bit build reduces the model from roughly 598GB to 85.5GiB. At that size, the weights fit on a single 96GB-class card. The 4-bit build occupies 169.9GiB and must span two cards, but in exchange it holds much closer to the original quality as reported. Both builds run with llama.cpp and are designed to enable MTP (Multi-Token Prediction) to raise token generation throughput.</p>

<pre><code class="language-mermaid">flowchart TB
    A[Hy3 295B MoE&lt;br/&gt;FP16 ~598GB] --&gt; B{Low-bit GGUF quantization}
    B --&gt;|1-bit| C[85.5GiB&lt;br/&gt;one 96GB card]
    B --&gt;|4-bit| D[169.9GiB&lt;br/&gt;two cards]
    C --&gt; E[Run with llama.cpp]
    D --&gt; E
    E --&gt; F[Enable MTP&lt;br/&gt;multi-token prediction for throughput]
    F --&gt; G[21B active params&lt;br/&gt;only some experts compute per token]
    G --&gt; H[Agentic, coding, tool use&lt;br/&gt;256K long context]
</code></pre>

<p>The MoE structure is what makes this compression especially attractive. Of the 295B, only 21B worth of experts actually participate in the computation for each token, so the compute itself is on the order of a 21B dense model. The bottleneck lies entirely in “where do you keep all the expert weights resident.” Low-bit compression attacks exactly that residency cost.</p>

<h2 id="why-single-gpu-needs-careful-reading">Why “Single GPU” Needs Careful Reading</h2>

<p>This is the phrase in the marketing that is easiest to misread. “Served on a single GPU” is true, but the single GPU here means a device with 128GB-class unified memory. Think DGX Spark, a 128GB Mac Studio, or Strix Halo. If you pictured a single 16GB RTX 3060, that expectation is off.</p>

<p>This distinction matters because the practical math changes completely. Loading 85.5GiB of weights requires at least a 96GB card, and once you add KV cache, activation memory, and the attention state of a long context, real-world headroom shrinks further. A workload that actually fills a 256K context is tight even on a 128GB-class device. “One card” refers to physical slot count, not to cheap hardware.</p>

<p>Even so, this release is meaningful because the point of comparison is an eight-card H100 node. If the multi-GPU node that FP16 serving used to require is replaced by a single high-capacity card, the power, floor space, and interconnect complexity all drop sharply. The absolute cost does not fall so much as the shape of the required system becomes fundamentally simpler.</p>

<h2 id="1-bit-vs-4-bit-what-you-gain-and-what-you-lose">1-bit vs 4-bit: What You Gain and What You Lose</h2>

<p>The two builds represent different choices. The 1-bit build is optimized for pushing the model onto minimal hardware. The 85.5GiB size is the result of extreme compression, and it accepts a corresponding quality loss versus the original. The 4-bit build demands nearly twice the memory at 169.9GiB, but community reports say it holds nearly to original performance.</p>

<p>A practical decision rule falls out here. In agentic workflows where tool calls and long reasoning chains stack up, small quality regressions accumulate and tend to break the final result. Short question-answering looks fine even at 1-bit, but in autonomous multi-step agent work the extra margin of 4-bit acts as a safety buffer. If the hardware budget allows, favoring 4-bit for agent serving is the reasonable default.</p>

<p>The mention of MTP fits into this context too. Multi-token prediction proposes and verifies several tokens from a single forward pass, raising the throughput of the memory-bandwidth-bound decoding stage. Because low-bit models have smaller weights, they free up relative memory bandwidth headroom, which pairs well with throughput techniques like MTP.</p>

<h2 id="installation-and-serving-perspective">Installation and Serving Perspective</h2>

<p>Since these are llama.cpp-based GGUF files, the serving flow itself is familiar. You fetch the GGUF, load it with llama.cpp, enable the MTP option, and expose it as an OpenAI-compatible server. Conceptually the structure looks like this.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Load the 1-bit GGUF build (conceptual example, check the release repo for exact filenames/flags)</span>
./llama-server <span class="se">\</span>
  <span class="nt">--model</span> hy3-295b-1bit.gguf <span class="se">\</span>
  <span class="nt">--ctx-size</span> 262144 <span class="se">\</span>
  <span class="nt">--n-gpu-layers</span> 999 <span class="se">\</span>
  <span class="nt">--draft-max</span> 4          <span class="c"># MTP-style multi-token prediction</span>
</code></pre></div></div>

<p>If you want to prioritize throughput at FP8 or higher precision instead, the community has also documented a path that serves across multiple cards using vLLM or SGLang with Expert Parallelism. The low-bit GGUF path targets single-node serving on minimal hardware, while the vLLM path targets throughput and concurrent user count.</p>

<p>We did not actually download the 85.5GiB build and run inference for this post. The hardware requirement of 96GB or more unified memory falls outside the scope of this drain environment. Accordingly, the figures above are all values reported by Tencent and the community, and we honestly note the absence of reproduction. Anyone evaluating adoption should include a step of confirming quality and throughput with their own benchmarks on the target hardware.</p>

<h2 id="implications-for-thakicloud-products">Implications for ThakiCloud Products</h2>

<p>This release matters especially from the perspective of ThakiCloud’s <strong>ai-platform</strong>. ai-platform schedules GPUs with K8s and Kueue and serves models across diverse customer environments centered on vLLM. A flagship-scale model running on a single high-capacity node means the node placement unit for multi-tenant serving becomes simpler. Instead of scheduling premised on eight-card H100 nodes, treating a single 128GB-class card as one serving unit makes Kueue’s queue management and priority allocation far more predictable.</p>

<p>In the on-prem and sovereign AI context, this trend is even more direct. Customers who cannot send domestic data outside must run models on their own hardware, and an 8-GPU node is a high barrier in procurement, floor space, and power. If a flagship model can be served on a single 128GB-class device, the hardware threshold for sovereign deployment drops noticeably. That said, verifying whether the low-bit quality loss is acceptable for the customer workload is a responsibility we must own.</p>

<p>From an agent-workload perspective, this connects to <strong>Paxis</strong> as well. Paxis is the Agent-Native Cloud that runs on top of ai-platform, executing skills in isolated sandboxes and passing every action through policy gates and audit logs. If a model specialized for agents and tool calls like Hy3 can be served at low hardware cost, the per-run cost of agents comes down, which in turn means more autonomous workflows can be run economically. Low-cost serving is the structure that creates agent economics.</p>

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

<p>The biggest counterargument is the reality of “single GPU.” A 96GB to 128GB-class unified-memory device is still expensive and not truly mainstream hardware. Reading this release as “now anyone can run 295B on a laptop” is a misunderstanding. More precisely, it is “a workload that required a multi-GPU node has come down to a single high-capacity card.”</p>

<p>Second, the quality loss of the 1-bit build can be fatal depending on the workload. The benchmark summaries say “close to the original,” but that is usually measured against 4-bit or on short-task-heavy evaluations. How 1-bit holds up under long reasoning chains and precise, repeated tool calls in agentic tasks is confirmed only on real workloads.</p>

<p>Third, these figures have not yet been broadly and independently verified. They rely on reports from Tencent and the early community, and until reproduction results across varied hardware and tasks accumulate, treating them cautiously is the safer stance. We too will use the published numbers only as a starting point when evaluating adoption, taking our own measurements on the target environment as canonical.</p>

<p>Even so, the direction itself is clear. The move of the serving unit for flagship open-weight models from a multi-GPU node to a single high-capacity card is a welcome signal for any infrastructure that deals with on-prem and sovereign AI.</p>

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

<ul>
  <li><a href="https://x.com/TencentHunyuan/status/2076953120765280284">Tencent Hunyuan, Hy3 1-bit and 4-bit release (X)</a></li>
  <li><a href="https://huggingface.co/tencent/Hy3">tencent/Hy3 (Hugging Face)</a></li>
  <li><a href="https://explainx.ai/blog/tencent-hy3-gguf-1-bit-4-bit-single-gpu-llama-cpp-july-2026">Tencent Hy3 GGUF 1-bit 4-bit Single GPU (explainX)</a></li>
  <li><a href="https://www.remio.ai/post/tencent-hunyuan-hy3-quantized-release-1bit-single-card-deployment-4bit-near-full-performance">Hunyuan Hy3 Quantized Release analysis (Remio)</a></li>
  <li><a href="https://www.spheron.network/blog/deploy-hunyuan-3-gpu-cloud/">Deploy Hunyuan Hy3 with vLLM &amp; Expert Parallelism (Spheron)</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="quantization" /><category term="hunyuan-hy3" /><category term="moe" /><category term="1-bit" /><category term="4-bit" /><category term="gguf" /><category term="llama-cpp" /><category term="mtp" /><category term="inference" /><category term="serving" /><category term="on-prem" /><category term="self-hosting" /><category term="llmops" /><category term="ai-platform" /><summary type="html"><![CDATA[Tencent's Hy3 1-bit and 4-bit GGUF builds shrink a 295B MoE from 598GB to 85.5GiB so it runs on a single GPU. But the single GPU here means a 128GB-class unified-memory device, not a 16GB consumer card. We look at what this compression gains and what it hides, why MTP shows up alongside it, and what single-node serving of a flagship model means for ThakiCloud's on-prem inference strategy.]]></summary></entry><entry xml:lang="en"><title type="html">From 46% to 90% Inside a Phone: Fine-Tuning Small LLMs for On-Device Agents</title><link href="https://thakicloud.github.io/en/llmops/on-device-tiny-llm-finetune-agents/" rel="alternate" type="text/html" title="From 46% to 90% Inside a Phone: Fine-Tuning Small LLMs for On-Device Agents" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/llmops/on-device-tiny-llm-finetune-agents</id><content type="html" xml:base="https://thakicloud.github.io/en/llmops/on-device-tiny-llm-finetune-agents/"><![CDATA[<h2 id="overview">Overview</h2>

<p>The notion that small models are not smart held on for a long time. So practitioners threw almost every task at large models, paying for it with latency, cost, and the risk of data leaving the device. But if you scope the task very narrowly, the story changes. Give up generality and tune a small model to do exactly one thing well, and within that narrow domain there is no longer a reason to call a large model.</p>

<p>“From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents,” presented by Cormac Brick, a Principal Engineer at Google AI Edge, targets exactly this point. Fine-tuning the 270M-parameter FunctionGemma to a specific agent task raised accuracy from 46% to 90%, which is both the title and the thesis of the talk. This model is reported to deliver roughly 2,000 tokens per second of prefill throughput on a Pixel 7. All of it happens inside the phone, with no server call.</p>

<p>This post reads that talk from the perspective of ThakiCloud, which operates multi-tenant inference infrastructure. We look at why a small specialized model makes sense on-device, what fine-tuning actually changes, how a runtime like LiteRT-LM simplifies deployment, and what practical meaning this trend carries for our serving infrastructure and agent platform. The accuracy, throughput, and duration figures cited below are all reported values from the talk and related coverage, not figures reproduced by ThakiCloud.</p>

<!-- Courtesy of embedresponsively.com -->

<div class="responsive-video-container">
    <iframe src="https://www.youtube-nocookie.com/embed/-TiET_K-E_g" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
  </div>

<p>The video above is Cormac Brick’s full original talk. The analysis below is grounded in that talk and public reporting.</p>

<h2 id="what-the-technology-is">What the technology is</h2>

<p>FunctionGemma is a 270M-parameter model in the Gemma family specialized for function calling. Function calling is the core behavior of an on-device agent, because it turns a user’s natural-language request into a structured tool call the app can execute. Converting “set an alarm for 9 a.m. tomorrow” into a call like <code class="language-plaintext highlighter-rouge">setAlarm(time="09:00", date="tomorrow")</code> is an example. As long as this conversion is accurate, there is no need to summon a general-purpose model of billions of parameters.</p>

<p>The problem is that a generically deployed small model has low accuracy on a specific app’s tool schema. The 46% the talk cites is exactly that point. This is where fine-tuning enters. Tune the model narrowly to the target app’s actual function schema and request patterns, and the same 270M model rises to 90%.</p>

<pre><code class="language-mermaid">flowchart TB
    A[User natural-language request&lt;br/&gt;alarm for 9 tomorrow] --&gt; B[On-device agent]
    B --&gt; C{FunctionGemma 270M}
    C --&gt;|generic deployment| D[about 46% accuracy&lt;br/&gt;app schema unaligned]
    C --&gt;|task-specific fine-tuning| E[about 90% accuracy&lt;br/&gt;aligned to real function schema]
    E --&gt; F[structured function call&lt;br/&gt;setAlarm 09:00 tomorrow]
    F --&gt; G[app executes directly&lt;br/&gt;no server call]
    E --&gt; H[LiteRT-LM runtime&lt;br/&gt;Pixel 7 about 2000 tok/s]
</code></pre>

<h2 id="from-46-to-90-what-fine-tuning-does">From 46% to 90%: what fine-tuning does</h2>

<p>Understanding the nature of this gap matters. A large model reasons its way through even an unfamiliar schema thanks to vast general knowledge. A small model lacks that slack. But concentrate it on a narrow distribution, and within that distribution it becomes nearly as accurate as a large model. Fine-tuning is less about injecting new intelligence into the model and more about steering the capacity it already has toward the target task.</p>

<p>According to the talk, this fine-tuning finishes in a remarkably short time. Related coverage reports that training completes in about 21 minutes. Thanks to the small scale of 270M, training itself is light and manageable even on consumer hardware. This carries direct implications for data science practice. It means an operating model where each app and each tool set has its own small specialized model, each trained briefly, is realistic. Instead of covering every app with one giant general-purpose model, you keep several specialized models sliced finely by task.</p>

<p>This idea also touches a principle we have held in our batch content work. A specialized solution that fills a validated, narrow skeleton beats a high-degree-of-freedom general solution for average quality. Fine-tuning a small model implements that principle at the model level.</p>

<h2 id="what-on-device-gives-you-latency-privacy-offline-cost">What on-device gives you: latency, privacy, offline, cost</h2>

<p>The talk emphasizes on-device for four reasons.</p>

<p>Latency drops. Because the request does not round-trip the network, the function-call conversion finishes instantly inside the phone. For a UI where the agent must react to user actions in real time, this difference is decisive.</p>

<p>Privacy holds. The user’s requests and personal data never leave the device. In sensitive contexts like health, finance, and messaging, the very fact that data does not go to a server becomes a product requirement.</p>

<p>It works offline. The agent functions even without a network. A cloud model is helpless when the connection drops; an on-device model is not.</p>

<p>Cost disappears. Because inference happens on the device, there is no per-token API billing. The heavier the app’s usage, the larger this saving.</p>

<h2 id="litert-lm-and-the-deployment-stack">LiteRT-LM and the deployment stack</h2>

<p>Training a small model and deploying it to countless devices are separate problems. The talk presents LiteRT-LM as the deployment runtime. LiteRT-LM is a runtime that lets you put models like Gemma 4 onto a wide range of hardware from mobile to embedded systems. Combine it with AI Core, the talk explains, and you can drive on-device agent skills.</p>

<p>The key is that a path exists to deploy one model consistently across diverse hardware. Without the labor of re-fitting a trained specialized model to each device’s accelerator, the runtime absorbs that heterogeneity. This is the practical condition that lifts on-device agents from experiment level to product level.</p>

<h2 id="what-this-means-for-thakicloud-products">What this means for ThakiCloud products</h2>

<p>The trend of on-device specialized models can look like a signal in the opposite direction to us, operators of cloud serving, but it actually carries direct implications for both products.</p>

<p><strong>ai-platform lens.</strong> The rise of small specialized models shifts the focus of serving infrastructure. ThakiCloud’s ai-platform provides K8s and Kueue based GPU scheduling, multi-tenant isolation, and on-premises serving. The question on-device fine-tuning poses here is not “if everything moves on-device, is the server unnecessary?” It is the opposite. To train a separate specialized model briefly for each app, you need infrastructure that runs those training jobs at low cost and at scale. A workload that repeats a 21-minute fine-tune of a 270M model across hundreds of tool sets is exactly what infrastructure that queues GPUs with Kueue and isolates by tenant targets. Training on the server, inference on the device is the natural conclusion.</p>

<p>At the same time, not every organization is satisfied by device inference alone. When larger context or more complex reasoning is needed, a server model still steps in. And for organizations reluctant to send source data to an external cloud, on-premises serving and self-hosting become important. Being competitive on low serving cost is the key to holding on to those organizations.</p>

<p><strong>Paxis lens.</strong> The essence of FunctionGemma is turning natural language into a structured tool call. This is a miniature of what Paxis does. Paxis is ThakiCloud’s Agent-Native Cloud, which selects from over 960 skills via BM25, runs them in isolated sandboxes, and passes every action through policy gates and audit logs. If an on-device agent handles function calls for a narrow tool set on the phone, Paxis handles tool routing over a far wider skill space in the cloud. The two layers do not compete; they complement. A layered structure emerges where lightweight local intent interpretation is handled by the device, and work requiring complex multi-agent orchestration and auditing is handled by Paxis.</p>

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

<p>This approach has clear limits too.</p>

<p>First, the price of specialization is generality. That model that lifted 46% to 90% is strong only on the narrow task it was trained on. Change the tool schema or move to a new app domain and you have to fine-tune again. In an environment where apps and tools change often, the maintenance burden grows accordingly.</p>

<p>Second, whether 90% is enough depends on the task. Getting a function call wrong means executing a wrong action, so in domains where the cost of failure is high, a 10% error can be fatal. In that case you need a dual structure where a server model verifies the on-device result.</p>

<p>Third, the figure of 21 minutes of training depends heavily on scale and hardware. The real operating cost including data preparation, schema alignment, and evaluation cannot be judged by training time alone. The talk’s impressive numbers should be taken as values under well-arranged conditions.</p>

<p>Fourth, on-device deployment faces device fragmentation. Even if LiteRT-LM absorbs the heterogeneity, actual per-device performance and memory constraints still demand individual verification.</p>

<p>Even so, the direction of running a small specialized model on the device is persuasive. It is the point where the four benefits of latency, privacy, offline, and cost hold simultaneously. For us, this trend is not a signal that the server becomes unnecessary, but one that makes us redraw where the division between training and inference should sit.</p>

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

<ul>
  <li><a href="https://www.youtube.com/watch?v=-TiET_K-E_g">From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents - Cormac Brick, Google (YouTube)</a></li>
  <li><a href="https://www.startuphub.ai/ai-news/ai-research/2026/google-s-cormac-brick-on-tiny-llms-for-on-device-agents">Google’s Cormac Brick on Tiny LLMs for On-Device Agents - StartupHub.ai</a></li>
  <li><a href="https://ai.google.dev/gemma/docs/mobile-actions">Fine-tune FunctionGemma 270M for Mobile Actions - Google AI for Developers</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="on-device" /><category term="fine-tuning" /><category term="functiongemma" /><category term="gemma" /><category term="litert-lm" /><category term="edge-ai" /><category term="small-language-model" /><category term="function-calling" /><category term="serving" /><category term="self-hosting" /><category term="llmops" /><category term="paxis" /><summary type="html"><![CDATA[Google AI Edge's Cormac Brick presented a case where fine-tuning the 270M-parameter FunctionGemma lifted accuracy on a specific agent task from 46% to 90%. The key is running a small model tuned to a narrow task on the phone itself instead of calling a large one. We look at why this approach captures latency, privacy, and cost at once, and what the rise of on-device specialized models means for ThakiCloud's serving infrastructure and agent platform.]]></summary></entry><entry xml:lang="ko"><title type="html">코드 리뷰에 노력 단계를 붙이다: Claude Code /code-review의 low부터 ultra까지</title><link href="https://thakicloud.github.io/ko/dev/claude-code-review-effort-levels/" rel="alternate" type="text/html" title="코드 리뷰에 노력 단계를 붙이다: Claude Code /code-review의 low부터 ultra까지" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/dev/claude-code-review-effort-levels</id><content type="html" xml:base="https://thakicloud.github.io/ko/dev/claude-code-review-effort-levels/"><![CDATA[<h2 id="개요">개요</h2>

<p>코드 리뷰 도구를 고를 때 자주 놓치는 질문이 하나 있습니다. “이 변경에 얼마만큼의 리뷰가 필요한가”입니다. 오탈자 한 줄을 고친 커밋과 결제 로직을 갈아엎은 커밋에 같은 강도의 리뷰를 돌리는 것은 낭비이거나 부족이거나 둘 중 하나입니다. 대부분의 자동 리뷰 도구는 이 구분을 사용자에게 맡기지 않고 한 가지 강도로만 동작했습니다.</p>

<p>Claude Code는 v2.1.101에서 이 문제를 정면으로 다뤘습니다. 2026년 4월 11일 릴리스에서 기존 <code class="language-plaintext highlighter-rouge">/simplify</code> 명령을 <code class="language-plaintext highlighter-rouge">/code-review</code>로 바꾸고, 리뷰가 답을 내기 전에 얼마나 깊이 추론할지를 정하는 노력 단계(effort level) 플래그를 붙였습니다. low, medium, high, max, ultra의 다섯 단계이며, 단계마다 리뷰 자체가 다시 쓰입니다. 얕은 단계는 빠르고 확신이 높은 지적만 내놓고, 깊은 단계는 시간을 더 써서 엣지 케이스와 미묘한 회귀까지 훑습니다.</p>

<p>이 글은 AI 코딩 에이전트를 운용하는 ThakiCloud의 관점에서 이 설계를 읽습니다. 노력 단계가 왜 코드 리뷰의 비용과 품질을 나누는 올바른 축인지, 각 단계를 실무에서 언제 골라야 하는지, 그리고 이 발상이 저희가 운영하는 에이전트 플랫폼 Paxis의 스킬 하네스 및 검증 루프와 어떻게 겹치는지 순서대로 살펴봅니다. 아래에 인용한 소요 시간과 비용 수치는 모두 Anthropic이 공개한 문서와 릴리스 노트의 보고값이며, ThakiCloud가 직접 측정한 값이 아닙니다.</p>

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

<p><code class="language-plaintext highlighter-rouge">/code-review</code>는 현재 작업 트리의 변경분을 읽고 문제를 찾아 보고하는 슬래시 명령입니다. 핵심 변화는 명령 뒤에 단계를 붙일 수 있다는 점입니다. <code class="language-plaintext highlighter-rouge">/code-review low</code>처럼 단계를 지정하면, 리뷰 엔진이 그 단계에 맞춰 탐색 범위와 추론 깊이를 조정합니다. 단계를 생략하면 기본값으로 동작합니다.</p>

<p>여기서 중요한 것은 단계가 단순히 “출력을 길게 하느냐 짧게 하느냐”가 아니라는 점입니다. 문서에 따르면 low와 medium은 소수의 확신 높은 발견만 반환하고, high와 max는 확실한 발견에 더해 불확실한 발견까지 함께 내놓습니다. 즉 얕은 단계는 정밀도(precision)를 우선하고, 깊은 단계는 재현율(recall)을 우선하도록 리뷰의 성격 자체가 바뀝니다. 이 구분은 리뷰를 받는 쪽의 심리와도 맞습니다. 작은 패치에서는 오탐이 섞인 긴 목록보다 확실한 몇 개가 낫고, 병합 직전에는 놓치는 것이 없는 편이 낫습니다.</p>

<pre><code class="language-mermaid">flowchart TB
    A[코드 변경분&lt;br/&gt;작업 트리 diff] --&gt; B{노력 단계 선택}
    B --&gt;|low / medium| C[정밀도 우선&lt;br/&gt;확신 높은 소수 지적]
    B --&gt;|high / max| D[재현율 우선&lt;br/&gt;불확실 발견까지 포함]
    B --&gt;|ultra| E[클라우드 샌드박스&lt;br/&gt;병렬 에이전트 리뷰]
    C --&gt; F[초 단위 응답&lt;br/&gt;작은 패치·설정 변경]
    D --&gt; G[분 단위 탐색&lt;br/&gt;병합 직전·복잡한 상태]
    E --&gt; H[각 발견 독립 검증&lt;br/&gt;5~10분·유료 티어]
    F --&gt; I[--comment: PR 인라인]
    G --&gt; I
    H --&gt; I
    I --&gt; J[--fix: 작업 트리에 적용]
</code></pre>

<h2 id="다섯-단계를-언제-쓰는가">다섯 단계를 언제 쓰는가</h2>

<p>단계 선택은 변경의 위험도와 남은 시간을 저울질하는 일입니다. 문서가 제시한 성격을 실무 감각으로 옮기면 다음과 같이 정리됩니다.</p>

<p>low와 medium은 빠른 정신 점검용입니다. 설정 파일을 바꾸거나 작은 패치를 올리기 전, 명백한 정합성 버그만 걸러내고 싶을 때 씁니다. 응답이 초 단위로 돌아오므로 커밋 직전에 습관처럼 돌려도 흐름을 끊지 않습니다.</p>

<p>high와 max는 병합 직전이나 복잡한 상태를 다루는 코드 경로에서 씁니다. 기능 브랜치를 main에 합치기 전, 혹은 동시성이나 트랜잭션처럼 미묘한 회귀가 숨기 쉬운 곳을 손봤을 때가 여기 해당합니다. 이 단계는 시간을 더 들여 가정을 검증하고 엣지 케이스를 뒤지므로, 확실한 지적 사이에 “이건 아닐 수도 있지만 확인해 보라”는 발견이 섞여 나옵니다. 이 불확실성을 노이즈로 볼지 안전망으로 볼지는 상황에 달렸습니다. 병합 직전이라면 안전망 쪽이 맞습니다.</p>

<p>ultra는 성격이 다른 도구입니다. 뒤에서 따로 다룹니다.</p>

<p>이 사다리를 한 문장으로 요약하면, 리뷰 강도를 변경의 위험도에 맞추라는 것입니다. 이는 저희가 스케줄 스킬을 운영할 때 지키는 원칙과 정확히 같습니다. 싸게 시작하고, 실패가 쌓이면 그 작업만 비싼 티어로 올립니다. 모든 리뷰를 최고 강도로 돌리는 것은 비용 낭비이고, 모든 리뷰를 최저 강도로 돌리는 것은 사고의 씨앗입니다.</p>

<h2 id="comment와-fix-리뷰를-워크플로에-넣기">–comment와 –fix: 리뷰를 워크플로에 넣기</h2>

<p>노력 단계와 별개로 두 플래그가 리뷰를 실제 작업 흐름에 끼워 넣습니다. <code class="language-plaintext highlighter-rouge">--comment</code>는 발견을 PR의 인라인 코멘트로 게시하고, <code class="language-plaintext highlighter-rouge">--fix</code>는 발견을 작업 트리에 직접 적용합니다.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 병합 직전 넓은 커버리지로 리뷰하고 PR에 코멘트 + 로컬 적용</span>
/code-review high <span class="nt">--comment</span> <span class="nt">--fix</span>

<span class="c"># 클라우드 심층 리뷰 후 결과를 작업 트리에 적용</span>
/code-review ultra <span class="nt">--fix</span>
</code></pre></div></div>

<p>문서가 제시한 1인 개발 워크플로는 이렇습니다. <code class="language-plaintext highlighter-rouge">--comment --fix</code>를 함께 걸어 발견을 PR에 남기고 로컬에도 적용한 뒤, diff를 눈으로 확인하고 푸시합니다. 리뷰어를 기다리지 않고 첫 번째 패스를 자동으로 통과시키는 방식입니다. 다만 <code class="language-plaintext highlighter-rouge">--fix</code>가 코드를 건드린다는 점에서, 적용된 diff를 사람이 반드시 검토해야 합니다. 자동 적용은 검토의 대체가 아니라 검토를 위한 준비입니다.</p>

<h2 id="ultrareview-클라우드-멀티에이전트-리뷰">ultrareview: 클라우드 멀티에이전트 리뷰</h2>

<p>ultra 단계는 로컬에서 도는 나머지 넷과 다릅니다. <code class="language-plaintext highlighter-rouge">/code-review ultra</code>를 실행하면 Claude Code가 저장소 상태를 묶어 원격 샌드박스로 업로드하고, 그곳에서 특화된 리뷰어 에이전트들이 코드를 병렬로 분석합니다. 각 에이전트는 서로 다른 종류의 문제에 집중하며, 발견은 개별적으로 독립 검증을 거칩니다. 문서에 따르면 실행에 5분에서 10분이 걸리고, Pro와 Max 구독자에게 3회의 무료 실행 이후에는 실행당 5달러에서 20달러의 비용이 붙습니다.</p>

<p>여기서 두 가지 설계 결정이 눈에 띕니다. 첫째, 리뷰를 단일 에이전트가 아니라 여러 특화 에이전트의 팬아웃으로 처리한다는 점입니다. 하나의 리뷰어가 모든 유형의 결함을 동등하게 잘 찾기는 어렵기 때문에, 문제 유형별로 시각을 나누는 편이 커버리지를 넓힙니다. 둘째, 각 발견을 독립적으로 검증한다는 점입니다. 팬아웃은 그 자체로 환각을 누적할 위험이 있으므로, 합치기 전에 검증 단계로 닫아야 합니다. ultra는 이 두 원칙을 제품 기능으로 구현한 사례입니다.</p>

<h2 id="thakicloud-제품-적용-시사점">ThakiCloud 제품 적용 시사점</h2>

<p>이 기능의 설계 원칙은 저희가 에이전트 플랫폼을 운영하며 지켜온 것과 놀랍도록 겹칩니다. 두 제품의 렌즈로 나눠 봅니다.</p>

<p><strong>Paxis 렌즈.</strong> Paxis는 ThakiCloud의 Agent-Native Cloud로, 스킬(Skills), 도구(Tools), 정책(Policies), 감사 로그(Audit Logs)를 일급 리소스로 다룹니다. <code class="language-plaintext highlighter-rouge">/code-review</code>가 던지는 질문은 Paxis의 스킬 하네스가 매일 푸는 질문과 같습니다. 어떤 작업에 어떤 강도의 에이전트를 붙일 것인가입니다. Paxis는 960개가 넘는 스킬을 BM25로 선택해 격리 샌드박스에서 실행하는데, 여기서도 노력 단계와 같은 발상이 작동합니다. 탐색과 조회 같은 가벼운 작업은 값싼 티어에, 아키텍처 판단과 검증 같은 무거운 작업은 비싼 티어에 배정합니다. ultra의 멀티에이전트 병렬 리뷰와 발견별 독립 검증은 Paxis가 팬아웃 결과를 검증 스테이지로 닫는 방식과 같은 구조입니다. 검증 없는 팬아웃은 환각을 누적하고, 검증 게이트가 이를 막습니다. 코드 리뷰가 하나의 에이전트 스킬로 격리 실행되고 그 결과가 정책 게이트와 감사 로그를 통과한다면, 그것이 바로 Paxis가 지향하는 운영 모델입니다.</p>

<p><strong>ai-platform 렌즈.</strong> ultra가 리뷰를 클라우드 샌드박스로 오프로드하고 실행당 비용을 매긴다는 사실은, 에이전트 워크로드가 결국 GPU와 격리 실행 인프라 위에서 돈다는 것을 다시 확인시켜 줍니다. ThakiCloud의 ai-platform은 K8s와 Kueue 기반 GPU 스케줄링, 멀티테넌트 격리, 온프레미스 서빙을 제공합니다. 리뷰어 에이전트 함대를 병렬로 띄우는 워크로드는 정확히 이런 인프라가 필요한 종류의 작업입니다. 특히 소스 코드를 외부 클라우드에 업로드하기 꺼리는 조직이라면, 같은 멀티에이전트 리뷰 패턴을 자체 인프라 안에서 돌리는 선택지가 중요해집니다. 저비용 서빙과 격리 실행이 갖춰져야 에이전트 경제성이 성립한다는 점에서, 두 렌즈는 서로를 보완합니다.</p>

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

<p>노력 단계는 만능이 아닙니다. 몇 가지 반론을 정직하게 적습니다.</p>

<p>첫째, 단계 선택 자체가 사용자의 판단에 의존합니다. 위험도를 잘못 읽으면 중요한 변경을 low로 흘려보내거나 사소한 변경에 ultra를 낭비합니다. 도구가 축을 제공했을 뿐, 올바른 축 위의 위치를 정하는 것은 여전히 사람의 몫입니다.</p>

<p>둘째, high와 max가 내놓는 불확실한 발견은 양날의 검입니다. 안전망이 되기도 하지만, 오탐이 많으면 리뷰 피로를 부르고 결국 목록을 무시하게 만듭니다. 검증되지 않은 지적을 얼마나 신뢰할지는 팀의 규율에 달렸습니다.</p>

<p>셋째, ultra는 저장소를 원격 샌드박스로 업로드합니다. 소스 코드가 민감한 조직에는 이 자체가 도입 장벽입니다. 또한 실행당 5달러에서 20달러의 비용은 자주 돌리기에는 부담이며, 무료 3회 이후의 경제성을 팀이 스스로 계산해야 합니다.</p>

<p>넷째, 자동 <code class="language-plaintext highlighter-rouge">--fix</code>는 검토를 대체하지 않습니다. 적용된 diff를 확인하지 않고 푸시하면, 편해 보이는 자동화가 오히려 조용한 버그를 밀어 넣을 수 있습니다. 자동화는 사고를 대체하는 것이 아니라 보조하는 도구입니다.</p>

<p>그럼에도 노력 단계라는 발상은 옳은 방향입니다. 리뷰의 강도를 변경의 위험도에 맞추는 것은, 저희가 에이전트를 운영하며 배운 비용과 품질의 균형과 정확히 같은 원칙이기 때문입니다.</p>

<h2 id="출처">출처</h2>

<ul>
  <li><a href="https://code.claude.com/docs/en/code-review">Code Review - Claude Code Docs</a></li>
  <li><a href="https://fast.io/resources/claude-code-review-guide/">Claude Code Review: How to Use /code-review and Ultrareview - Fastio</a></li>
  <li><a href="https://www.mindstudio.ai/blog/claude-code-effort-levels-explained">Claude Code Effort Levels Explained - MindStudio</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="dev" /><category term="claude-code" /><category term="code-review" /><category term="effort-levels" /><category term="ultrareview" /><category term="ai-coding" /><category term="agent" /><category term="developer-tools" /><category term="cost-quality" /><category term="paxis" /><category term="dev" /><summary type="html"><![CDATA[Claude Code가 v2.1.101에서 /simplify를 /code-review로 바꾸면서 리뷰에 노력 단계를 붙였습니다. low와 medium은 확신 높은 소수의 지적만, high와 max는 넓은 커버리지와 불확실한 발견까지, ultra는 클라우드에서 여러 에이전트가 병렬로 검증하는 심층 리뷰입니다. 저희는 이 단계 설계가 왜 코드 리뷰의 비용과 품질을 나누는 올바른 방식인지, 그리고 이 발상이 Paxis의 스킬 하네스와 어떻게 맞물리는지 짚어봅니다.]]></summary></entry><entry xml:lang="ko"><title type="html">295B를 카드 한 장에: Hunyuan Hy3의 1-bit·4-bit 서빙 해부</title><link href="https://thakicloud.github.io/ko/llmops/hunyuan-hy3-1bit-4bit-single-gpu/" rel="alternate" type="text/html" title="295B를 카드 한 장에: Hunyuan Hy3의 1-bit·4-bit 서빙 해부" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/llmops/hunyuan-hy3-1bit-4bit-single-gpu</id><content type="html" xml:base="https://thakicloud.github.io/ko/llmops/hunyuan-hy3-1bit-4bit-single-gpu/"><![CDATA[<h2 id="개요">개요</h2>

<p>대형 모델을 자체 인프라에서 돌리려는 팀이 가장 먼저 부딪히는 벽은 연산이 아니라 메모리입니다. 295B 규모의 모델을 FP16 그대로 올리려면 약 598GB의 가중치가 GPU 메모리에 상주해야 하고, 이는 H100 80GB 여덟 장을 묶어야 겨우 담기는 크기입니다. 그래서 플래그십 오픈웨이트 모델은 늘 “공개는 되었지만 우리가 실제로 서빙하기는 어렵다”는 애매한 위치에 놓여 있었습니다.</p>

<p>2026년 7월 14일 Tencent Hunyuan이 공개한 Hy3의 1-bit·4-bit GGUF 빌드는 이 지점을 정면으로 겨냥합니다. 295B MoE 모델을 저비트로 압축해 카드 한 장에서 돌아가게 만들었고, 가중치는 Apache 2.0으로 배포되었습니다. Tencent은 X에서 “단일 GPU에서 서빙 가능한 플래그십 규모 295B 모델”이라고 소개하며 llama.cpp와 MTP를 함께 언급했습니다.</p>

<p>이 글은 저비트 모델을 멀티테넌트로 서빙하는 ThakiCloud의 관점에서 Hy3의 양자화 빌드를 읽습니다. 압축이 실제로 무엇을 바꾸는지, “단일 GPU”라는 표현이 왜 조심스럽게 읽어야 하는 문구인지, 그리고 이 흐름이 우리 온프레미스 추론 인프라에 어떤 실무적 의미를 갖는지 순서대로 살펴봅니다. 미리 밝혀두자면 아래 용량과 성능 수치는 전부 Tencent과 커뮤니티가 공개한 보고값이며, ThakiCloud가 직접 재현한 값이 아닙니다.</p>

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

<p>Hy3는 총 295B 파라미터를 가진 Mixture-of-Experts 모델이지만, 토큰 하나를 처리할 때 활성화되는 파라미터는 약 21B입니다. 256K 토큰의 긴 컨텍스트를 지원하고, 에이전트 과제와 코딩, 도구 호출에 초점을 맞춘 모델입니다. 이번에 추가된 것은 새 모델이 아니라 기존 Hy3 가중치의 저비트 GGUF 표현입니다. 두 가지 변형이 공개되었습니다.</p>

<p>1-bit 빌드는 모델 크기를 약 598GB에서 85.5GiB로 줄입니다. 이 크기라면 96GB급 카드 한 장에 가중치가 들어갑니다. 4-bit 빌드는 169.9GiB를 차지해 두 장에 걸쳐 올려야 하지만, 대신 원본에 훨씬 가까운 품질을 유지한다고 보고되었습니다. 두 빌드 모두 llama.cpp로 실행하며, MTP(Multi-Token Prediction)를 켜서 토큰 생성 처리량을 끌어올리도록 설계되었습니다.</p>

<pre><code class="language-mermaid">flowchart TB
    A[Hy3 295B MoE&lt;br/&gt;FP16 약 598GB] --&gt; B{저비트 GGUF 양자화}
    B --&gt;|1-bit| C[85.5GiB&lt;br/&gt;96GB 카드 한 장]
    B --&gt;|4-bit| D[169.9GiB&lt;br/&gt;카드 두 장]
    C --&gt; E[llama.cpp 실행]
    D --&gt; E
    E --&gt; F[MTP 활성화&lt;br/&gt;다중 토큰 예측으로 처리량 향상]
    F --&gt; G[21B 활성 파라미터&lt;br/&gt;토큰당 일부 전문가만 연산]
    G --&gt; H[에이전트·코딩·도구 호출&lt;br/&gt;256K 긴 컨텍스트]
</code></pre>

<p>MoE 구조가 이 압축을 특히 매력적으로 만듭니다. 295B 가운데 토큰마다 실제로 계산에 참여하는 전문가는 21B어치뿐이므로, 연산량 자체는 21B 밀집 모델 수준입니다. 병목은 전적으로 “전체 전문가 가중치를 어디에 상주시키느냐”에 있습니다. 저비트 압축은 바로 그 상주 비용을 공격합니다.</p>

<h2 id="단일-gpu라는-표현을-조심해서-읽어야-하는-이유">“단일 GPU”라는 표현을 조심해서 읽어야 하는 이유</h2>

<p>마케팅 문구에서 가장 오해하기 쉬운 부분이 여기입니다. “단일 GPU에서 서빙”이라는 말은 사실이지만, 여기서 말하는 단일 GPU는 128GB급 통합 메모리를 갖춘 장치를 뜻합니다. DGX Spark, 128GB Mac Studio, Strix Halo 같은 부류입니다. 16GB짜리 RTX 3060 한 장을 떠올렸다면 그 기대는 어긋납니다.</p>

<p>이 구분이 중요한 이유는 실무 계산이 완전히 달라지기 때문입니다. 85.5GiB 가중치를 올리려면 최소 96GB 카드가 필요하고, 여기에 KV 캐시와 활성화 메모리, 그리고 긴 컨텍스트를 쓸 경우의 어텐션 상태까지 얹으면 실사용 여유는 더 줄어듭니다. 256K 컨텍스트를 실제로 채우는 워크로드라면 128GB급이라도 빠듯합니다. “카드 한 장”은 물리적 슬롯 수를 말하는 것이지, 저렴한 하드웨어를 말하는 것이 아닙니다.</p>

<p>그럼에도 이 발표가 의미 있는 이유는 비교 대상이 여덟 장짜리 H100 노드이기 때문입니다. FP16 서빙에 필요하던 다중 GPU 노드가 단일 고용량 카드로 대체된다면, 전력과 상면, 인터커넥트 복잡도가 크게 줄어듭니다. 절대 비용이 낮아지는 것이 아니라, 필요한 시스템의 형태가 근본적으로 단순해지는 것입니다.</p>

<h2 id="1-bit와-4-bit-무엇을-얻고-무엇을-잃는가">1-bit와 4-bit: 무엇을 얻고 무엇을 잃는가</h2>

<p>두 빌드는 서로 다른 선택지를 대표합니다. 1-bit 빌드는 최소 하드웨어에 모델을 밀어 넣는 데 최적화되어 있습니다. 85.5GiB라는 크기는 극단적인 압축의 결과이며, 그만큼 원본 대비 품질 손실을 감수합니다. 반면 4-bit 빌드는 169.9GiB로 두 배 가까운 메모리를 요구하지만, 커뮤니티 보고에 따르면 원본 성능에 거의 근접한 결과를 유지합니다.</p>

<p>여기서 실무적으로 유용한 판단 기준이 나옵니다. 에이전트 워크플로처럼 도구 호출과 긴 추론 체인이 이어지는 과제에서는 작은 품질 저하가 누적되어 최종 결과를 무너뜨리기 쉽습니다. 짧은 질의응답은 1-bit로도 멀쩡해 보이지만, 여러 단계를 거치는 자율 에이전트 작업에서는 4-bit의 여유가 안전 마진으로 작용합니다. 하드웨어 예산이 허락한다면 에이전트 서빙에는 4-bit를 우선 검토하는 편이 합리적입니다.</p>

<p>MTP가 함께 언급되는 것도 이 맥락에서 이해할 수 있습니다. 다중 토큰 예측은 한 번의 전방 계산으로 여러 토큰을 미리 제안하고 검증하는 방식으로, 메모리 대역폭에 묶인 디코딩 단계의 처리량을 끌어올립니다. 저비트 모델은 가중치가 작아 메모리 대역폭 여유가 상대적으로 생기므로, MTP 같은 처리량 기법과 잘 맞물립니다.</p>

<h2 id="설치와-서빙-관점">설치와 서빙 관점</h2>

<p>llama.cpp 기반 GGUF이므로 서빙 흐름 자체는 익숙합니다. GGUF 파일을 받아 <code class="language-plaintext highlighter-rouge">llama.cpp</code>로 로드하고, MTP 옵션을 활성화한 뒤 OpenAI 호환 서버로 노출하는 형태입니다. 개념적으로는 다음과 같은 구조입니다.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 1-bit GGUF 빌드 로드 (개념 예시, 실제 파일명·플래그는 배포 저장소 참조)</span>
./llama-server <span class="se">\</span>
  <span class="nt">--model</span> hy3-295b-1bit.gguf <span class="se">\</span>
  <span class="nt">--ctx-size</span> 262144 <span class="se">\</span>
  <span class="nt">--n-gpu-layers</span> 999 <span class="se">\</span>
  <span class="nt">--draft-max</span> 4          <span class="c"># MTP 계열 다중 토큰 예측</span>
</code></pre></div></div>

<p>FP8이나 더 높은 정밀도로 처리량을 우선하려는 경우에는 llama.cpp 대신 vLLM이나 SGLang에 Expert Parallelism을 결합해 다중 카드로 서빙하는 경로도 커뮤니티에서 문서화되어 있습니다. 저비트 GGUF 경로는 최소 하드웨어에서의 단일 노드 서빙을, vLLM 경로는 처리량과 동시 사용자 수를 각각 겨냥한다고 정리할 수 있습니다.</p>

<p>저희는 이번 글을 위해 실제로 85.5GiB 빌드를 내려받아 추론을 돌리지는 않았습니다. 96GB 이상 통합 메모리라는 하드웨어 요구가 이 드레인 환경의 범위를 벗어나기 때문입니다. 따라서 위 수치는 전부 Tencent과 커뮤니티가 공개한 보고값이며, 정직하게 재현 없음을 밝혀둡니다. 실제 도입을 검토한다면 대상 하드웨어에서 자체 벤치마크로 품질과 처리량을 확인하는 단계가 반드시 필요합니다.</p>

<h2 id="thakicloud-제품-적용-시사점">ThakiCloud 제품 적용 시사점</h2>

<p>이 발표는 ThakiCloud의 <strong>ai-platform</strong> 관점에서 특히 의미가 큽니다. ai-platform은 K8s와 Kueue로 GPU를 스케줄링하고, vLLM을 중심으로 다양한 고객 환경에서 모델을 서빙하는 인프라입니다. 플래그십 규모 모델이 단일 고용량 노드에서 돌아간다는 것은, 멀티테넌트 서빙에서 노드 배치 단위가 단순해진다는 뜻입니다. 여덟 장짜리 H100 노드를 전제로 한 스케줄링 대신, 128GB급 카드 한 장을 하나의 서빙 단위로 다루면 Kueue의 큐 관리와 우선순위 배분이 훨씬 예측 가능해집니다.</p>

<p>온프레미스와 소버린 AI 맥락에서는 이 흐름이 더 직접적입니다. 국내 데이터를 외부로 내보낼 수 없는 고객은 자체 하드웨어에서 모델을 돌려야 하는데, 8-GPU 노드는 조달과 상면, 전력 측면에서 진입 장벽이 높습니다. 단일 128GB급 장치로 플래그십 모델을 서빙할 수 있다면, 소버린 배포의 하드웨어 문턱이 눈에 띄게 낮아집니다. 다만 저비트 품질 저하가 고객 워크로드에서 허용 가능한 수준인지 검증하는 단계는 저희가 소유해야 하는 책임입니다.</p>

<p>에이전트 워크로드 관점에서는 <strong>Paxis</strong>와도 맞닿습니다. Paxis는 ai-platform 위에서 도는 Agent-Native Cloud로, 격리된 샌드박스에서 스킬을 실행하고 모든 행동을 정책 게이트와 감사 로그로 통과시킵니다. Hy3처럼 에이전트와 도구 호출에 특화된 모델을 낮은 하드웨어 비용으로 서빙할 수 있다면, 에이전트 실행 단가가 내려가고 이는 곧 더 많은 자율 워크플로를 경제적으로 돌릴 수 있다는 의미가 됩니다. 저비용 서빙이 에이전트 경제성을 만드는 구조입니다.</p>

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

<p>가장 큰 반론은 “단일 GPU”의 실체입니다. 96GB에서 128GB급 통합 메모리 장치는 여전히 고가이며, 진정한 대중화 하드웨어가 아닙니다. 이 발표를 “이제 누구나 노트북에서 295B를 돌린다”로 읽으면 오해입니다. 정확히는 “다중 GPU 노드가 필요하던 워크로드가 단일 고용량 카드로 내려왔다”입니다.</p>

<p>두 번째로 1-bit 빌드의 품질 손실은 워크로드에 따라 치명적일 수 있습니다. 벤치마크 요약은 “원본에 근접”이라고 말하지만, 이는 대개 4-bit 기준이거나 짧은 과제 위주의 평가일 가능성이 있습니다. 긴 추론 체인과 정밀한 도구 호출이 반복되는 에이전트 과제에서 1-bit가 어떻게 견디는지는 실제 워크로드에서만 확인됩니다.</p>

<p>세 번째로 이 수치들은 아직 독립적으로 폭넓게 검증되지 않았습니다. Tencent과 초기 커뮤니티의 보고에 의존하고 있으며, 다양한 하드웨어와 과제에서의 재현 결과가 쌓이기 전까지는 신중하게 받아들이는 편이 안전합니다. 저희 역시 도입 검토 시에는 공개 수치를 출발점으로만 삼고, 대상 환경에서의 자체 측정을 정본으로 삼을 것입니다.</p>

<p>그럼에도 방향 자체는 분명합니다. 플래그십 오픈웨이트 모델의 서빙 단위가 다중 GPU 노드에서 단일 고용량 카드로 이동하는 흐름은, 온프레미스와 소버린 AI를 다루는 인프라에게 반가운 신호입니다.</p>

<h2 id="출처">출처</h2>

<ul>
  <li><a href="https://x.com/TencentHunyuan/status/2076953120765280284">Tencent Hunyuan, Hy3 1-bit·4-bit 공개 (X)</a></li>
  <li><a href="https://huggingface.co/tencent/Hy3">tencent/Hy3 (Hugging Face)</a></li>
  <li><a href="https://explainx.ai/blog/tencent-hy3-gguf-1-bit-4-bit-single-gpu-llama-cpp-july-2026">Tencent Hy3 GGUF 1-bit·4-bit Single GPU (explainX)</a></li>
  <li><a href="https://www.remio.ai/post/tencent-hunyuan-hy3-quantized-release-1bit-single-card-deployment-4bit-near-full-performance">Hunyuan Hy3 Quantized Release 분석 (Remio)</a></li>
  <li><a href="https://www.spheron.network/blog/deploy-hunyuan-3-gpu-cloud/">Deploy Hunyuan Hy3 with vLLM &amp; Expert Parallelism (Spheron)</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="quantization" /><category term="hunyuan-hy3" /><category term="moe" /><category term="1-bit" /><category term="4-bit" /><category term="gguf" /><category term="llama-cpp" /><category term="mtp" /><category term="inference" /><category term="serving" /><category term="on-prem" /><category term="self-hosting" /><category term="llmops" /><category term="ai-platform" /><summary type="html"><![CDATA[Tencent이 공개한 Hy3 1-bit·4-bit GGUF 빌드는 295B MoE 모델을 598GB에서 85.5GiB까지 줄여 단일 GPU에서 돌립니다. 다만 여기서 말하는 단일 GPU는 128GB급 통합 메모리를 뜻하지, 16GB 소비자 카드가 아닙니다. 저희는 이 압축이 무엇을 얻고 무엇을 감추는지, MTP가 왜 함께 언급되는지, 그리고 플래그십 모델의 단일 노드 서빙이 ThakiCloud의 온프레미스 추론 전략에 어떤 의미인지 짚어봅니다.]]></summary></entry><entry xml:lang="ko"><title type="html">폰 안에서 46%를 90%로: 온디바이스 에이전트를 위한 작은 LLM 파인튜닝</title><link href="https://thakicloud.github.io/ko/llmops/on-device-tiny-llm-finetune-agents/" rel="alternate" type="text/html" title="폰 안에서 46%를 90%로: 온디바이스 에이전트를 위한 작은 LLM 파인튜닝" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/llmops/on-device-tiny-llm-finetune-agents</id><content type="html" xml:base="https://thakicloud.github.io/ko/llmops/on-device-tiny-llm-finetune-agents/"><![CDATA[<h2 id="개요">개요</h2>

<p>작은 모델은 똑똑하지 않다는 통념이 오래갔습니다. 그래서 실무자들은 웬만한 과제를 전부 큰 모델에 던졌고, 그 대가로 지연과 비용과 데이터 유출 위험을 감수했습니다. 그런데 과제를 아주 좁게 잡으면 이야기가 달라집니다. 범용성을 버리고 한 가지 일만 잘하도록 작은 모델을 다듬으면, 그 좁은 영역에서는 큰 모델을 부를 이유가 사라집니다.</p>

<p>Google AI Edge의 Principal Engineer인 Cormac Brick이 발표한 “From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents”는 정확히 이 지점을 겨냥합니다. 270M 파라미터의 FunctionGemma를 특정 에이전트 과제에 맞춰 파인튜닝하자, 정확도가 46%에서 90%로 올랐다는 것이 발표의 제목이자 요지입니다. 이 모델은 Pixel 7에서 초당 약 2,000토큰의 prefill 처리량을 낸다고 보고되었습니다. 모두 폰 안에서, 서버 호출 없이 벌어지는 일입니다.</p>

<p>이 글은 멀티테넌트 추론 인프라를 운영하는 ThakiCloud의 관점에서 이 발표를 읽습니다. 왜 작은 특화 모델이 온디바이스에서 의미를 갖는지, 파인튜닝이 실제로 무엇을 바꾸는지, LiteRT-LM 같은 런타임이 배포를 어떻게 단순화하는지, 그리고 이 흐름이 저희의 서빙 인프라와 에이전트 플랫폼에 어떤 실무적 의미를 갖는지 순서대로 살펴봅니다. 아래에 인용한 정확도와 처리량, 소요 시간 수치는 모두 발표와 관련 보도의 보고값이며, ThakiCloud가 직접 재현한 값이 아닙니다.</p>

<!-- Courtesy of embedresponsively.com -->

<div class="responsive-video-container">
    <iframe src="https://www.youtube-nocookie.com/embed/-TiET_K-E_g" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
  </div>

<p>위 영상은 Cormac Brick의 원 발표 전체입니다. 아래 분석은 이 발표와 공개 보도를 근거로 합니다.</p>

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

<p>FunctionGemma는 Gemma 계열에서 함수 호출(function calling)에 특화된 270M 파라미터 모델입니다. 함수 호출은 온디바이스 에이전트의 핵심 동작입니다. 사용자의 자연어 요청을 앱이 실행할 수 있는 구조화된 도구 호출로 바꾸는 일이기 때문입니다. “내일 오전 9시에 알람 맞춰줘”를 <code class="language-plaintext highlighter-rouge">setAlarm(time="09:00", date="tomorrow")</code> 같은 호출로 변환하는 것이 그 예입니다. 이 변환만 정확하다면, 굳이 수십억 파라미터의 범용 모델을 불러올 필요가 없습니다.</p>

<p>문제는 범용으로 배포된 작은 모델이 특정 앱의 도구 스키마에서는 정확도가 낮다는 점입니다. 발표가 말하는 46%가 바로 그 지점입니다. 여기서 파인튜닝이 등장합니다. 목표 앱의 실제 함수 스키마와 요청 패턴에 맞춰 모델을 좁게 다듬으면, 같은 270M 모델이 90%까지 올라간다는 것입니다.</p>

<pre><code class="language-mermaid">flowchart TB
    A[사용자 자연어 요청&lt;br/&gt;내일 9시 알람] --&gt; B[온디바이스 에이전트]
    B --&gt; C{FunctionGemma 270M}
    C --&gt;|범용 배포| D[정확도 약 46%&lt;br/&gt;앱 스키마 미정렬]
    C --&gt;|과제 특화 파인튜닝| E[정확도 약 90%&lt;br/&gt;실제 함수 스키마 정렬]
    E --&gt; F[구조화된 함수 호출&lt;br/&gt;setAlarm 09:00 tomorrow]
    F --&gt; G[앱이 직접 실행&lt;br/&gt;서버 호출 없음]
    E --&gt; H[LiteRT-LM 런타임&lt;br/&gt;Pixel 7 약 2000 tok/s]
</code></pre>

<h2 id="46에서-90로-파인튜닝이-하는-일">46%에서 90%로: 파인튜닝이 하는 일</h2>

<p>이 격차의 정체를 이해하는 것이 중요합니다. 큰 모델은 방대한 범용 지식으로 낯선 스키마도 어느 정도 추론해 냅니다. 작은 모델은 그 여유가 없습니다. 대신 좁은 분포에 집중시키면, 그 분포 안에서는 큰 모델 못지않게 정확해집니다. 파인튜닝은 모델에게 새로운 지능을 주입하는 것이 아니라, 이미 가진 용량을 목표 과제 쪽으로 몰아주는 작업에 가깝습니다.</p>

<p>발표에 따르면 이 파인튜닝은 대단히 짧은 시간에 끝납니다. 관련 소개에서는 약 21분 만에 학습이 완료된다고 전해집니다. 270M이라는 작은 규모 덕분에 학습 자체가 가볍고, 컨슈머 하드웨어로도 충분히 감당됩니다. 이는 데이터 과학 실무에 직접적인 함의를 갖습니다. 앱마다, 도구 세트마다 별도의 작은 특화 모델을 두고 각각을 짧게 학습시키는 운영 방식이 현실적이라는 뜻입니다. 하나의 거대한 범용 모델로 모든 앱을 커버하는 대신, 과제별로 잘게 나눈 특화 모델 여러 개를 두는 것입니다.</p>

<p>이 발상은 저희가 콘텐츠 배치 작업에서 지켜온 원칙과도 닿아 있습니다. 자유도가 높은 범용 해법보다, 검증된 좁은 골격에 채워 넣는 특화 해법이 평균 품질을 올립니다. 작은 모델의 파인튜닝은 이 원칙을 모델 수준에서 구현한 사례입니다.</p>

<h2 id="온디바이스가-주는-것-지연프라이버시오프라인비용">온디바이스가 주는 것: 지연·프라이버시·오프라인·비용</h2>

<p>발표가 온디바이스를 강조하는 이유는 네 가지로 정리됩니다.</p>

<p>지연이 줄어듭니다. 요청이 네트워크를 왕복하지 않으므로, 함수 호출 변환이 폰 안에서 즉시 끝납니다. 에이전트가 사용자 동작에 실시간으로 반응해야 하는 UI라면 이 차이는 결정적입니다.</p>

<p>프라이버시가 지켜집니다. 사용자의 요청과 개인 데이터가 기기를 벗어나지 않습니다. 헬스, 금융, 메시징처럼 민감한 맥락에서는 데이터가 서버로 나가지 않는다는 사실 자체가 제품의 요건이 됩니다.</p>

<p>오프라인에서 동작합니다. 네트워크가 없어도 에이전트가 기능합니다. 클라우드 모델은 연결이 끊기면 무력해지지만, 온디바이스 모델은 그렇지 않습니다.</p>

<p>비용이 사라집니다. 추론이 기기에서 일어나므로 토큰당 API 과금이 없습니다. 사용량이 많은 앱일수록 이 절감은 커집니다.</p>

<h2 id="litert-lm과-배포-스택">LiteRT-LM과 배포 스택</h2>

<p>작은 모델을 학습하는 것과 그것을 수많은 기기에 배포하는 것은 별개의 문제입니다. 발표는 LiteRT-LM을 배포 런타임으로 제시합니다. LiteRT-LM은 Gemma 4 같은 모델을 모바일부터 임베디드 시스템까지 폭넓은 하드웨어에 올릴 수 있게 하는 런타임입니다. 여기에 AI Core를 결합하면 온디바이스 에이전트 스킬을 구동할 수 있다고 설명합니다.</p>

<p>핵심은 하나의 모델을 다양한 하드웨어에 일관되게 배포하는 경로가 갖춰져 있다는 점입니다. 학습된 특화 모델을 각 기기의 가속기에 맞춰 다시 짜맞추는 수고 없이, 런타임이 그 이질성을 흡수합니다. 이것이 온디바이스 에이전트를 실험 수준에서 제품 수준으로 끌어올리는 실무적 조건입니다.</p>

<h2 id="thakicloud-제품-적용-시사점">ThakiCloud 제품 적용 시사점</h2>

<p>온디바이스 특화 모델의 흐름은 클라우드 서빙을 운영하는 저희에게 반대 방향의 신호처럼 보일 수 있지만, 실제로는 두 제품 모두에 직접적인 함의를 줍니다.</p>

<p><strong>ai-platform 렌즈.</strong> 작은 특화 모델의 부상은 서빙 인프라의 초점을 바꿉니다. ThakiCloud의 ai-platform은 K8s와 Kueue 기반 GPU 스케줄링, 멀티테넌트 격리, 온프레미스 서빙을 제공합니다. 여기서 온디바이스 파인튜닝이 던지는 질문은 “모든 것을 온디바이스로 보내면 서버는 필요 없어지는가”가 아닙니다. 오히려 반대입니다. 앱마다 별도의 특화 모델을 짧게 학습시키려면, 그 학습 잡을 저비용으로 대량 돌릴 인프라가 필요합니다. 270M 모델의 21분짜리 파인튜닝을 수백 개의 도구 세트에 대해 반복하는 워크로드는, Kueue가 GPU를 큐잉하고 멀티테넌트로 격리하는 인프라가 정확히 겨냥하는 종류입니다. 학습은 서버에서, 추론은 기기에서라는 분업이 자연스러운 귀결입니다.</p>

<p>동시에 모든 조직이 기기 추론만으로 충분하지는 않습니다. 더 큰 컨텍스트나 복잡한 추론이 필요한 순간에는 여전히 서버 모델이 개입합니다. 이때 소스 데이터를 외부 클라우드로 보내기 꺼리는 조직에게는 온프레미스 서빙과 self-hosting이 중요해집니다. 낮은 서빙 비용에서 경쟁력을 갖추는 것이 이 조직들을 붙잡는 핵심입니다.</p>

<p><strong>Paxis 렌즈.</strong> FunctionGemma의 본질은 자연어를 구조화된 도구 호출로 바꾸는 것입니다. 이것은 Paxis가 하는 일의 축소판입니다. Paxis는 ThakiCloud의 Agent-Native Cloud로, 960개가 넘는 스킬을 BM25로 선택해 격리 샌드박스에서 실행하고, 모든 행동을 정책 게이트와 감사 로그로 통과시킵니다. 온디바이스 에이전트가 좁은 도구 세트에 대한 함수 호출을 폰에서 처리한다면, Paxis는 훨씬 넓은 스킬 공간에 대한 도구 라우팅을 클라우드에서 처리합니다. 두 층은 경쟁하지 않고 보완합니다. 가벼운 로컬 의도 해석은 기기가, 복잡한 멀티에이전트 오케스트레이션과 감사가 필요한 작업은 Paxis가 맡는 계층 구조가 그려집니다.</p>

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

<p>이 접근에도 분명한 한계가 있습니다.</p>

<p>첫째, 특화의 대가는 범용성입니다. 46%를 90%로 올린 그 모델은 학습된 좁은 과제에서만 강합니다. 도구 스키마가 바뀌거나 새로운 앱 영역으로 넘어가면 다시 파인튜닝해야 합니다. 앱과 도구가 자주 바뀌는 환경에서는 유지보수 부담이 그만큼 커집니다.</p>

<p>둘째, 90%가 충분한가는 과제에 달렸습니다. 함수 호출을 잘못하면 잘못된 동작을 실행하는 것이므로, 실패 비용이 큰 도메인에서는 10%의 오류가 치명적일 수 있습니다. 이 경우 온디바이스 결과를 서버 모델이 검증하는 이중 구조가 필요해집니다.</p>

<p>셋째, 학습이 21분이라는 수치는 규모와 하드웨어에 크게 의존합니다. 데이터 준비, 스키마 정렬, 평가까지 포함한 실제 운영 비용은 학습 시간만으로 판단할 수 없습니다. 발표의 인상적인 수치는 잘 정돈된 조건에서의 값임을 감안해야 합니다.</p>

<p>넷째, 온디바이스 배포는 기기 파편화와 마주합니다. LiteRT-LM이 이질성을 흡수한다고 해도, 실제 기기별 성능과 메모리 제약은 여전히 개별 검증을 요구합니다.</p>

<p>그럼에도 작은 특화 모델을 기기에서 돌린다는 방향은 설득력이 있습니다. 지연, 프라이버시, 오프라인, 비용이라는 네 가지 이점이 동시에 성립하는 지점이기 때문입니다. 저희에게 이 흐름은 서버가 필요 없어진다는 신호가 아니라, 학습과 추론의 분업이 어디에 놓여야 하는지를 다시 그리게 하는 신호입니다.</p>

<h2 id="출처">출처</h2>

<ul>
  <li><a href="https://www.youtube.com/watch?v=-TiET_K-E_g">From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents - Cormac Brick, Google (YouTube)</a></li>
  <li><a href="https://www.startuphub.ai/ai-news/ai-research/2026/google-s-cormac-brick-on-tiny-llms-for-on-device-agents">Google’s Cormac Brick on Tiny LLMs for On-Device Agents - StartupHub.ai</a></li>
  <li><a href="https://ai.google.dev/gemma/docs/mobile-actions">Fine-tune FunctionGemma 270M for Mobile Actions - Google AI for Developers</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="on-device" /><category term="fine-tuning" /><category term="functiongemma" /><category term="gemma" /><category term="litert-lm" /><category term="edge-ai" /><category term="small-language-model" /><category term="function-calling" /><category term="serving" /><category term="self-hosting" /><category term="llmops" /><category term="paxis" /><summary type="html"><![CDATA[Google AI Edge의 Cormac Brick은 270M 파라미터의 FunctionGemma를 파인튜닝해 특정 에이전트 과제에서 정확도를 46%에서 90%로 끌어올린 사례를 발표했습니다. 핵심은 큰 모델을 부르는 대신, 작은 모델을 좁은 과제에 맞춰 폰 위에서 돌리는 것입니다. 저희는 이 접근이 왜 지연·프라이버시·비용을 동시에 잡는지, 그리고 온디바이스 특화 모델의 흐름이 ThakiCloud의 서빙 인프라와 에이전트 플랫폼에 무엇을 의미하는지 짚어봅니다.]]></summary></entry></feed>