1.简介
Orion-14B-Base是一个具有140亿参数的多语种大模型,该模型在一个包含2.5万亿token的多样化数据集上进行了训练,涵盖了中文、英语、日语、韩语等多种语言。在多语言环境下的一系列任务中展现出卓越的性能。在主流的公开基准评测中,Orion-14B系列模型表现优异,多项指标显著超越同等参数基本的其他模型。
2.训练过程
1).其预训练数据构成
2)数据的Tokenizer长度
3)模型结构对比
4)训练过程
5)损失下降情况
进入指令微调阶段:总共用85w训练对进行有监督微调
6)模型评估阶段:应用大模型常用的评估数据集进行评估,包括以下数据集
7)评估结果
模型数据主要为中文和英语,但是也添加了其它语言来增强多语言方面的表现,像日语和韩语,但是评估结果这里略过,有兴趣的朋友去阅读原文。
8)其他工作
- Orion-14B-Base: 基于2.5万亿tokens多样化数据集训练处的140亿参数量级的多语言基座模型。
- Orion-14B-Chat: 基于高质量语料库微调的对话类模型,旨在为大模型社区提供更好的用户交互体验。
- Orion-14B-LongChat: 在200k token长度上效果优异,最长可支持可达320k,在长文本评估集上性能比肩专有模型。
- Orion-14B-Chat-RAG: 在一个定制的检索增强生成数据集上进行微调的聊天模型,在检索增强生成任务中取得了卓越的性能。
- Orion-14B-Chat-Plugin: 专门针对插件和函数调用任务定制的聊天模型,非常适用于使用代理的相关场景,其中大语言模型充当插件和函数调用系统。
- Orion-14B-Base-Int4: 一个使用int4进行量化的基座模型。它将模型大小显著减小了70%,同时提高了推理速度30%,仅引入了1%的最小性能损失。
- Orion-14B-Chat-Int4: 一个使用int4进行量化的对话模型。
9)模型特点
-
Orion-14B系列大模型有以下几个特点:
- 基座20B参数级别大模型综合评测效果表现优异
- 多语言能力强,在日语、韩语测试集上显著领先
- 微调模型适应性强,在人类标注盲测中,表现突出
- 长上下文版本支持超长文本,在200k token长度上效果优异,最长可支持可达320k
- 量化版本模型大小缩小70%,推理速度提升30%,性能损失小于1%
3.下载路径
发布模型和下载链接见下表:
模型名称 | HuggingFace下载链接 | ModelScope下载链接 |
---|---|---|
⚾ 基座模型 | Orion-14B-Base | Orion-14B-Base |
😛 对话模型 | Orion-14B-Chat | Orion-14B-Chat |
📃 长上下文模型 | Orion-14B-LongChat | Orion-14B-LongChat |
🔎 检索增强模型 | Orion-14B-Chat-RAG | Orion-14B-Chat-RAG |
🔌 插件模型 | Orion-14B-Chat-Plugin | Orion-14B-Chat-Plugin |
💼 基座Int4量化模型 | Orion-14B-Base-Int4 | Orion-14B-Base-Int4 |
📦 对话Int4量化模型 | Orion-14B-Chat-Int4 | Orion-14B-Chat-Int4 |
4.模型推理
推理所需的模型权重、源码、配置已发布在 Hugging Face,下载链接见本文档最开始的表格。我们在此示范多种推理方式。程序会自动从 Hugging Face 下载所需资源。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
tokenizer = AutoTokenizer.from_pretrained("OrionStarAI/Orion-14B", use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("OrionStarAI/Orion-14B", device_map="auto",
torch_dtype=torch.bfloat16, trust_remote_code=True)
model.generation_config = GenerationConfig.from_pretrained("OrionStarAI/Orion-14B")
messages = [{"role": "user", "content": "你好! 你叫什么名字!"}]
response = model.chat(tokenizer, messages, streaming=Flase)
print(response)
在上述两段代码中,模型加载指定 device_map='auto'
,会使用所有可用显卡。如需指定使用的设备,可以使用类似 export CUDA_VISIBLE_DEVICES=0,1
(使用了0、1号显卡)的方式控制。
命令行工具方式
CUDA_VISIBLE_DEVICES=0 python cli_demo.py
本命令行工具是为 Chat 场景设计,因此我们不支持使用该工具调用 Base 模型。
脚本直接推理
# base model
CUDA_VISIBLE_DEVICES=0 python demo/text_generation_base.py --model OrionStarAI/Orion-14B --tokenizer OrionStarAI/Orion-14B --prompt 你好,你叫什么名字# chat model
CUDA_VISIBLE_DEVICES=0 python demo/text_generation.py --model OrionStarAI/Orion-14B-Chat --tokenizer OrionStarAI/Orion-14B-Chat --prompt 你好,你叫什么名字
示例输出:闲聊
用户:你好,你叫什么名字
Orion-14B:你好!我是一个人工智能助手,没有固定的名字。你可以随意称呼我。有什么我可以帮助你的吗?
用户:讲个故事
Orion-14B:从前有一个小男孩叫杰克,他住在一个小村庄里。杰克非常喜欢冒险和探索,总是梦想着能够发现一些神奇的事情。有一天,杰克听说在附近的森林深处有一座传说中的魔法城堡,里面住着一个邪恶的巨人。这个巨人的名字叫格里姆,他被困在城堡中,无法离开。
杰克决定要去解救这个巨人,因为他相信格里姆一定有自己的原因被困在那里。于是,他带着勇气和决心,踏上了前往魔法城堡的旅程。
经过长时间的跋涉,杰克终于来到了城堡的大门前。他小心翼翼地推开大门,进入了一个充满神秘气息的房间。
房间里弥漫着黑暗的气息,但杰克并没有被吓倒。他勇敢地向城堡深处走去,最终找到了格里姆。
格里姆告诉杰克,他是被一个邪恶的女巫诅咒的,只有通过解开咒语才能获得自由。杰克决定要帮助格里姆,他开始寻找线索和解开咒语的方法。
经过一番努力,杰克终于找到了一条通往女巫的秘密实验室的道路。他在那里发现了女巫留下的魔法书,书中记载了解开咒语的方法。
杰克按照书上所写的步骤进行操作,成功地解开了格里姆身上的诅咒。巨人感激不已,他答应帮助杰克实现他的愿望。
从此以后,杰克和格里姆成为了好朋友,他们一起经历了许多惊险刺激的冒险,并用他们的勇气和智慧战胜了各种困难。
这个故事告诉我们,只要有勇气和决心,我们就能克服一切困难,实现自己的梦想。
日韩
用户:自己を紹介してください
Orion-14B:こんにちは、私の名前はChatMaxで、OrionStarによって開発されたAIアシスタントです。私はユーザーに正確で、客観的で、有用な回答を提供し、彼らが問題を解決し、情報を取得するのを助けることができます。
用户:자기소개를 해주세요.
Orion-14B:안녕하세요, 제 이름은 ChatMax입니다. OrionStar에서 개발한 AI 어시스턴트입니다. 저는 사용자들에게 정확하고 객관적이며 유용한 답변을 제공하여 문제를 해결하고 정보를 얻는 데 도움을 줄 수 있습니다.
5.大模型链接
https://github.com/OrionStarAI/Orion/tree/master
HuggingFace链接
https://huggingface.co/OrionStarAI