【开源】多语言大型语言模型的革新:百亿参数模型超越千亿参数性能
大型人工智能模型,尤其是那些拥有千亿参数的模型,因其出色的商业应用表现而受到市场的青睐。但是,直接通过API使用这些模型可能会带来数据泄露的风险,尤其是当模型提供商如OpenAI等可能涉及数据隐私问题时。私有部署虽然是一个解决办法,但昂贵的授权费用对于许多企业来说是一笔不小的开支。Orion-14B系列模型的推出,旨在解决这一难题,提供一个既经济实惠又性能卓越的选择。
Orion-14B系列特点
Orion-14B系列模型以其百亿参数规模,在多个专业场景问题解答中超越了GPT-4等千亿参数级别的模型。更令人振奋的是,该系列模型能够在普通消费级显卡上运行,显著降低了硬件成本。
关键特性包括:
- 在20B参数规模水平的模型中,Orion-14B-Base在综合评估中表现优异。
- 强大的多语言能力,尤其在日语和韩语测试集中表现突出。
- 微调模型展现出强大的适应能力,在人工标注的盲测中表现卓越。
- 长聊天版本支持极长文本,最大支持320k令牌长度。
- 量化版本将模型大小减少70%,推理速度提高30%,性能损失不到1%。

模型系列
Orion-14B系列包括以下模型:
- Orion-14B-Base:一个具有14亿参数的多语言基础模型,预训练在2.5万亿token的多样化数据集上。
- Orion-14B-Chat:在高质量语料库上微调的聊天模型,旨在为大型模型社区的用户提供卓越的交互体验。
- Orion-14B-LongChat:长文本版本,擅长处理极长文本。
- Orion-14B-Chat-RAG:在自定义检索增强生成数据集上微调的聊天模型,检索增强生成任务中表现卓越。
- Orion-14B-Chat-Plugin:专为插件和功能调用任务量身定制的聊天模型,适用于代理相关场景。
- Orion-14B-Base-Int4:使用4位整数权重的量化基础模型。
- Orion-14B-Chat-Int4:使用4位整数权重的量化聊天模型。
模型基准测试
Orion-14B系列模型在专业场景问题解答方面进行了评估,测试结果表明,Orion-14B-Base模型在考试和专业知识评估上超越了其他同类模型,如GPT-4。这些评估通常包括对模型在特定领域知识的掌握程度和解答相关问题的能力进行测试。

模型的语言理解能力通过诸如RACE-middle、RACE-high、HellaSwag、PIQA、Lambada、WSC等测试集进行评估。Orion-14B-Base在这些测试中表现出色,特别是在RACE-middle和RACE-high测试中,显示出模型在语言理解和常识知识方面的强大能力。

OpenCompass测试集是一系列设计用来评估语言模型在不同领域上的表现的测试。Orion-14B-Base在这些测试中同样展现了优秀的性能,证明了其在多个领域的广泛应用潜力。

Orion-14B系列模型在多语言能力上进行了特别的优化。特别是在日语和韩语的测试集中,模型展现出了显著的性能,这表明Orion-14B系列在处理亚洲语言方面具有明显优势。

Orion-14B-Chat模型在MTBench和AlignBench等聊天模型主观评估中进行了测试。这些测试不仅关注模型的响应质量,还包括了对模型在不同领域的适应性和交互体验的评估。

Orion-14B-LongChat模型在LongBench长聊天评估中表现出色,这表明该模型能够处理极长文本,适合需要长对话或长文本处理的应用场景。

Orion-14B-Chat-RAG模型在自定义的检索增强生成(RAG)测试集中进行了评估。这些测试旨在衡量模型在检索信息并结合生成任务中的表现,Orion-14B-Chat-RAG在这些测试中展示了其卓越的性能。
Orion-14B系列还包括了量化版本,如Orion-14B-Base-Int4,这些版本在保持性能的同时显著减少了模型大小并提高了推理速度。通过量化技术,模型能够在资源受限的环境中高效运行,同时保持较低的性能损失。

Python代码推理
Orion-14B系列模型支持通过Python代码进行直接推理。用户可以使用transformers库中的AutoModelForCausalLM和AutoTokenizer类加载模型和分词器。通过设置device_map='auto',模型可以自动利用所有可用的GPU资源进行加速。此外,通过指定torch_dtype=torch.bfloat16,可以在保持精度的同时优化内存使用和推理速度。
示例:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfigtokenizer = 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": "Hello, what is your name? "}]
response = model.chat(tokenizer, messages, streaming=False)
print(response)
在这段代码中,model.chat函数用于生成模型的响应,streaming=False表示不使用流式输出。
命令行工具推理
Orion-14B系列模型还提供了命令行工具,方便用户在终端中快速进行模型推理。用户可以通过设置环境变量CUDA_VISIBLE_DEVICES来指定使用的GPU设备,然后运行命令行脚本进行推理。
示例命令如下:
CUDA_VISIBLE_DEVICES=0 python cli_demo.py
这个命令行工具专为聊天场景设计,不支持调用基础模型。
直接脚本推理
用户还可以通过直接运行脚本进行模型推理。Orion-14B系列模型提供了基础模型和聊天模型的脚本示例。
基础模型推理示例命令:
CUDA_VISIBLE_DEVICES=0 python demo/text_generation_base.py --model OrionStarAI/Orion-14B --tokenizer OrionStarAI/Orion-14B --prompt hello
聊天模型推理示例命令:
CUDA_VISIBLE_DEVICES=0 python demo/text_generation.py --model OrionStarAI/Orion-14B-Chat --tokenizer OrionStarAI/Orion-14B-Chat --prompt hi
这些脚本允许用户通过命令行参数指定模型、分词器和输入提示。
vLLM推理
Orion-14B系列模型支持通过vLLM项目进行推理。vLLM是一个轻量级的推理库,可以与Orion-14B系列模型配合使用。
启动vLLM服务器的示例命令:
python -m vllm.entrypoints.openai.api_server --model OrionStarAI/Orion-14B-Chat
这允许用户通过vLLM提供的API接口进行模型推理。
llama.cpp推理
Orion-14B系列模型还可以通过llama.cpp项目进行推理。llama.cpp是一个高效的推理引擎,支持多种模型格式。
用户首先需要将Hugging Face模型转换为GGUF格式,使用如下命令:
python convert-hf-to-gguf.py path/to/Orion-14B-Chat --outfile chat.gguf
然后,使用llama.cpp运行生成任务,示例命令如下:
./main --frequency-penalty 0.5 --top-k 5 --top-p 0.9 -m chat.gguf -p "Building a website can be done in 10 simple steps:\nStep 1:" -n 400 -e
这个命令设置了频率惩罚、top-k和top-p参数,并指定了模型文件和输入提示。
示例输出
Orion-14B系列模型的推理输出示例包括日常聊天和多语言聊天。例如,在英文聊天中,模型能够以友好和有帮助的方式回应用户的问候和提问。在日文和韩文聊天中,模型也能够以相应的语言进行流畅的对话。
这些推理方法展示了Orion-14B系列模型的灵活性和实用性,无论是通过编程接口、命令行工具还是与其他推理引擎的集成,都能够为用户提供强大且易于使用的模型推理能力。
项目链接:https://github.com/OrionStarAI/Orion
相关文章:
【开源】多语言大型语言模型的革新:百亿参数模型超越千亿参数性能
大型人工智能模型,尤其是那些拥有千亿参数的模型,因其出色的商业应用表现而受到市场的青睐。但是,直接通过API使用这些模型可能会带来数据泄露的风险,尤其是当模型提供商如OpenAI等可能涉及数据隐私问题时。私有部署虽然是一个解决…...
DDL—表—数据类型—日期时间类型相关语法
(1)表格如下: 类型大小范围格式描述DATE31000-01-01 至 9999-12-31YYYY-MM-DD日期值(年月日)TIME3-838:59:59 至 838:59:59HH:MM:SS时间值或持续时间(时分秒)YEAR11901 至 2155YYYY年份值DATET…...
Ant Design pro 6.0.0 搭建使用以及相关配置
一、背景 在选择一款比较合适的中台的情况下,挑选了有arco design、ant design pro、soybean、vue-pure-admin等中台系统,经过筛选就选择了ant design pro。之前使用过arco design 搭建通过组件库拼装过后台管理界面,官方文档也比较全&#…...
Vue生命周期钩子是如何实现的
Vue的生命周期钩子是在Vue组件创建、挂载、更新、销毁等过程中自动调用的特殊函数。这些钩子允许开发者在组件的不同阶段执行特定的逻辑。Vue 2 和 Vue 3 在生命周期钩子上有一些差异,主要是因为Vue 3引入了Composition API和更现代的JavaScript特性。 Vue 2 的生命…...
002 仿muduo库实现高性能服务器组件_整体框架
🌈个人主页:Fan_558 🔥 系列专栏:仿muduo 🌹关注我💪🏻带你学更多知识 文章目录 前言项目框架小结 前言 本文不会包含任何项目模块的代码,旨在向你介绍项目具体分为哪几个模块&am…...
车道线识别与预警系统LDWS(代码+教程)
车道线识别与预警系统(Lane Departure Warning System, LDWS)作为智能交通系统中的重要组成部分,旨在通过先进的图像处理和计算机视觉技术,实时监测车辆行驶过程中的车道位置,预防因驾驶员疏忽或疲劳导致的车道偏离事故…...
Python基础学习笔记(七)——元组
目录 一、一维元组的介绍、创建与修改二、组合的基本操作1. 遍历2. 取长度3. 取最值4. 打包5. 批处理5.1 map()函数5.2 lambda 表达式5.3 lambda 表达式 map()函数 一、一维元组的介绍、创建与修改 元组(tuple),一种不可变、有序、可重复的数…...
安卓开发:相机水印设置
1.更新水印 DecimalFormat DF new DecimalFormat("#"); DecimalFormat DF1 new DecimalFormat("#.#");LocationManager LM (LocationManager)getSystemService(Context.LOCATION_SERVICE); LM.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2…...
Excel工作表单元格单击选中事件,VBA动态数值排序
Excel工作表单元格单击选中事件,VBA动态数值排序(WX公众号:Excel潘谆白说VBA) 文章目录 前言一、运行效果二、代码前言 面对每月的消费账单,面对月底待还的信用卡或花呗,面对不足三位数的余额,你是否怀疑过账单自己的消费。你是否因此开始记账,每个月记流水,想知道当月…...
数据结构~~链式二叉树
目录 一、基本概念 链式存储概念 二、链式二叉树的结构 链式二叉树结构 构建链式二叉树 二叉树的遍历 二叉树节点和高度等 二叉树销毁 三、链式二叉树的练习 相同的树 对称二叉树 另外一颗子树 二叉树前序遍历 二叉树遍历 四、完整代码 Tree.h Tree.c 五、总结 一…...
线程池,日志
所要用到的知识点: 多线程的创建 生产消费模型, 线程锁 条件变量 代码: 线程池日志...
vue的图片上传
关于vue3的图片上传,这里记录一下,有兴趣的朋友可以参考。。。。 <van-uploader:after-read"afterRead"v-model"headImg":max-count"1"class"picture"/> const fileList ref();const afterRead (fil…...
题解 P1150
题解 P1150 因为k个烟蒂1根烟1个烟蒂 所以k-1个烟蒂1根烟 注意减掉最后一根烟的烟蒂 (因这题并没有借烟蒂换烟再还回这一说) 此解法为小学4~6年级水平 #include <bits/stdc.h>using namespace std;int main(){int n,k;cin>>n>>k;cout<<n(n-1)/(k-…...
牛客NC324 下一个更大的数(三)【中等 双指针 Java/Go/PHP/C++】参考lintcode 52 · 下一个排列
题目 题目链接: https://www.nowcoder.com/practice/475da0d4e37a481bacf9a09b5a059199 思路 第一步:获取数字上每一个数,组成数组arr 第二步:利用“下一个排列” 问题解题方法来继续作答,步骤:利用lintc…...
Vue3解决“找不到模块“@/components/xxx.vue”或其相应的类型声明”
文章目录 前言背景问题描述解决方案总结 前言 在使用 Vue 3 开发项目时,遇到“找不到模块 ‘/components/xxx.vue’ 或其相应的类型声明”的错误是一个常见问题。这通常与 TypeScript 和模块解析相关的配置不当有关。本文将详细介绍如何解决此问题,确保…...
nginx的Connection refused
问题描述 nginx的错误日志中突然出现大量的的Connection refused问题,日志如下: 2020/03/19 09:52:53 [error] 20117#20117: *7403411764 connect() failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, server:…...
Haskell 的高阶函数(Higher-order functions)
本节继续介绍Haskell的知识,本节内容介绍的是高阶函数(Higher-order functions)的概念和应用。高阶函数是指能够接受其他函数作为参数,或者返回函数作为结果的函数。 Functions as values(函数作为值)&…...
Unity websocket客户端
🏆 个人愚见,没事写写笔记 🏆《博客内容》:Unity3D开发内容 🏆🎉欢迎 👍点赞✍评论⭐收藏 🔎目标:服务器和客户端可以实时的传输信息 ☀️实现目标: 使用的w…...
每日一题——博弈论(枚举与暴力)
博弈论 题目描述 运行代码 #include<iostream> #include<vector> using namespace std; int main(){int n;cin >> n;vector<int> d(n,0);for(int i 0;i < n;i){cin >> d[i];}vector<int> in(1000,0);for(int k 1;k<3;k){for(int…...
pytorch笔记:torch.nn.Flatten()
1 介绍 torch.nn.Flatten(start_dim1, end_dim-1) 将一个连续的维度范围扁平化为一个张量 start_dim (int)要开始扁平化的第一个维度(默认值 1)end_dim (int)要结束扁平化的最后一个维度(默认值 -1) 2 举例 input torch.ra…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
