大模型 | 零一万物(Yi)技术报告个人摘要

火山方舟向量数据库大模型

picture.image

零一万物最近发的技术报告,随便记录一些我关注的信息。

技术报告地址:https://arxiv.org/pdf/2403.04652.pdf

Pretraining

  • 模型:6B 和 34B
  • 数据量:3.1T,从 10T tokens 中清洗得到
  • 词表长度:64000,双语
  • 上下文长度:200K
  • 原始模型在 4K 上下文训练
  • 通过在长度上采样得到的 5B 数据上 continual pretraining 拓展得到,做法类似于符尧的同期工作
  • 按照 RoPE ABF 的做法调整 RoPE 的 base frequency 提升外推能力
  • 观察到使用 1-2B tokens 就能让 4K 训练的模型在 200K 上下文 loss 降得足够低,因此长文本能力不是靠继续训练获得的,而是预训练阶段就已经获得了,通过很小开销的微调就能把上下文长度调整到很长
  • 预训练数据的清洗 pipeline 如下:

picture.image

  • 预训练数据类型占比:

picture.image

Finetuning

  • SFT 数据量不到 10K
  • 全人工逐条样本校验、精炼
  • 比起 FLAN 和 UltraChat 等两大管饱的做法,Yi 团队更倾向于 LIMA 和 DEITA 这种细致筛选小数据集的做法
  • 在几个评测集上可以看到相比于 UltraChat,Yi 的 SFT 数据集有更优秀的 scaling 曲线picture.image
  • 数据构造方案:
  1. prompt:类似于 WizardLM,按 prompt 分布进行筛选。用渐进式的进化算法来迭代 prompt 的复杂度。
  2. response:类似于 LIMA 格式,按照“总-分-总”形式进行组织,“分”的部分使用 bullet point 分点介绍。
  3. CoT 数据格式:使用 “退一步提示法”(Step-Back) 方式,核心思路是在进行推理之前,先对问题进行抽象,提一个更高一级的问题,通过回答这个更抽象的问题,获得解答原始问题所需要的知识和信息
  • 贴一下 Step-Back 原论文中的图例帮助理解:picture.image

  • 多样性和混合方案:

  • 构建了一套自定义的标签体系(参考 InsTag),按照样本的标签分布进行采样来保证多样性和样本平衡
  • 数据集混合方案通过 grid search 得到,按照 {1, 1/2, 1/4/, 1/8, 1/16, 1/32, 1/64} 进行 search
  • 对话格式采用 ChatML 格式

  • 长文本 QA 数据构造:

  • 随机拼接多个文档成一个序列后进行段落采样
  • 让 chat 模型根据采样段落来构造 QA-pairs
  • 一个细节是在给出 answer 前,要求模型背诵原文。这样的数据格式有助于提升模型的 retrieval 表现,并有效抑制幻觉的发生(鼓励模型在接收到一个问题时,使用输入信息,而不是内部知识来进行回答)

Safty

安全性对齐方面涵盖了:

  • 环境不和谐
  • 迷信
  • 宗教敏感性
  • 歧视
  • 药物滥用
  • 非法活动
  • 仇恨言论
  • 违反道德
  • 侵犯隐私
  • 自残
  • 色轻内容
  • 心理健康问题
  • 网络安全危险

Depth Upscaling

  • 对6B 模型进行 depth up-scaling,得到 Yi-9B
  • 方法来自于 SOLAR 10.7B
  • 将原来的 32 层扩展到 48 层
  • 通过评估每一层输入和输出之间的余弦相似度,来寻找适合用来进行复制的层,把余弦相似度接近 1 的层进行复制
  • 这样扩展得到的 9B 模型只需要很轻量的二阶段训练(0.4T 文本+代码,0.4T 文本+代码+数学)就能得到很不错的性能

picture.image

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论