通过分词器优化推进波兰语建模:Bielik v3 7B 与 11B 系列 Advancing Polish Language Modeling through Tokenizer Optimization in the Bielik v3 7B and 11B Series
用 APT4 替换通用分词器,波兰语 fertility 砍半且不掉性能。
前置知识
Fertility ratio(生育率)
指平均编码一个词所需的 subword token 数,是衡量分词器对特定语言编码效率的核心指标。Fertility 越低,相同文本占用的上下文窗口越少、推理成本越低。对波兰语这种形态丰富的语言,通用分词器通常 fertility 偏高。
本文的核心动机就是降低波兰语 fertility ratio,从 3.22 降到 1.62 意味着有效上下文容量近乎翻倍,是评价整套方法成败的第一性指标。
FOCUS 嵌入初始化
FOCUS 用稀疏线性组合把新词表 token 表达为旧词表 token 加权和。在辅助语义空间挑出与新 token 最相关的 k 个旧 token,用 Sparsemax 估计稀疏系数,让新 embedding 继承旧词表的预训练知识。
它是本文替换分词器时缓解灾难性遗忘的关键工具,论文在 1.5B 模型上对比了 7 种初始化方法后选择 FOCUS,因为它的训练损失和下游评测都最优。
灾难性遗忘(Catastrophic forgetting)
指预训练模型在适应新任务、新分布或新词表时,丧失原有已学知识的现象。在分词器替换场景下,新旧词表的语义结构不直接对应,如果直接全参数微调,模型会迅速'忘记'原通用 token 上的语言知识。
本文所有工程设计(partial freezing、两阶段继续预训练、FOCUS 初始化)本质上都在解决这一难题,是理解整套方法背后逻辑的关键。
继续预训练(Continued pretraining)
指在已训练模型基础上,用相同或相邻分布的额外语料继续自监督训练的策略。常见于领域适配和 tokenizer 替换场景,可在保留原模型能力的同时注入新知识或适配新词表。
本文分 Stage 1(4B tokens 局部解冻)和 Stage 2(16B tokens 全量微调)两步完成继续预训练,是连接 FOCUS 初始化与后训练对齐的桥梁。
DPO-P 与 GRPO
DPO-P(positive-only Direct Preference Optimization)只用被偏好的样本做偏好优化,省去负样本构造;GRPO 通过组内相对奖励做强化学习,常用于带可验证奖励的数学/逻辑任务。
本文后训练阶段依次使用 SFT → DPO-P → GRPO,是保留原模型对话能力并提升推理能力的关键流水线,直接决定了 PL 模型与原版本在指令遵循与数学推理上的差距。
研究动机
通用分词器(如 Mistral 7B 使用的)以多语言覆盖为目标设计,对波兰语这种形态丰富、变格变位复杂的语言效率低下。根据表 1 的实测,Bielik 11B v3 原始分词器在波兰语宪法前言上每个单词需要 3.22 个 token、每 token 仅承载 2.40 字符,显著高于 Llama 3.2(2.81 tokens/word)、Qwen3(2.69 tokens/word)、Gemma3(2.20 tokens/word)等大词表模型。这种高 fertility ratio 直接导致上下文窗口被严重稀释、推理成本上升、生成速度下降;同等长度波兰语文本被切得更碎,模型也更难捕捉完整的词法信息。
本文的目标是本文目标是在保持原始模型能力基本不退化的前提下,把 Bielik v3 的 Mistral 通用分词器替换为波兰语专属的 APT4 分词器,将波兰语 fertility ratio 从 3.22 降至 1.62(约一半),相当于把有效波兰语上下文容量翻倍。具体目标包括:(1) 提出用 FOCUS 方法替换分词器并缓解灾难性遗忘的方案;(2) 描述完整的多阶段预训练与后训练流水线;(3) 同时发布 7B Minitron 与 11B 两套参数量的模型权重(Apache 2.0);(4) 在 9 个波兰语与多语言基准上证明 PL 版本与原分词器版本基本持平。
与已有工作不同的是,本文的独特切入角度在于把'分词器替换 + 灾难性遗忘缓解 + 性能保持'这三件事打包成一套可复现的工程蓝图。市面上 FVT、WECHSEL、OFA、RAMEN、MATT 等多种 embedding 初始化方法各有所长,但少有工作把它们与一个明确的多阶段继续预训练(部分冻结 4B tokens → 全量微调 16B tokens)以及与原模型完全对齐的后训练流水线(SFT + DPO-P + GRPO)整合起来。同时,大多数相关工作关注跨语言迁移而非同一语言内部对 tokenizer 的极致优化,本文正填补这一空白。
核心方法
整体思路分四步:(1) 训练并选定 APT4 分词器(32K 词表,改进自 APT3,针对数字、标点、特殊字符的切分策略做精细调整);(2) 用 FOCUS 在辅助 embedding 空间中把新词表的每个 token 表示成原始 Mistral 词表中 token 的稀疏线性组合,作为新 embedding 的初始化;(3) 沿用原 Bielik 11B v3 语料的 20B-token 子集进行两阶段继续预训练——Stage 1 冻结主干、仅更新 embedding、lm_head 与最外两层共四层(4B tokens),Stage 2 全模型解冻再训练 16B tokens;(4) 沿用原始后训练流程(SFT 3 epoch × 20M 样本 → DPO-P 3 epoch × 114K 偏好样本 → GRPO × 143K 推理增强样本)做对齐,输出 PL-11B 与 PL-Minitron-7B 两个版本。
核心创新点是把 FOCUS(Dobler & de Melo, 2023)的稀疏 embedding 初始化与'渐进式解冻'的多阶段预训练结合起来:用 Sparsemax 让每个新 token 的初始 embedding 来自极少数语义最相关的原 token,使新词表继承尽可能多的预训练知识;再用 Stage 1 的局部更新把新 token 空间'焊'到旧模型的内部表征上,避免直接全量微调引发的灾难性遗忘。比起简单全参数微调,这种组合既不需要从零重建 embedding 矩阵,又能保证模型整体能力不崩塌,是把'换分词器'从一次性高风险操作变成可控工程的关键。
方法步骤详情
具体步骤如下。Step 1 训练 APT4 分词器:保持 32K 词表,针对波兰语形态、数字、标点做精细调整。Step 2 准备 20B-token 子集,从 Bielik 11B v3 语料按相同分布采样。Step 3 FOCUS 初始化:在辅助 embedding 空间里,对每个新 token 找到最相关的 k 个原 token,用 Sparsemax 估计稀疏系数 $\alpha$,新 embedding 即 $E_{\text{new}}(t) = \sum_{i} \alpha_i E_{\text{old}}(t_i)$。Step 4 Stage 1 部分冻结 4B tokens:仅更新 embedding、lm_head 与最外各两层共四层 transformer。Step 5 Stage 2 全量微调 16B tokens。Step 6 后训练:SFT 3 epoch × 20M 样本 → DPO-P 3 epoch × 114K 偏好对 → GRPO × 143K 推理样本。Step 7 7B Minitron 由 11B 蒸馏剪枝后走相同流水线。
技术新颖性
技术新颖性主要体现在三方面。第一,把 FOCUS 从纯 embedding 初始化方法升级为'分词器替换工程'的核心组件,并给出与 partial freezing 的协同方案——之前的 WECHSEL、OFA 等更关注跨语言迁移而非同一语言内部的 tokenizer 优化。第二,'部分冻结 + 边界层更新'的 Stage 1 设计只允许最外两层与 embedding 一起动,最大限度保留预训练知识,且这种'焊'新词表到旧模型内部表征的策略在公开文献中较少单独强调。第三,给出了一个端到端可复现的流水线:FOCUS → 4B 局部更新 → 16B 全量 → SFT → DPO-P → GRPO,且明确报告了在 9 个基准上与原分词器版本的差距幅度(多数任务在 1-3 分以内),方便后续工作做对比。
实验结果
核心发现是 APT4 替换在显著降低 fertility ratio 的同时几乎不损失原有能力。Open PL LLM Leaderboard 5-shot 上 PL-11B 64.11、PL-7B 61.66,对比原版 11B 65.93 与 7B 62.46 差距仅 1.82/0.80 分;CPTUB overall average 上 PL-11B 3.80 反超原版 11B 3.73;Polish EQ-Bench 上 PL-11B 71.15 与原版 71.20 几乎持平;Open LLM 英文平均 72.45→71.49 仅降 0.96。代价是 INCLUDE-base-44 欧洲平均 64.8→53.92(-10.9),Belebele 欧洲平均 82.98→77.41,FLORES BLEU 19.22→17.82——多语言通用性被牺牲以换取波兰语效率。Polish Medical 50.21→48.42% 损失很小。综合来看 PL 变体在波兰语场景下是有效替代品。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Open PL LLM Leaderboard(5-shot) | Average score (0-100) | Bielik-PL-11B-v3.0-Instruct 64.11;Bielik-PL-Minitron-7B-v3.0-Instruct 61.66 | Bielik-11B-v3.0-Instruct 65.93;Bielik-Minitron-7B-v3.0-Instruct 62.46 | PL-11B 仅 -1.82 分,PL-7B 仅 -0.80 分;作为 11B 通用模型仍超过 Mixtral-8x22B-Instruct-v0.1(65.23)和 Meta-Llama-3.1-70B-Instruct(65.49) |
| Polish EQ-Bench(eq-bench_v2_pl) | Score | Bielik-PL-11B-v3.0-Instruct 71.15;Bielik-PL-Minitron-7B-v3.0-Instruct 66.89 | Bielik-11B-v3.0-Instruct 71.20;Bielik-Minitron-7B-v3.0-Instruct 64.09 | PL-11B -0.05 几乎无损;PL-7B +2.80 反超原 7B |
| CPTUB(Complex Polish Text Understanding Benchmark) | Overall Average (1-5) | Bielik-PL-11B-v3.0-Instruct 3.80;Bielik-PL-Minitron-7B-v3.0-Instruct 3.55 | Bielik-11B-v3.0-Instruct 3.73;Bielik-Minitron-7B-v3.0-Instruct 未列 | PL-11B +0.07 略反超原 11B;PL-7B 高于 Qwen2.5-7B-Instruct 等大模型 |
| Polish Medical Leaderboard(5-shot) | Average (%) | Bielik-PL-11B-v3.0-Instruct 48.42%;Bielik-PL-Minitron-7B-v3.0-Instruct 43.35% | Bielik-11B-v3.0-Instruct 50.21%;Bielik-Minitron-7B-v3.0-Instruct 44.36% | PL-11B -1.79 pct,PL-7B -1.01 pct,损失很小但确实存在 |
| Open LLM Leaderboard(英文) | AVG (5 tasks) | Bielik-PL-11B-v3.0-Instruct 71.49;Bielik-PL-Minitron-7B-v3.0-Instruct 67.63 | Bielik-11B-v3.0-Instruct 72.45;Bielik-Minitron-7B-v3.0-Instruct 66.87 | PL-11B -0.96;PL-7B +0.76,英文能力基本保留 |
| INCLUDE-base-44(20-language European subset) | AVG / Polish | Bielik-PL-11B-v3.0-Instruct 53.92 / 64.23;Bielik-PL-Minitron-7B-v3.0-Instruct 49.81 / 59.49 | Bielik-11B-v3.0-Instruct 64.8 / 69.0;Bielik-Minitron-7B-v3.0-Instruct 57.4 / 59.3 | PL-11B 欧洲平均 -10.9,Polish -4.77;多语言覆盖退化最严重的项目 |
| Belebele(28-language European subset) | AVG / Polish accuracy | Bielik-PL-11B-v3.0-Instruct 77.41 / 81.22;Bielik-PL-Minitron-7B-v3.0-Instruct 74.23 / 77.44 | Bielik-11B-v3.0-Instruct 82.98 / 82.11;Bielik-Minitron-7B-v3.0-Instruct 78.03 / 78.22 | PL-11B 欧洲平均 -5.57,Polish -0.89;保留波兰语精度但损失多语言能力 |
| FLORES 机器翻译(20 European pairs) | AVG BLEU | Bielik-PL-11B-v3.0-Instruct 17.82(to 17.58 / from 18.07);Bielik-PL-Minitron-7B-v3.0-Instruct 15.15(15.99 / 14.31) | Bielik-11B-v3.0-Instruct 19.22(18.54 / 19.91);Bielik-Minitron-7B-v3.0-Instruct 15.53(15.74 / 15.32) | PL-11B -1.40 BLEU(from-Polish 退化最明显),PL-7B -0.38;翻译能力略降 |
局限与改进
作者明确指出 PL 模型继承了标准 LLM 的局限:可能产生事实错误输出,不应在需要严格事实正确性的场景下依赖;尽管训练数据已尽力清洗,仍可能生成不当、偏见或不准确内容。从我个人观察,额外的局限还包括:(1) 词表规模仅 32K,相对于 Qwen3 (151K)、Gemma3 (262K) 等大词表模型在英文与其他欧洲语言上处于结构性劣势,对多语言场景迁移不利;(2) Stage 1 阶段只动 4 层 + embedding/lm_head,是否最优未做消融,不同模型规模可能需要不同的'边界层数';(3) 评估集中在 benchmark 上,对真实用户偏好的'开箱即用'质量(如对话自然度、写作风格)缺乏直接对比;(4) 没报告推理吞吐量与延迟的实际提升数字,仅有 fertility ratio 改善。
独立分析的弱点
独立分析有四处可改进。第一,分词器效率的提升幅度没有转化为推理速度的量化收益——文章只报告 fertility ratio 改善但未给出 tokens/s、latency、显存占用的实际推理指标;建议补一组 end-to-end 推理 benchmark 来证明'省上下文'真的能换成'省算力'。第二,FOCUS 初始化对辅助 embedding 空间质量敏感,本文使用静态多语言 embedding,对小语种或新词覆盖可能不足;可探索用现代多语言 LLM 内部 hidden state 作为语义锚点。第三,Stage 1 的'4 层 + embedding + lm_head'是手工设定,未做消融实验;可以扫描不同的 (freeze 比例, 边界层数) 组合,找到 Pareto 最优点。第四,PL 版本在 INCLUDE-base-44 与 Belebele 的欧洲语言子集上掉分明显,提示词表过度专注波兰语侵蚀了多语言先验;未来可采用更细粒度的'共享 sub-token + 波兰扩展 token'的混合方案以兼顾两者。
未来方向
作者在结论里把整套方法定位为可复现蓝图,暗示未来可应用到其他语种。延伸方向包括:(1) 把'FOCUS + 两阶段继续预训练 + 三段后训练'流水线推广到捷克语、乌克兰语、印地语等其他形态丰富但低资源的语言,特别是和 EuroLLM、Apertus 等欧洲开源模型生态联动;(2) 探索 64K-128K 更大词表与 32K 词表之间的 Pareto 曲线,量化'fertility ratio 改善'与'多语言覆盖退化'的交换比;(3) 把 Stage 1 的'边界层数'做成自适应策略,例如按词表重叠率或嵌入矩阵 Frobenius 范数变化自动决定解冻范围;(4) 引入分词器-模型联合训练目标(如 fertility-aware loss),让模型在预训练阶段就显式奖励高密度 token 化;(5) 发布更多语言学可解释性分析,例如在词性标注、依存句法等任务上对比分词粒度对模型结构化预测能力的影响。
复现评估
复现友好度较高:模型权重以 Apache 2.0 许可发布,评估全部采用开源工具 lm-evaluation-harness,benchmark 选取也是公开的 Open PL LLM Leaderboard、Polish EQ-Bench、CPTUB、Open LLM Leaderboard、INCLUDE-base-44、Belebele、FLORES。训练数据是 Bielik 11B v3 原始语料的 20B-token 子集(采样分布一致),SFT 用 20M 指令样本、114K 偏好对、143K GRPO 样本,数据规模与配比均明确给出。算力方面明确致谢波兰 PLGrid(ACK Cyfronet AGH)的算力支持。复现难点主要在 (a) 7B 蒸馏与 11B 继续预训练本身需要数百张 GPU 级别算力,对个人研究者门槛较高;(b) FOCUS 初始化所需的静态多语言 embedding 来源未指明具体版本;(c) 后训练阶段的偏好数据与可验证奖励 prompt 没有公开明细,难以完全 bit-reproduce。
论文图表
5 个子项(Sentiment、Language understanding、Phraseology、Tricky Questions、Average Implicatures + Overall Average),34 个模型对比;PL-11B Overall Average 3.80 反超原 11B 3.73,是论文里少数 PL 变体超过原版的指标。
这是 PL 模型极少数'反超原版'的硬证据,验证了在需要波兰语复杂语义理解的任务上 APT4 分词器带来的编码密度提升可能带来正向收益,必须收录。
5 个英文任务(ARC challenge、HellaSwag、MMLU、TruthfulQA、Winogrande、GSM8K)的平均分;Bielik-11B-v3.0-Instruct 72.45(GSM8K 85.60 特别突出)、Bielik-PL-11B-v3.0-Instruct 71.49、Bielik-PL-Minitron-7B-v3.0-Instruct 67.63。
这是检验'换分词器是否牺牲英文能力'的关键表,PL-11B 仅掉 0.96 分是论文里关于多语言兼容性的最重要论据。