【AI大模型微调】第 4 章 微调数据准备
第 4 章 微调数据准备在微调大语言模型时数据是决定模型性能与适用性的关键因素。模型表现很大程度上取决于其训练数据的质量。根据数据的来源与可访问性通常可分为两大类公共数据源与私有数据源。4.1 公共数据源公共数据集易于获取通常是绝佳的起点常用的数据共享平台有Hugging Face HubHugging Face Hub 是一个不可或缺的资源它托管了数千个数据集这些数据集可以通过 datasets 库轻松访问。用户可以根据任务类型如文本生成、文本摘要等、语言以及数据集的许可证进行筛选从而快速找到符合需求的数据。Model ScopeModelScope 是阿里巴巴旗下的模型开放平台提供了一系列高质量的开源模型与数据集。ModelScope 的数据集覆盖了多个领域包括但不限于自然语言处理、计算机视觉和多模态任务。4.2 私有数据源私有数据源是指企业或组织内部拥有的数据集这些数据可能受到版权保护或隐私限制仅限于内部使用或特定授权范围内使用。以下是常见的私有数据源企业内部文档: 包括公司的历史文件、报告、邮件、会议记录等这些数据可以用来训练模型以更好地理解公司业务流程和专业知识。客户反馈数据: 来自客户的评论、投诉、建议等信息可以帮助企业改进产品和服务质量。专有数据库: 某些行业可能拥有专门构建的数据库如医疗健康领域的电子病历、金融领域的交易记录等。私有数据通常并非专为模型微调而准备因此在使用前往往需要经过清洗、结构化和标注等预处理步骤。为了构建高质量的领域特定训练集企业可以根据实际需求由内部专业团队或外部众包平台对原始数据进行系统化整理与标注。此外还可以借助自动化工具提升整体效率例如使用 Easy Dataset 等开源方案。在人机协同的工作模式下企业能够更高效地将私有知识转化为高质量的微调数据从而更有力地支撑模型在特定业务场景中的性能提升。4.3 数据集格式在大型语言模型的监督微调中数据集的构建格式至关重要常见的格式可分为两类指令式 与 对话式。4.3.1 指令式指令式数据集用于训练模型执行明确的单轮任务如翻译、摘要或问答。其典型格式源自斯坦福大学的 Alpaca 项目结构简洁、易于使用。其每条样本包含三个字段instruction描述模型需要执行的任务input任务所需的上下文或附加信息output模型应生成的正确回答。例如{“instruction”: “将以下英文翻译成中文”,“input”: “Large language models are transforming AI.”,“output”: “大语言模型正在改变人工智能。”}训练时这些字段通常会通过一个提示模板prompt template组合成结构统一的输入字符串以帮助模型更好的学习任务指令。指令{instruction}输入{input}回复{output}4.3.2 对话式对话式数据集用于训练模型进行多轮对话例如聊天机器人、虚拟助手等。这类数据通常以消息序列的形式组织强调发言者角色与对话流程。目前广泛采用的格式主要有 ShareGPT 格式 和 OpenAI 格式。1ShareGPT 格式ShareGPT 格式源于用户在社区中分享的与 ChatGPT 的真实对话记录常用于保存多轮对话数据集。每条数据样本由一个名为 conversations 的列表构成列表中的每个元素代表一次发言包含两个关键字段from标识发言者的角色通常取值为 “human”表示用户或 “gpt”表示模型助手value该轮对话的具体文本内容。例如{“conversations”: [{“from”: “human”,“value”: “你能解释一下什么是机器学习吗”},{“from”: “gpt”,“value”: “机器学习是人工智能的一个分支它允许计算机系统通过数据和经验自动改进其性能。”},{“from”: “human”,“value”: “它主要有哪些类型”},{“from”: “gpt”,“value”: “主要类型包括监督学习、无监督学习、半监督学习和强化学习等。”}]}2OpenAI 格式OpenAI 格式是 OpenAI 官方在其 API 微调功能中推广的一种通用消息列表格式兼具灵活性与表达力可同时支持单轮和多轮对话。每个训练样本是一个包含 messages 字段的字典其中 messages 是一个有序列表每条消息包含以下字段role发言者角色常见值包括system、user和assistant。content消息的具体文本内容。例如{“messages”: [{“role”: “system”,“content”: “你是一名专业的营养师。你的回答应基于科学知识提供务实、健康的建议并避免提供任何医疗诊断。”},{“role”: “user”,“content”: “我最近感觉下午很疲惫有什么健康的零食推荐吗”},{“role”: “assistant”,“content”: “下午感到疲惫是常见的现象选择正确的零食可以帮助稳定能量水平。以下是一些推荐\n1.一把坚果和干果提供健康的脂肪、蛋白质和天然糖分能快速补充能量。\n2.希腊酸奶富含蛋白质能提供持久的饱腹感。\n3.一个苹果或一根香蕉富含维生素和膳食纤维是方便的天然能量来源。\n请记得结合充足的水分摄入因为脱水也会导致疲劳。”}]}在实际训练中无论采用哪种原始格式通常都会通过 Chat Template例如ChatML将多轮消息组织成结构统一的字符串确保模型能够正确解析对话结构并学习交互模式。这一标准化步骤对于提升模型的对话理解与生成能力至关重要。