Benchmarking a model on broad leaderboards tells you how well it handles trivia and standardized tests. It tells you almost nothing about how it will reason through the messy, constrained problems your production systems actually face. Before you ship any large language model to users, you need a harness that stresses the specific cognitive patterns your application demands. Reasoning benchmarks are where models separate themselves from chatbots.
This guide walks through building a focused reasoning benchmark from scratch. You will compare three distinct architectures: DeepSeek R1 671B MoE, Llama 3.3 70B, and Qwen 3 32B. Rather than cobbling together GPU clusters, you will run all three through Oxlo.ai. For evaluation, you will use Kimi K2.6 as a judge to score outputs on reasoning clarity, correctness, and code quality.
Why Reasoning Breaks First
Production failures rarely look like grammatical errors or refusals. They look like subtle logical mistakes. A model might generate confident prose while misunderstanding a constraint, skipping a step, or silently changing a variable mid-stream. Public benchmarks often weight breadth over depth, so a model can score well without ever solving a hard combinatorial problem.
A targeted benchmark forces the issue. It gives every model the same constrained optimization task, demands a traceable chain of thought, and measures whether the generated solution actually satisfies the rules. If a model cannot consistently reason through discrete math, it will not reliably handle your inventory allocation, scheduling engine, or resource router either.
The Models and the Platform
DeepSeek R1 671B MoE uses a mixture-of-experts design. Only a fraction of its 671 billion parameters activate for any given token, which changes the cost-to-performance curve and sometimes the texture of its reasoning. Llama 3.3 70B is a dense model, and Qwen 3 32B sits at a smaller scale with strong multilingual and coding chops. Comparing these three tells you whether reasoning quality tracks with total parameter count, active parameter count, or training methodology.
Oxlo.ai hosts these models behind a unified API. You do not manage inference infrastructure or wrestle with separate provider agreements. The platform also uses per-request pricing rather than per-token pricing. A two-thousand-word system prompt costs exactly the same as a terse one-liner. That detail matters more than it sounds. It means you can write exhaustive instructions, include detailed formatting requirements, and embed few-shot examples without watching input token costs balloon. You pay for the call, not the verbosity.
You will need Python 3.10 or newer, the OpenAI Python library, and an Oxlo.ai API key.
Step 1: Connect to the Endpoint
Because Oxlo.ai exposes an OpenAI-compatible API, integration is straightforward. Point the OpenAI SDK at the Oxlo base URL, plug in your API key, and verify the connection with a lightweight request to DeepSeek R1. Do not skip the sanity check. Confirm latency, confirm that the model identifier is recognized, and make sure your environment can stream or buffer the response format you intend to store. Once the handshake works, you have a single client that can address all three models by changing one string.
Step 2: Design the Task
Pick a problem that demands step-by-step logic and has an objectively measurable answer. Bin-packing works exceptionally well. It is NP-hard, which means greedy heuristics fail in predictable ways, and it forces the model to track multiple constraints simultaneously. Items of varying sizes must fit into bins of fixed capacity without exceeding limits.
Frame the prompt so the model must do two things: describe its reasoning process, then provide working Python code that solves the instance. Use a system prompt that explicitly requires the model to show its chain-of-thought before writing any code. This is especially important for DeepSeek R1, which is optimized for extended reasoning traces. You want to see whether the model is thinking through capacity checks or just pattern-matching against training data. A good task is adversarial enough that template responses fail.
Step 3: Run the Benchmark
همان پرامپت یکسان را به DeepSeek R1، Llama 3.3 70B و Qwen 3 32B بدهید. تمام پاسخهای متنی را ثبت کنید، نه فقط بلوکهای کد نهایی را. آنها را با برچسب زمانی و شناسههای مدل ذخیره کنید. از آنجایی که Oxlo.ai به ازای هر درخواست هزینه دریافت میکند، نیازی نیست پرامپت خود را کوتاه کنید یا دستورالعملهای شفافسازی را برای صرفهجویی در هزینه حذف کنید. شما میتوانید دقیق باشید. این پایداری به شما اجازه میدهد بدون نگرانی از هزینه، روی طراحی پرامپت تکرار (iterate) کنید، که منجر به آزمایشهای تمیزتر و نتایج بازتولیدپذیرتر میشود.
اگر بودجهتان اجازه میدهد، هر مدل را چندین بار اجرا کنید. مدلهای استدلالی (Reasoning models) میتوانند در تولیدات تصادفی (stochastic generations) متفاوت باشند، و شما میخواهید بدانید که آیا یک امتیاز بالا نشاندهنده شایستگی مداوم است یا یک نمونه خوششانس.
مرحله ۴: امتیازدهی با یک داور LLM
امتیازدهی دستی قابلیت مقیاسپذیری ندارد، اما معیارهای عددی (numeric rubrics) به تنهایی ظرافتها را از دست میدهند. راه حل میانه، استفاده از یک داور LLM است. در اینجا، شما از Kimi K2.6 استفاده خواهید کرد. مسئله اصلی، معیار (rubric) و هر پاسخ کاندید را به آن بدهید. از آن بخواهید سه بعد خاص را ارزیابی کند:
- وضوح استدلال: آیا توضیح واقعاً منطق را دنبال میکند یا فقط کلیگویی میکند؟
- صحت: آیا راه حل پیشنهادی تمام محدودیتهای بیان شده را رعایت میکند؟
- کیفیت کد: آیا کد Python تمیز، قابل اجرا و بدون باگهای آشکار است؟
به داور دستور دهید که امتیازها را در قالب JSON بازگرداند. خروجی ساختاریافته، مقایسه نتایج (diff)، ترسیم روندها و تغذیه اتوماسیونهای پاییندستی را بسیار آسان میکند. دستورالعمل (prompt) داور را سختگیرانه نگه دارید. اگر دستور مبهمی مثل "به پاسخ امتیاز بده" به آن بدهید، نتایج مبهمی خواهید گرفت. در عوض، تعریف کنید چه چیزی یک راه حل صحیح برای مسئله bin-packing محسوب میشود. ظرفیتها نباید از حد مجاز فراتر روند. هر آیتم باید اختصاص داده شود. کد باید از نظر سینتکس معتبر باشد. هرچه معیارهای شما ملموستر باشد، نمرات شما قابلاعتمادتر خواهد بود.
همیشه داور را به صورت موردی بررسی کنید (spot-check). اگر Kimi K2.6 به دلیل ظواهر سطحی، همواره به یک مدل امتیاز بیش از حد میدهد، بنچمارک شما خراب است. یک لایه بازرسی انسانی کوچک از ارزیابیهای "ورودی زباله، خروجی زباله" (garbage-in-garbage-out) جلوگیری میکند.
مرحله ۵: ساخت گزارش
امتیازهای JSON را تجمیع کرده و آنها را با بخشهایی از خروجیهای خام مدل جفت کنید. همه چیز را در یک فایل واحد که در مخزن (repository) شما قرار دارد، قرار دهید. وقتی نسخه یک مدل را بهروزرسانی میکنید یا پرامپت را تغییر میدهید، تفاوت (diff) در pull request شما دقیقاً نشان میدهد که رفتار چگونه تغییر کرده است. یک بنچمارک که به خوبی نگهداری شود، به یک مستندات زنده تبدیل میشود. این کار توجیه میکند که چرا خط لوله (pipeline) تولیدی شما از یک مدل نسبت به مدل دیگر استفاده میکند و باعث میشود رگرسیونهای خاموش را قبل از رسیدن به کاربران شناسایی کنید.
گزارش را طوری ساختاردهی کنید که همتیمی شما بتواند بدون اجرای کد آن را بخواند. بیان مسئله، قالب پرامپت، امتیازها و نقلقولهای معرف از روند استدلال هر مدل را شامل شود. شفافیت اهمیت دارد. اگر DeepSeek R1 امتیاز بالایی میگیرد اما یک محدودیت را دچار توهم (hallucinate) میشود، میخواهید آن را در متن نقلقول ببینید، نه اینکه در یک میانگین پنهان شده باشد.
خودکارسازی خط لوله (Pipeline)
بنچمارکی که فقط روی لپتاپ شما باشد، ظرف یک هفته فراموش میشود. آن را به یک وظیفه CI شبانه منتقل کنید. هر شب، سیستم اجراکننده (harness) بالا میآید، نسخههای فعلی مدلها را در Oxlo.ai فراخوانی میکند، وظیفه bin-packing را اجرا میکند، خروجیها را امتیازدهی میکند و نتایج را کامیت (commit) میکند. اگر بهروزرسانی یک مدل باعث افت ده امتیازی در صحت عملکرد شود، قبل از کاربران متوجه خواهید شد.
وقتی سیستم اصلی پایدار شد، آن را گسترش دهید. انواع با متن طولانی (long-context) را با پر کردن پرامپت با اسناد بیربط و سپس قرار دادن سوال bin-packing در انتها، آزمایش کنید. پنجرههای بافت (context windows) بزرگ اگر استدلال در حضور نویز فرو بپاشد، بیفایده هستند. ببینید کدام مدلها وقتی سیگنال در میان ده هزار توکنِ حواسپرتی دفن شده است، نظم منطقی خود را حفظ میکنند.
نتیجهگیری اصلی
جدولهای ردهبندی عمومی (leaderboards) دانش عمومی را میسنجند. اپلیکیشن شما چیزی محدودتر و دشوارتر را میسنجد. یک سیستم اجرای ساده و تکرارپذیر که مدلها را مجبور میکند از طریق بهینهسازی محدودشده (constrained optimization) استدلال کنند، با معیارهای ثابت به آنها امتیاز دهد و نتایج را در git نسخهبندی کند، نسبت به هر امتیاز تجمعی، بینش کاربردیتری به شما میدهد. بنچمارکی بسازید که با مسئله شما سازگار باشد، آن را روی معماریهایی که برایتان مهم است اجرا کنید و اجازه دهید نتایج، انتخاب تولیدی شما را تعیین کنند.
Source: DeepSeek R1 Model Architecture and Benchmarks
Community: GyaanSetu AI on Telegram
