背景
目前开源的大语言模型或多或少存在以下痛点:
- 短少专门针对中文进行优化过的的大语言模型。
- 反对中文的开源模型的参数规模偏小,没有超过千亿。比方清华和智谱 AI 的 ChatGLM-6B 目前只开源了 6B 参数模型,盘古 alpha 也只开源了 13B 的模型。
- 反对金融这个垂直畛域的开源模型根本没有。前段时间 Bloomberg 公布的 BloombergGPT 是业界的一个尝试,成果不错,然而不开源。
轩辕 (以下内容用 XuanYuan 示意) 基于 Bloom-176B 开源模型,在该模型根底上,针对金融畛域的数据做了 pre-training 和 fine-tune,是国内首个开源的千亿级中文对话大模型,同时也是首个针对中文金融畛域优化的千亿级开源对话大模型。
XuanYuan 大模型
轩辕在 BLOOM-176B 的根底上针对中文通用畛域和金融畛域进行了针对性的预训练与微调。
它不仅能够应答通用畛域的问题,也能够解答与金融相干的各类问题,为用户提供精确、全面的金融信息和倡议。
数据收集
训练数据集蕴含以下几个方面:
- 通用预训练数据 + 金融预训练数据:来源于互联网抓取的数据。
- 通用指令数据 + 金融指令数据:先人工结构种子指令数据 (seed instruction data),而后基于 Self-Instruct (Wang et al., 2022) 论文里的办法生成通用指令数据。再基于 Self-QA (Zhang and Yang, 2023)里的办法对非结构化和结构化的金融数据生成大语言模型须要的金融指令数据。Self-Instruct 和 Self-QA 的论文参考文末的 References。
通用数据的意思是不仅有金融畛域的数据,还蕴含泛滥其余畛域的数据。
金融数据集涵盖了金融研报、股票、基金、银行、保险等各个方向的专业知识。
试验结果表明,通过荡涤和标注的高质量数据集,不仅在通用性方面与 ChatGPT 达到持平成为可能,且显著晋升了模型在金融垂直畛域的性能。
训练过程
针对垂直畛域做大模型训练和微调,要认真设计训练过程。
如果只是简略的拿垂直畛域的一问一答指令数据做 fine tune,可能会产生灾难性忘记(catastrophic forgetting)。
灾难性忘记的意思是经过训练的模型遗记了模型最开始被训练进去的通用常识,只记住了这个垂直畛域相干的内容,就会导致答复品质降落。
参考上图,训练垂直畛域的大模型传统办法是分为如下 2 个阶段:
- 第一阶段:unsupervised domain-specific pre-training,简略来说就是把垂直畛域的数据喂给大模型做预训练,让大模型去预测下一个 token。
- 第二阶段:supervised domain-specific instruction-tuning,结构垂直畛域的一问一答指令数据,再基于指令数据做 fine-tune。
XuanYuan 提出了一种全新的训练方法 hybrid-tuning,不再分为以上 2 个阶段。
首先,把 pre-training data(预训练数据)和 instruction data(指令数据)合并为一个训练数据集。
而后,基于这个数据集做训练,训练过程中把通用数据的预训练、通用数据的指令微调、金融数据的预训练和金融数据的指令微调程序打乱。
训练实现后,模型既有了金融畛域的常识和对话能力,也保留了通用畛域的常识和对话能力,不会有灾难性忘记的问题。
训练的硬件是 NVIDIA A100 80GB GPU,应用 DeepSpeed 分布式训练框架来晋升训练效率,升高训练老本。
试验成果
金融畛域成果评测
为了深刻评估轩辕对话大模型在金融畛域的专业性,作者构建了一套针对金融畛域的具体评测体系。
该评测体系波及金融名词了解、金融市场评论、金融数据分析和金融新闻了解等四大畛域,从多角度全面考查模型的金融解决能力。
评测结果表明,轩辕在支流的四种开源大模型的比拟中,博得了 150 次答复中 63.33% 的胜率,凸显出其在金融畛域的显著劣势。
BloomChat 的我在之前的文章里介绍过,是国外开源的反对多语言(包含中文)、可商用的大语言模型,理解详情能够参考可商用、开源、反对多语言的千亿参数大语言模型。
通用畛域成果评测
除了在金融畛域的突出表现,轩辕还在通用解决能力方面体现优良。
作者利用由 200 道多元化问题形成的通用评测集,对轩辕在数学计算、场景写作、逻辑推理、文本摘要等 13 个次要维度的体现进行了评估,并将其与 ChatGPT 进行了比照。
结果显示,轩辕在这个评测集上,有 71% 的问题体现不亚于 ChatGPT,验证了其全方面能力。
总结
轩辕是国内首个开源的千亿级中文对话大模型,同时也是首个针对中文金融畛域优化的千亿级开源对话大模型,不能商用。
文章和示例代码开源在 GitHub: GPT 实战教程,能够看到所有支流的开源 LLM。
公众号:coding 进阶。关注公众号能够获取最新 GPT 实战内容。
集体网站:Jincheng’s Blog。
知乎:无忌。
References
- XuanYuan 2.0: https://arxiv.org/pdf/2305.12002.pdf
- XuanYuan GitHub: https://github.com/Duxiaoman-DI/XuanYuan
- XuanYuan on HuggingFace: https://huggingface.co/xyz-nlp/XuanYuan2.0
- Self-Instruct: https://arxiv.org/pdf/2212.10560.pdf
- Self-QA: https://arxiv.org/abs/2305.11952