01背景
近年来,人工智能(AI)领域尤其是自然语言处理(NLP)技术的迅猛发展,正在深刻改变着各行各业的运作模式。从智能客服到内容生成,从自动翻译到智能搜索,NLP技术的广泛应用使得语言模型在全球范围内的重要性日益凸显。与此密切相关的预训练模型(Pre-trained Models),凭借在海量数据上的训练积累了丰富的知识,成为NLP技术进步的核心支柱。然而,预训练模型的成功在很大程度上依赖于其背后数据集的质量。在中文NLP领域,高质量的中文数据集一直是一个亟待解决的难题。目前,市面上的许多高质量预训练数据集主要集中在英文领域,针对中文的高质量大规模数据集相对较少,且质量参差不齐。这种数据资源的不平衡制约了中文NLP技术的快速发展,尤其是在教育、智能搜索等关键应用场景中,迫切需要更加丰富和精准的中文数据资源。为填补这一空白,OpenCSG社区近年来积极投入资源,致力于构建高质量的中文预训练数据集。
2024年12月,OpenCSG团队发布了smoltalk-chinese数据集,这是一个仿照smoltalk数据集构建的中文微调数据集,旨在为中文大型语言模型提供全面的训练材料。smoltalk-chinese完全由合成数据组成,涵盖超过70万条数据,涵盖多种任务类型,如信息查询、推理、计划、编辑、编程、数学、角色扮演、数据分析、创意写作、咨询和头脑风暴等。这些多样化的任务设计不仅增强了模型的多功能性和适应性,还显著提升了模型在不同应用场景下的表现。smoltalk-chinese的数据生成过程严格遵循高标准,采用先进的生成模型和去重技术,确保数据的质量和多样性。通过多轮对话任务和单轮对话任务的精细设计,smoltalk-chinese有效地模拟了真实的用户交互场景,为模型的微调提供了坚实的基础。此外,来自Math23K中文版的数学题数据进一步增强了模型在数学推理和问题解决方面的能力。smoltalk-chinese高质量和多样化的数据集特性,不仅满足了研究人员和开发者的需求,也推动了中文语言模型的不断进步。OpenCSG团队将持续根据用户反馈和实际应用需求,不断优化和扩展smoltalk-chinese数据集,致力于为全球中文NLP社区提供更加优质的数据支持,助力中文AI技术迈向新的高度。
02 Huggingface SmolTalk数据集介绍
SmolTalk 是一个专为大型语言模型(LLM)的监督微调(SFT)设计的合成数据集。该数据集包含100万条高质量样本,用于构建 SmolLM2-Instruct 系列模型。在 SmolLM2 的开发过程中,发现基于公开 SFT 数据集微调的模型性能不及使用专有指令数据集的模型。为弥补这一差距,huggingface创建了新的合成数据集,旨在提升模型的指令遵循能力,同时覆盖文本编辑、重写、摘要和推理等多样化任务。通过在1.7B规模上的一系列数据消融实验,通过整合公开数据集,增强了模型在数学、编程、系统提示遵循和长上下文理解等特定能力。
03 Chinese SmolTalk数据集
smoltalk-chinese 是一个参考 SmolTalk 数据集构建的中文微调数据集,旨在为大型语言模型(LLM)的训练提供高质量的合成数据支持。该数据集全部由合成数据组成,涵盖超过70万条数据,专门设计用于提升中文大型语言模型在多种任务上的表现,增强模型的多功能性和适应性。
下载地址:OpenCSG社区:https://opencsg.com/datasets/OpenCSG/smoltalk_chinese
huggingface社区:https://huggingface.co/datasets/opencsg/smoltalk-chinese
数据集组成
smoltalk-chinese 数据集由多个部分组成,覆盖广泛的任务类型,以确保模型在不同应用场景中的优异表现。
1.参考 magpie-ultra 的任务类型,使用magpie合成的3轮对话数据。
任务包括:
information-seeking - 提供广泛主题的准确和简明信息,帮助用户找到具体事实、概念解释或主题细节。
reasoning - 专注于逻辑思维和复杂问题解决,帮助用户理清复杂思想、分析情况并得出结论。planning - 帮助用户制定有效计划和策略,协助组织思想、设定目标并为各种任务或活动制定可行方案。
editing - 改进书面内容,提供语法、风格、清晰度和整体结构的建议,帮助用户改进写作。coding - 协助用户编写、审查和调试各种编程语言的代码,提供清晰的解释和最佳实践。
math - 回答广泛数学学科的问题,从基础概念到高级主题,提供清晰简明的解释和解决方案。role-playing - 参与各种角色扮演场景,根据用户要求采纳不同角色,创造沉浸式和互动的用户体验。
data-analysis - 帮助用户理解并从数据集中提取有用信息,进行数据分析任务,提供清晰的数据趋势说明。
creative-writing - 支持创意写作工作,帮助用户创作引人入胜的故事、诗歌、文章及其他创意文本。
advice-seeking - 提供深思熟虑的建议和指导,帮助用户解决各种个人或职业或生活问题。brainstorming - 生成想法和促进创造性思维,帮助用户探索可能性并提出创新概念。
2.参考 smoltalk 中其它任务类型,使用magpie合成的1轮对话任务。
任务包括:
format-constrain - 严格按照用户指定的格式回答问题,不能忽视任何一个格式要求。
rewrite - 文本重写,根据用户要求使表达更精简、重点更突出、改变语气等。和editing类似。
summary - 文本总结,根据用户要求总结文本,并满足特定的总结要求。
safe - 辨别非法内容,鉴别用户指令中的非法内容并合理拒绝回答或给出劝告。
translate - 翻译中英文文本,根据用户要求进行英译中或中译英,并满足特定的翻译要求。doc - 根据参考文本回答用户问题,尽量使用参考文本中的信息,不引入自身知识。
3,模拟日常生活中的对话风格,生成五轮对话数据,增强模型在真实交流场景中的表现能力。
4.来自Math23K中文版的数学题数据,答案包含详细推理步骤,由deepseek-v2.5生成。
数据集合成方法
smoltalk-chinese 数据集的构建过程严格遵循高标准,确保数据的质量和多样性,主要分为数据生成、数据筛选、数据去重、数据分类统计。
数据生成
使用Magpie 合成原始数据,采用的生成模型包括 deepseek-v2.5 和 qwen2.5-72b-instruct,结合 Distilabel 库进行数据生成,确保生成内容的丰富性和多样性。
数据筛选
利用 qwen2-7b-instruct 模型对对话数据的第一条指令进行清晰度和流畅度评分(评分范围为0-5分),仅保留评分在2分及以上的数据,以保证数据质量。
去重处理
使用 gte-large-zh 模型对对话数据的第一条指令进行编码,根据嵌入相似度(阈值设定为0.8)进行去重处理,确保数据的独特性和多样性。
数据统计
实验
为了验证 smoltalk-chinese 数据集的微调效果,我们采用以下实验设计:
基础模型
选用 opencsg/csg-wukong-ablation-chinese-fineweb-edu(在 chinese-fineweb-edu 上预训练的2B模型https://huggingface.co/opencsg/csg-wukong-ablation-chinese-fi...)作为基础模型。
微调过程
分别在 smoltalk-chinese 和 infinity-instruct 数据集(选取7M和Gen的中文部分,约1M条)上进行微调,设置为2个训练周期,学习率为3e-4,采用余弦下降,global batch size 为32。评估结果在 alignbench 平台上评估模型的中文对话能力,结果表明,基于 smoltalk-chinese 微调的模型在多个指标上表现出显著优势,验证了 smoltalk-chinese 数据集在提升中文语言模型表现方面的有效性。
我们诚邀对这一领域感兴趣的开发者和研究者关注和联系社区,共同推动技术的进步。敬请期待数据集的开源发布!
作者及单位原文作者:俞一炅、戴紫赟、Tom Pei
单位:OpenCSG LLM Research Team
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。