Qwen2——阿里巴巴最新的多语言模型挑战 Llama 3 等 SOTA
引言
经过几个月的期待, 阿里巴巴 Qwen 团队终于发布了 Qwen2 – 他们强大的语言模型系列的下一代发展。 Qwen2 代表了一次重大飞跃,拥有尖端的进步,有可能将其定位为 Meta 著名的最佳替代品 骆驼3 模型。在本次技术深入探讨中,我们将探讨使 Qwen2 成为大型语言模型 (LLM) 领域强大竞争者的关键功能、性能基准和创新技术。
Qwen2 型号系列
核心是 Qwen2 拥有一系列多样化的模型,可满足不同的计算需求。该系列包含五种不同的型号:Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 和旗舰产品 Qwen2-72B。这一系列选项可满足广泛的用户需求,从拥有适度硬件资源的用户到能够使用尖端计算基础设施的用户。
Qwen2 的突出特点之一是它的多语言功能。虽然之前的 Qwen1.5 该模型在英语和中文方面表现出色,Qwen2 还接受了涵盖 27 种其他语言的数据的训练。这种多语言训练方案包括来自西欧、东欧和中欧、中东、东亚和南亚等不同地区的语言。
Qwen2 型号支持的语言(按地理区域分类)
通过扩展其语言库,Qwen2 展示了理解和生成多种语言内容的卓越能力,使其成为全球应用和跨文化交流的宝贵工具。
Qwen2 模型的规格包括参数、GQA 和上下文长度。
解决代码转换问题:多语言挑战
在多语言环境中,语码转换现象(即在一次对话或话语中交替使用不同语言的做法)很常见。 Qwen2 经过精心培训,可以处理语码转换场景,显着减少相关问题并确保语言之间的平滑转换。
使用通常会引起语码转换的提示进行的评估证实了 Qwen2 在该领域的实质性改进,这证明了阿里巴巴致力于提供真正的多语言语言模型。
擅长编码和数学
Qwen2 在编码和数学领域拥有卓越的能力,这些领域传统上对语言模型提出了挑战。通过利用广泛的高质量数据集和优化的训练方法,Qwen2-72B-Instruct(旗舰模型的指令调整变体)在解决数学问题和跨各种编程语言的编码任务方面表现出出色的性能。
扩展语境理解
Qwen2 最令人印象深刻的功能之一是它能够理解和处理扩展的上下文序列。虽然大多数语言模型都难以处理长文本,但 Qwen2-7B-Instruct 和 Qwen2-72B-Instruct 模型经过精心设计,可以处理长达 128K 个标记的上下文。
这种非凡的功能对于需要深入了解冗长文档(例如法律合同、研究论文或密集的技术手册)的应用程序来说是一个颠覆性的变化。通过有效地处理扩展上下文,Qwen2 可以提供更准确、更全面的响应,从而开辟自然语言处理的新领域。
Qwen2 模型从不同上下文长度和文档深度的文档中检索事实的准确性。
该图表显示了 Qwen2 模型从不同上下文长度和深度的文档中检索事实的能力。
分组查询注意力和优化嵌入
在底层,Qwen2 融合了多项架构创新,从而实现了卓越的性能。其中一项创新是在所有模型大小上采用组查询注意力(GQA)。 GQA 提供更快的推理速度并减少内存使用,使 Qwen2 更加高效并可支持更广泛的硬件配置。
此外,阿里巴巴还针对 Qwen2 系列中的小模型对嵌入进行了优化。通过绑定嵌入,团队成功减少了这些模型的内存占用,使其能够在性能较弱的硬件上部署,同时保持高质量的性能。
对 Qwen2 进行基准测试:超越最先进的模型
Qwen2 在各种基准测试中均表现出色。对比评估显示,该系列中最大的模型 Qwen2-72B 在自然语言理解、知识获取、编码能力、数学技能和多语言能力等关键领域均优于 Llama-3-70B 等领先竞争对手。
Qwen2-72B-Instruct 与 Llama3-70B-Instruct 的编码和数学表现对比
Qwen1.5-110B 虽然参数比上一代 Qwen2-72B 少,但性能表现却更为出色,充分证明了阿里巴巴精心挑选的数据集和优化的训练方法的有效性。
安全与责任:与人类价值观相一致
Qwen2-72B-Instruct 已接受严格评估,以确认其处理与非法活动、欺诈、色情和侵犯隐私相关的潜在有害查询的能力。结果令人鼓舞:Qwen2-72B-Instruct 在安全性方面的表现可与备受推崇的 GPT-4 模型相媲美,与其他大型模型(如 Mistral-8x22B)相比,有害响应的比例明显较低。
这一成就凸显了阿里巴巴致力于开发符合人类价值观的人工智能系统,确保Qwen2不仅强大,而且值得信赖和负责。
许可和开源承诺
为了进一步扩大 Qwen2 的影响,阿里巴巴采用了开源的许可方式。虽然 Qwen2-72B 及其指令调整型号保留了原始的Qianwen 许可证,但其余型号 – Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B 和 Qwen2-57B-A14B – 已根据宽松的 Apache 2.0 许可证获得许可。
这种增强的开放性预计将加速 Qwen2 模型在全球的应用和商业使用,促进全球人工智能社区的协作和创新。
使用与实施
使用 Qwen2 模型非常简单,这得益于它们与流行框架的集成,例如Hugging Face。下面是使用 Qwen2-7B-Chat-beta 进行推理的示例:
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen1.5-7B-Chat", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen1.5-7B-Chat")
prompt = "Give me a short introduction to large language models."
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(model_inputs.input_ids, max_new_tokens=512, do_sample=True)
generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
此代码片段演示了如何使用 Qwen2-7B-Chat 模型设置和生成文本。与的集成Hugging Face使其易于访问且易于实验。
Qwen2 与 Llama 3:比较分析
虽然 Qwen2 和 梅塔的羊驼 3都是强大的语言模型,它们表现出独特的优势和权衡。
Qwen2-72B、Llama3-70B、Mixtral-8x22B 和 Qwen1.5-110B 在各种基准(包括 MMLU、MMLU-Pro、GPQA 等)上的性能比较图表。
以下是一个比较分析,可以帮助您了解它们的主要区别:
多语言能力:Qwen2在多语言支持方面具有明显优势。其对除英语和中文之外的另外 27 种语言的数据进行训练,使 Qwen2 在跨文化交流和多语言场景中表现出色。相比之下,Llama 3 的多语言能力不太明显,可能限制其在不同语言环境中的有效性。
编码和数学能力:Qwen2 和 骆驼3表现出令人印象深刻的编码和数学能力。然而,Qwen2-72B-Instruct 似乎略有优势,因为它在这些领域对大量高质量数据集进行了严格的训练。阿里巴巴专注于增强 Qwen2 在这些领域的能力,这可能会让它在涉及编码或数学问题解决的专业应用中占据优势。
长上下文理解:Qwen2-7B-Instruct 和 Qwen2-72B-Instruct 模型拥有处理高达 128K 令牌的上下文长度的令人印象深刻的能力。此功能对于需要深入理解冗长文档或密集技术材料的应用程序尤其有价值。 Llama 3 虽然能够处理长序列,但在该特定领域的性能可能无法与 Qwen2 相媲美。
虽然 Qwen2 和 Llama 3 都表现出了最先进的性能,但 Qwen2 的模型阵容多样化,从 0.5B 到 72B 参数,提供了更大的灵活性和可扩展性。这种多功能性使用户可以选择最适合其计算资源和性能要求的模型大小。此外,阿里巴巴正在努力将 Qwen2 扩展到更大的模型,这可能会进一步增强其功能,未来可能会超越 Llama 3。
简化 Qwen2 采用
为了促进Qwen2的广泛采用和集成,阿里巴巴采取了积极措施,确保跨各种平台和框架的无缝部署。 Qwen 团队与众多第三方项目和组织密切合作,使 Qwen2 能够与各种工具和框架结合使用。
微调和量化:Axolotl、Llama-Factory、Firefly、Swift 和 XTuner 等第三方项目已经过优化,支持 Qwen2 模型的微调,使用户能够根据其特定任务和数据集定制模型。此外,量化工具如 自动GPTQ, 自动AWQ、Neural Compressor 已适应与 Qwen2 配合使用,有助于在资源受限的设备上进行高效部署。
部署和推理:Qwen2 模型可以使用各种框架进行部署和服务,包括 法学硕士、SGL、SkyPilot、 TensorRT-法学硕士, 打开维诺和 TGI。这些框架提供了优化的推理管道,支持在生产环境中高效、可扩展地部署 Qwen2。
API 平台和本地执行:对于希望将 Qwen2 集成到其应用程序中的开发人员,Together、Fireworks 和 OpenRouter 等 API 平台提供了访问模型功能的便捷方式。或者,通过 MLX、Llama.cpp 等框架支持本地执行, 奥拉马和 LM Studio,允许用户在本地计算机上运行 Qwen2,同时保持对数据隐私和安全的控制。
代理和 RAG 框架:Qwen2 对工具使用和代理功能的支持得到了诸如骆驼指数、CrewAI 和 开放的Devin.这些框架支持创建专门的AI代理,并将Qwen2集成到 检索增强生成(RAG)管道,扩大应用范围和用例。
未来的发展和机遇
阿里巴巴对 Qwen2 的愿景远不止于当前版本。该团队正在积极训练更大的模型,以探索模型扩展的前沿,并辅以持续的数据扩展工作。此外,他们正在计划将 Qwen2 扩展到多模态 AI 领域,实现视觉和音频理解能力的整合。
随着开源人工智能生态系统的不断蓬勃发展,Qwen2 将发挥关键作用,为寻求推进自然语言处理和人工智能技术发展的研究人员、开发人员和组织提供强大的资源。
相关文章:
Qwen2——阿里巴巴最新的多语言模型挑战 Llama 3 等 SOTA
引言 经过几个月的期待, 阿里巴巴 Qwen 团队终于发布了 Qwen2 – 他们强大的语言模型系列的下一代发展。 Qwen2 代表了一次重大飞跃,拥有尖端的进步,有可能将其定位为 Meta 著名的最佳替代品 骆驼3 模型。在本次技术深入探讨中,我…...
等级考试3-2021年3月题
作业: #include <iostream> using namespace std; int chonghe(int,int,int,int); int main(){int a[1000],b[1000];int n,ma0;cin>>n;for(int i0;i<n;i){cin>>a[i]>>b[i];}for(int i0;i<n;i){for(int ji1;j<n;j){mamax(ma,chongh…...
Web前端开发PPT:深入探索与实战应用
Web前端开发PPT:深入探索与实战应用 在数字化时代,Web前端开发已成为构建丰富、交互性强的网页应用的关键环节。本次分享旨在通过PPT的形式,带领大家深入探索Web前端开发的精髓,并分享一些实战应用的经验。接下来,我们…...
liunx常见指令
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 二、安装环境 1.租借服务器 2.下载安装 XShell 3.使用xshll登录服务器 三、Linux基础命令 一、文件和命令 编辑1、cd 命令 2、pwd 命令 3、ls 命令 4、cp 命令 …...
vscode设置成中文界面
在Visual Studio Code(VSCode)中设置中文界面,你可以采用以下几种方法,以下是详细步骤: 方法一:通过设置菜单设置中文 打开VSCode:首先,确保你已经打开了VSCode软件。进入设置&…...
python命名空间详解
Python中的命名空间是编程语言设计的一个核心概念,它负责存储变量名与其对应的值之间的映射关系,确保了程序中变量的唯一性和可访问性。命名空间不仅关乎变量的生命周期和作用范围,也是Python中实现封装、避免命名冲突的重要机制。 1. 命名空…...
【日常记录】【vue】vite-plugin-inspect 插件的使用
文章目录 1、vite-plugin-inspect2、安装3、使用4、链接 1、vite-plugin-inspect vite-plugin-inspect 可以让开发者在浏览器端就可以看到vue文件编译后的代码、vue文件的相互依赖关系 2、安装 npm i -D vite-plugin-inspect// vite.config.ts import Inspect from vite-plugi…...
mini web框架示例
web框架: 使用web框架专门负责处理用户的动态资源请求,这个web框架其实就是一个为web服务器提供服务的应用程序 什么是路由? 路由就是请求的url到处理函数的映射,也就是说提前把请求的URL和处理函数关联好 管理路由可以使用一个…...
基于C#开发web网页管理系统模板流程-主界面统计功能完善
点击返回目录-> 基于C#开发web网页管理系统模板流程-总集篇-CSDN博客 前言 紧接上篇->基于C#开发web网页管理系统模板流程-主界面管理员入库和出库功能完善_c#web程序设计-CSDN博客 统计功能是管理系统很常见的功能,例如仓库管理系统要统计某时间段的出入库以…...
chromedriver114以后版本下载地址汇总chromedriver所有版本下载地址汇总国内源下载
谷歌浏览器版本经常会升级,chromedriver 也得下载匹配的版本 chromedriver 114以前版本下载地址https://registry.npmmirror.com/binary.html?pathchromedriver/ 但是自从115版本及其以后网站就找不到了,因此整理了截止2024年6月16日前所有在windows x6…...
x86计算机的启动初期流程 Linux 启动流程
x86计算机的启动初期流程 CPU: step1,加点开机,cpu自己初始化 step2,cpu 从物理地址 0xFFFFFFF0h 取指令执行;此处存放BIOS代码,这些代码可以是由主板自动从 EEPROM中拷贝至此内存地址处;即下…...
P450Rdb: CYP450数据库--地表最强系列--文献精读24
P450Rdb: A manually curated database of reactions catalyzed by cytochrome P450 enzymes P450Rdb: 一个人工整理的细胞色素P450酶催化反应数据库 http://www.cellknowledge.com.cn/p450rdb/ 还有一篇类似CYP450综述-20年-地表最强系列-文献精读-4 要点: P450…...
ubuntu 22.04下载和安装
ubuntu镜像: https://www.releases.ubuntu.com/22.04/ 然后下载vmwareworkstation16 密钥 ZF3R0-FHED2-M80TY-8QYGC-NPKYF...
Fegin如何传参form-data文件
Form-data传输file参数,这个大家都比较清楚,那么针对于Fegin参数file参数该如何操作呢!下面截图来找到对应的参数关系。 一、之前我们在postMan中是这种传参的,那么如果使用Feigin来传输文件File 二、在Fegin中传form-data参数&a…...
解决 Visual C++ 17.5 __cplusplus 始终为 199711L 的问题
目录 软件环境问题描述查阅资料解决问题参考文献 软件环境 Visual Studio 2022, Visual C, Version 17.5.4 问题描述 在应用 https://github.com/ToniLipponen/cpp-sqlite 的过程中,发现源代码文件 sqlite.hpp 中,有一处宏,和本项目的 C L…...
Mac M3 Pro安装Hadoop-3.3.6
1、下载Hadoop安装包 可以到官方网站下载,也可以使用网盘下载 官网下载地址:Hadoop官网下载地址 网盘地址:https://pan.baidu.com/s/1p4BXq2mvby2B76lmpiEjnA?pwdr62r提取码: r62r 2、解压并添加环境变量 # 将安装包移动到指定目录 mv …...
mac下Xcode在iphone真机上测试运行iOS软件
最近一个需求需要在iPhone真机上测试一个视频直播的项目。 需要解决如何将项目 app 安装到真机上 在进行真机调试。 安装Xcode 直接在App Store上搜索Xcode安装即可。 关键是要安装Simulator。项目需要安装iOS17.5但是由于安装包太大,并且网络不稳定的原因。在Xco…...
Mysql(一):深入理解Mysql索引底层数据结构与算法
众所众知,MySql的查询效率以及查询方式,基本上和索引息息相关,所以,我们一定要对MySql的索引有一个具体到数据底层上的认知。 这一次也是借着整理的机会,和大家一起重新复习一下MySql的索引底层。 本节也主要有一下的…...
WebMvcConfigurer配置不当导致鉴权失败
最近同事说他们有个新需求,需要对接口进行加解密,所以他给项目配置了一个拦截器,但这个拦截器直接导致了所有接口鉴权失败,每次调用接口都是提示没有session信息。 公司内的所有java项目是公用同一套基础依赖,所以我也…...
微信小程序毕业设计-实验室管理系统项目开发实战(附源码+论文)
大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…...
C#:lock锁与订单号(或交易号)的生成
在弄电商类网站的时候,往往是根据年月日时分秒的格式生成订单号(yyyyMMddHHmmss),为了解决并发性,就直接在生成订单号的区域块加上lock。 static void Main(string[] args){for(int i0; i<100; i){//GetRandomTime(…...
计算机图形学入门11:图形管线与着色器
1.什么是图形管线 把场景中的物体经过一系列的处理,最后一张图像的形式在屏幕上显示出来,这一系列过程就是图形管线(Graphics Pipeline),也叫实时渲染管线(Real-time Rendering Pipeline)。如下图所示,为整个渲染管线的过程。 渲染…...
正解 x86 Linux 内存管理
1,机器解析的思路 发现网络上大量的教程,多是以讹传讹地讲解 Linux 内存管理; 都是在讲: 逻辑地址 -> 线性地址 -> 物理地址 这个转换关系是怎么发生的。 上面这个过程确实是程序运行时地址的翻译顺序; …...
springboot读取配置时,读取到了系统环境变量
在Spring Boot应用中,读取配置通常通过application.properties或application.yml文件进行。不过,Spring Boot也支持从系统环境变量读取配置,这使得应用可以在不同的环境中灵活配置。下面详细介绍如何在Spring Boot中读取系统环境变量。 1. 配…...
平均召回(Average Recall,AR)概述
平均召回(Average Recall,AR)概述 在深度学习中,平均召回(Average Recall, AR)是一个衡量模型在不同阈值下的召回率的综合指标,特别常用于目标检测任务。召回率(Recall)…...
WWDC 2024 回顾:Apple Intelligence 的发布与解析
一年一度的苹果全球开发者大会(WWDC)如期而至,2024 年的 WWDC 再次成为科技界的焦点。本次发布会中,苹果正式推出了他们在 AI 领域的全新战略——Apple Intelligence。这一全新概念旨在为用户打造“强大、易用、全面、个性化、注重…...
[Cloud Networking] SPDY 协议
文章目录 1. 背景2. SPDY 之前3. SPDY 项目目标4. SPDY 功能特点4.1 SPDY基本功能4.2 SPDY高级功能 1. 背景 TCP是通用的、可靠的传输协议,提供保证交付、重复抑制、按顺序交付、流量控制、拥塞避免和其他传输特性。 HTTP是提供基本请求/响应语义的应用层协议。 不…...
Linux-笔记 samba实现映射网络驱动器到Win 10
前言 之前通过网上的方法成功映射后,现如今在自己电脑想实现映射服务器共享文件夹到Win 10端发现对之前的方法没有总结导致细节出问题,特此写下笔记。 场景 在服务器编译好代码生成镜像后,在Win10端采用软件烧写镜像,但是镜像在服…...
【技巧】Leetcode 67. 二进制求和【简单】
二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1: 输入:a “11”, b “1” 输出:“100” 示例 2: 输入:a “1010”, b “1011” 输出:“10101” 解题思路 …...
vue项目问题汇总
1.el-select: 下拉框显示到了top:-2183px , 添加属性 :popper-append-to-body"false" 2. el-upload: 选过的文件在使用过后记得清空,因为如果有limit1的时候,没有清空会导致不触发onchange 使用自定义上传方法http-request的时…...
单位做网站备案用身份证有啥用/百度云登录入口官网
创建一个新的项目IPHONE 的。 项目名:prog3 点击到 main.storyboard 中,再点击 view ,就可以看到手机界面了。 从对象库 object library 中拖控件到界面中即可。 上图指的就是对象库。...
在线python编程网页/seo咨询推广
什么是 Visual Paradigm IT项目管理框架? 框架是一组工具,可以帮助您更快,更好地完成工作。IT项目管理框架是一个概念,方法和工具的集合,帮助项目团队实现以下目标。 管理项目生命周期:从项目识别到项目启动…...
北京免费网站建设模板下载/谷歌seo靠谱吗
经常遇到的面试题,一个类继承另一个类然后问输出的结果是什么。个人觉得就是考类的输出问题(亲测) 第一:单一的类执行顺序 package Test; public class person { static{ System.out.println("父类的静态块"); } per…...
手机软件开发者/优化大师软件下载
很多情况下,我们需要得到该系统的版本号可以运行该文件数。为了做一些额外的动作!实际上可使用jna获得,是这将依赖人家,所以还是Java自己来吧!好啦。直接上代码吧/*** Description: ** Title: FileInfoUtil.java* Pack…...
企业网站设计建设长春/b站视频未能成功转码
为了测试算法方便,想让linux开机后在字符模式下,启动自己指定的程序。这里我采用将算法配置成系统服务的形式,使系统在其后后自动执行。具体实施分为以下两步: 1,自定义开机启动服务,可以参考我的前一篇文章…...
ps做图 游戏下载网站/seo优化的方法
【neo4j】出入度计算 1.度:size((n)--())2.出度:size((n)-[]->())3.入度:size(()-[]->(n))1.度:size((n)–()) 2.出度:size((n)-[]->()) 3.入度:size(()-[]->(n))...