Breaking
Advertisement

AI

AI

Nace AI Releases Drex for Search for AI Agents: 92.05% on BrowseComp-Plus With 12.6 Search Calls

Nace AI has released Drex for Search, which brings its Drex decision models to document search. Drex for Search is a retrieval layer that helps people and agents find evidence. Coding agents such as Claude Code, Codex, Cursor and OpenCode call it through CLI, SDKs, MCP or REST. In Nace’s evaluation, it scores 92.05% on BrowseComp-Plus with GPT-5, using 12.6 search calls per question. TL;DR Size: a hosted search system built to search over 1M+ files. It pairs with an answering model such as GPT-5, Gemini 3.5 Flash or Qwen 27B. Runs on: Nace’s managed cloud, a dedicated cloud, your own AWS or Azure account, or on-prem and air-gapped. Performance: ranked #1 or #2 on 3 of 4 public leaderboards, per Nace. Best: 77.5% R@1 on VisDocAgentBench, 10 points above Claude Opus 5 (67.5%). What did Nace AI release? Nace AI frames search as a series of decisions. Drex for Search applies its Drex models to those decisions. Drex scores given options with a calibrated probability each, in 1 forward pass. That makes it cheap enough for every agent step. The release targets classic RAG, which Nace sums up as chunk, embed, top-k, hope. The pipeline breaks in 3 cases: the answer sits in a table on page 23 the answer needs 2 hops across files the answer is inside a scanned PDF How does Drex for Search work inside an agent? Nace describes 3 steps: Classify: Before any search runs, Drex decides if the question needs a quick lookup or an agent. The agent route reads documents and queries tables. Squeeze: Drex walks the workspace level by level: folder, file, section, page. Inside a sheet, it narrows to table and column. Each level keeps only what can hold the answer. Answer: Only the kept pages and tables reach the LLM. The answer cites the file and page. Depth is fixed, so Nace says a million files take as many steps as a thousand. How much does it help coding agents? Nace AI tested 9 agent and model pairs on OfficeQA Pro, a 133-question benchmark over U.S. Treasury Bulletins. Key highlights: 6% more answers right, 62% fewer steps, 56% fewer tokens, and 2.3x faster. What does a workspace include? Files: PDFs and scans, xlsx, csv and Parquet, mp3 and mp4, docx, pptx, md, json and txt. Citations: every answer names the file and the page, row or minute it came from. Workspaces: isolated, with their own index and knowledge graph, and shareable with invited members. Storage: upload files or folders, or keep workspaces in your own S3 bucket or Azure Blob container. Zero retention: available with your own storage. Domains: Tax, M&A, SEC 10-K, Contracts, or your own. How does it perform on BrowseComp-Plus? BrowseComp-Plus asks a deep-research agent 830 multi-hop questions over about 100K fixed web documents. With GPT-5, Nace AI reports: 92.05% accuracy, #2 of 86 entries on the leaderboard. 12.61 search calls per question, 16.6x fewer than the only entry ahead (209.27 calls). 87.32% in a single pass with 8.93 search calls, the best of any entry under 10 calls. +20.4 points over the Qwen3-Embed-8B baseline, with the same GPT-5 model. window.addEventListener("message",function(e){if(e.data&&e.data.mtpEmbed==="mtp-drexsearch-a2"){var f=document.getElementById("mtp-drexsearch-a2-frame");if(f)f.style.height=e.data.h+"px";}}); How does it score on document benchmarks? On VisDocAgentBench, an agent finds 1 target page among 2,375 arXiv pages. Drex for Search scores 77.5% R@1 with an open-weight Qwen 27B planner. The best published agent, Claude Opus 5, scores 67.5%. R@1 is 97.5% on direct questions, 77.5% on one bridge, and 57.5% on two. On MADQA, agents answer over 800 PDFs and cite pages. Nace reports 94.7% accuracy with Gemini 3.5 Flash and a page-attribution F1 of 88.2. Its effort calibration (Kuiper) is 6.66. Nace ranks it #1, based on the leaderboard as read on October 20. With open-weight Qwen 27B, Nace reports 93.4%. On EnterpriseRAG-Bench, with 500,000+ internal company documents, Nace reports an overall score of 88.22, which it ranks #3. That is 27.2 points above OpenAI File Search (61.03). How does it compare with the best published results? Ranks and scores are as published by Nace AI, from leaderboards read October 20, 2026. How can developers get access? Drex for Search runs in the Nace API Console, with 4 ways in on one key: CLI: nace-cli on PyPI. SDKs: nace-sdk for Python and nace-sdk for TypeScript. MCP: nace-mcp, for Claude Code, Codex, Cursor or OpenCode. REST: an OpenAPI spec. Key Takeaways Drex for Search gives agents cited pages and tables, not top-k chunks. 92.05% on BrowseComp-Plus with 16.6x fewer search calls than the only entry ahead. 77.5% R@1 on VisDocAgentBench, 10 points above Claude Opus 5. On OfficeQA Pro, agent turns fell for all 9 harness and model pairs Nace tested. Check out the Drex for Search page, API Console, Docs and Hugging Face. Thanks to the Nace AI team for the thought leadership / resources for this article. This article is sponsored by Nace AI. The post Nace AI Releases Drex for Search for AI Agents: 92.05% on BrowseComp-Plus With 12.6 Search Calls appeared first on MarkTechPost.

Advertisement
AI

Tsinghua AI Open-Sources AKV, a Cache Engineering Server for LLM Agents on SGLang

Tsinghua University and CUHK researchers open-sourced AKV, a serving system for KV cache engineering in LLM agents. Instead of summarizing old history, agents drop selected KV cache entries and keep reusing the rest. Across 3 models and 4 agent benchmarks, average cost falls 27.7%. Average task score rises 1.7 points. The code is Apache-2.0 licensed and builds on SGLang. TL;DR What it is: Serving system plus policy library, no weights. Tested on GPT-OSS-120B (5.1B active), MiniMax-M2.7 (230B total, 10B active) and MiroThinker-1.7-Mini (30B total, 3B active). Runs on: NVIDIA GPUs via SGLang. Paper used 8 A800-80GB GPUs in BF16. Quick start serves GPT-OSS-120B on 2 GPUs (tensor parallel 2). Performance: 27.7% lower average cost and +1.7 points average score versus threshold summarization. Best: GPT-OSS-120B on SWE-bench Verified: cost per task 20.0 to 9.7 cents, score 40.0 to 43.2. Worst: MiniMax-M2.7 on BrowseComp-Plus scores 58.9, 3.4 points below Text Engineering’s 62.3. What is cache engineering, and how is it different from context engineering? AKV is a Tsinghua serving system that lets LLM agents drop and reposition their own KV cache. Context engineering trims or summarizes the text history. Editing that prefix invalidates every later KV state. The retained suffix must then be re-prefilled. Harnesses therefore summarize late and aggressively, which can lose details from middle rounds. Cache engineering leaves the text trajectory untouched. It only changes which KV entries stay visible to attention. Retained entries are reused without recomputation. They can still carry information from dropped messages. In the research paper’s cost analysis, KV cache reads made up 82.4% of total API cost. How does AKV work? AKV defines 3 cache operations. Append is the standard update for new tokens. Drop removes selected entries from future attention without changing positions. Repos rewrites retained keys to positions 0 through r-1 using a RoPE rotation. Values stay unchanged, so no hidden states are recomputed. In ablations, adding Repos raised GPT-OSS-120B’s BrowseComp-Plus pass rate from 55% to 62%. The hard part is serving. Identical tokens can produce different cache states under different operation histories. Plain prefix matching could reuse the wrong states. AKV extends SGLang’s radix tree with drop and reposition nodes. It frees dropped KV only when no active request still needs it. Segment-batch attention restores evicted states in 1 prefill pass. What does the AKV API look like? The interface is stateless and OpenAI-compatible. Clients send the full message history and two optional fields. drop_message maps a trigger message index to the messages to drop. reposition lists the indices after which positions get compacted. A CachePolicy builds those fields from a trigger, a selector and a reposition rule. Built-in policies are turn-based, token-based or model-based. A CacheTool lets the model call drop_context itself. How does AKV perform on agent benchmarks? The main policy is a tool-response rolling drop that keeps the latest 12 tool responses. The Standard baseline summarizes at 96K tokens (192K for MiroThinker). Text Engineering summarizes at 48K. Benchmarks are BrowseComp-Plus, GAIA-Text, SWE-bench Verified and xbench-DeepSearch-2510. Average pass rate (%) and cost (US cents per task) across 4 benchmarks. Source: Table 1 of the paper. AKV also cuts cost 21.9% versus Text Engineering. The accuracy gap opens on long runs. On BrowseComp-Plus at 96K tokens and above, GPT-OSS-120B scores 37% with AKV. Standard scores 24% and Text Engineering 32%, per the project page. Costs are API-equivalent estimates from published rates. Repositioned tokens are charged at the cache-hit rate, a deliberately conservative choice. <iframe id="mtp-akv-frame" title="AKV cache engineering interactive explainer" loading="lazy" style="width:100%;height:600px;border:0;display:block;background:transparent;" scrolling="no" srcdoc="<title>AKV explainer</title>html,body{margin:0;padding:0;background:transparent}<div id="mtp-akv"> #mtp-akv{--bg:#160a1b;--card:#21102a;--card2:#2b1636;--line:#3f2450;--ink:#f3eaf6;--mute:#b9a4c4;--pur:#660874;--pur2:#a64bbd;--pur3:#d59be6;--grn:#76B900;--warn:#ffb347; max-width:880px!important;margin:0 auto!important;background:var(--bg)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:16px!important; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif!important;padding:22px 22px 14px!important;box-sizing:border-box!important;line-height:1.5!important;overflow:hidden} #mtp-akv *{box-sizing:border-box} #mtp-akv hr,#mtp-akv p:empty,#mtp-akv del,#mtp-akv s{display:none!important} #mtp-akv .hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap} #mtp-akv .tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--pur3)!important;font-weight:700} #mtp-akv h3{margin:4px 0 2px!important;font-size:22px!important;line-height:1.25!important;color:var(--ink)!important;font-weight:800!important;border:0!important;padding:0!important;background:none!important} #mtp-akv .sub{color:var(--mute)!important;font-size:13.5px;margin:0} #mtp-akv .pill{background:var(--card2)!important;border:1px solid var(--line)!important;border-radius:999px;padding:6px 12px;font-size:12px;color:var(--pur3)!important;white-space:nowrap} #mtp-akv .tabs{display:flex;gap:6px;margin:16px 0 14px;flex-wrap:wrap} #mtp-akv .tab{background:var(--card)!important;color:var(--mute)!important;border:1px solid var(--line)!important;border-radius:10px;padding:8px 13px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s} #mtp-akv .tab:hover{color:var(--ink)!important;border-color:var(--pur2)!important} #mtp-akv .tab.on{background:var(--pur)!important;color:#fff!important;border-color:var(--pur2)!important;box-shadow:0 0 0 3px rgba(166,75,189,.25)} #mtp-akv .panel{display:none;background:var(--card)!important;border:1px solid var(--line)!important;border-radius:14px;padding:18px;animation:mtpakvIn .35s ease} #mtp-akv .panel.on{display:block} @keyframes mtpakvIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}} #mtp-akv .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center} #mtp-akv .btn{background:var(--card2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:9px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .2s} #mtp-akv .btn:hover{border-color:var(--pur2)!important} #mtp-akv .btn.on{background:var(--pur2)!important;color:#fff!important;border-color:var(--pur3)!important} #mtp-akv .lbl{font-size:12px;color:var(--mute)!important;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:14px 0 6px} #mtp-akv .note{font-size:13px;color:var(--mute)!important;margin:12px 0 0;min-height:40px} #mtp-akv .note b{color:var(--ink)!important} /* kv lanes */ #mtp-akv .lane{display:flex;gap:6px;align-items:flex-end;min-height:64px;padding:10px;border-radius:10px;background:var(--bg)!important;border:1px dashed var(--line)!important;flex-wrap:wrap} #mtp-akv .blk{width:60px;height:46px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:15px;position:relative;transition:all .45s cubic-bezier(.2,.8,.2,1);color:#fff!important} #mtp-akv .blk small{font-size:9.5px;font-weight:600;opacity:.85} #mtp-akv .k-u{background:#5a3a6a!important}#mtp-akv .k-a{background:#7d2f93!important}#mtp-akv .k-t{background:#a64bbd!important}#mtp-akv .k-n{background:var(--grn)!important;color:#0d1400!important} #mtp-akv .blk.drop{opacity:.18;transform:scale(.86);filter:grayscale(1);outline:2px dashed #b9a4c4} #mtp-akv .blk.re{animation:mtpakvRe .9s ease infinite} @keyframes mtpakvRe{0%,100%{box-shadow:0 0 0 0 rgba(255,179,71,.0)}50%{box-shadow:0 0 0 4px rgba(255,179,71,.85)}} #mtp-akv .blk.new{animation:mtpakvPop .5s ease} @keyframes mtpakvPop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}} #mtp-akv .blk.mv{outline:2px solid var(--pur3)} #mtp-akv .cmp{display:grid;grid-template-columns:1fr 1fr;gap:14px} #mtp-akv .box{background:var(--card2)!important;border:1px solid var(--line)!important;border-radius:12px;padding:12px} #mtp-akv .box h4{margin:0 0 8px!important;font-size:14px!important;color:var(--ink)!important;border:0!important;padding:0!important} #mtp-akv .meter{height:8px;border-radius:6px;background:var(--bg)!important;overflow:hidden;margin-top:8px} #mtp-akv .meter i{display:block;height:100%;background:var(--warn)!important;transition:width .8s ease} #mtp-akv .mtxt{font-size:11.5px;color:var(--mute)!important;margin-top:4px} /* bars */ #mtp-akv .bars{display:flex;flex-direction:column;gap:9px} #mtp-akv .bar{display:grid;grid-template-columns:120px 1fr 70px;gap:10px;align-items:center;font-size:13px} #mtp-akv .bar .nm{color:var(--mute)!important} #mtp-akv .bar .tr{height:22px;border-radius:6px;background:var(--bg)!important;overflow:hidden} #mtp-akv .bar .fl{height:100%;width:0;border-radius:6px;transition:width .9s cubic-bezier(.2,.8,.2,1)} #mtp-akv .bar .v{font-weight:800;text-align:right;color:var(--ink)!important;font-variant-numeric:tabular-nums} #mtp-akv .c-s{background:#6b5a73!important}#mtp-akv .c-t{background:#9c7aa8!important}#mtp-akv .c-a{background:linear-gradient(90deg,#7d2f93,#d59be6)!important} #mtp-akv .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px} #mtp-akv input[type=range]{width:100%;accent-color:#a64bbd} #mtp-akv .big{font-size:28px;font-weight:800;color:var(--pur3)!important;line-height:1.1} #mtp-akv .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:4px} #mtp-akv .stat{background:var(--card2)!important;border:1px solid var(--line)!important;border-radius:10px;padding:10px} #mtp-akv .stat span{display:block;font-size:11.5px;color:var(--mute)!important;margin-top:2px} #mtp-akv ul.lim{margin:0!important;padding:0!important;list-style:none!important} #mtp-akv ul.lim li{background:var(--card2)!important;border:1px solid var(--line)!important;border-left:3px solid var(--warn)!important;border-radius:8px;padding:9px 12px;margin:0 0 8px!important;font-size:13.5px;color:var(--ink)!important;cursor:pointer} #mtp-akv ul.lim li em{display:none;font-style:normal;color:var(--mute)!important;font-size:12.5px;margin-top:4px} #mtp-akv ul.lim li.open em{display:block} #mtp-akv pre,#mtp-akv code{background:var(--bg)!important;color:var(--pur3)!important;border:1px solid var(--line)!important;border-radius:8px;font-family:ui-monospace,Menlo,Consolas,monospace!important;font-size:12px!important} #mtp-akv pre{padding:10px!important;margin:10px 0 0!important;white-space:pre-wrap!important;overflow:auto} #mtp-akv code{padding:1px 5px} #mtp-akv .ft{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--mute)!important;margin-top:12px} #mtp-akv .ft a{color:var(--pur3)!important;text-decoration:none} #mtp-akv .ft .mtp{color:#76B900!important;font-weight:700} #mtp-akv .lg{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--mute)!important;margin-top:8px} #mtp-akv .lg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px} @media (max-width:640px){ #mtp-akv{padding:16px 14px 12px!important} #mtp-akv h3{font-size:18px!important} #mtp-akv .cmp,#mtp-akv .grid2{grid-template-columns:1fr} #mtp-akv .stats{grid-template-columns:repeat(2,1fr)} #mtp-akv .blk{width:46px;height:40px;font-size:13px} #mtp-akv .bar{grid-template-columns:86px 1fr 58px;font-size:12px} #mtp-akv .tab{padding:7px 10px;font-size:12px} } <div class="hd"> <div> <div class="tag">Tsinghua University · arXiv 2610.28577</div> <h3>AKV: KV Cache Engineering for LLM Agents</h3> <p class="sub">Agents drop and reposition KV cache instead of rewriting their text history.</p> </div> <div class="pill">−27.7% avg cost · +1.7 pts avg score</div> </div> <div class="tabs" role="tablist"> <button class="tab on" data-t="p1">1 · The idea</button> <button class="tab" data-t="p2">2 · Cache operations</button> <button class="tab" data-t="p3">3 · Benchmarks</button> <button class="tab" data-t="p4">4 · Serving speed</button> <button class="tab" data-t="p5">5 · Limits</button> </div> <!-- P1 --> <div class="panel on" id="mtp-akv-p1"> <div class="row"><button class="btn on" id="mtp-akv-play"> Trim old tool result A</button><button class="btn" id="mtp-akv-reset">Reset</button></div> <div class="cmp" style="margin-top:12px"> <div class="box"><h4>Context engineering (summarize text)</h4> <div class="lane" id="mtp-akv-ce"></div> <div class="meter"><i id="mtp-akv-cem" style="width:0%"></i></div> <div class="mtxt" id="mtp-akv-cet">Re-prefill work: 0 blocks</div> </div> <div class="box"><h4>Cache engineering (AKV drop)</h4> <div class="lane" id="mtp-akv-ae"></div> <div class="meter"><i id="mtp-akv-aem" style="width:0%"></i></div> <div class="mtxt" id="mtp-akv-aet">Re-prefill work: 0 blocks</div> </div> </div> <p class="note" id="mtp-akv-n1">Both agents hold a user prompt, assistant turns and tool results. Press the button to remove old tool result <b>A</b>.</p> <div class="lg"><span><i style="background:#5a3a6a"></i>User</span><span><i style="background:#7d2f93"></i>Assistant</span><span><i style="background:#a64bbd"></i>Tool result</span><span><i style="background:#ffb347"></i>Recomputed</span><span><i style="background:#76B900"></i>New turn</span></div> </div> <!-- P2 --> <div class="panel" id="mtp-akv-p2"> <div class="row"> <button class="btn" data-op="append">1. Append D</button> <button class="btn" data-op="drop">2. Drop B</button> <button class="btn" data-op="repos">3. Repos</button> <button class="btn" data-op="reset2">Reset</button> </div> <div class="lbl">Active KV cache (number = position encoding index)</div> <div class="lane" id="mtp-akv-ops"></div> <p class="note" id="mtp-akv-n2">Start state: tokens A, B, C sit at positions 0, 1, 2. Step through the 3 operations.</p> <pre id="mtp-akv-req">{"messages": [...], "drop_message": {}, "reposition": []}</pre> </div> <!-- P3 --> <div class="panel" id="mtp-akv-p3"> <div class="lbl" style="margin-top:0">Model</div> <div class="row" id="mtp-akv-models"></div> <div class="lbl">Benchmark</div> <div class="row" id="mtp-akv-bench"></div> <div class="grid2" style="margin-top:14px"> <div><div class="lbl" style="margin-top:0">Pass rate (%) · higher is better</div><div class="bars" id="mtp-akv-sc"></div></div> <div><div class="lbl" style="margin-top:0">Cost (US cents per task) · lower is better</div><div class="bars" id="mtp-akv-co"></div></div> </div> <p class="note" id="mtp-akv-n3"></p> </div> <!-- P4 --> <div class="panel" id="mtp-akv-p4"> <div class="lbl" style="margin-top:0">Concurrency: <b id="mtp-akv-cv" style="color:#f3eaf6">14</b> · GPT-OSS-120B · 80 long-context SWE-bench Verified tasks · 8 A800 GPUs</div> <div class="grid2" style="margin-top:12px"> <div><div class="lbl" style="margin-top:0">P95 request latency (s) · lower is better</div><div class="bars" id="mtp-akv-lat"></div></div> <div><div class="lbl" style="margin-top:0">Output throughput (tokens/s) · higher is better</div><div class="bars" id="mtp-akv-out"></div></div> </div> <div class="stats" style="margin-top:14px"> <div class="stat"><div class="big">1.18x</div><span>Output throughput, peak vs peak</span></div> <div class="stat"><div class="big">1.53x</div><span>Input throughput, peak vs peak</span></div> <div class="stat"><div class="big">1.51x</div><span>Faster P95 latency, peak vs peak</span></div> <div class="stat"><div class="big">2.849ms</div><span>Full attention per decode step (was 7.082)</span></div> </div> <p class="note" id="mtp-akv-n4"></p> </div> <!-- P5 --> <div class="panel" id="mtp-akv-p5"> <ul class="lim" id="mtp-akv-lim"> <li>Few supported model families<em>Drop and Repos are enabled for Qwen, GPT-OSS and MiniMax-M2 text architectures. Linear attention models are future work.</em></li> <li>Self-hosted only<em>You run the AKV server yourself. It extends SGLang with cache-operation support.</em></li> <li>Self-reported, single hardware setup<em>All results come from the authors, on 8 A800-80GB GPUs in BF16.</em></li> <li>Different measurement windows<em>High-concurrency AKV runs were measured through the first 30 task completions. Standard used a 1-hour window.</em></li> <li>Not every benchmark improves<em>MiniMax-M2.7 on BrowseComp-Plus scores 58.9 with AKV, below Text Engineering at 62.3.</em></li> <li>Dropping reasoning cache hurts<em>On SWE-bench Verified, dropping reasoning cache fell to 36.5, and dropping both to 34.5, versus 41.0 for tool drop.</em></li> </ul> <p class="note">Tap a row to expand it.</p> </div> <div class="ft"> <span>Sources: <a href=" target=" rel="noopener">Paper</a> · <a href=" target=" rel="noopener">GitHub</a> · <a href=" target=" rel="noopener">Project page</a> · numbers self-reported</span> <span class="mtp">© Marktechpost</span> </div> (function(){ var R=document.getElementById('mtp-akv'); function $(id){return document.getElementById('mtp-akv-'+id)} function post(){try{var h=R.offsetHeight+40;parent.postMessage({mtpAkvHeight:h},'*')}catch(e){}} R.querySelectorAll('.tab').forEach(function(b){b.addEventListener('click',function(){ R.querySelectorAll('.tab').forEach(function(x){x.classList.remove('on')}); R.querySelectorAll('.panel').forEach(function(x){x.classList.remove('on')}); b.classList.add('on');$(b.getAttribute('data-t').replace('p','p')).classList.add('on'); if(b.getAttribute('data-t')==='p3')drawBench(); if(b.getAttribute('data-t')==='p4')drawServe(); setTimeout(post,60);setTimeout(post,500); })}); function blk(t,cls,sub){var d=document.createElement('div');d.className='blk '+cls;d.innerHTML=t+(sub!==undefined?'<small>'+sub+'</small>':'');return d} /* P1 */ var seq=[['U','k-u'],['A','k-t'],['B','k-a'],['C','k-t'],['D','k-a']]; function initP1(){var ce=$('ce'),ae=$('ae');ce.innerHTML='';ae.innerHTML=''; seq.forEach(function(s){ce.appendChild(blk(s[0],s[1]));ae.appendChild(blk(s[0],s[1]))}); $('cem').style.width='0%';$('aem').style.width='0%';$('cet').textContent='Re-prefill work: 0 blocks';$('aet').textContent='Re-prefill work: 0 blocks'; $('n1').innerHTML='Both agents hold a user prompt, assistant turns and tool results. Press the button to remove old tool result <b>A</b>.';} initP1(); var playing=false; $('play').addEventListener('click',function(){if(playing)return;playing=true;initP1(); var ce=$('ce').children,ae=$('ae').children; setTimeout(function(){ce[1].classList.add('drop');ae[1].classList.add('drop'); $('n1').innerHTML='Step 1: A is removed. Left: the text is summarized, so the prefix changes.';},300); setTimeout(function(){for(var i=2;i<5;i++)ce[i].classList.add('re');$('cem').style.width='75%';$('cet').textContent='Re-prefill work: 3 blocks (B, C, D recomputed)'; $('n1').innerHTML='Step 2: <b>Context engineering</b> must re-prefill everything after the edit. <b>AKV</b> only hides A from attention.';},1300); setTimeout(function(){for(var i=2;i-1)b.classList.add(mark==='D'?'new':'mv');L.appendChild(b)});post();} initP2(); R.querySelectorAll('[data-op]').forEach(function(b){b.addEventListener('click',function(){var op=b.getAttribute('data-op'); R.querySelectorAll('[data-op]').forEach(function(x){x.classList.remove('on')});b.classList.add('on'); if(op==='reset2'){initP2();b.classList.remove('on');return} if(op==='append'){if(st.toks.some(function(t){return t[0]==='D'})){$('n2').innerHTML='D is already appended. Try <b>Drop B</b>.';return} st.toks.push(['D',st.next]);st.next++;renderP2('D'); $('n2').innerHTML='<b>Append</b>: D is computed against the active cache and takes the next position index.'; $('req').textContent='{"messages": [m0:A, m1:B, m2:C, m3:D], "drop_message": {}, "reposition": []}';} if(op==='drop'){if(!st.toks.some(function(t){return t[0]==='D'})){$('n2').innerHTML='Append D first, then drop B.';b.classList.remove('on');return}st.dropped.B=true;renderP2(); $('n2').innerHTML='<b>Drop</b>: B leaves future attention. Positions do not change, and the text history keeps B.'; $('req').textContent='{"messages": [m0..m3], "drop_message": {"3": [1]}, "reposition": []}';} if(op==='repos'){if(!st.dropped.B){$('n2').innerHTML='Drop B first, so there is a gap to compact.';return} var p=0;st.toks.forEach(function(t){if(!st.dropped[t[0]]){t[1]=p;p++}});st.next=p; st.toks=st.toks.filter(function(t){return !st.dropped[t[0]]});st.dropped={};renderP2(['A','C','D']); $('n2').innerHTML='<b>Repos</b>: retained keys are re-rotated (RoPE) to positions 0 to '+(p-1)+'. Values are untouched, so nothing is recomputed.'; $('req').textContent='{"messages": [m0..m3], "drop_message": {"3": [1]}, "reposition": [3]}';} })}); /* P3 */ var M={'MiniMax-M2.7':{s:[[58.9,35.0,75.2,40.5,52.4],[62.3,36.9,72.0,40.0,52.8],[58.9,40.8,74.4,40.5,53.7]],c:[[5.2,2.4,7.0,5.5,5.0],[5.3,2.7,9.4,5.2,5.7],[4.8,2.6,5.5,4.7,4.4]]}, 'GPT-OSS-120B':{s:[[57.5,68.0,40.0,38.5,51.0],[52.7,65.1,36.8,38.5,48.3],[61.9,69.9,43.2,37.5,53.1]],c:[[13.1,5.4,20.0,6.2,11.2],[12.6,6.8,15.8,5.4,10.2],[11.4,4.1,9.7,3.8,7.3]]}, 'MiroThinker-1.7-Mini':{s:[[60.0,68.0,7.8,40.5,44.1],[45.7,66.0,4.2,32.5,37.1],[63.5,68.9,7.4,43.5,45.8]],c:[[25.2,9.2,33.6,13.5,20.4],[17.6,11.0,28.4,15.3,18.1],[15.3,9.5,26.3,8.1,14.8]]}}; var B=['BrowseComp-Plus','GAIA-Text','SWE-bench Verified','xbench-DS','Average'];var mSel='GPT-OSS-120B',bSel=4; var NM=['Standard','Text Eng.','AKV'],CL=['c-s','c-t','c-a']; Object.keys(M).forEach(function(k){var b=document.createElement('button');b.className='btn'+(k===mSel?' on':'');b.textContent=k;b.onclick=function(){mSel=k;$('models').querySelectorAll('.btn').forEach(function(x){x.classList.toggle('on',x===b)});drawBench()};$('models').appendChild(b)}); B.forEach(function(k,i){var b=document.createElement('button');b.className='btn'+(i===bSel?' on':'');b.textContent=k;b.onclick=function(){bSel=i;$('bench').querySelectorAll('.btn').forEach(function(x){x.classList.toggle('on',x===b)});drawBench()};$('bench').appendChild(b)}); function bars(el,vals,max,fmt){el.innerHTML='';vals.forEach(function(v,i){var r=document.createElement('div');r.className='bar'; r.innerHTML='<div class="nm">'+NM[i]+'</div><div class="tr"><div class="fl &apos;+CL[i]+&apos;"></div></div><div class="v">'+fmt(v)+'</div>';el.appendChild(r); (function(f,w){setTimeout(function(){f.style.width=w+'%'},40)})(r.querySelector('.fl'),Math.max(2,v/max*100));});} function drawBench(){var d=M[mSel];var s=d.s.map(function(r){return r[bSel]}),c=d.c.map(function(r){return r[bSel]}); bars($('sc'),s,100,function(v){return v.toFixed(1)});bars($('co'),c,Math.max.apply(null,c)*1.1,function(v){return v.toFixed(1)+'¢'}); var ds=(s[2]-s[0]).toFixed(1),dc=((c[2]/c[0]-1)*100).toFixed(1); $('n3').innerHTML='<b>'+mSel+' · '+B[bSel]+'</b>: AKV vs Standard is '+(ds>=0?'+':'')+ds+' points and '+(dc>0?'+':'')+dc+'% cost. Source: Table 1, self-reported.';post();} /* P4 */ var C=[8,10,12,14,16],LAT=[[43.57,45.03,43.16,108.86,229.90],[43.57,50.27,52.82,60.67,69.96],[25.93,27.11,27.18,28.49,30.63]],OUT=[[217,254,313,146,138],[228,246,264,267,267],[245,295,339,369,369]]; function drawServe(){var i=+$('c').value;$('cv').textContent=C[i]; bars($('lat'),LAT.map(function(r){return r[i]}),235,function(v){return v.toFixed(2)+'s'}); bars($('out'),OUT.map(function(r){return r[i]}),380,function(v){return v}); var x=(LAT[0][i]/LAT[2][i]).toFixed(2); $('n4').innerHTML='At concurrency '+C[i]+', AKV P95 latency is <b>'+x+'x</b> faster than Standard. '+(i>=3?'Above 12, KV pressure forces Standard into re-prefill, so its latency jumps.':'Peak-vs-peak compares AKV at 14 with Standard at 12.');post();} $('c').addEventListener('input',drawServe); /* P5 */ R.querySelectorAll('#mtp-akv-lim li').forEach(function(li){li.addEventListener('click',function(){li.classList.toggle('open');post()})}); window.addEventListener('load',post);window.addEventListener('resize',post);setTimeout(post,300); })(); </div> "> (function(){var f=document.getElementById("mtp-akv-frame");window.addEventListener("message",function(e){if(e.data&&e.data.mtpAkvHeight&&e.source===f.contentWindow){f.style.height=e.data.mtpAkvHeight+"px";}});})(); How fast is AKV in serving benchmarks? Serving tests ran GPT-OSS-120B on 80 long-context SWE-bench Verified tasks. At each method’s peak setting, AKV delivers 1.18x output throughput and 1.53x input throughput. P95 request latency is 1.51x faster. At concurrency 16, Standard’s P95 latency hits 229.90 seconds versus 30.63 for AKV. KV pressure pushes Standard into repeated re-prefill. Per decode step, full-attention time falls from 7.082 to 2.849 ms. On 100 SWE-bench Verified tasks under a GPU budget, AKV reached about 47% pass rate. Standard reached 40.7% and Text Engineering 32.3%. Can agents tune their own cache policy? MiniMax-M2.7 refined policies on 20 BrowseComp-Plus tasks, then ran 100 held-out tasks. The iteration-6 policy cut cost 17.8% versus Standard at baseline accuracy. The abstract reports 7.1% savings beyond the expert-designed policy. Exposing cache control as a tool also helped accuracy. GPT-OSS-120B rose from 52.1 to 61.0 on a 100-task subset. MiniMax-M2.7’s cost rose, though, from 5.4 to 5.9 cents. AKV vs other KV cache approaches The main numbers come from each project’s own paper and use different setups. They are not directly comparable. Key Takeaways AKV lets agents drop and reposition KV cache instead of rewriting history. Average cost falls 27.7% and score rises 1.7 points across 3 models. Repos lifts GPT-OSS-120B on BrowseComp-Plus from 55% to 62%. At concurrency 16, P95 latency drops from 229.90 to 30.63 seconds. Support covers only Qwen, GPT-OSS and MiniMax-M2 text models today. Check out the Paper, GitHub Repo and Project Page. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well. Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us The post Tsinghua AI Open-Sources AKV, a Cache Engineering Server for LLM Agents on SGLang appeared first on MarkTechPost.

AI

Nanbeige Releases Nanbeige4.3-33B, a 33B Open Agentic Coding Model

Nanbeige LLM Lab has released Nanbeige4.3-33B on Hugging Face under the Apache 2.0 license. Nanbeige4.3-33B is a 33B dense language model built for agentic coding and office-style ‘cowork’ tasks. The lab sits inside the recruitment platform BOSS Zhipin. It also published Nanbeige4.3-33B-Base for custom post-training. The model supports a 524,288-token context window. In the lab’s own table, it leads 17 of 20 benchmarks against 3 open models near 30B. TL;DR Size: 33B parameters, dense (no MoE), 524,288-token (512K) context, BF16 weights. Runs on: Multi-GPU servers. The card’s SGLang and vLLM recipes use 4-way tensor parallelism. BF16 weights need about 66 GB (our arithmetic). 1 community quantization is listed. Performance: Leads 17 of 20 rows in Nanbeige’s own comparison against Qwen3.8-27B, Muse-Glimmer-30B and Gemma4-31B. Best: 80.9 on Terminal-Bench 2.1, versus 73.0 for Qwen3.8-27B. Worst: 23.8 on Terminal-Bench 4.0 (its lowest score). It also trails Qwen3.8-27B on SWE-Bench Pro, 60.3 vs 61.7. What is Nanbeige4.3-33B? Nanbeige4.3-33B is the flagship ‘teacher’ model of the Nanbeige4.3 series. The lab’s stated strategy is to build a strong teacher first. It then plans to distill agentic skills into smaller models, starting with Nanbeige4.3-3B. How is Nanbeige4.3-33B built? The config.json declares a standard LlamaForCausalLM architecture. There is no expert routing, so all 33B parameters run on every token. 52 layers, hidden size 7,168 56 query heads and 8 key-value heads (grouped-query attention), head dimension 128 FFN intermediate size 22,016, vocabulary of 166,912 tokens RoPE theta of 120,000,000 and 524,288 max positions The chat template exposes 3 controls. enable_thinking toggles reasoning and is on by default. preserve_thinking keeps reasoning from earlier turns. Nanbeige recommends it for multi-turn tool use and code agents. Passing tools enables tool calling, and an XML call format is recommended. How does Nanbeige4.3-33B perform on benchmarks? Nanbeige compared the model with Qwen3.8-27B, Muse-Glimmer-30B and Gemma4-31B. Every model ran at its highest thinking effort, with shared hyperparameters and harnesses. All scores in this section are self-reported. Agentic coding: It scores 80.9 on Terminal-Bench 2.1, against 73.0 for Qwen3.8-27B. DeepSWE shows the widest gap: 65.5 versus 42.5. On Terminal-Bench 4.0, it scores 23.8 while Gemma4-31B scores 0.0. Agentic cowork: It posts 54.2 on Automation Bench versus 38.3, and 44.8 on JobBench versus 34.5. On YC-bench, simulated earnings reach $1,025,437 versus $641,290. Reasoning: It reports 95.2 on AIME 2026 and 84.0 on AA-LCR. It loses 3 of 20 rows. Qwen3.8-27B leads SWE-Bench Pro (61.7 vs 60.3) and GDPval (86.4 vs 84.8). Gemma4-31B leads GPQA Diamond in Nanbeige’s table, 91.3 vs 89.5. The Base model beats Gemma4-31B-Base on all 8 reported tasks. Examples include MMLU-Pro (66.9 vs 59.3) and GPQA (62.0 vs 41.5). <iframe id="mtp-nbg43-frame" title="Nanbeige4.3-33B interactive explainer" srcdoc="<!doctype html> <title>Nanbeige4.3-33B Explainer</title> html,body{margin:0;padding:0;background:transparent} #mtp-nbg43{--bg:#0b1d1c;--card:#112b29;--line:#24514b;--mint:#5fd3bd;--mint2:#8ee6d2;--ink:#e8f6f2;--mute:#9cbcb5;--qwen:#7c8cf8;--muse:#f0a35e;--gemma:#6aa9f4;--mtp:#76B900; font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif!important;background:var(--bg)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:16px;max-width:880px;margin:0 auto;padding:22px 24px 14px;box-sizing:border-box;overflow:hidden} #mtp-nbg43 *{box-sizing:border-box} #mtp-nbg43 hr,#mtp-nbg43 p:empty,#mtp-nbg43 del,#mtp-nbg43 s{display:none!important} #mtp-nbg43 .hd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap} #mtp-nbg43 .tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)!important;font-weight:700} #mtp-nbg43 h3{margin:4px 0 2px;font-size:22px;color:var(--ink)!important;font-weight:800;line-height:1.2} #mtp-nbg43 .sub{color:var(--mute)!important;font-size:13px;margin:0} #mtp-nbg43 .chips{display:flex;gap:6px;flex-wrap:wrap} #mtp-nbg43 .chip{font-size:11px;padding:4px 9px;border-radius:999px;border:1px solid var(--line)!important;color:var(--mint2)!important;background:#0e2523!important;font-weight:600} #mtp-nbg43 .tabs{display:flex;gap:6px;margin:18px 0 14px;border-bottom:1px solid var(--line)!important;flex-wrap:wrap} #mtp-nbg43 .tab{background:transparent!important;border:0!important;color:var(--mute)!important;font:600 13px Inter,sans-serif;padding:9px 12px;cursor:pointer;border-bottom:2px solid transparent!important;margin-bottom:-1px;transition:color .2s} #mtp-nbg43 .tab.on{color:var(--ink)!important;border-bottom-color:var(--mint)!important} #mtp-nbg43 .pane{display:none;animation:nbgIn .35s ease} #mtp-nbg43 .pane.on{display:block} @keyframes nbgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}} /* flow */ #mtp-nbg43 .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative} #mtp-nbg43 .node{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:12px;padding:12px;min-height:96px;transition:all .35s;opacity:.45;cursor:pointer} #mtp-nbg43 .node.on{opacity:1;border-color:var(--mint)!important;box-shadow:0 0 0 1px var(--mint),0 0 22px rgba(95,211,189,.25)} #mtp-nbg43 .node .n{font-size:11px;color:var(--mint)!important;font-weight:700} #mtp-nbg43 .node .t{font-weight:700;font-size:14px;margin:4px 0;color:var(--ink)!important} #mtp-nbg43 .node .d{font-size:12px;color:var(--mute)!important;line-height:1.4} #mtp-nbg43 .rail{height:4px!important;background:var(--line)!important;border-radius:4px;margin:12px 0 0;overflow:hidden} #mtp-nbg43 .rail i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--mint),var(--mint2));transition:width .5s ease} #mtp-nbg43 .detail{background:#0e2523!important;border:1px solid var(--line)!important;border-radius:12px;padding:14px 16px;margin-top:12px;font-size:13.5px;line-height:1.55;min-height:92px} #mtp-nbg43 .detail b{color:var(--mint2)!important} #mtp-nbg43 .ctl{display:flex;gap:8px;margin-top:12px;align-items:center} #mtp-nbg43 .btn{background:var(--mint)!important;color:#06201c!important;border:0!important;border-radius:8px;font:700 13px Inter,sans-serif;padding:8px 14px;cursor:pointer} #mtp-nbg43 .btn.ghost{background:transparent!important;color:var(--mint2)!important;border:1px solid var(--line)!important} #mtp-nbg43 .spec{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px} #mtp-nbg43 .spec div{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:10px;padding:10px} #mtp-nbg43 .spec b{display:block;font-size:18px;color:var(--mint2)!important} #mtp-nbg43 .spec span{font-size:11px;color:var(--mute)!important} /* bars */ #mtp-nbg43 .seg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px} #mtp-nbg43 .seg button{background:#0e2523!important;border:1px solid var(--line)!important;color:var(--mute)!important;font:600 12px Inter,sans-serif;padding:6px 11px;border-radius:999px;cursor:pointer} #mtp-nbg43 .seg button.on{background:var(--mint)!important;color:#06201c!important;border-color:var(--mint)!important} #mtp-nbg43 .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--mute)!important;margin-bottom:10px} #mtp-nbg43 .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px} #mtp-nbg43 .bench{margin-bottom:12px} #mtp-nbg43 .bench .bn{font-size:13px;font-weight:700;margin-bottom:5px;color:var(--ink)!important} #mtp-nbg43 .brow{display:grid;grid-template-columns:110px 1fr 54px;gap:8px;align-items:center;font-size:11.5px;margin:2px 0} #mtp-nbg43 .brow .lb{color:var(--mute)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} #mtp-nbg43 .track{height:12px!important;background:#0e2523!important;border-radius:6px;overflow:hidden} #mtp-nbg43 .fill{height:100%;width:0;border-radius:6px;transition:width .9s cubic-bezier(.2,.8,.2,1)} #mtp-nbg43 .brow .v{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)!important} #mtp-nbg43 .brow.me .v,#mtp-nbg43 .brow.me .lb{color:var(--mint2)!important;font-weight:700} #mtp-nbg43 .note{font-size:11.5px;color:var(--mute)!important;margin-top:6px;line-height:1.45} /* calc */ #mtp-nbg43 .calc{display:grid;grid-template-columns:1.1fr 1fr;gap:16px} #mtp-nbg43 .field{margin-bottom:14px} #mtp-nbg43 .field label{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mute)!important;margin-bottom:6px} #mtp-nbg43 .field label b{color:var(--mint2)!important} #mtp-nbg43 input[type=range]{width:100%;accent-color:#5fd3bd} #mtp-nbg43 .stack{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:12px;padding:14px} #mtp-nbg43 .stackbar{display:flex;height:22px!important;border-radius:6px;overflow:hidden;background:#0e2523!important;margin:8px 0 10px} #mtp-nbg43 .stackbar i{display:block;height:100%;transition:width .5s ease} #mtp-nbg43 .total{font-size:30px;font-weight:800;color:var(--ink)!important} #mtp-nbg43 .kv{display:flex;justify-content:space-between;font-size:12.5px;margin:4px 0;color:var(--mute)!important} #mtp-nbg43 .kv b{color:var(--ink)!important} /* caveats */ #mtp-nbg43 table{width:100%;border-collapse:collapse;font-size:12.5px} #mtp-nbg43 th,#mtp-nbg43 td{border-bottom:1px solid var(--line)!important;padding:8px 6px;text-align:left;color:var(--ink)!important;background:transparent!important} #mtp-nbg43 th{color:var(--mint)!important;font-size:11px;text-transform:uppercase;letter-spacing:.06em} #mtp-nbg43 td.bad{color:#f6b26b!important;font-weight:700} #mtp-nbg43 .flag{display:inline-block;font-size:10.5px;padding:2px 7px;border-radius:999px;background:#3a2a12!important;color:#f6b26b!important;font-weight:700} #mtp-nbg43 .ft{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line)!important;margin-top:16px;padding-top:10px;font-size:11px;color:var(--mute)!important} #mtp-nbg43 .ft a{color:var(--mute)!important;text-decoration:underline} #mtp-nbg43 .brand{color:#76B900!important;font-weight:700} #mtp-nbg43 pre,#mtp-nbg43 code{background:#0e2523!important;color:var(--mint2)!important;border:0!important;font-family:ui-monospace,Menlo,monospace;font-size:12px;padding:1px 5px;border-radius:4px} @media (max-width:640px){ #mtp-nbg43{padding:16px 14px 10px} #mtp-nbg43 h3{font-size:18px} #mtp-nbg43 .flow,#mtp-nbg43 .spec{grid-template-columns:1fr 1fr} #mtp-nbg43 .calc{grid-template-columns:1fr} #mtp-nbg43 .brow{grid-template-columns:86px 1fr 48px} #mtp-nbg43 .tab{padding:8px 8px;font-size:12px} } <div id="mtp-nbg43"> <div class="hd"> <div> <div class="tag">Nanbeige LLM Lab · Open weights</div> <h3>Nanbeige4.3-33B, explained</h3> <p class="sub">A 33B dense teacher model for agentic coding and cowork tasks</p> </div> <div class="chips"><span class="chip">33B dense</span><span class="chip">512K context</span><span class="chip">Apache 2.0</span><span class="chip">Text-only</span></div> </div> <div class="tabs" role="tablist"> <button class="tab on" data-p="p1">How it works</button> <button class="tab" data-p="p2">Benchmarks</button> <button class="tab" data-p="p3">Memory math</button> <button class="tab" data-p="p4">Caveats</button> </div> <div class="pane on" id="p1"> <div class="flow"> <div class="node on" data-s="0"><div class="n">STEP 1</div><div class="t">Base model</div><div class="d">Nanbeige4.3-33B-Base, released for custom post-training</div></div> <div class="node" data-s="1"><div class="n">STEP 2</div><div class="t">Teacher agent</div><div class="d">Post-trained Nanbeige4.3-33B with thinking and tools</div></div> <div class="node" data-s="2"><div class="n">STEP 3</div><div class="t">Agent harness</div><div class="d">Runs inside harnesses like Terminus 2, mini-swe-agent, Claude Code</div></div> <div class="node" data-s="3"><div class="n">STEP 4</div><div class="t">Distillation</div><div class="d">Planned: agentic skills move into Nanbeige4.3-3B</div></div> </div> <div class="rail"><i id="nbgRail"></i></div> <div class="detail" id="nbgDetail"></div> <div class="ctl"><button class="btn ghost" id="nbgPrev"> Back</button><button class="btn" id="nbgNext">Next step </button><button class="btn ghost" id="nbgPlay">Auto-play</button></div> <div class="spec"> <div><b>52</b><span>layers</span></div> <div><b>56 / 8</b><span>query / KV heads (GQA)</span></div> <div><b>7,168</b><span>hidden size</span></div> <div><b>524,288</b><span>max positions</span></div> </div> </div> <div class="pane" id="p2"> <div class="seg" id="nbgSeg"> <button class="on" data-c="coding">Agentic coding</button> <button data-c="cowork">Agentic cowork</button> <button data-c="reason">Reasoning</button> <button data-c="base">Base model</button> </div> <div class="legend" id="nbgLegend"></div> <div id="nbgBars"></div> <p class="note">All scores self-reported by Nanbeige on its Hugging Face model cards, at each model's highest thinking effort with shared harnesses. Not independently verified.</p> </div> <div class="pane" id="p3"> <div class="calc"> <div> <div class="field"><label>Context length <b id="nbgCtxL">131,072 tokens</b></label></div> <div class="field"><label>Concurrent sequences <b id="nbgSeqL">1</b></label></div> <div class="seg" id="nbgW"><button class="on" data-w="2">Weights BF16</button><button data-w="1">Weights 8-bit</button></div> <div class="seg" id="nbgK"><button class="on" data-k="2">KV cache BF16</button><button data-k="1">KV cache FP8</button></div> <p class="note">Arithmetic from config.json: 52 layers × 8 KV heads × 128 dims × 2 (K and V) × bytes per value. That is 212,992 bytes (about 208 KiB) per token in BF16. Weights use 33B parameters. Excludes activations and framework overhead.</p> </div> <div class="stack"> <div class="kv"><span>Estimated GPU memory</span></div> <div class="total" id="nbgTot">0 GB</div> <div class="stackbar"><i id="nbgBw" style="background:#5fd3bd"></i><i id="nbgBk" style="background:#7c8cf8"></i></div> <div class="kv"><span><i style="display:inline-block;width:9px;height:9px;background:#5fd3bd;border-radius:2px"></i> Weights</span><b id="nbgWv"></b></div> <div class="kv"><span><i style="display:inline-block;width:9px;height:9px;background:#7c8cf8;border-radius:2px"></i> KV cache</span><b id="nbgKv"></b></div> <div class="kv"><span>Per 80 GB GPU (ideal fit)</span><b id="nbgGpu"></b></div> <p class="note">The model card's SGLang and vLLM recipes use 4-way tensor parallelism.</p> </div> </div> </div> <div class="pane" id="p4"> <table> <tr><th>Row in Nanbeige table</th><th>Nanbeige lists</th><th>Official card</th><th></th></tr> <tr><td>Muse-Glimmer-30B, SWE-Bench Pro</td><td class="bad">36.9</td><td>51.2 (Meta)</td><td><span class="flag">looks swapped</span></td></tr> <tr><td>Gemma4-31B, SWE-Bench Pro</td><td class="bad">51.2</td><td>36.9 (Meta-reported)</td><td><span class="flag">looks swapped</span></td></tr> <tr><td>Gemma4-31B, GPQA Diamond</td><td class="bad">91.3</td><td>84.3 (Google)</td><td><span class="flag">conflict</span></td></tr> <tr><td>Muse-Glimmer-30B, Terminal-Bench 2.1</td><td class="bad">61.8</td><td>51.7 (Meta)</td><td><span class="flag">harness?</span></td></tr> <tr><td>Qwen3.8-27B, GPQA Diamond</td><td>89.2</td><td>89.2 (Qwen)</td><td>match</td></tr> <tr><td>Muse-Glimmer-30B, AIME 2026</td><td>94.7</td><td>94.7 (Meta)</td><td>match</td></tr> </table> <p class="note">Nanbeige re-ran every model with its own harness, which explains some gaps. Other limits: text-only input, dense compute on every token, and Nanbeige4.3-3B is not yet released.</p> </div> <div class="ft"><span>Sources: <a href=" target=" rel="noopener">Nanbeige model card</a> · <a href=" target=" rel="noopener">Base card</a> · competitor HF cards</span><span class="brand">© Marktechpost</span></div> </div> (function(){ var R=document.getElementById('mtp-nbg43'); function resize(){try{parent.postMessage({type:'mtp-nbg43-resize',height:R.offsetHeight+40},'*')}catch(e){}} // tabs R.querySelectorAll('.tab').forEach(function(t){t.addEventListener('click',function(){ R.querySelectorAll('.tab').forEach(function(x){x.classList.remove('on')});t.classList.add('on'); R.querySelectorAll('.pane').forEach(function(p){p.classList.remove('on')}); document.getElementById(t.dataset.p).classList.add('on'); if(t.dataset.p==='p2')drawBars(cur); setTimeout(resize,50);setTimeout(resize,400); })}); // flow var steps=[ '<b>Base model.</b> Nanbeige4.3-33B-Base is a dense LlamaForCausalLM checkpoint. Nanbeige reports it beats Gemma4-31B-Base on all 8 listed tasks, for example MMLU-Pro 66.9 vs 59.3.', '<b>Teacher agent.</b> The post-trained model thinks by default (<code>enable_thinking</code>). <code>preserve_thinking</code> keeps earlier reasoning for multi-turn tool use. Nanbeige recommends the XML tool-call format.', '<b>Agent harness.</b> Nanbeige evaluated it in Terminus 2, mini-swe-agent v2.4.6 and the Claude Code harness. Recommended agent sampling: temperature 1.0, top_p 0.95, 65,536 max new tokens.', '<b>Distillation.</b> The 33B model is the teacher for the Nanbeige4.3 series. The first planned student is Nanbeige4.3-3B. No release date is given.' ]; var s=0,timer=null; function setStep(i){s=(i+4)%4;R.querySelectorAll('.node').forEach(function(n,k){n.classList.toggle('on',k<=s)}); document.getElementById('nbgRail').style.width=((s+1)*25)+'%';document.getElementById('nbgDetail').innerHTML=steps[s];resize()} R.querySelectorAll('.node').forEach(function(n){n.addEventListener('click',function(){stop();setStep(+n.dataset.s)})}); function stop(){if(timer){clearInterval(timer);timer=null;document.getElementById('nbgPlay').textContent='Auto-play'}} document.getElementById('nbgNext').onclick=function(){stop();setStep(s+1)}; document.getElementById('nbgPrev').onclick=function(){stop();setStep(s-1)}; document.getElementById('nbgPlay').onclick=function(){if(timer){stop();return}this.textContent='Pause';timer=setInterval(function(){setStep(s+1)},2200)}; setStep(0); // bars var M={n:['Nanbeige4.3-33B','#5fd3bd'],q:['Qwen3.8-27B','#7c8cf8'],m:['Muse-Glimmer-30B','#f0a35e'],g:['Gemma4-31B','#6aa9f4']}; var D={ coding:[['Terminal-Bench 2.1',80.9,73.0,61.8,47.2],['DeepSWE',65.5,42.5,4.4,2.7],['SWE-Bench Pro',60.3,61.7,36.9,51.2],['SkillsBench',61.1,56.4,39.7,28.9],['Terminal-Bench 4.0',23.8,6.3,1.6,0.0]], cowork:[['Automation Bench',54.2,38.3,15.2,9.7],['JobBench',44.8,34.5,16.6,9.0],['GDPval',84.8,86.4,75.8,71.4],['Toolathlon-Verified',70.4,68.5,47.2,27.8],['DeepPlanning',63.3,49.2,21.4,19.4]], reason:[['AIME 2026',95.2,94.5,94.7,89.2],['GPQA Diamond',89.5,89.2,83.5,91.3],['AA-LCR',84.0,82.0,83.3,72.0]], base:[['MMLU-Pro',66.9,null,null,59.3],['GPQA',62.0,null,null,41.5],['GSM8K',92.9,null,null,88.9],['Math',57.3,null,null,43.6],['CMMLU',86.8,null,null,76.9]] }; var cur='coding'; function drawBars(c){cur=c;var keys=c==='base'?['n','g']:['n','q','m','g']; var names=c==='base'?{n:'Nanbeige4.3-33B-Base',g:'Gemma4-31B-Base'}:{}; document.getElementById('nbgLegend').innerHTML=keys.map(function(k){return '<span><i style="background:&apos;+M[k][1]+&apos;"></i>'+(names[k]||M[k][0])+'</span>'}).join(''); var idx={n:1,q:2,m:3,g:4},h=''; D[c].forEach(function(r){h+='<div class="bench"><div class="bn">'+r[0]+'</div>'; keys.forEach(function(k){var v=r[idx[k]];h+='<div class="brow&apos;+(k===&apos;n&apos;?&apos; me&apos;:&apos;&apos;)+&apos;"><span class="lb">'+(names[k]||M[k][0])+'</span><div class="track"><div class="fill" data-w="&apos;+v+&apos;" style="background:&apos;+M[k][1]+&apos;"></div></div><span class="v">'+v.toFixed(1)+'</span></div>'}); h+='</div>'}); var box=document.getElementById('nbgBars');box.innerHTML=h; requestAnimationFrame(function(){requestAnimationFrame(function(){box.querySelectorAll('.fill').forEach(function(f){f.style.width=f.dataset.w+'%'})})}); resize();setTimeout(resize,300)} R.querySelectorAll('#nbgSeg button').forEach(function(b){b.onclick=function(){R.querySelectorAll('#nbgSeg button').forEach(function(x){x.classList.remove('on')});b.classList.add('on');drawBars(b.dataset.c)}}); drawBars('coding'); // calc var CT=[8192,16384,32768,65536,131072,262144,524288],wb=2,kb=2; function fmt(n){return n.toLocaleString('en-US')} function calc(){var ctx=CT[+document.getElementById('nbgCtx').value],seq=+document.getElementById('nbgSeq').value; document.getElementById('nbgCtxL').textContent=fmt(ctx)+' tokens';document.getElementById('nbgSeqL').textContent=seq; var w=33e9*wb/1e9,kv=52*8*128*2*kb*ctx*seq/1e9,t=w+kv; document.getElementById('nbgTot').textContent=t.toFixed(1)+' GB'; document.getElementById('nbgWv').textContent=w.toFixed(1)+' GB';document.getElementById('nbgKv').textContent=kv.toFixed(1)+' GB'; document.getElementById('nbgGpu').textContent=Math.ceil(t/80)+' × 80 GB'; document.getElementById('nbgBw').style.width=(w/t*100)+'%';document.getElementById('nbgBk').style.width=(kv/t*100)+'%'} ['nbgCtx','nbgSeq'].forEach(function(id){document.getElementById(id).addEventListener('input',calc)}); R.querySelectorAll('#nbgW button').forEach(function(b){b.onclick=function(){R.querySelectorAll('#nbgW button').forEach(function(x){x.classList.remove('on')});b.classList.add('on');wb=+b.dataset.w;calc()}}); R.querySelectorAll('#nbgK button').forEach(function(b){b.onclick=function(){R.querySelectorAll('#nbgK button').forEach(function(x){x.classList.remove('on')});b.classList.add('on');kb=+b.dataset.k;calc()}}); calc(); window.addEventListener('load',resize);window.addEventListener('resize',resize);setTimeout(resize,200); })(); " style="width:100%!important;height:600px;border:0!important;background:transparent!important;display:block;" loading="lazy"> window.addEventListener('message',function(e){if(e.data&&e.data.type==='mtp-nbg43-resize'){var f=document.getElementById('mtp-nbg43-frame');if(f&&e.data.height>100){f.style.height=e.data.height+'px';}}}); How does it compare with competitors’ own model cards? *Self-reported by Nanbeige. Competitor values come from each lab’s own Hugging Face model card. Some competitor figures in Nanbeige’s table differ from what those labs publish: Meta reports Muse-Glimmer-30B at 51.2 on SWE-Bench Pro and Gemma4-31B at 36.9. Nanbeige lists the reverse. Google lists Gemma 4 31B at 84.3 on GPQA Diamond. Nanbeige’s table shows 91.3. Meta reports Muse-Glimmer-30B at 51.7 on Terminal-Bench 2.1. Nanbeige measured 61.8. Different harnesses explain some gaps. The SWE-Bench Pro pair looks swapped. Treat these rows as provisional until independent runs appear. How do you deploy Nanbeige4.3-33B? The model card provides Transformers, SGLang and vLLM recipes. Its server examples use 4-way tensor parallelism with Qwen3 reasoning and tool-call parsers. Recommended agent settings are temperature 1.0, top_p 0.95 and 65,536 max new tokens. Reasoning and chat use temperature 0.6 and 262,144 max new tokens. By arithmetic from config.json, BF16 weights need about 66 GB. The KV cache adds about 208 KiB per token in BF16. A full 524,288-token sequence therefore needs roughly 112 GB of KV cache. At publication, no Hugging Face Inference Provider hosts the model. Key Takeaways 33B dense, Apache 2.0, 512K context, text-only. Self-reported 80.9 on Terminal-Bench 2.1 and 65.5 on DeepSWE. Leads 17 of 20 rows in Nanbeige’s own table. Several competitor figures conflict with official cards. Built as the teacher for the upcoming Nanbeige4.3-3B. Check out the model weights, the Base model and the launch post on X. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well. Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us The post Nanbeige Releases Nanbeige4.3-33B, a 33B Open Agentic Coding Model appeared first on MarkTechPost.

AI

Hugging Face Releases Carbon-X, a 14B Open DNA Language Model that Brings DNA and Natural Language Together for the First Time

Hugging Face has released Carbon-X, an open DNA language model with 14.8B parameters. Carbon-X is a decoder-only model from Hugging Face Bio. It reads raw DNA in a chat and answers in English. It predicts whether mutations are benign or pathogenic, flags regulatory regions, classifies organisms and predicts next bases. The weights ship under Apache 2.0, so labs can keep sensitive sequences on their own GPUs. Hugging Face built it with Zhongguancun Academy and TIGEM / University of Naples Federico II. TL;DR Size: 14.8B parameters (dense, no MoE), 40,960-token context. Runs on: 1 x 80 GB GPU in bfloat16 via vLLM or Transformers. Official GGUF: Q8_0 is 15.8 GB, Q4_K_M is 9.6 GB. Performance: 66.7% average on 5 DNA benchmarks, best of every open model tested (self-reported). Best: 74.9% on BioReason Coding, ahead of every model tested, open or closed. Worst: 29.8% on GenomeQA splice-site questions. What is Carbon-X and how does it work? Carbon-X starts from Qwen3-14B. DNA and text share 1 token stream in 1 decoder. There is no separate DNA encoder, unlike earlier work such as BioReason. The key structure piece is a hybrid tokenizer. It keeps Qwen3’s BPE vocabulary for text and adds 5,515 DNA tokens. These include 4,096 non-overlapping 6-mers, 1,364 tail tokens and 3 markers. One DNA token covers 6 base pairs. DNA runs of 6 or more A/C/G/T bases are tagged automatically. The backbone is a standard Qwen3 stack. It has 40 layers, hidden size 5120 and GQA with 8 KV heads. How was Carbon-X trained? Training ran in four stages, per the model card: Embedding warmup: about 10B tokens with the transformer frozen, so only the new DNA embeddings learn. Mid-training: 302B tokens at 8,192 sequence length. The mix is 55% raw DNA, 20% English, 15% biology text and 10% instruction data. SFT: 3 epochs over 20 dataset subsets, with responses checked by deterministic verifiers built with domain experts. RL: asynchronous GRPO with verifiable rewards over 2 rounds, using TRL and vLLM. As per the release post, learning rate was the hardest knob. High rates learned DNA but forgot English. A lower rate, a 14B model and a long run fixed the trade-off. RL applied directly to Qwen3-14B never beat the 50% chance baseline on FrontierVEP. How does Carbon-X perform on DNA benchmarks? All scores are self-reported by Hugging Face. Carbon-X ran with thinking disabled. Competitors ran at their best reasoning effort. Carbon-X sits 27 points above Qwen3-14B and 0.8 points below GPT-6.1 Sol. It leads on coding-variant effects and next-base prediction. Frontier models still win on complex variants and single-base variants. Refusals shape these numbers. On NextBase, Opus 5.5 falls from 17.7% at low effort to 1.1% at max effort as refusals rise. Gemini 4 Argon drops from 58% to 38% on FrontierVEP as effort increases. Carbon-X also keeps general skills: 79.3% prompt-level strict accuracy on IFEval. <iframe id="mtp-cx-frame" title="Carbon-X interactive explainer" srcdoc="<!doctype html> <title>Carbon-X Explainer</title> #mtp-cx{--bg:#0d1117;--card:#161b26;--line:#2a3142;--ink:#f3f4f6;--ink2:#a7adbb;--y:#FFD21E;--o:#FF9D00;--dna:#ffb84d;--txt:#7cc4ff;--g:#76B900; max-width:880px;margin:0 auto;background:var(--bg)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:14px;font-family:Inter,system-ui,-apple-system,sans-serif;overflow:hidden;box-sizing:border-box} #mtp-cx *{box-sizing:border-box} #mtp-cx hr,#mtp-cx p:empty,#mtp-cx del,#mtp-cx s{display:none!important} html,body{margin:0;padding:0;background:transparent} #mtp-cx .hd{padding:20px 22px 14px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,rgba(255,210,30,.10),rgba(255,157,0,.04) 60%,transparent)!important} #mtp-cx .kick{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--y)!important;font-weight:700} #mtp-cx h2{margin:6px 0 4px;font-size:22px;line-height:1.2;color:var(--ink)!important} #mtp-cx .sub{font-size:13.5px;color:var(--ink2)!important;margin:0} #mtp-cx .tabs{display:flex;gap:6px;padding:12px 16px 0;flex-wrap:wrap} #mtp-cx .tab{background:transparent!important;border:1px solid var(--line)!important;color:var(--ink2)!important;padding:8px 13px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s} #mtp-cx .tab:hover{color:var(--ink)!important;border-color:var(--o)!important} #mtp-cx .tab.on{background:var(--y)!important;color:#111!important;border-color:var(--y)!important} #mtp-cx .pnl{display:none;padding:18px 22px 20px;animation:cxin .35s ease} #mtp-cx .pnl.on{display:block} @keyframes cxin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}} #mtp-cx .lead{font-size:14px;color:var(--ink2)!important;margin:0 0 14px;line-height:1.55} #mtp-cx .lead b{color:var(--ink)!important} #mtp-cx .box{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:10px;padding:14px} #mtp-cx .row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:34px} #mtp-cx .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink2)!important;margin:12px 0 6px;font-weight:600} #mtp-cx .tk{font:600 12.5px/1 "JetBrains Mono",ui-monospace,monospace;padding:7px 8px;border-radius:6px;opacity:0;transform:scale(.6);transition:all .35s cubic-bezier(.3,1.4,.6,1)} #mtp-cx .tk.show{opacity:1;transform:none} #mtp-cx .tk.t{background:rgba(124,196,255,.15)!important;color:var(--txt)!important} #mtp-cx .tk.d{background:rgba(255,184,77,.16)!important;color:var(--dna)!important} #mtp-cx .tk.m{background:rgba(255,157,0,.28)!important;color:#ffd79a!important} #mtp-cx .raw{font:500 13px/1.5 "JetBrains Mono",ui-monospace,monospace;color:var(--ink)!important;background:#0a0d13!important;border:1px solid var(--line)!important;border-radius:8px;padding:10px 12px;word-break:break-all} #mtp-cx .raw .dn{color:var(--dna)!important} #mtp-cx .btns{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap} #mtp-cx .btn{background:var(--y)!important;color:#111!important;border:0!important;padding:9px 14px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer} #mtp-cx .btn.gh{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important} #mtp-cx .note{font-size:12.5px;color:var(--ink2)!important;margin-top:10px} #mtp-cx .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:4px} #mtp-cx .st{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:10px;padding:12px;cursor:pointer;transition:all .25s;position:relative} #mtp-cx .st .n{font:700 11px "JetBrains Mono",monospace;color:var(--o)!important} #mtp-cx .st .t1{font-weight:700;font-size:14px;margin:4px 0 2px;color:var(--ink)!important} #mtp-cx .st .t2{font-size:12px;color:var(--ink2)!important} #mtp-cx .st.on{border-color:var(--y)!important;box-shadow:0 0 0 1px var(--y),0 0 18px rgba(255,210,30,.18)} #mtp-cx .det{margin-top:12px;min-height:118px} #mtp-cx .mix{display:flex;height:26px;border-radius:6px;overflow:hidden;margin-top:10px;background:#0a0d13!important} #mtp-cx .mix i{display:block;height:100%;width:0;transition:width .9s cubic-bezier(.2,.8,.2,1)} #mtp-cx .leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ink2)!important;margin-top:8px} #mtp-cx .leg span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;background:var(--c)} #mtp-cx .bsel{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px} #mtp-cx .bsel button{background:transparent!important;border:1px solid var(--line)!important;color:var(--ink2)!important;padding:6px 10px;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer} #mtp-cx .bsel button.on{border-color:var(--o)!important;color:var(--o)!important} #mtp-cx .bar{display:grid;grid-template-columns:178px 1fr 48px;gap:10px;align-items:center;margin:7px 0;font-size:13px} #mtp-cx .bar .nm{color:var(--ink2)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} #mtp-cx .bar .nm.me{color:var(--y)!important;font-weight:700} #mtp-cx .bar .tr{background:#0a0d13!important;border-radius:5px;height:18px;overflow:hidden} #mtp-cx .bar .fl{height:100%;width:0;border-radius:5px;background:#3b4256!important;transition:width .8s cubic-bezier(.2,.8,.2,1)} #mtp-cx .bar .fl.me{background:linear-gradient(90deg,var(--o),var(--y))!important} #mtp-cx .bar .v{font:700 13px "JetBrains Mono",monospace;text-align:right;color:var(--ink)!important} #mtp-cx .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px} #mtp-cx .big{font:800 30px/1 Inter,sans-serif;color:var(--y)!important} #mtp-cx .cap{font-size:12.5px;color:var(--ink2)!important;margin-top:6px;line-height:1.45} #mtp-cx .lim{display:grid;grid-template-columns:1fr 1fr;gap:8px} #mtp-cx .lim .box{cursor:pointer;transition:border-color .2s} #mtp-cx .lim .box:hover{border-color:var(--o)!important} #mtp-cx .lim .h{font-weight:700;font-size:13.5px;display:flex;justify-content:space-between;color:var(--ink)!important} #mtp-cx .lim .h em{font-style:normal;color:var(--o)!important} #mtp-cx .lim .b{font-size:12.5px;color:var(--ink2)!important;max-height:0;overflow:hidden;transition:max-height .35s ease,margin .35s;line-height:1.5} #mtp-cx .lim .box.open .b{max-height:120px;margin-top:6px} #mtp-cx .ft{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 22px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink2)!important} #mtp-cx .ft .mtp{color:var(--g)!important;font-weight:700} @media (max-width:640px){ #mtp-cx h2{font-size:18px} #mtp-cx .flow{grid-template-columns:1fr 1fr} #mtp-cx .grid2,#mtp-cx .lim{grid-template-columns:1fr} #mtp-cx .bar{grid-template-columns:96px 1fr 42px;font-size:12px} #mtp-cx .pnl{padding:16px 14px} #mtp-cx .hd{padding:16px 14px 12px} } <div id="mtp-cx"> <div class="hd"> <div class="kick">Hugging Face Bio · Carbon-X</div> <h2>How a 14.8B model reads DNA and answers in English</h2> <p class="sub">Open weights, Apache 2.0. All scores self-reported by Hugging Face.</p> </div> <div class="tabs" role="tablist"> <button class="tab on" data-p="0">Tokenizer</button> <button class="tab" data-p="1">Training</button> <button class="tab" data-p="2">Benchmarks</button> <button class="tab" data-p="3">Cost</button> <button class="tab" data-p="4">Limits</button> </div> <div class="pnl on" data-i="0"> <p class="lead">Text and DNA share <b>1 token stream in 1 decoder</b>. Text keeps Qwen3 BPE. DNA becomes <b>6-mers</b>: 1 token per 6 bases.</p> <div class="raw">Describe this sequence: <span class="dn">ACGTACGATTCATATAAA</span></div> <div class="lbl">Hybrid tokenizer output</div> <div class="row" id="cx-toks"></div> <div class="btns"><button class="btn" id="cx-tok"> Tokenize</button><button class="btn gh" id="cx-rst">Reset</button></div> <p class="note">5,515 DNA tokens added: 4,096 six-mers, 1,364 tail tokens and 3 markers (<dna>, </dna>, <oov>). Context: 40,960 tokens.</p> </div> <div class="pnl" data-i="1"> <p class="lead">Built from <b>Qwen3-14B</b> in 4 stages. Click a stage.</p> <div class="flow" id="cx-flow"> <div class="st on" data-s="0"><div class="n">01</div><div class="t1">Warmup</div><div class="t2">~10B tokens</div></div> <div class="st" data-s="1"><div class="n">02</div><div class="t1">Mid-training</div><div class="t2">302B tokens</div></div> <div class="st" data-s="2"><div class="n">03</div><div class="t1">SFT</div><div class="t2">3 epochs</div></div> <div class="st" data-s="3"><div class="n">04</div><div class="t1">RL</div><div class="t2">Async GRPO</div></div> </div> <div class="box det" id="cx-det"></div> </div> <div class="pnl" data-i="2"> <p class="lead">Carbon-X with thinking off vs rivals at their best reasoning effort.</p> <div class="bsel" id="cx-bsel"></div> <div id="cx-bars"></div> <p class="note" id="cx-bnote"></p> </div> <div class="pnl" data-i="3"> <p class="lead">Priced at measured throughput on an <b>H200 at $5/hour</b>.</p> <div class="grid2"> <div class="box"><div class="big" id="cx-c1">$0</div><div class="cap">Estimated cost to score 2.4M ClinVar variants of uncertain significance with Carbon-X.</div></div> <div class="box"><div class="big" style="color:#a7adbb!important">$32K to $4M</div><div class="cap">Same job on the frontier models Hugging Face evaluated, by model and effort.</div></div> <div class="box"><div class="big" id="cx-c2">0x</div><div class="cap">Lower inference cost per problem than GPT-6.1 Sol (model card: about 1/1,800).</div></div> <div class="box"><div class="big" id="cx-c3">+0.0</div><div class="cap">Points gained by Kimi K3 when it consults Carbon-X as a sub-agent (49.4% to 60.5%).</div></div> </div> </div> <div class="pnl" data-i="4"> <p class="lead">Not clinically validated. Tap a card for details.</p> <div class="lim"> <div class="box"><div class="h">Splice sites <em>29.8%</em></div><div class="b">Weakest GenomeQA task. Histone marks are also low at 34.6%.</div></div> <div class="box"><div class="h">Exact operations <em>!</em></div><div class="b">It can miscount bases or confuse coordinates in long sequences. Use code for counting and edits.</div></div> <div class="box"><div class="h">Hallucination <em>!</em></div><div class="b">It may invent a sequence's identity without context. Give gene, strand and annotations.</div></div> <div class="box"><div class="h">Long generation <em>!</em></div><div class="b">Quality degrades on long DNA generation. The model card says it was not trained to design new sequences.</div></div> </div> </div> <div class="ft"><span>Sources: HuggingFaceBio/Carbon-X model card and release blog</span><span class="mtp">© Marktechpost</span></div> </div> (function(){ var R=document.getElementById('mtp-cx'); function post(){try{parent.postMessage({mtpcx:1,h:R.offsetHeight+40},'*')}catch(e){}} var tabs=R.querySelectorAll('.tab'),pn=R.querySelectorAll('.pnl'); tabs.forEach(function(t){t.onclick=function(){tabs.forEach(function(x){x.classList.remove('on')});pn.forEach(function(x){x.classList.remove('on')});t.classList.add('on');var p=R.querySelector('.pnl[data-i="'+t.dataset.p+'"]');p.classList.add('on');if(t.dataset.p==='2')drawBars(cur);if(t.dataset.p==='3')countUp();setTimeout(post,60)}}); // tokenizer var TOK=[['Describe','t'],['this','t'],['sequence','t'],[':','t'],['','m'],['ACGTAC','d'],['GATTCA','d'],['TATAAA','d'],['','m']]; var box=document.getElementById('cx-toks'),timer=[]; function build(){box.innerHTML='';TOK.forEach(function(k){var s=document.createElement('span');s.className='tk '+k[1];s.textContent=k[0];box.appendChild(s)})} build(); document.getElementById('cx-tok').onclick=function(){timer.forEach(clearTimeout);build();var el=box.children;for(var i=0;i<el.length;i++)(function(i){timer.push(setTimeout(function(){el[i].classList.add('show')},120*i+40))})(i)}; document.getElementById('cx-rst').onclick=function(){timer.forEach(clearTimeout);build()}; // training var ST=[ {h:'Embedding warmup',p:'New DNA tokens get random embeddings. About 10B tokens train only those embeddings, with the transformer body frozen.',mix:null}, {h:'Mid-training: 302B tokens',p:'Sequence length 8,192, cosine LR 5e-5 to 5e-6. A lower LR, a 14B model and a long run kept English while learning DNA.',mix:[[55,'#ffb84d','Raw DNA 55%'],[20,'#7cc4ff','English 20%'],[15,'#FF9D00','Biology text 15%'],[10,'#FFD21E','Instruction 10%']]}, {h:'Supervised fine-tuning',p:'3 epochs over 20 dataset subsets. Variant-effect reasoning is about 30% of the mix. Answers were checked by deterministic verifiers built with domain experts.',mix:null}, {h:'Reinforcement learning',p:'Asynchronous GRPO with code-checked rewards, 2 rounds, 16 samples per prompt. RL alone on Qwen3-14B never beat the 50% chance baseline on FrontierVEP.',mix:null}]; var det=document.getElementById('cx-det'),sts=R.querySelectorAll('.st'); function showSt(i){sts.forEach(function(s){s.classList.toggle('on',s.dataset.s==i)});var s=ST[i],h='<div style="font-weight:700;font-size:15px;color:#FFD21E">'+s.h+'</div><div class="cap" style="font-size:13px">'+s.p+'</div>'; if(s.mix){h+='<div class="mix">'+s.mix.map(function(m){return '<i style="background:&apos;+m[1]+&apos;" data-w="&apos;+m[0]+&apos;"></i>'}).join('')+'</div><div class="leg">'+s.mix.map(function(m){return '<span style="--c:&apos;+m[1]+&apos;">'+m[2]+'</span>'}).join('')+'</div>'} det.innerHTML=h;if(s.mix)setTimeout(function(){det.querySelectorAll('.mix i').forEach(function(x){x.style.width=x.dataset.w+'%'})},40);setTimeout(post,60)} sts.forEach(function(s){s.onclick=function(){showSt(+s.dataset.s)}});showSt(0); // benchmarks var M=['Carbon-X','GPT-6.1 Sol (Max)','Opus 5.5 (Max)','Gemini 4 Argon (Low)','Kimi K3 (Low)','DeepSeek V4.1 Flash (Low)','GLM-5.3 (Low)']; var B={'Average':[66.7,67.5,60.9,49.8,50.4,47.1,39.8],'BioReason Coding':[74.9,71.0,70.3,6.5,53.9,51.4,52.1],'BioReason Non-SNV':[85.1,91.7,94.8,90.3,65.3,55.9,60.1],'GenomeQA':[63.6,67.2,62.2,63.1,52.0,49.7,44.6],'NextBase':[39.4,32.9,1.1,31.2,30.6,27.2,9.7],'FrontierVEP':[70.4,74.9,76.2,58.0,50.1,51.3,32.7]}; var N={'Average':'Carbon-X trails GPT-6.1 Sol by 0.8 points and sits 27 points above Qwen3-14B.','BioReason Coding':'Coding-variant effects, 1,018 variants. Carbon-X leads every model tested.','BioReason Non-SNV':'Insertions, deletions and other non-SNV changes, 873 variants. Opus 5.5 leads.','GenomeQA':'2,600 multiple-choice questions over 6 tasks. GPT-6.1 Sol leads.','NextBase':'Next-base prediction, 600 sequences. Carbon-X leads; Opus 5.5 collapses as refusals rise.','FrontierVEP':'Single-base variants with up to 8,192-base context, 1,000 variants. Opus 5.5 leads.'}; var cur='Average',bs=document.getElementById('cx-bsel'),bars=document.getElementById('cx-bars'); Object.keys(B).forEach(function(k){var b=document.createElement('button');b.textContent=k;if(k===cur)b.className='on';b.onclick=function(){bs.querySelectorAll('button').forEach(function(x){x.className=''});b.className='on';cur=k;drawBars(k)};bs.appendChild(b)}); function drawBars(k){var v=B[k];bars.innerHTML=M.map(function(m,i){var me=i===0?' me':'';return '<div class="bar"><div class="nm&apos;+me+&apos;" title="&apos;+m+&apos;">'+m+'</div><div class="tr"><div class="fl&apos;+me+&apos;" data-w="&apos;+v[i]+&apos;"></div></div><div class="v">'+v[i].toFixed(1)+'</div></div>'}).join(''); setTimeout(function(){bars.querySelectorAll('.fl').forEach(function(f){f.style.width=f.dataset.w+'%'})},40);document.getElementById('cx-bnote').textContent=N[k];setTimeout(post,60)} drawBars(cur); // cost function anim(el,to,fmt){var t0=null;function f(ts){if(!t0)t0=ts;var p=Math.min(1,(ts-t0)/1000),e=1-Math.pow(1-p,3);el.textContent=fmt(to*e);if(p<1)requestAnimationFrame(f)}requestAnimationFrame(f)} function countUp(){anim(document.getElementById('cx-c1'),300,function(x){return '$'+Math.round(x)});anim(document.getElementById('cx-c2'),1800,function(x){return '~'+Math.round(x).toLocaleString('en-US')+'x'});anim(document.getElementById('cx-c3'),11.1,function(x){return '+'+x.toFixed(1)})} // limits R.querySelectorAll('.lim .box').forEach(function(b){b.onclick=function(){b.classList.toggle('open');setTimeout(post,380)}}); window.addEventListener('load',post);window.addEventListener('resize',post);setTimeout(post,300); })(); " style="width:100%;height:600px;border:0;display:block;background:transparent;" loading="lazy"> (function(){var f=document.getElementById('mtp-cx-frame');window.addEventListener('message',function(e){if(e.data&&e.data.mtpcx&&e.source===f.contentWindow&&e.data.h>200){f.style.height=e.data.h+'px';}});})(); What does Carbon-X cost to run? Hugging Face prices Carbon-X at measured throughput on an H200 at $5 per hour. On that basis, it reports about 1/1,800 of GPT-6.1 Sol’s inference cost per problem. Scoring the 2.4 million ClinVar variants of uncertain significance would cost about $300. The same job costs $32,000 to $4 million on frontier models. Carbon-X also works as a sub-agent. Kimi K3’s DNA index rose from 49.4% to 60.5% when it consulted Carbon-X. How do you deploy Carbon-X? vLLM: vllm serve HuggingFaceBio/Carbon-X --trust-remote-code on 1 x 80 GB GPU. Transformers: v5 or later, with trust_remote_code=True for the DNA tokenizer. llama.cpp: the official Carbon-X-GGUF repo needs llama.cpp b11742 or newer. Older builds tokenize DNA wrongly. Agents: the repo ships an OpenAI-style tool, an Inspect agent and a carbon-dna skill for coding agents. Keep enable_thinking=False. The model was post-trained and evaluated that way. How does Carbon-X compare with other DNA and general models? Key Takeaways Carbon-X is a 14.8B open model that reads DNA and answers in English. It averages 66.7% on 5 DNA benchmarks, 0.8 points behind GPT-6.1 Sol. It leads every tested model on BioReason Coding (74.9%) and NextBase (39.4%). It runs on 1 x 80 GB GPU, or a 15.8 GB Q8_0 GGUF. Splice-site accuracy is 29.8%, and it is not clinically validated. Check out the model card, release blog, GGUF weights and GitHub repo. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well. Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us The post Hugging Face Releases Carbon-X, a 14B Open DNA Language Model that Brings DNA and Natural Language Together for the First Time appeared first on MarkTechPost.

Advertisement
AI

Researchers from Stanford and UC Berkeley Introduce TokenGate: Token-Gated Attention Makes Long-Context Prefill Up to 11.3x Faster

Stanford and UC Berkeley researchers released TokenGate, a module for long-context prefill. TokenGate learned token pruning lets an existing LLM skim its input. Only the tokens that matter get full processing. The research team reports 1.4x to 11.3x faster time-to-first-token (TTFT) with no accuracy loss. Peak prefill memory drops 1.5x to 3.4x. Code and checkpoints are on GitHub under Apache-2.0. TL;DR MLP gate: A small MLP gate and LoRA (r=16) added to Qwen3-1.7B or Qwen3.5-2B. Tested on contexts up to 128k tokens. Runs on: Paper timings use 1 A100 at batch size 1. Training used 4 A100s. Performance: Pareto-optimal on 5 tasks against 6 baselines. Best: NIAH 16k at 11.3x faster TTFT and 3.42x lower memory. TTFT gain hits 13.0x at 128k. Worst: Speedup drops to 1.4x on some tasks. What is TokenGate? TokenGate is a drop-in component that adds trainable token pruning to pretrained LLMs. Transformers push every token through every layer. Attention cost grows quadratically with length. Training-free pruning is cheap but loses accuracy at high pruning rates. Architectural changes often need pre-training from scratch. How does TokenGate learned token pruning work? The forward pass splits into 3 phases: Standard forward: layers below gate layer L process all N tokens as usual. Gate module: an MLP scores each token from its post-attention residual at layer L. A top-K selector keeps the highest-scoring tokens. Pruned forward: layers above L process only those K tokens and never create KV entries for pruned ones. Only the document part of the prompt is prunable. The question is never pruned. What is token-gated attention? Top-K selection is not differentiable, which blocks end-to-end training. TokenGate borrows the Mixture-of-Experts router trick. Each kept token’s score becomes a bias on attention logits above the gate. That bias gives gradients a path back to the scorer. A learnable per-head gain and a learnable temperature refine this. The temperature corrects for each query seeing fewer keys. Training uses plain next-token loss. Each step averages a full-context loss and a random-budget loss. So 1 trained gate works across budgets. window.addEventListener("message",function(e){if(e.data&&e.data.mtpH){var f=document.getElementById("mtp-tg-frame");if(f&&e.source===f.contentWindow){f.style.height=e.data.mtpH+"px";}}}); #mtp-tg-wrap hr,#mtp-tg-wrap p:empty,#mtp-tg-wrap del,#mtp-tg-wrap s{display:none!important} How does TokenGate perform on benchmarks? The research team tested Qwen3-1.7B on RepoBench-P, 2WikiMultihopQA, MultiNews, BioDEX and needle-in-a-haystack (NIAH). Baselines were FastKV, SlimInfer, DASH, GemFilter, FlexPrefill and MInference, on the same LoRA backbone. Versus full prefill: 1.4x to 11.3x faster TTFT and 1.5x to 3.4x lower memory. Versus the next-best baseline: 1.2x to 6.4x faster TTFT and up to 2.1x lower memory. 2WikiMultihopQA: at 95% of full-context accuracy, prefill runs 3.0x faster with 2.7x less memory. Longer contexts: a gate trained at 16k reaches 12.8x at 32k and 13.0x at 64k and 128k. Memory savings stay near 3.43x. The learned selector beats FastKV’s heuristic at the same layer. Even random-K selection scores higher on the TokenGate backbone. The research team credits backbone co-adaptation. Does it work on hybrid-attention models? Yes, Qwen3.5-2B mixes Gated DeltaNet and full-attention layers. On NIAH 32k, TokenGate at layer 3 matched full-prefill accuracy. It ran 3.8x faster than full prefill and 2.1x faster than FastKV. Gating at layers 1 or 2 reached 7.8x, within 6% accuracy. FastKV can only prune attention layers. TokenGate vs FastKV, SlimInfer, GemFilter and DASH Self-reported gains use different setups, so they are not directly comparable. Pruning layers come from TokenGate’s Appendix C.2. How do you deploy TokenGate? The GitHub Repo needs Python 3.10+ and CUDA PyTorch 2.9+. An optional FlashAttention-2 key-bias kernel speeds up dense Qwen3. It costs 1.0x to 1.1x a plain call. Without it, inference falls back to FlexAttention. A {state} placeholder marks the prunable document. generate takes a max_kept_prefill_tokens budget. Checkpoints cover all 5 tasks on Qwen3-1.7B, plus a Qwen3.5-2B NIAH gate. Example: liana313/tokengate-niah-qwen3-1.7b. Training mirrors a TRL/PEFT recipe. Each step is 1.3x slower than plain LoRA. Runs converged faster on 4 of 5 tasks. Mean training time was 1.8 versus 2.2 A100 hours. Key Takeaways TokenGate adds learned token pruning to existing LLMs via a small gate and LoRA. Prefill runs 1.4x to 11.3x faster with 1.5x to 3.4x lower peak memory. Token-gated attention makes top-K selection trainable, MoE-router style. It beats the next-best pruning baseline by up to 6.4x on TTFT. It works on hybrid Qwen3.5-2B, where FastKV cannot prune DeltaNet layers. Check out the Paper, GitHub repo and Hugging Face paper page. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well. Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us The post Researchers from Stanford and UC Berkeley Introduce TokenGate: Token-Gated Attention Makes Long-Context Prefill Up to 11.3x Faster appeared first on MarkTechPost.

AI

Anthropic Launches OSS Scanner, a Free AI Vulnerability Scanner

Anthropic has launched OSS Scanner, a free, opt-in vulnerability scanner for critical open-source projects. The Anthropic OSS Scanner runs the company’s strongest models, including Claude Mythos, against enrolled codebases. Reports go straight to maintainers without human review. That trade delivers faster findings, but shifts triage work onto project teams. 11 days after the October 8 launch, Anthropic reported 77 critical and 803 high model-rated findings. TL;DR Scale: 114 projects accepted from about 650 applications, as of October 19. Runs on: Anthropic’s infrastructure, free. Maintainers supply a Dockerfile; audits run in an isolated VM with no Internet. Performance: 85 of 97 audited critical and high findings (88%) met Anthropic’s disclosure bar. Best: Only 1 of 97 audited findings was a false positive. wolfSSL says 72 of 74 reports were valid. Worst: No human review before delivery. 11 of 97 audited findings duplicated known issues; maintainers report inflated severity. What is Anthropic OSS Scanner? OSS Scanner is a free application from Anthropic that periodically audits open-source repositories with its strongest models. The Frontier Red Team and Safeguards Research team run it together. The design borrows from Google’s OSS-Fuzz, but swaps fuzzers for language models. The main goal is a review bottleneck. Over 6 months, Anthropic’s models surfaced over 29,000 candidate vulnerabilities. Human reviewers triaged roughly 6,000 of them. Nearly 5,000 more reports went directly to maintainers who asked for everything, validated or not. OSS Scanner turns that ad hoc request into an opt-in program. How does OSS Scanner work? Core maintainers enroll by opening a pull request on anthropics/oss-scanner. The PR adds projects//project.yaml, based on the project template. Required fields: repo, primary_contact, and a Dockerfile path. Optional fields: threat_model, pgp for encrypted reports, auto_ccs, homepage, and disabled. The Dockerfile builds the project with network access. The VM then moves to a network without Internet for the audit. Agents in the pipeline double-check bugs, run root cause analysis and propose patches. Each report contains a self-contained reproducer and an explanation of the bug. Where possible, it includes a bisection to the commit that introduced it. A candidate patch is attached when available. An optional threat_model.md defines adversarial inputs, out-of-scope code and a severity rubric. Without it, the scanner guesses. How accurate are OSS Scanner reports? Anthropic team asked its penetration testers to check 97 critical and high findings across 48 projects. 85 (88%) met the bar for Anthropic’s coordinated vulnerability disclosure (CVD) process. 11 were real but duplicated known issues or other scan findings. 1 was invalid. Maintainer data points in the same direction. wolfSSL received 74 reports; all but 2 were valid, and 5 became CVEs. curl patched CVE-2026-92392, a High-severity HTTP/2 upload use-after-free. It affects curl 8.12.0 to 8.22.0 and is fixed in 8.23.0, released October 14, 2026. Anthropic links the timing to benchmark progress. On CyberGym, LLMs went from finding under 20% of vulnerabilities to over 85%. Its broader CVD dashboard lists 6,157 disclosed vulnerabilities across 591 projects, as of October 2. 516 of those are patched. #mtp-oss-scanner-wrap iframe{width:100%!important;border:0!important;display:block!important;background:transparent!important;}#mtp-oss-scanner-wrap hr,#mtp-oss-scanner-wrap p:empty,#mtp-oss-scanner-wrap del,#mtp-oss-scanner-wrap s{display:none!important;}@media (max-width:640px){#mtp-oss-scanner-wrap{margin:16px auto!important;}} (function(){var f=document.getElementById('mtp-oss-scanner-frame');window.addEventListener('message',function(e){if(e.data&&e.data.mtpFrame==='mtp-oss-scanner'&&e.source===f.contentWindow){f.style.height=e.data.h+'px';}});})(); OSS Scanner vs other open-source security programs Sources: OSS-Fuzz disclosure guidelines, OpenAI Codex Security, DeepMind CodeMender. Key Takeaways OSS Scanner gives critical open-source projects free Claude Mythos audits. Reports skip human review; 88% of 97 audited critical/high findings were valid. First 11 days: 77 critical and 803 high model-rated findings. Enrollment is a PR with a Dockerfile; audits run offline. No 90-day deadline applies to unvalidated findings. Check out the launch post, the OSS Scanner FAQ and the GitHub repo. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well. Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us The post Anthropic Launches OSS Scanner, a Free AI Vulnerability Scanner appeared first on MarkTechPost.

AI

Nvidia open-sources Flora to make robot video labeling 125x cheaper than GPT-6 Astra

Nvidia's new data engine Flora labels one hour of robot video for 72 cents instead of $88 with GPT-6 Astra, while scoring slightly higher on quality. The open system, built on three fine-tuned Qwen3.5 models, catches errors in robot actions far more reliably than any competitor but sometimes falls short on descriptive accuracy. Nvidia is positioning Flora as a key piece of its strategy to control the entire robotics value chain. The article Nvidia open-sources Flora to make robot video labeling 125x cheaper than GPT-6 Astra appeared first on The Decoder.

Advertisement
AI

Anthropic co-founder Jack Clark moves his prediction for self-improving AI forward to 2027

A new benchmark by P-Zero Research measures how well AI models design and evaluate experiments on their own. The results are improving so fast that Anthropic co-founder Jack Clark now thinks self-improving AI could arrive by 2027. The article Anthropic co-founder Jack Clark moves his prediction for self-improving AI forward to 2027 appeared first on The Decoder.