当前位置: 首页 > news >正文

【开源】多语言大型语言模型的革新:百亿参数模型超越千亿参数性能

大型人工智能模型,尤其是那些拥有千亿参数的模型,因其出色的商业应用表现而受到市场的青睐。但是,直接通过API使用这些模型可能会带来数据泄露的风险,尤其是当模型提供商如OpenAI等可能涉及数据隐私问题时。私有部署虽然是一个解决办法,但昂贵的授权费用对于许多企业来说是一笔不小的开支。Orion-14B系列模型的推出,旨在解决这一难题,提供一个既经济实惠又性能卓越的选择。

Orion-14B系列特点

Orion-14B系列模型以其百亿参数规模,在多个专业场景问题解答中超越了GPT-4等千亿参数级别的模型。更令人振奋的是,该系列模型能够在普通消费级显卡上运行,显著降低了硬件成本。

关键特性包括:

  1. 在20B参数规模水平的模型中,Orion-14B-Base在综合评估中表现优异。
  2. 强大的多语言能力,尤其在日语和韩语测试集中表现突出。
  3. 微调模型展现出强大的适应能力,在人工标注的盲测中表现卓越。
  4. 长聊天版本支持极长文本,最大支持320k令牌长度。
  5. 量化版本将模型大小减少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库中的AutoModelForCausalLMAutoTokenizer类加载模型和分词器。通过设置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的图片上传&#xff0c;这里记录一下&#xff0c;有兴趣的朋友可以参考。。。。 <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 · 下一个排列

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/475da0d4e37a481bacf9a09b5a059199 思路 第一步&#xff1a;获取数字上每一个数&#xff0c;组成数组arr 第二步&#xff1a;利用“下一个排列” 问题解题方法来继续作答&#xff0c;步骤&#xff1a;利用lintc…...

Vue3解决“找不到模块“@/components/xxx.vue”或其相应的类型声明”

文章目录 前言背景问题描述解决方案总结 前言 在使用 Vue 3 开发项目时&#xff0c;遇到“找不到模块 ‘/components/xxx.vue’ 或其相应的类型声明”的错误是一个常见问题。这通常与 TypeScript 和模块解析相关的配置不当有关。本文将详细介绍如何解决此问题&#xff0c;确保…...

nginx的Connection refused

问题描述 nginx的错误日志中突然出现大量的的Connection refused问题&#xff0c;日志如下&#xff1a; 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的知识&#xff0c;本节内容介绍的是高阶函数&#xff08;Higher-order functions&#xff09;的概念和应用。高阶函数是指能够接受其他函数作为参数&#xff0c;或者返回函数作为结果的函数。 Functions as values&#xff08;函数作为值&#xff09;&…...

Unity websocket客户端

&#x1f3c6; 个人愚见&#xff0c;没事写写笔记 &#x1f3c6;《博客内容》&#xff1a;Unity3D开发内容 &#x1f3c6;&#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f50e;目标&#xff1a;服务器和客户端可以实时的传输信息 ☀️实现目标&#xff1a; 使用的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)要开始扁平化的第一个维度&#xff08;默认值 1&#xff09;end_dim (int)要结束扁平化的最后一个维度&#xff08;默认值 -1&#xff09; 2 举例 input torch.ra…...

AI智能体架构设计:从成本黑洞到价值引擎的解耦之道

1. 从成本黑洞到价值引擎&#xff1a;为什么你的AI智能体架构正在吞噬预算又到了季度技术复盘会&#xff0c;财务那边递过来的云账单和工程人力成本&#xff0c;是不是又让你倒吸一口凉气&#xff1f;你看着报表上那个名为“AI智能体平台”的项目&#xff0c;它的资源消耗曲线几…...

Topit:macOS窗口置顶神器,让多任务处理效率翻倍

Topit&#xff1a;macOS窗口置顶神器&#xff0c;让多任务处理效率翻倍 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否经常在macOS上同时处理多个任务时…...

从测速到配置:一套完整的cFosSpeed网络加速保姆级教程(适用于小白)

从零开始掌握cFosSpeed&#xff1a;网络加速全流程实战指南对于经常进行在线游戏、视频会议或大文件传输的用户来说&#xff0c;网络延迟和带宽利用率低下往往是影响体验的关键痛点。cFosSpeed作为一款专业的网络流量优化工具&#xff0c;能够显著改善这些问题&#xff0c;但许…...

机器学习结合基因无关通路映射:从临床数据挖掘新药靶点

1. 项目概述&#xff1a;当机器学习遇见代谢通路&#xff0c;如何从数据中“挖”出新药靶点&#xff1f;在生物医学研究的前沿&#xff0c;我们正面临一个核心矛盾&#xff1a;一方面&#xff0c;我们拥有海量的临床数据&#xff0c;比如血糖、血压、BMI等指标&#xff1b;另一…...

Godot中型项目工程化实践:目录规范、资源引用与状态管理

1. 这不是续集&#xff0c;而是项目落地的分水岭“Godot 游戏引擎项目&#xff08;二&#xff09;”——看到这个标题&#xff0c;很多人第一反应是&#xff1a;“哦&#xff0c;上一篇讲了环境搭建和Hello World&#xff0c;这篇该讲节点树和信号了&#xff1f;”但我在带三个…...

千亿镁合金产业集群正在成形:成都、抚州、池州的新版图

一个新赛道的地理坐标 如果要在中国地图上标注一条正在成形的新兴产业集群走廊&#xff0c;高强镁合金这条线&#xff0c;值得被认真画出来。 成都龙泉驿——江西抚州临川——安徽池州高新区&#xff0c;三个坐标&#xff0c;三条生产线&#xff0c;一家公司&#xff0c;两年内…...

钱钟书《围城》第1-5章阅读笔记:一场关于人生困境的提前预演

前言 钱钟书先生的《围城》被誉为"新儒林外史"&#xff0c;是中国现代文学史上风格独特的讽刺经典。这部创作于20世纪40年代的长篇小说&#xff0c;以抗战初期为背景&#xff0c;通过主人公方鸿渐的人生轨迹&#xff0c;深刻揭示了知识分子群体的精神困境与人性弱点。…...

C++ vector容器总结

vector基本概念功能&#xff1a;vector数据结构和数组非常相似&#xff0c;也称为单端数组vector与普通数组区别&#xff1a;不同之处在于数组是静态空间&#xff0c;而vector可以动态扩展动态扩展&#xff1a;并不是在原空间之后续接新空间&#xff0c;而是找更大的内存空间&a…...

免费抓包工具选型指南:Wireshark、Fiddler、mitmproxy、Charles实战对比

1. 抓包工具不是“黑科技”&#xff0c;而是网络世界的显微镜很多人第一次听说“抓包”&#xff0c;脑子里立刻浮现出黑客电影里满屏滚动的绿色代码、键盘敲得噼啪作响、三秒破解银行防火墙的画面。其实完全不是这样——抓包&#xff08;Packet Capture&#xff09;本质上就是把…...

从模糊到电影级景深:Midjourney + Topaz Gigapixel联调方案(含LUT预设包+PSD分层模板)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;从模糊到电影级景深&#xff1a;Midjourney Topaz Gigapixel联调方案&#xff08;含LUT预设包PSD分层模板&#xff09; 当Midjourney生成的图像存在主体边缘柔化、背景层次缺失或分辨率不足等问题时&#xf…...