临界分词的存在性与最优性:从统计临界态到神经语言模型的双语实证检验 -更新

一项关于"自然语言分词是否存在内禀临界点,以及该点是否最优"的可证伪研究。
含 n-gram 统计分析(中/英)与线性 SSM 语言模型(FRSMASH v3.6,~8M 参数)双语验证。


摘要

本文把"临界分词"(critical tokenization)这一理论假设拆解为一组可证伪命题,在真实文本上分两阶段检验。第一阶段用 n-gram 与统计物理量(Zipf 指数 α、互信息幂律衰减 γ、最小描述长度 MDL)刻画分词器的临界结构:我们发现 (i) 中英文均存在使 α 精确逼近 1.0 的特定词表 V*(英 V*=1501, α=0.9998;中 V*=3240, α=1.0014);(ii) token 序列的互信息呈幂律衰减(幂律拟合 R² 显著优于指数),且打乱序列后幂律消失——满足统计物理的临界判据;(iii) 但"MDL 最小值 = 临界点"的强主张被证伪(最小值总落在最大词表),临界点实为压缩收益递减的拐点。第二阶段用容量匹配的神经 LM(~8M 参数,等步数训练)跨 5 组分词器测量验证集 bits-per-char (BPC):英文 BPE 家族在 α∈[0.91,1.09] 内 BPC 仅差 1.4%(宽平台,非尖锐最优);而中文的字符级(α≈1.05,内禀构词单元)在等算力与等信息两个轴上双双最优第三阶段直接检验框架"动态分词器优于静态"的主张:在同等算力下,无论是静态数据上的词表课程,还是域漂移下的自适应重合并,动态切换分词器都比固定分词器更差——切换扰动压过适应收益,最简形态的"动态>静态"被证伪。综合得到一个比"临界即最优"更准确的可操作结论:分词器最优性是算力—信息双轴权衡,α≈1 是横跨双轴的稳健平衡点,落在语言的内禀构词单元上;而当下可证最优的实践,是预训前用 α≈1 定好词表、贯穿训练全程

关键词:分词、Zipf 律、临界态、长程相关、最小描述长度、状态空间模型、双语对照


1 引言

主流大语言模型(LLM)采用静态、预训练好的分词器(BPE/WordPiece),分词与模型训练彼此独立。近期有理论假设认为:自然语言处于某种"临界态",存在一个使分词器统计特性(分形维 D、Zipf 指数 α≈1)对齐语言内禀临界的"临界分词",且该分词能最小化总描述长度、加速 Grokking、甚至改写 SFT/RLHF 范式。这类主张多数停留在叙事层面,缺乏可证伪、可复现的检验。

本文不预设其真伪,而是把框架拆成 9 条命题(表 1),用两阶段实验逐一裁决。核心问题三连:

  1. 分词器是否存在可测的临界结构?(α≈1?长程幂律相关?)
  2. 该临界点是否是压缩/学习的最优点?
  3. 结论是否跨语言普适?

2 理论框架与可证伪命题

设原始字符序列x∈X∗x\in\mathcal{X}^*xX,分词器TTT将其映射为 token 序列z=T(x)z=T(x)z=T(x)。框架提出总描述长度

Ltotal=Ex[−log⁡2pθ(T(x))]⏟L(z): LM 编码代价+β1∣V∣log⁡2∣Vbase∣⏟L(T): 词表代价+β2Δcritic⏟临界正则 \mathcal{L}_{\text{total}}=\underbrace{\mathbb{E}_x[-\log_2 p_\theta(T(x))]}_{L(z):\ \text{LM 编码代价}}+\underbrace{\beta_1|V|\log_2|V_{\text{base}}|}_{L(T):\ \text{词表代价}}+\underbrace{\beta_2\Delta_{\text{critic}}}_{\text{临界正则}}Ltotal=L(z):LM编码代价Ex[log2pθ(T(x))]+L(T):词表代价β1Vlog2Vbase+临界正则β2Δcritic

其中Δcritic=λD∣DT−Dlang∣+λα∣αT−1∣\Delta_{\text{critic}}=\lambda_D|D_T-D_{\text{lang}}|+\lambda_\alpha|\alpha_T-1|Δcritic=λDDTDlang+λααT1∣。我们将其分解为表 1 的命题。

表 1 九条命题与裁决汇总(✅证实 / 🟡部分 / ❌证伪 / ⛔未及)

#命题阶段裁决
P1存在 V* 使 α_T 精确≈1(Zipf 临界吸引子)统计
P2token 序列处于临界态(幂律长程相关)统计
P3D_T(分形维)有意义且区分分词器统计❌(需修正)
P4MDL 总描述长度在临界点取最小统计
P5BPE 比字符/词级更接近临界统计
P6临界性跨语言普适统计✅(带反转)
P7静态分词次优→需联合训练(间接)统计🟡
P8临界分词省 15–20% bitsLLM🟡(语言依赖)
P9临界分词 Grokking 更快LLM🟡(弱信号)
P10动态/联合分词 > 固定分词(等算力)LLM❌(最简形态被证伪)

3 方法

3.1 语料

  • 英文:Project Gutenberg 拼接(Alice / Moby Dick / Tale of Two Cities 等),统计阶段 1.1M 字符,LLM 阶段 18M 训练 + 1M 验证字符。
  • 中文minimind_data/pretrain_t2t_mini.jsonl,统计阶段 0.7M 字符,LLM 阶段 18M 训练 + 1M 验证字符。
  • 所有分词器无损decode(encode(x))=xdecode(encode(x))=xdecode(encode(x))=x),故残余损失Lres=0L_{res}=0Lres=0,隔离分词器本身的影响。

3.2 分词器

  • Char:每字符一个 token(中文即汉字)。
  • Word:词表为预分词后的词单元 + UNK。
  • BPE:自实现 GPT-2 风格 char-BPE,采用增量 pair-counting(仅更新受影响词),训练加速 15–27×。
  • Byte(仅中文 LLM):UTF-8 字节,V=257。

3.3 度量(统计阶段)

  • Zipf 指数 α:token 秩-频 log-log 回归斜率,拟合于累计质量 95% 内。
  • 互信息幂律衰减 γI(d)∼d−γI(d)\sim d^{-\gamma}I(d)dγddd为 token 距离。幂律拟合 R² 与指数拟合 R² 比较;打乱基线(保留频率、破坏顺序)作为对照。
  • Higuchi 分形维 D:作用于 token 频率-秩序列。
  • BPC:n-gram(插值三阶 + 单阶)交叉熵 / chars-per-token。
  • MDLL(z)+βL(T)L(z)+\beta L(T)L(z)+βL(T)β∈{0.02,0.05,0.1,0.2}\beta\in\{0.02,0.05,0.1,0.2\}β{0.02,0.05,0.1,0.2}

3.4 神经语言模型(LLM 阶段)

  • 架构:FRSMASH v3.6——多槽 F-layer(SSM,fla HGRN)+ 线性 SlowMemory + GLA 召回分支(fla chunk_gla),O(T) 复杂度。
  • 容量匹配:4 层,按词表微调 hidden 维度把总参数拉平到 7.3–8.9M(消除 embedding 参数差异)。
  • 训练:每组同样 1000 步(等算力/等 token),seq=512, batch=32, AdamW(lr=5e-4, β=(0.9,0.95)) + cosine, bf16, grad-clip=1.0。RTX 4090。
  • 公平双轴:同时报告 (A) 等算力(等 1000 步)final BPC;(B) 等信息量(BPC @ 同 15M 字符曝光)。

4 统计阶段结果

4.1 命题 P1:α≈1 的临界吸引子(✅ 证实)

词表扫描中,α 单调漂移并精确穿过 1.0

表 2 英文 BPE 词表扫描(V*=1501, α=0.9998)

V20170110011501200140016942
α0.9250.9590.9641.0001.0231.0661.075
γ0.6230.2600.2170.1830.1660.1360.118
cpt1.461.771.841.911.962.072.15

表 3 中文扫描(V*=3240=字符级, α=1.0014;其上 BPE 合并使 α 跌至 0.82–0.85)

V3240(char)4001500162016801
α1.0010.8220.8290.8390.848
γ0.1600.0740.0540.0440.041
cpt1.001.251.371.441.47

跨语言反转:英文的 α≈1 由 BPE 把字符合并到 V≈1500 达成;中文的 α≈1 由汉字本身达成,在字之上继续合并反而把 α 推离 1.0。临界点落在他语言的内禀构词单元上。

4.2 命题 P2:临界态(幂律长程相关)(✅ 证实)

V* 处的互信息衰减,幂律拟合 R² 显著优于指数;打乱序列后 γ 坍塌至 ≈0:

表 4 临界性检验(γ_power = 幂律衰减指数;γ_shuffled = 打乱基线)

语言幂律 R²指数 R²γ_powerγ_shuffled
英文0.7770.4950.183−0.002
中文0.8260.5200.160+0.0004

打乱基线证明 γ 测的是真实序列结构(长程相关),而非频率分布的副产物——满足统计物理的临界判据(尺度无关的幂律相关)。图见results/criticality_{en,cn}.png

4.3 命题 P3:分形维 D(❌ 需修正定义)

Higuchi 维数对所有分词器落在 0.98–1.01,几乎无区分力(表 5)。分形维本质是连续状态空间概念,直接套到离散 token 序列信息量低。建议:临界性应以 γ(互信息幂律衰减)为主诊断量。

表 5 分词器类型对比(英文)

VαγHiguchi Dcpt
char910.9081.2271.0071.00
word72161.2970.3500.9991.68
bpe(V*)15021.0010.1831.0091.91

4.4 命题 P5/P6:BPE 最接近临界 + 跨语言普适(✅)

BPE(V*) 精确命中 α=1.001 且 γ 最低(0.183,最尺度无关/最临界)。中文对照同样成立(char α=1.002 vs word α=1.148)。图见results/tokcompare_{en,cn}.png

4.5 命题 P4:MDL 最小 = 临界点?(❌ 证伪)

Ltotal=L(z)+βL(T)\mathcal{L}_{total}=L(z)+\beta L(T)Ltotal=L(z)+βL(T)所有β 下最小值都落在最大词表(英 6942 / 中 6801),不在 V*。原因:词表代价L(T)=∣V∣log⁡2∣Vbase∣L(T)=|V|\log_2|V_{\text{base}}|L(T)=Vlog2Vbase摊到每字符极小(英 @6942 仅 0.45 bit/char),压不过压缩的持续收益。V* 落在压缩收益递减的拐点上(英:70% 压缩量于 V≈2001 捕获,紧邻 V*=1501;中:拐点 V≈4501)。→ 临界点 ≠ MDL 绝对最小,而 ≈ 边际收益前沿。图见results/mdl_{en,cn}.png


5 神经语言模型阶段结果(命题 P8/P9)

5.1 英文:BPE 家族的内点扫描

5 组同族分词器(α 单调 0.91→1.09,V*=bpe1500 为内点),容量匹配 7.4–8.9M 参数,等 1000 步:

表 6 英文 LLM 结果

分词器αcpt参数等算力 BPC等信息 BPC@15M字
char0.9391.007.44M1.91471.9252
bpe5000.9141.757.62M1.79631.9337
bpe1500 (V*)0.9982.008.13M1.78331.9390
bpe30001.0572.128.90M1.77171.9509
bpe60001.0932.228.36M1.79651.9717
  • 等算力:浅 U,最优 α≈1.06;BPE 家族挤在 1.772–1.797(跨度仅 1.4%)。
  • 等信息排序反转——越细的分词器信息效率越高(每字符给模型更多递推步)。
  • α≈1 是宽平台,非尖锐最优;char→BPE 改善约 7.5%(不到声称的 15–20%)。

5.2 中文:char 为 α 内点的双轴通吃

5 组(byte/char/bpe8000-12000),char(α=1.05) 在粒度上是内点(byte 更细 α=0.71,bpe 更粗 α=0.86-0.88):

表 7 中文 LLM 结果

分词器αcpt参数等算力 BPC等信息 BPC@15M字
byte0.7130.377.49M5.94395.9439*
char1.0461.008.62M4.77334.8029
bpe80000.8551.507.28M4.87455.1088
bpe100000.8691.588.05M4.88595.1610
bpe120000.8821.638.81M4.88495.1543

* byte 因 cpt=0.37,1000 步仅见 6.1M 字,到不了 15M。

  • 中文 char(α≈1)在两个轴上都是最优——与英文相反。
  • char→byte 改善~24%(落在原声称的 15–20% 区间!),char→bpe 改善 ~2.3%。
  • 样本效率(弱 Grokking 信号):char 达 BPC=5.0 仅需 ~9.8M 字符,bpe8000 需 ~17M 字符——临界分词器每字符收敛更快。

5.3 双语对照的核心发现

表 8 双语对照

英文中文
临界单位BPE 子词 (bpe1500)汉字本身
等算力最优bpe3000 (α=1.06)char (α=1.05)
等信息最优char / bpe500(细)char
临界是否尖锐最优否(宽平台 1.4%)是(双轴通吃)

差异根源:英文无"原子单位",BPE 在 α≈1 处好但更粗的 BPE 因等算力下多看字符而占优;汉字本身既是 α≈1 又是语义原子单位,故 char 双轴通吃。

5.4 命题 P10:动态/联合分词(❌ 最简形态被证伪)

把框架"动态分词器优于静态"做成可证伪实验:所有条件共用 V_MAX=6001 embedding(消除 embedding 手术),靠restrict_to保持 master ID 一致来中途切换分词器。同等 1000 步算力。

表 9 动态分词实验(lower=better)

条件final BPC说明
TEST 1(静态数据)
static_full1.7731全程 full
static_1500 (V*)1.8013
static_5001.8138
curriculum1.8569(最差)500→1500→3000→full 各 250 步
TEST 2(域漂移 A→B)(最终 B 集 BPC)
oracle1.8093full 贯穿
frozen1.84681500 贯穿 A→B
dynamic1.9085(最差)A 用 1500,边界扩 full
  • TEST 1:课程式扩词表最差——把预算劈成 4 段、每段换分词,模型每次切换都要重学,不如一开始就用最终分词训满。
  • TEST 2:A→B 边界切换分词器比冻结更差(dynamic 1.909 > frozen 1.847)。新增 ~4500 个 embedding 行随机未训,400 步内来不及学——切换扰动 > 适应收益
  • 两种情况都是oracle(一开始选对词表、贯穿全程)最优

裁决:在最简形态(中途硬切词表)、8M/1000步规模、温和漂移下,动态/联合分词被证伪。框架要 salvage 它,须证明可微/渐进式版本能消除切换扰动——这是明确的下一步技术目标。详见llm_verify/DYN_VERIFICATION_REPORT.md,图dyn_runs/dyn_results.png


6 讨论:双轴权衡是真正的机理

两阶段实验共同指向一个比"临界即最优"更准确的机理模型。固定容量 LM 的 BPC 同时受两个相反力驱动:

  • 压缩轴:粗分词器 cpt 高,等算力(等 token)下模型看到更多字符 → BPC 低(英文等算力最优为 bpe3000)。
  • 递推轴:细分词器 cpt 低,等信息(等字符)下模型每字符做更多递推步 → BPC 低(英文等信息最优为 char)。

二者方向相反,α≈1 恰是两轴的交汇平衡点。这解释了为何实践中 BPE~数千词表普遍好用:它处于双轴平衡区,而非某个尖锐最优。中文的"例外"恰恰印证:当 α≈1 的单位同时是语义原子单位(汉字),双轴权衡退化为单点支配,临界点即最优。

对框架的四度修正:

  1. D_T → γ:分形维对符号序列失效,应以互信息幂律衰减为临界主诊断量。
  2. MDL 最小 → 拐点:临界点是压缩边际收益前沿,非绝对最小。
  3. 临界最优 → 双轴平衡:最优性是算力—信息权衡,非单点。
  4. 动态 > 静态 → 被证伪(最简形态):中途硬切词表的切换扰动压过适应收益;当下可证最优是"预训前用 α≈1 定好词表、贯穿全程"(oracle 总赢)。

7 局限

  1. 神经阶段为8M 参数 / 1000 步的欠训练小模型;尖锐最优可能在更大规模/更长训练下显现(或更不显现)。“15–20%”"Grokking 加速"作为普适强效应未能在此规模证实。
  2. 仅英/中两语;日韩等混合书写系统、形态丰富语言未涉及。
  3. 动态分词实验证伪的是最简形态(中途硬切词表、温和漂移);框架更强的可微/渐进式动态分词未实现检验——若要 salvage,须证明其能消除切换扰动。
  4. SFT/RLHF 阶段的临界对齐(框架 A2)完全未触及。
  5. 单次训练(无种子重复);BPE 家族 1.4% 的差距接近该规模的噪声,需多种子确认显著性。

8 结论

我们把"临界分词"从理论叙事钉死在可证伪锚点上:

  • α≈1 是稳健的好分词区域,且满足统计物理的临界判据(幂律长程相关,打乱后消失),落在语言的内禀构词单元上(英=子词,中=字)。
  • ⚠️是否尖锐最优语言依赖:中文 char 双轴最优(强支持),英文是宽平台(弱支持)。
  • 🔑真正机理是算力—信息双轴权衡,α≈1 是平衡点;这比"临界最优"更准、更可指导分词器实践。
  • 动态/联合分词(最简形态)被证伪:切换扰动 > 适应收益;当下最优是预训前定好词表、贯穿全程。
  • ❌ 被下调/证伪:分形维 D 作诊断量、MDL 最小=临界点、15–20% 普适效率、普适 Grokking 加速。

三条被证伪的命题(D、MDL-最小、动态>静态),恰恰是本工作作为科学(而非玄学)的资格证明。


附录 A 复现

# 统计阶段(Python 3.14 + numpy/scipy/matplotlib)cdcritical_tokenization python run_all.py# ~25s, 8 图 + summary.json# LLM 阶段(F:\rwkv\.venv, torch+fla, RTX 4090)cdcritical_tokenization/llm_verify python build_caches.py en&&python train_compare.py en python build_caches.py cn&&python train_compare.py cn# 补 cn 的 bpe10000(见 train_compare 注释)python analyze.py en# 用 Python3.14 出图python analyze.py cn# 第三阶段:动态分词验证python dyn_experiment.py# F:\rwkv\.venv, ~5 分钟python analyze_dyn.py# Python3.14 出图

附录 B 图表索引

路径
词表扫描(中/英)results/sweep_{en,cn}.png
临界性 MI 衰减results/criticality_{en,cn}.png
MDL 权衡results/mdl_{en,cn}.png
分词器类型对比results/tokcompare_{en,cn}.png
LLM BPC 曲线llm_verify/runs_{en,cn}/bpc_curves_*.png
LLM BPC-vs-αllm_verify/runs_{en,cn}/bpc_vs_alpha_*.png
动态分词实验llm_verify/dyn_runs/dyn_results.png

附录 C 代码模块

文件作用
critical_tokenization/corpus.py语料加载/切分(中英)
critical_tokenization/tokenizers.pyChar/Word/BPE(增量训练 +restrict_to任意子集)
critical_tokenization/metrics.pyα, γ, Higuchi D, n-gram BPC, MDL
critical_tokenization/experiments.py统计阶段 4 组实验
critical_tokenization/llm_verify/common.pyByte 分词、参数拉平、模型构建
critical_tokenization/llm_verify/build_caches.py分词器 token 缓存(双语)
critical_tokenization/llm_verify/train_compare.py容量匹配 LM 训练 + BPC 日志
critical_tokenization/llm_verify/analyze.py双轴 BPC 分析与作图
critical_tokenization/llm_verify/dyn_experiment.py动态分词实验(课程 + 域漂移)
critical_tokenization/llm_verify/analyze_dyn.py动态实验作图

模型:FRSMASH v3.6(SSM + 线性注意力,fla 加速) · 硬件:NVIDIA RTX 4090 D (24GB) · 框架:PyTorch 2.12 + CUDA 12.6