引言
近期,阿联酋阿布扎比的技术创新研究所(TII)开源了 Falcon 系列模型,使用经过筛选的 1 万亿 tokens 进行预训练,并以 Apache 2.0 协议开源,可能是目前效果最好且许可协议最宽松(允许商用)的开源模型。
然而,Falcon 模型在使用上面临和 LLaMA 模型类似的问题:由于模型主要在英文数据集上训练,因此它理解和生成中文的能力偏弱。此外,Falcon 在构建词表时没有加入中文字/词,中文字会被拆分成多个 token 的组合,这导致中文文本会被拆分成更长的 tokens 序列,降低了编码和生成效率。
针对以上问题,“伶荔(Linly)”项目团队以 Falcon 模型为底座扩充中文词表,利用中文和中英平行增量预训练将模型的语言能力迁移学习到中文,实现 Chinese-Falcon。本文从模型结构上分析 Falcon、LLaMA 与传统 GPT 的异同,代码实现细节。并介绍我们的中文 Falcon 训练方案,包括中文字词扩充、数据集构建和训练参数等。
项目地址:
https://github.com/CVI-SZU/Linly
模型结构
Falcon 与 GPT 系列一样采用单向 Transformer-decoder 模型架构,并以语言模型作为训练目标。与 GPT-3 相比,Falco 的结构具有如下变化:
1. 位置编码:Falcon 使用旋转位置编码(RoPE),近期的大模型包括 GPT-Neo、PaLM 和 LLaMA