本文介绍了哈尔滨工业大学社会计算与信息检索研究中心的最新成果——活字3.5自然语言处理模型。该模型是在活字3.0和Chinese-Mixtral-8x7B基础上进一步增强的模型,支持32K长上下文,并在中英文知识、数学推理、代码生成、指令遵循能力、内容安全性等方面实现了性能提升。文章还介绍了模型的训练过程、性能评测、生成样例、结语、开源协议、引用和参考文献。
活字3.5模型是在活字3.0基础上进一步增强的模型,具有强大的自然处理能力。它支持32K长上下文,并在中英文知识、数学推理、代码生成、指令遵循能力、内容安全性等方面实现了性能提升。此外,该模型还具有稀疏混合专家模型(SMoE)的结构特点,有效提升了计算效率和处理速度。
活字3.5模型的训练过程包括多个步骤,包括中文扩词表增量预训练、基于Chinese-Mixtral-8x7B的微调、使用活字1.0数据集进行指令微调、强化指令遵循能力、模型融合以及融合后训练等。
活字3.5模型在多个评测数据集上进行了性能评测,包括C-Eval、CMMLU、MMLU等。测试结果显示,活字3.5在推理时仅激活13B参数,相对于活字3.0取得了较稳定的性能提升。
一、介绍
大规模语言模型(LLM)在自然语言处理领域取得了显著的进展,并在广泛的应用场景中展现了其强大的潜力。这一技术不仅吸引了学术界的广泛关注,也成为了工业界的热点。在此背景下,哈尔滨工业大学社会计算与信息检索研究中心(HIT-SCIR)近期推出了最新成果——
活字3.5
,致力于为自然语言处理的研究和实际应用提供更多可能性和选择。
活字3.5训练过程
活字3.5 是在
活字
3.0
和 Chinese-Mixtral-8x7B
基础上,进行进一步性能增强得到的模型。活字3.5 支持
32K长上下文
,继承了活字3.0强大的综合能力,并在
中英文知识、数学推理、代码生成、指令遵循能力、内容安全性
等诸多方面实现了性能提升。
我们的模型发布于:https://github.com/HIT-SCIR/huozi
模型结构
活字3.5是一个稀疏混合专家模型(SMoE),每个专家层包含8个FFN,每次前向计算采用top-2稀疏激活。活字3.5共拥有46.7B参数,得益于其稀疏激活的特性,实际推理时仅需激活13B参数[1],有效提升了计算效率和处理速度。
活字3.0采用的SMoE结构示意图[2]
训练过程
活字3.5经过了多步训练,如下图所示:
活字3.5详细训练过程
其训练过程为:
-
【中文扩词表增量预训练】:由于Mixtral-8x7B词表不支持中文,因此对中文的编解码效率较低,限制了中文场景下的实用性。我们首先基于Mixtral-8x7B进行了中文扩词表增量预训练,显著提高了模型对中文的编解码效率,并使模型具备了强大的中文生成和理解能力。我们已于Chinese-Mixtral-8x7B代码仓库开源了模型权重和训练代码。
-
【活字3.0训练】:我们基于Chinese-Mixtral-8x7B在大约30万行指令数据上进行微调,得到了活字3.0模型。活字3.0继承了基座模型丰富的中英文知识,并在数学推理、代码生成等任务上具有强大性能。经过指令微调,活字3.0还在指令遵循能力和安全性方面实现了显著提升。
-
【活字1.0数据微调】:我们尝试使用活字1.0数据集对Chinese-Mixtral-8x7B进行指令微调,得到的 中间检查点 1 在中英文知识(如 C-Eval、CMMLU、MMLU 等任务)方面表现优异,甚至超过了活字3.0。然而,该模型在指令遵循能力和安全性上落后活字3.0较多。
-
【指令遵循能力强化】:针对 中间检查点 1 在指令遵循能力上的不足,我们引入了额外的数据集进行强化。此外,根据Longxu Dou等人的经验[3],我们在训练过程中使用了BPE Dropout[4]技术,以进一步增加模型对指令的鲁棒性。该过程训练得到了 中间检查点 2。
-
【模型融合】:我们参考Yiming Cui等人的方法[5],对 中间检查点 1 、 中间检查点 2 以及活字3.0模型进行融合,生成了 中间检查点 3。
-
【模型融合后训练】:在融合后的模型基础上,我们进一步使用少量指令数据进行了微调,最终推出了活字3.5。该版本在中英文知识、指令遵循能力和安全性回复等方面均有提升。
二、模型性能
活字3.5相对性能对比
针对大模型综合能力评价,我们分别使用以下评测数据集对活字3.5进行评测:
-
C-Eval [6]:
一个全面的中文基础模型评估套件。
它包含了13948个多项选择题,涵盖了52个不同的学科和四个难度级别。
-
CMMLU [7]:
一个综合性的中文评估基准,专门用于评估语言模型在中文语境下的知识和推理能力,涵盖了从基础学科到高级专业水平的67个主题。
-
GAOKAO [8]:
一个以中国高考题目为数据集,旨在提供和人类对齐的,直观,高效地测评大模型语言理解能力、逻辑推理能力的测评框架。
-
MMLU [9]:
一个包含57个多选任务的英文评测数据集,涵盖了初等数学、美国历史、计算机科学、法律等,难度覆盖高中水平到专家水平,是目前主流的LLM评测数据集之一。
-
HellaSwag [10]:
一个极具挑战的英文NLI评测数据集,每一个问题都需要对上下文进行深入理解,而不能基于常识进行回答。
-
GSM8K [11]:
一个高质量的小学数学应用题的数据集,这些问题需要 2 到 8 个步骤来解决,解决方案主要涉及使用基本算术运算,可用于评价多步数学推理能力。
-
HumanEval [12]:
一个由 164 个原创编程问题组成的数据集,通过衡量从文档字符串生成程序的功能正确性,来够评估语言理解、算法和简单的数学能力。
-
MT-Bench [13]:
一个开放的英文问题集,包括80个多轮对话任务,用于评估聊天机器人的多轮对话和指令遵循能力,并通过大模型裁判(GPT-4)对模型回答进行打分。
-
MT-Bench-zh:
我们根据MT-Bench翻译得来的中文问题集,每组问题均经过人工校对和中文语境下的适当调整。
我们已在本仓库开源MT-Bench-zh数据集。
-
MT-Bench-safety:
我们手工构造的安全数据集,包括暴力、色情、敏感等风险内容。
该数据集为封闭数据集。
活字3.5在推理时仅激活13B参数。下表为活字3.5与其他13B规模的中文模型以及旧版活字在各个评测数据集上的结果:
我们在C-Eval、CMMLU、MMLU采用5-shot,GSM8K采用4-shot,HellaSwag、HumanEval采用0-shot,HumanEval采用pass@1指标。所有测试均采用greedy策略。
我们使用OpenCompass作为评测框架,commit hash为4c87e77。
在活字3.0的性能评测中,我们在HumanEval错误使用了base模型的评测方法,正确的评测结果已在上表内更新。
根据上表中的测试结果,活字3.5较活字3.0取得了较稳定的性能提升,活字3.5的中英文知识、数学推理、代码生成、中文指令遵循能力、中文内容安全性等多方面能力均得到了加强。
三、生成样例
下面是活字3.5在MT-Bench-zh评测集上的生成效果展示:
四、结语
活字3.5是哈尔滨工业大学社会计算与信息检索研究中心(HIT-SCIR)的最新成果。该项目的开源性质鼓励了更广泛的参与和尝试,有助于推动自然语言处理技术的研究和应用。但是活字仍然可能生成有害内容,请谨慎鉴别和使用生成的内容,请勿将生成的有害内容传播至互联网。最后,诚邀您访问我们的GitHub项目页面,体验活字大模型,并共同探讨中文自然语言处理的未来发展。
五、开源协议
对本仓库源码的使用遵循开源许可协议 Apache 2.0。活字支持商用。如果将活字模型或其衍生品用作商业用途,请您按照如下方式联系许可方,以进行登记并向许可方申请书面授权:联系邮箱:[email protected]。
六、引用
LaTeX
@misc{huozi,
author = {Huozi-Team}.
title = {Huozi: Leveraging Large Language Models for Enhanced Open-Domain Chatting}
year = {2024},
publisher = {GitHub},
journal = {GitHub repository}
howpublished = {\url{https://github.com/HIT-SCIR/huozi}}
}
七、参考文献