feat: add bootstrapped DeepSeek routing corpus

This commit is contained in:
wuyang
2026-07-29 15:32:03 +08:00
parent b7fef2350f
commit 5bcfd58452
12 changed files with 158485 additions and 32 deletions
+511 -9
View File
@@ -3,12 +3,17 @@ import rawTrace from "@/data/deepseek-v2-lite-trace.json";
import rawRepro from "@/data/deepseek-v2-lite-trace-repro.json";
import rawAbsorb from "@/data/deepseek-v2-lite-absorb.json";
import rawAbsorbRepro from "@/data/deepseek-v2-lite-absorb-repro.json";
import rawCorpus from "@/data/deepseek-v2-lite-routing-corpus.json";
import rawCorpusRepro from "@/data/deepseek-v2-lite-routing-corpus-repro.json";
const trace = rawTrace as any;
const repro = rawRepro as any;
const absorb = rawAbsorb as any;
const absorbRepro = rawAbsorbRepro as any;
const corpus = rawCorpus as any;
const corpusRepro = rawCorpusRepro as any;
const absorbExact = JSON.stringify(absorb) === JSON.stringify(absorbRepro);
const corpusExact = JSON.stringify(corpus) === JSON.stringify(corpusRepro);
const bytes = (value: number) => value >= 1024
? `${(value / 1024).toFixed(2)} KiB`
: `${value.toLocaleString()} B`;
@@ -44,6 +49,19 @@ const compact = {
},
};
const compactJson = JSON.stringify(compact).replaceAll("<", "\\u003c");
const corpusCompact = {
domains: corpus.corpus_contract.domains,
labels: corpus.corpus_contract.domain_labels,
counts: corpus.corpus_contract.counts,
inference: corpus.inference_contract,
statistics: corpus.statistical_contract,
layers: corpus.layers.slice(1).map((layer: any) => ({
layer: layer.layer,
routes: layer.routes,
modes: layer.statistics,
})),
};
const corpusCompactJson = JSON.stringify(corpusCompact).replaceAll("<", "\\u003c");
const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoint_tensor_bytes;
---
@@ -55,7 +73,8 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
</div>
<p>
固定官方 revision、tokenizer、模型代码和 BF16 第一分片;RTX 5090 连续执行 layer 0–6,
捕获 3,240 次真实路由,并让 layer-1 权重继续走入官方吸收式 cache。所有结论都带证据身份与停止线。
从 3,240 次 token 显微轨迹扩到 304,560 次公开语料路由,并让 layer-1 权重继续走入官方吸收式 cache。
所有结论都带证据身份与停止线。
</p>
</header>
@@ -79,8 +98,11 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
<button type="button" role="tab" data-artifact-tab="absorb" aria-selected="false" tabindex="-1">
<span>04</span><b>吸收式执行</b><small>real cache · SM120</small>
</button>
<button type="button" role="tab" data-artifact-tab="corpus" aria-selected="false" tabindex="-1">
<span>05</span><b>128 样本区间</b><small>4 domains · bootstrap</small>
</button>
<button type="button" role="tab" data-artifact-tab="evidence" aria-selected="false" tabindex="-1">
<span>05</span><b>证据断面</b><small>revision · shards · rerun</small>
<span>06</span><b>证据断面</b><small>revision · shards · rerun</small>
</button>
</div>
@@ -366,6 +388,94 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
</div>
</section>
<section class="artifact-panel" data-artifact-panel="corpus" hidden>
<div class="panel-lead">
<div><span>X + S / FIXED PUBLIC CORPUS</span><h4>从四条示例,走到 128 条可重建样本与区间</h4></div>
<p>
WikiText-2、TNEWS、HumanEval、GSM8K 各取 32 条;固定哈希选样、最多 96 tokens。
每个区间都重采样 prompt,而不是把同一 prompt 里的 token 假装成独立样本。
</p>
</div>
<div class="corpus-ledger">
<article><span>PROMPTS</span><b>{corpus.inference_contract.total_prompts}</b><p>4 domains × 32</p></article>
<article><span>VALID TOKENS</span><b>{corpus.inference_contract.valid_tokens.toLocaleString()}</b><p>答案未使用,代码未执行</p></article>
<article><span>REAL ROUTES</span><b>{(corpus.inference_contract.routes_per_moe_layer * 6).toLocaleString()}</b><p>50,760 / layer × 6 MoE layers</p></article>
<article><span>BOOTSTRAP</span><b>{corpus.statistical_contract.replicates.toLocaleString()}</b><p>prompt-level / domain-stratified</p></article>
<article class="exact"><span>INDEPENDENT RERUN</span><b>{corpusExact ? "BYTE-EXACT" : "MISMATCH"}</b><p>SHA-256 4678a1d1…a09e4</p></article>
</div>
<div class="corpus-controls">
<div>
<span>MOE LAYER</span>
<div class="layer-switch corpus-layer-switch" role="group" aria-label="选择公开语料路由层">
{[1, 2, 3, 4, 5, 6].map((layer) => (
<button type="button" data-corpus-layer={layer} class={layer === 1 ? "active" : ""}>L{layer}</button>
))}
</div>
</div>
<div>
<span>AGGREGATION</span>
<div class="corpus-mode-switch" role="group" aria-label="选择公开语料聚合口径">
<button type="button" data-corpus-mode="prompt_balanced" aria-pressed="true">每条 prompt 等权</button>
<button type="button" data-corpus-mode="token_weighted" aria-pressed="false">按 token 加权</button>
</div>
</div>
<p data-corpus-mode-note>
先把每条 prompt 的 64 维路由分布归一,再平均;短中文标题与长代码 prompt 各有一票。
</p>
</div>
<div class="corpus-domain-table" role="table" aria-label="四域专家负载与 bootstrap 区间">
<div class="head" role="row">
<b role="columnheader">DOMAIN / TOKENS</b>
<b role="columnheader">CV · 95% CI</b>
<b role="columnheader">EFFECTIVE · 95% CI</b>
<b role="columnheader">TOP EXPERT · SHARE</b>
</div>
<div data-corpus-domain-rows></div>
</div>
<div class="corpus-heat-head">
<div><span>64 EXPERT SHARES</span><b data-corpus-heat-title>layer 1 · 每条 prompt 等权</b></div>
<p>每一行独立着色;悬停查看 expert ID、份额与 95% 区间。同号 expert 只在当前层内有意义。</p>
</div>
<div class="corpus-heat-scroll">
<div class="corpus-heatmap" data-corpus-heatmap aria-label="四个语料域的 64 专家份额热图"></div>
</div>
<div class="corpus-comparison">
<div>
<span>PAIRWISE DISTANCE / JENSEN–SHANNON · NATS</span>
<h5>同层四域分布距离</h5>
<p>0 表示两条分布相同,理论上界 ln(2)≈0.693;这里展示点估计与 prompt bootstrap 区间。</p>
</div>
<div class="corpus-jsd" data-corpus-jsd role="table" aria-label="四域 Jensen-Shannon divergence 矩阵"></div>
</div>
<div class="corpus-findings">
<article><span>CURRENT HIGHEST CV</span><b data-corpus-highest-cv></b><p data-corpus-highest-cv-ci></p></article>
<article><span>CURRENT LARGEST JSD</span><b data-corpus-largest-jsd></b><p data-corpus-largest-jsd-ci></p></article>
<article><span>WHAT CHANGED</span><b>区间替代单点印象</b><p>看到“不同”之后,继续问 prompt 换一批时波动多大。</p></article>
</div>
<div class="evidence-links">
<a href="https://huggingface.co/datasets/Salesforce/wikitext" rel="noreferrer">WikiText-2 数据卡 ↗</a>
<a href="https://github.com/CLUEbenchmark/CLUE" rel="noreferrer">CLUE / TNEWS ↗</a>
<a href="https://github.com/openai/human-eval" rel="noreferrer">OpenAI HumanEval ↗</a>
<a href="https://github.com/openai/grade-school-math" rel="noreferrer">OpenAI GSM8K ↗</a>
</div>
<div class="artifact-boundary">
<b>DESCRIPTIVE, NOT SEMANTICS</b>
<p>
这是固定 128 条公开 prompt 上的前六个 MoE 层,不是训练分布或线上流量。
bootstrap 区间描述本探针换 prompt 的稳定性,不是零差异假设检验;没有多重比较校正,
也不能把 E29、E48 等参数索引命名成“中文专家”或“代码专家”。
</p>
</div>
</section>
<section class="artifact-panel" data-artifact-panel="evidence" hidden>
<div class="panel-lead">
<div><span>O + X / EVIDENCE SLICE</span><h4>为什么执行到 layer 6 就停,而不是把“部分下载”写成“完整复现”</h4></div>
@@ -455,11 +565,12 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
<span>可复现入口</span>
<code>experiments/deepseek/v2_lite_trace.py</code> ·
<code>experiments/deepseek/v2_lite_absorb_probe.py</code> ·
<code>src/data/deepseek-v2-lite-trace.json</code> ·
<code>research/DEEPSEEK_MLA_ABSORB_AUDIT.md</code>
<code>experiments/deepseek/v2_lite_routing_corpus.py</code> ·
<code>research/DEEPSEEK_ROUTING_CORPUS_AUDIT.md</code>
</figcaption>
<script is:inline type="application/json" data-dsv2-trace set:html={compactJson}></script>
<script is:inline type="application/json" data-dsv2-corpus set:html={corpusCompactJson}></script>
</figure>
<script>
@@ -471,8 +582,10 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
if (node) node.textContent = value;
};
const payloadNode = one<HTMLScriptElement>("[data-dsv2-trace]");
if (!payloadNode?.textContent) return;
const corpusNode = one<HTMLScriptElement>("[data-dsv2-corpus]");
if (!payloadNode?.textContent || !corpusNode?.textContent) return;
const data = JSON.parse(payloadNode.textContent);
const corpusData = JSON.parse(corpusNode.textContent);
const tabs = all<HTMLButtonElement>("[data-artifact-tab]");
const panels = all<HTMLElement>("[data-artifact-panel]");
@@ -659,6 +772,173 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
control.addEventListener("change", renderCache);
});
renderCache();
const corpusLabels: Record<string, string> = {
english: "英文百科",
chinese: "中文新闻",
code: "Python 代码",
math: "小学数学",
};
const corpusLayer = (layer: number) => corpusData.layers.find((item: any) => item.layer === layer);
let corpusLayerNumber = 1;
let corpusMode = "prompt_balanced";
const formatCi = (ci: number[], digits = 3) => `[${ci[0].toFixed(digits)}, ${ci[1].toFixed(digits)}]`;
const renderCorpus = () => {
const layer = corpusLayer(corpusLayerNumber);
const mode = layer.modes[corpusMode];
all<HTMLButtonElement>("[data-corpus-layer]").forEach((button) => {
button.classList.toggle("active", Number(button.dataset.corpusLayer) === corpusLayerNumber);
});
all<HTMLButtonElement>("[data-corpus-mode]").forEach((button) => {
button.setAttribute("aria-pressed", String(button.dataset.corpusMode === corpusMode));
});
set(
"[data-corpus-mode-note]",
corpusMode === "prompt_balanced"
? "先把每条 prompt 的 64 维路由分布归一,再平均;短中文标题与长代码 prompt 各有一票。"
: "直接汇总全部 token 的路由计数;长 prompt 权重更高,适合回答“本批 token 实际流向哪里”。",
);
set(
"[data-corpus-heat-title]",
`layer ${corpusLayerNumber} · ${corpusMode === "prompt_balanced" ? "每条 prompt 等权" : "按 token 加权"}`,
);
const rows = one<HTMLElement>("[data-corpus-domain-rows]");
if (rows) {
rows.replaceChildren(...corpusData.domains.map((domain: string) => {
const result = mode.domains[domain];
const metrics = result.metrics;
const top = result.top_experts[0];
const row = document.createElement("div");
row.setAttribute("role", "row");
const identity = document.createElement("span");
const identityLabel = document.createElement("b");
const identityMeta = document.createElement("small");
identityLabel.textContent = corpusLabels[domain];
identityMeta.textContent = `32 prompts · ${corpusData.counts[domain].valid_tokens.toLocaleString()} tokens`;
identity.append(identityLabel, identityMeta);
const cv = document.createElement("span");
const cvPoint = document.createElement("b");
const cvCi = document.createElement("small");
cvPoint.textContent = metrics.cv.point.toFixed(3);
cvCi.textContent = formatCi(metrics.cv.ci95);
cv.append(cvPoint, cvCi);
const effective = document.createElement("span");
const effectivePoint = document.createElement("b");
const effectiveCi = document.createElement("small");
effectivePoint.textContent = metrics.effective_experts.point.toFixed(1);
effectiveCi.textContent = formatCi(metrics.effective_experts.ci95, 1);
effective.append(effectivePoint, effectiveCi);
const topExpert = document.createElement("span");
const topLabel = document.createElement("b");
const topCi = document.createElement("small");
topLabel.textContent = `E${top.expert} · ${(top.share * 100).toFixed(2)}%`;
topCi.textContent = `${(top.ci95[0] * 100).toFixed(2)}–${(top.ci95[1] * 100).toFixed(2)}%`;
topExpert.append(topLabel, topCi);
row.append(identity, cv, effective, topExpert);
return row;
}));
}
const heatmap = one<HTMLElement>("[data-corpus-heatmap]");
if (heatmap) {
heatmap.replaceChildren(...corpusData.domains.map((domain: string) => {
const result = mode.domains[domain];
const max = Math.max(...result.distribution);
const row = document.createElement("div");
const label = document.createElement("b");
label.textContent = corpusLabels[domain];
row.append(label);
result.distribution.forEach((share: number, expert: number) => {
const cell = document.createElement("span");
const ci = result.expert_share_ci95[expert];
cell.style.setProperty("--share", String(share / max));
cell.title = `${corpusLabels[domain]} · L${corpusLayerNumber} · E${expert} · ${(share * 100).toFixed(2)}% · 95% CI ${(ci[0] * 100).toFixed(2)}–${(ci[1] * 100).toFixed(2)}%`;
cell.setAttribute("aria-label", cell.title);
row.append(cell);
});
return row;
}));
}
const jsd = one<HTMLElement>("[data-corpus-jsd]");
const pairFor = (left: string, right: string) => mode.pairs.find((pair: any) =>
(pair.left === left && pair.right === right) || (pair.left === right && pair.right === left)
);
if (jsd) {
const cells: HTMLElement[] = [];
const corner = document.createElement("b");
corner.textContent = "DOMAIN";
cells.push(corner);
corpusData.domains.forEach((domain: string) => {
const header = document.createElement("b");
header.textContent = corpusLabels[domain];
cells.push(header);
});
corpusData.domains.forEach((left: string) => {
const header = document.createElement("b");
header.textContent = corpusLabels[left];
cells.push(header);
corpusData.domains.forEach((right: string) => {
const cell = document.createElement("span");
if (left === right) {
cell.className = "diagonal";
cell.textContent = "0";
} else {
const result = pairFor(left, right).js_divergence;
const point = document.createElement("b");
const ci = document.createElement("small");
point.textContent = result.point.toFixed(3);
ci.textContent = formatCi(result.ci95);
cell.append(point, ci);
}
cells.push(cell);
});
});
jsd.replaceChildren(...cells);
}
const highest = corpusData.domains
.map((domain: string) => ({ domain, value: mode.domains[domain].metrics.cv }))
.sort((left: any, right: any) => right.value.point - left.value.point)[0];
const largest = [...mode.pairs]
.sort((left: any, right: any) =>
right.js_divergence.point - left.js_divergence.point
)[0];
set(
"[data-corpus-highest-cv]",
`${corpusLabels[highest.domain]} · ${highest.value.point.toFixed(3)}`,
);
set(
"[data-corpus-highest-cv-ci]",
`95% CI ${formatCi(highest.value.ci95)} · L${corpusLayerNumber}`,
);
set(
"[data-corpus-largest-jsd]",
`${corpusLabels[largest.left]} ↔ ${corpusLabels[largest.right]} · ${largest.js_divergence.point.toFixed(3)}`,
);
set(
"[data-corpus-largest-jsd-ci]",
`95% CI ${formatCi(largest.js_divergence.ci95)} · nats`,
);
};
all<HTMLButtonElement>("[data-corpus-layer]").forEach((button) => {
button.addEventListener("click", () => {
corpusLayerNumber = Number(button.dataset.corpusLayer);
renderCorpus();
});
});
all<HTMLButtonElement>("[data-corpus-mode]").forEach((button) => {
button.addEventListener("click", () => {
corpusMode = button.dataset.corpusMode ?? "prompt_balanced";
renderCorpus();
});
});
renderCorpus();
});
</script>
@@ -702,7 +982,12 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
.execution-split span,
.repro-gate span,
.dependency-split span,
.checksum-grid span {
.checksum-grid span,
.corpus-ledger span,
.corpus-controls > div > span,
.corpus-heat-head span,
.corpus-comparison span,
.corpus-findings span {
margin: 0;
color: var(--blue);
font: 700 .69rem/1.3 var(--font-mono);
@@ -756,7 +1041,7 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
.artifact-status b { color: var(--ink); font-size: .72rem; }
.artifact-tabs {
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-columns: repeat(6, 1fr);
background: var(--ink);
}
.artifact-tabs button {
@@ -1052,6 +1337,212 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
.jaccard-block :global([data-load-jaccard] article b) { font: 700 .62rem/1 var(--font-mono); text-align: right; }
.load-lessons { grid-template-columns: repeat(3, 1fr); }
.load-lessons b { display: block; margin-top: .35rem; font-size: .77rem; }
.corpus-ledger {
display: grid;
grid-template-columns: repeat(5, 1fr);
border: 1px solid rgba(32,32,39,.14);
}
.corpus-ledger article {
padding: .85rem;
border-right: 1px solid rgba(32,32,39,.12);
}
.corpus-ledger article:last-child { border-right: 0; }
.corpus-ledger article.exact { background: rgba(57,120,110,.1); }
.corpus-ledger b {
display: block;
margin-top: .4rem;
font: 750 1.2rem/1 var(--font-display);
}
.corpus-ledger p {
margin: .3rem 0 0;
color: rgba(32,32,39,.56);
font-size: .63rem;
line-height: 1.4;
}
.corpus-controls {
display: grid;
grid-template-columns: auto 1.1fr minmax(15rem, 1.3fr);
gap: 1rem;
align-items: end;
margin-top: .8rem;
padding: .85rem;
border: 1px solid rgba(32,32,39,.14);
background: #e8e2d7;
}
.corpus-controls > div { display: grid; gap: .45rem; }
.corpus-controls .layer-switch { margin: 0; }
.corpus-mode-switch { display: flex; }
.corpus-mode-switch button {
padding: .58rem .75rem;
border: 1px solid rgba(32,32,39,.22);
background: #fffdf8;
color: var(--ink);
font: 650 .67rem/1 var(--font-mono);
cursor: pointer;
}
.corpus-mode-switch button + button { border-left: 0; }
.corpus-mode-switch button[aria-pressed="true"] {
border-color: var(--blue);
background: var(--blue);
color: white;
}
.corpus-controls > p {
margin: 0;
color: rgba(32,32,39,.62);
font-size: .69rem;
line-height: 1.5;
}
.corpus-domain-table {
margin-top: .8rem;
border: 1px solid rgba(32,32,39,.15);
overflow-x: auto;
background: #fffdf8;
}
.corpus-domain-table .head,
.corpus-domain-table :global([data-corpus-domain-rows] > div) {
display: grid;
grid-template-columns: 1.25fr repeat(3, 1fr);
min-width: 680px;
}
.corpus-domain-table .head { background: var(--ink); color: white; }
.corpus-domain-table .head b,
.corpus-domain-table :global([data-corpus-domain-rows] > div > span) {
display: grid;
gap: .25rem;
padding: .7rem;
border-right: 1px solid rgba(32,32,39,.1);
border-bottom: 1px solid rgba(32,32,39,.1);
}
.corpus-domain-table .head b {
font: 650 .62rem/1.2 var(--font-mono);
border-color: rgba(255,255,255,.12);
}
.corpus-domain-table :global([data-corpus-domain-rows] b) {
font: 720 .76rem/1.2 var(--font-mono);
}
.corpus-domain-table :global([data-corpus-domain-rows] small) {
color: rgba(32,32,39,.52);
font: .61rem/1.25 var(--font-mono);
}
.corpus-heat-head {
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 1rem;
align-items: end;
margin: 1rem 0 .55rem;
}
.corpus-heat-head > div { display: grid; gap: .25rem; }
.corpus-heat-head b { font-size: .78rem; }
.corpus-heat-head p {
margin: 0;
color: rgba(32,32,39,.58);
font-size: .67rem;
line-height: 1.45;
text-align: right;
}
.corpus-heat-scroll {
overflow-x: auto;
border: 1px solid rgba(32,32,39,.14);
background: #ddd6ca;
}
.corpus-heatmap { min-width: 880px; }
.corpus-heatmap > :global(div) {
display: grid;
grid-template-columns: 6.5rem repeat(64, minmax(8px, 1fr));
gap: 2px;
padding: 3px;
border-bottom: 1px solid rgba(32,32,39,.12);
}
.corpus-heatmap > :global(div:last-child) { border-bottom: 0; }
.corpus-heatmap > :global(div > b) {
position: sticky;
left: 0;
z-index: 1;
display: grid;
align-items: center;
padding: .45rem;
background: #eee8de;
font: 700 .61rem/1.1 var(--font-mono);
}
.corpus-heatmap > :global(div > span) {
min-height: 1.55rem;
background: color-mix(in srgb, var(--blue) calc(var(--share) * 88%), #f2ede4);
cursor: help;
}
.corpus-heatmap > :global(div > span:hover) {
outline: 2px solid var(--amber);
z-index: 2;
}
.corpus-comparison {
display: grid;
grid-template-columns: .65fr 1.35fr;
gap: 1rem;
margin-top: .8rem;
padding: 1rem;
border: 1px solid rgba(32,32,39,.14);
background: #e8e2d7;
}
.corpus-comparison h5 {
margin: .4rem 0;
font: 720 1rem/1.15 var(--font-display);
}
.corpus-comparison p {
margin: 0;
color: rgba(32,32,39,.58);
font-size: .68rem;
line-height: 1.5;
}
.corpus-jsd {
display: grid;
grid-template-columns: 6rem repeat(4, minmax(5.5rem, 1fr));
overflow-x: auto;
border: 1px solid rgba(32,32,39,.13);
background: #fffdf8;
}
.corpus-jsd > :global(b),
.corpus-jsd > :global(span) {
display: grid;
align-content: center;
gap: .2rem;
min-height: 3.1rem;
padding: .45rem;
border-right: 1px solid rgba(32,32,39,.1);
border-bottom: 1px solid rgba(32,32,39,.1);
font: 650 .59rem/1.2 var(--font-mono);
}
.corpus-jsd > :global(b) { background: var(--ink); color: white; }
.corpus-jsd > :global(span > b) { font-size: .72rem; }
.corpus-jsd > :global(span > small) {
color: rgba(32,32,39,.48);
font-size: .52rem;
}
.corpus-jsd > :global(span.diagonal) {
place-items: center;
background: rgba(57,120,110,.08);
color: var(--teal);
}
.corpus-findings {
display: grid;
grid-template-columns: repeat(3, 1fr);
margin-top: .8rem;
border: 1px solid rgba(32,32,39,.14);
}
.corpus-findings article {
padding: .85rem;
border-right: 1px solid rgba(32,32,39,.12);
}
.corpus-findings article:last-child { border-right: 0; }
.corpus-findings b {
display: block;
margin-top: .4rem;
font-size: .78rem;
}
.corpus-findings p {
margin: .3rem 0 0;
color: rgba(32,32,39,.56);
font-size: .65rem;
line-height: 1.45;
}
.observed-cache {
display: grid;
grid-template-columns: 1fr auto 1.25fr;
@@ -1283,7 +1774,10 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
.heat-head,
.aggregate-card,
.jaccard-block,
.kernel-contract { grid-template-columns: 1fr; }
.kernel-contract,
.corpus-controls,
.corpus-heat-head,
.corpus-comparison { grid-template-columns: 1fr; }
.artifact-status { grid-template-columns: 1fr 1fr; }
.artifact-tabs { grid-template-columns: 1fr 1fr; }
.route-controls { grid-template-columns: 1fr 1fr; }
@@ -1294,6 +1788,8 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
.route-metrics,
.checksum-grid,
.absorb-metrics { grid-template-columns: 1fr 1fr; }
.corpus-ledger { grid-template-columns: repeat(3, 1fr); }
.corpus-heat-head p { text-align: left; }
.layer-evidence { grid-template-columns: repeat(9, 1fr); }
.repro-gate { grid-template-columns: 1fr 1fr; }
.repro-gate > p { grid-column: 1 / -1; padding: .8rem 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
@@ -1319,13 +1815,19 @@ const shardFraction = trace.provenance.shard_1_bytes / trace.provenance.checkpoi
.absorb-metrics,
.artifact-identity,
.checksum-grid,
.cache-ledger { grid-template-columns: 1fr; }
.cache-ledger,
.corpus-ledger,
.corpus-findings { grid-template-columns: 1fr; }
.route-metrics article,
.cache-ratio article,
.load-lessons article,
.absorb-metrics article,
.artifact-identity article,
.checksum-grid article { border-right: 0; border-bottom: 1px solid rgba(32,32,39,.12); }
.corpus-ledger article,
.corpus-findings article { border-right: 0; border-bottom: 1px solid rgba(32,32,39,.12); }
.corpus-mode-switch { display: grid; grid-template-columns: 1fr; }
.corpus-mode-switch button + button { border-left: 1px solid rgba(32,32,39,.22); border-top: 0; }
.artifact-boundary { grid-template-columns: 1fr; }
.load-dials { grid-template-columns: 1fr; }
.observed-cache,
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -37,7 +37,7 @@ const toc = [
<BaseLayout
title="DeepSeek 技术谱系与真实权重深读:从 Dense、MoE、MLA 到 R1 与 V4"
description="用二十四张问题账、十次技术转向、九个交互实验、真实 V2-Lite 权重与吸收式缓存 trace 和六十个一手节点,完整理解 DeepSeek 的 MoE、MLA、FP8、DualPipe、GRPO、R1、V3.2 与 V4。"
description="用二十四张问题账、十次技术转向、十个交互实验、真实 V2-Lite 权重、公开语料路由区间与吸收式缓存 trace 和六十个一手节点,完整理解 DeepSeek 的 MoE、MLA、FP8、DualPipe、GRPO、R1、V3.2 与 V4。"
section="deepseek"
>
<header class="page-hero deepseek-hero">
@@ -55,7 +55,7 @@ const toc = [
<div><dt>SPAN</dt><dd>2024.01 → 2026.06</dd></div>
<div><dt>LEDGERS</dt><dd>24 张问题账</dd></div>
<div><dt>LINEAGE</dt><dd>10 次技术转向</dd></div>
<div><dt>LABS</dt><dd>9 个可操作实验</dd></div>
<div><dt>LABS</dt><dd>10 个可操作实验</dd></div>
<div><dt>EVIDENCE</dt><dd>60 个一手 / 官方节点</dd></div>
<div><dt>STATUS</dt><dd>三轮 · 真实权重执行</dd></div>
</dl>
@@ -768,15 +768,15 @@ const toc = [
<p class="eyebrow"><span>22</span> OFFICIAL WEIGHTS / EXECUTED</p>
<h2>从“MLA 与 MoE 的概念”再往前一步:让官方 V2-Lite 权重真的跑起来</h2>
<p class="lede">
前面的四联实验负责建立公式与角色合同;下面的五联工件实验固定官方 revision、tokenizer、
前面的四联实验负责建立公式与角色合同;下面的六联工件实验固定官方 revision、tokenizer、
模型代码和 checkpoint 第一分片,在 RTX 5090 上连续执行 layer 0–6。它把真实观测、shape 推导、
吸收式 latent cache、实现差距和未覆盖范围放在同一张证据图里。
吸收式 latent cache、128 条公开语料的路由区间、实现差距和未覆盖范围放在同一张证据图里。
</p>
<div class="artifact-callout">
<article><span>X / FORWARD</span><b>7 / 27 layers</b><p>1 个 dense 层 + 6 个 MoE 层;layer 7 因跨分片停止。</p></article>
<article><span>X / ROUTES</span><b>3,240</b><p>90 个有效 token × 6 层 × top-6 routed experts。</p></article>
<article><span>X / ROUTES</span><b>304,560</b><p>128 条公开 prompt、8,460 token、6 个 MoE 层的真实 top-6 选择。</p></article>
<article><span>X / ABSORB CACHE</span><b>266,240 → 29,952 B</b><p>同一真实 layer-1 权重的 naive / absorb active buffers。</p></article>
<article><span>X / RERUN</span><b>31 / 31 exact</b><p>hidden hashes、MLA shapes、loads 与全部 token routes。</p></article>
<article><span>X / RERUN</span><b>BYTE-EXACT</b><p>固定选样、逐 prompt loads 与 2,000 次 bootstrap 摘要完整复跑。</p></article>
</div>
<DeepSeekArtifactLab />
</section>
+5 -5
View File
@@ -15,7 +15,7 @@ const workstreams = [
{ label: "表示、位置与残差高速公路", value: 81, next: "加入真实 hidden-state / norm traces、长上下文位置外推复现与更多深层稳定性消融" },
{ label: "Scaling Laws", value: 74, next: "加入真实拟合复现、置信区间与更多模型族对照" },
{ label: "数据工程与预训练配方", value: 73, next: "逐图精读 FineWeb / DCLM,加入真实去重与 mixture traces" },
{ label: "DeepSeek 专题", value: 89, next: "SM90 FlashMLA 优化 kernel、更大样本负载、FP8/pipeline 与 R1-like RL 复现" },
{ label: "DeepSeek 专题", value: 91, next: "SM90 FlashMLA kernel、完整 27 层、长度匹配对照、FP8/pipeline 与 R1-like RL 复现" },
{ label: "指令微调与人类偏好", value: 75, next: "加入真实偏好分歧样本、RM 长度偏置与 PPO/DPO 小模型复现" },
{ label: "推理与测试时扩展", value: 76, next: "真实模型采样曲线、PRM 案例与逐篇图表精读" },
{ label: "工具使用与长程 Agent", value: 74, next: "补真实环境 traces、cross-harness 对照、Agent RL 训练曲线与安全案例" },
@@ -50,7 +50,7 @@ const workstreams = [
<div><dt>OVERALL</dt><dd>专题平均 {average}%</dd></div>
<div><dt>READABLE</dt><dd>{published} 个首版可读专题</dd></div>
<div><dt>ACTIVE</dt><dd>{researching} 个研究/写作中</dd></div>
<div><dt>UPDATED</dt><dd>2026-07-29 14:15 CST</dd></div>
<div><dt>UPDATED</dt><dd>2026-07-29 15:25 CST</dd></div>
<div><dt>MODE</dt><dd>持续迭代,不锁死版本</dd></div>
</dl>
</div>
@@ -97,12 +97,12 @@ const workstreams = [
<article><span>✓</span><h3>K3 报告已结构化拆解</h3><p>47 页报告目录、151 条参考来源和架构/后训练/系统主线已经提取。</p></article>
<article><span>✓</span><h3>17 专题知识图</h3><p>从语言模型基础到评测安全,包含先修依赖和三条贯穿案例。</p></article>
<article><span>✓</span><h3>编辑式网站系统</h3><p>响应式导航、章节模板、侧栏、进度、论文链和证据提示组件。</p></article>
<article><span>✓</span><h3>七十六个原创交互视图</h3><p>K3 三轴图、八联报告实验与四联开放工件实验,DeepSeek 四联公式实验与五联真实权重实验,以及语言模型前史、Transformer、表示深度、长上下文、MoE、推理、Agent、多模态、训练系统、推理服务、Scaling、数据工程、数值、Alignment 与评测安全专题。</p></article>
<article><span>✓</span><h3>七十七个原创交互视图</h3><p>K3 三轴图、八联报告实验与四联开放工件实验,DeepSeek 四联公式实验与六联真实权重实验,以及语言模型前史、Transformer、表示深度、长上下文、MoE、推理、Agent、多模态、训练系统、推理服务、Scaling、数据工程、数值、Alignment 与评测安全专题。</p></article>
<article><span>✓</span><h3>十七篇首版长文</h3><p>K3、语言模型前史、Transformer、表示/位置/残差、DeepSeek、Scaling、数据工程、长上下文、MoE、后训练、推理、Agent、原生多模态、训练系统、推理服务、数值优化与评测安全专题。</p></article>
<article><span>✓</span><h3>语言模型前史深度专题</h3><p>八张独立问题账、33 个正式节点、20 段长文与概率—向量—记忆—对齐四联实验。</p></article>
<article><span>✓</span><h3>Transformer 深度专题</h3><p>十张独立问题账、40 个正式节点、21 段正文与 QKV—Mask—多头位置—Block 成本四联实验。</p></article>
<article><span>✓</span><h3>表示、位置与残差高速公路深度专题</h3><p>二十张问题账、66 个一手节点、DeepSeek/Kimi 双谱系,以及 Token—位置—Norm—Residual/FFN 四联实验。</p></article>
<article><span>✓</span><h3>DeepSeek 三轮真实权重里程碑</h3><p>在二十四张问题账、十次转向与四联公式实验上,新增 V2-Lite 7/27 层连续 forward、3,240 次真实专家选择、MLA/eager cache 实现账、31/31 exact 复跑,以及官方 V3 absorb 的 576 元素真实缓存五联实验。</p></article>
<article><span>✓</span><h3>DeepSeek 三轮真实权重里程碑</h3><p>在二十四张问题账、十次转向与四联公式实验上,新增 V2-Lite 7/27 层连续 forward、官方 V3 absorb 的 576 元素真实缓存,以及四域 128 条固定公开 prompt、304,560 次真实路由、2,000 次 prompt bootstrap 与 byte-exact 独立重跑的六联实验。</p></article>
<article><span>✓</span><h3>Kimi K3 技术报告二轮深读</h3><p>三十二张问题账、Figure 1–16 / Table 1–5 审计、100 节点阅读链,以及 Delta—Decay—AttnRes—LatentMoE—SiTU—QB—MOPD—Cache 八联实验。</p></article>
<article><span>✓</span><h3>Kimi K3 三轮开放工件里程碑</h3><p>固定官方 revisions,审计 96 个 shards、497,220 个 tensor entries 与真实 KDA / MLA / MoE / MoonViT shapes;四联实验分开显示层型、tensor anatomy、参数范围和复现边界。</p></article>
<article><span>✓</span><h3>FlashKDA RTX 5090 执行闸门</h3><p>隔离 CUDA 13.0 / glibc 2.39 编译 sm_120a wheel;6/6 官方参考逐元素相等,并完成 fixed / varlen、三种 state mode 的 1,800 个 CUDA Event samples。</p></article>
@@ -134,7 +134,7 @@ const workstreams = [
<div class="queue-table">
<div class="head"><b>优先级</b><b>专题</b><b>本轮交付</b><b>完成闸门</b></div>
<div><span>P0</span><strong>K3 三轮</strong><p>开放权重 traces → FlashKDA / AttnRes / MoE 真实行为 → Figure 1–16 数值重绘与独立复现</p><em>运行证据 + 逐图复现</em></div>
<div><span>P0</span><strong>DeepSeek 三轮</strong><p>SM90 FlashMLA 优化 kernel / 更大负载样本 → FP8 / pipeline traces → R1-like RL 小模型复现</p><em>运行证据 + 独立复现</em></div>
<div><span>P0</span><strong>DeepSeek 三轮</strong><p>SM90 FlashMLA kernel / 完整 27 层 / 长度匹配对照 → FP8 / pipeline traces → R1-like RL 小模型复现</p><em>运行证据 + 独立复现</em></div>
<div><span>P0</span><strong>Transformer 二轮</strong><p>多头电路逐图 → Pre/Post-LN 真实 traces → Flash/KV 配置与 kernel 对照</p><em>逐图笔记 + 实测边界</em></div>
<div><span>P0</span><strong>表示、位置与残差二轮</strong><p>真实 hidden-state / norm traces → 长上下文位置外推 → mHC / AttnRes 深层稳定性消融</p><em>可复现实验 + 逐图笔记</em></div>
<div><span>P0</span><strong>语言模型前史二轮</strong><p>Kneser–Ney / LSTM / Bahdanau 逐图 → 真实小语料复现 → tokenizer 公平性</p><em>可复现实验 + 逐图笔记</em></div>