Back to blog
    为Phi-4和Qwen 2.5整理训练数据:企业团队需要了解的要点
    Phi-4Qwen训练数据企业数据准备segment:enterprise

    为Phi-4和Qwen 2.5整理训练数据:企业团队需要了解的要点

    Phi-4和Qwen 2.5有不同的分词器、上下文窗口和训练数据偏差。你的微调数据集需要考虑这些差异。以下是每个模型需要注意的事项。

    EErtas Team·

    "在我们的数据上微调就行"这句话跳过了一个关键细节:你微调的是哪个模型决定了你应该如何准备数据。Phi-4和Qwen 2.5——2026年企业微调最强大的两个开源权重模型——有不同的架构、不同的分词器、不同的上下文窗口和不同的训练数据偏差。为Phi-4优化的数据集在Qwen 2.5上可能表现不佳,反之亦然。

    这不是关于哪个模型"更好"。两个都很优秀。而是关于理解影响数据准备的模型特定考量,使你的微调数据集匹配模型的预期。

    Phi-4:你需要了解的

    背景

    Phi-4是微软的140亿参数模型,于2024年底发布并在2025年初持续改进。它代表了微软"小模型、高质量数据"研究理念的集大成。Phi-4大量使用由更大模型生成的合成数据和精选的教科书风格内容进行训练。

    要利用的优势

    推理和数学。 Phi-4在MATH基准上得分80.4,在GPQA上得分82.6——与4-5倍大小的模型相当。该模型专门在多步推理和数学问题解决数据上训练。

    数据准备影响: 你的微调数据应包含适当的思维链示例。如果你的任务涉及任何形式的推理(文档分析、带解释的分类、需要推断的结构化抽取),格式化你的输出以包含推理步骤,而不仅仅是最终答案。

    示例——不要这样:

    Input: "The contract specifies 90-day payment terms with a 2% early payment discount."
    Output: {"payment_terms": "net-90", "discount": "2% early payment"}
    

    而是这样:

    Input: "The contract specifies 90-day payment terms with a 2% early payment discount."
    Output: {"reasoning": "The clause states '90-day payment terms' indicating net-90. The '2% early payment discount' is a standard incentive for payment before the net-90 deadline.", "payment_terms": "net-90", "discount": "2% early payment"}
    

    推理字段利用了Phi-4的训练优势。包含它能提高模型在抽取任务本身的准确性,即使你在推理时丢弃推理内容。

    结构化输出。 Phi-4的合成训练数据包含大量结构化格式的暴露。该模型开箱即用地能很好地处理JSON、YAML和表格输出。在结构化输出任务上微调是在现有优势上构建。

    需要考虑的限制

    英语主导训练。 Phi-4主要在英语数据上训练。虽然它可以处理其他语言,但非英语文本的性能明显下降。如果你的企业文档是德语、法语、日语或其他语言,Phi-4不是最佳选择——或者你需要在微调数据中过多代表非英语示例。

    数据准备影响: 如果你为多语言任务微调Phi-4,每种非英语语言的示例要比英语多2-3倍。模型需要额外的信号来克服其英语偏差。

    上下文窗口:16K token。 Phi-4的有效上下文窗口是16,384个token。这对许多企业任务来说足够了,但限制了你在单次处理中可以处理的输入文档长度。

    数据准备影响: 确保没有训练示例超过16K token(输入+输出合计)。如果你的生产文档更长,你需要在处理前进行分块。你的训练数据应包含反映生产输入格式的分块示例。

    模板格式

    Phi-4使用ChatML模板格式:

    <|im_start|>system
    You are a helpful assistant.<|im_end|>
    <|im_start|>user
    {input}<|im_end|>
    <|im_start|>assistant
    {output}<|im_end|>
    

    你的训练数据必须使用这个确切的模板。使用Llama的模板格式([INST]...[/INST])或Mistral的格式会混淆模型并降低性能。这是最常见的微调错误之一——为目标模型使用了错误的聊天模板。

    Qwen 2.5:你需要了解的

    背景

    Qwen 2.5是阿里巴巴的模型家族,提供从0.5B到72B的不同规模。最常微调的变体是7B和14B版本。Qwen 2.5在29种语言的18万亿token上训练,使其成为最多语言的开放模型之一。

    要利用的优势

    多语言能力。 Qwen 2.5支持29种语言,在英语、中文、日语、韩语和欧洲语言上表现强劲。对于跨多种语言运营或处理多语言文档集合的企业,Qwen 2.5是更强的选择。

    数据准备影响: 包含你的生产系统将遇到的所有语言的示例。与Phi-4不同,Qwen 2.5不需要额外的非英语示例来补偿训练偏差——它原生处理多语言输入。你甚至可以包含语言混合的示例(例如,带有英语标题和德语正文的文档),如果这与你的生产数据匹配。

    通过YaRN扩展的上下文。 Qwen 2.5通过YaRN(Yet another RoPE extensioN)缩放支持最多128K token的上下文。这意味着与Phi-4的16K限制相比,你可以在单次处理中处理更长的文档。

    数据准备影响: 如果你的生产文档是20K-100K token,Qwen 2.5允许你不用分块就能处理它们。但是,在长上下文示例上训练需要更多GPU内存。实用的方法:混合使用标准长度(2K-8K token)和长上下文(16K-64K token)的示例。不要让所有示例都是最大长度——模型需要优雅地处理不同长度。

    CJK语言支持。 Qwen 2.5的分词器专门为中文、日文和韩文文本优化。CJK文本的token与字符比率对于Qwen约为1:1.5,而对于大多数以英语为中心的分词器则为1:3。这意味着在相同的token预算中,你可以容纳大约两倍的CJK文本。

    需要考虑的限制

    Qwen的分词器产生不同的token数。 相同的英文文本使用Qwen的分词器和Phi-4的分词器会产生不同的token数。一段1,000字的英文段落可能用Phi-4的分词器是1,300个token,用Qwen的是1,400个token。这影响成本估算、训练时间和输入长度规划。

    数据准备影响: 使用Qwen的实际分词器(可在transformers库中获取)对你的训练数据进行分词以获得准确的token数。不要基于字数或其他模型的分词器进行估算。

    训练数据偏差。 Qwen 2.5在包含大量中文网络内容的互联网规模数据上训练。对于某些任务,这表现为对中国互联网惯例的轻微偏差——日期格式(YYYY/MM/DD)、数字格式化(10,000表示为1万)以及某些短语结构。

    数据准备影响: 如果你的输出必须符合特定的格式化惯例(美国日期格式、西方数字格式化),在系统提示中包含明确的格式要求,并确保所有训练示例展示正确的惯例。

    模板格式

    Qwen 2.5使用ChatML模板格式——与Phi-4相同:

    <|im_start|>system
    You are a helpful assistant.<|im_end|>
    <|im_start|>user
    {input}<|im_end|>
    <|im_start|>assistant
    {output}<|im_end|>
    

    这种共享的模板格式意味着如果你为一个模型正确准备了数据,模板对另一个也有效。差异在于分词化和模型对模板内内容的处理,而不是模板结构本身。

    分词器差异:为什么它们很重要

    Phi-4和Qwen 2.5使用不同的分词器,具有不同的词汇表大小和不同的子词分割。这产生了实际差异:

    相同文本 = 不同token数。 一个10,000字的文档用Phi-4的分词器可能是13,200个token,用Qwen的是14,100个token。在规划最大输入长度时,始终使用目标模型的分词器进行分词。

    特殊字符的不同处理。 领域特定的符号(法律文本中的§表示章节引用、工程中的±表示公差、科学中的µ表示微单位)可能被不同地分词。如果这些符号在你的领域中有含义,验证分词器是否正确处理它们,以及它们在训练数据中是否一致表示。

    不同文字体系的不同效率。 Qwen的分词器对CJK文本更高效;Phi-4对英语稍微更高效。这意味着非英语文本的有效上下文窗口在Qwen中更大,在Phi-4中更小。

    实用策略:两个都微调,选择赢家

    对于大多数企业用例,最优方法不是猜测哪个模型会更好——而是在同一数据集上微调两个并进行比较。

    步骤1: 准备一个遵循两个模型更严格要求的高质量数据集。使用ChatML模板格式(两个都适用)。确保没有示例超过16K token(Phi-4的限制——更严格的约束)。在适用时包含思维链推理(有利于Phi-4,不伤害Qwen)。

    步骤2: 在同一数据集上使用可比的超参数微调两个模型。使用相同的学习率计划、批大小(根据模型大小调整)和训练持续时间。

    步骤3: 在相同的保留测试集上使用任务特定指标评估两个模型。不要在通用基准上评估——在你的任务上用你的数据评估。

    步骤4: 选择赢家。对于大多数纯英语企业任务,性能足够接近,推理成本和延迟成为决定因素。对于多语言任务,Qwen 2.5通常获胜。对于推理密集型任务,Phi-4通常略有优势。

    这种双重微调方法使训练计算成本翻倍(对于SLM大小的模型,通常只差几百美元),但消除了猜测。选择错误模型并在部署后发现的成本远高于两次训练运行的成本。

    常见错误

    对非Llama模型使用Llama格式模板。 Llama的[INST]...[/INST]模板不是通用的。Phi-4和Qwen都使用ChatML。使用错误的模板会产生一个能工作但性能比应有水平低5-15%的模型——一个难以诊断的微妙失败。

    用错误的分词器估算token数。 如果你用GPT-4的分词器规划输入长度但在Qwen上训练,你的估算是错的。始终使用目标模型的分词器进行规划。

    忽略模型特定的优势。 微调Phi-4而不使用思维链示例会留下未发挥的性能。在你的生产数据包含其他语言时用纯英语数据微调Qwen 2.5浪费了模型的多语言能力。

    过度为一个模型优化。 如果你专门为Phi-4的优势(英语、推理、16K上下文)准备数据,你使数据集的可移植性降低了。除非你确定模型选择,否则准备对两个都效果好的数据。

    Ertas Data Suite自动处理模型特定的数据格式化。选择你的目标模型(Phi-4、Qwen 2.5、Llama、Mistral或其他),平台会应用正确的聊天模板,根据模型的上下文窗口验证token数,并标记超过长度限制的示例。对于微调多个模型的团队,同一标注数据集可以导出为不同的模型特定格式而无需重新标注——更改导出目标,格式化自动调整。


    Your data is the bottleneck — not your models.

    Ertas Data Suite turns unstructured enterprise files into AI-ready datasets — on-premise, air-gapped, with full audit trail. One platform replaces 3–7 tools.

    延伸阅读

    Turn unstructured data into AI-ready datasets — without it leaving the building.

    On-premise data preparation with full audit trail. No data egress. No fragmented toolchains. EU AI Act Article 30 compliance built in.

    Keep reading