阿里 Qwen2 模型开源,教你如何将 Qwen2 扩展到百万级上下文

2024-06-08 01:36

本文主要是介绍阿里 Qwen2 模型开源,教你如何将 Qwen2 扩展到百万级上下文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本次开源的 Qwen2 模型包括 5 个尺寸,分别是 0.5B、1.5B、7B、72B、57B,其中 57B 的属于 MoE 模型(激活参数 14B),其余为 Dense 模型,本篇文章会快速介绍下各个尺寸模型的情况,然后重点介绍下如何利用 Qwen-Agent 将 Qwen2 模型的 8k 上下文扩展到 1M。

本文首发自博客 阿里 Qwen2 模型开源,教你如何将 Qwen2 扩展到百万级上下文

我的新书《LangChain编程从入门到实践》 已经开售!推荐正在学习AI应用开发的朋友购买阅读,此书围绕LangChain梳理了AI应用开发的范式转变,除了LangChain,还涉及其他诸如 LIamaIndex、AutoGen、AutoGPT、Semantic Kernel等热门开发框架。
LangChain编程从入门到实践

Qwen2 和 Qwen1.5 的模型结构基本一致,主要是模型预训练数据有所增加(大约在 7T 以上),Qwen2-0.5B、Qwen2-1.5B 模型支持最大上下文长度为 32K;Qwen2-57B-A14B MoE 模型支持最大上下文为 64K;Qwen2-7B、Qwen2-72B 模型支持最大上下文为 128K,代码和数学能力显著提升。

模型Qwen2-0.5BQwen2-1.5BQwen2-7BQwen2-57B-A14BQwen2-72B
参数量0.49B1.54B7.07B57.41B72.71B
非 Embedding 参数量0.35B1.31B5.98B56.32B70.21B
GQATrueTrueTrueTrueTrue
Tie EmbeddingTrueTrueFalseFalseFalse
上下文长度32K32K128K64K128K

在 Qwen1.5 系列中,只有 32B 和 110B 的模型使用了 GQA,Qwen2 所有尺寸的模型都使用了 GQA,GQA 显著加速推理,降低显存占用。

模型效果

Qwen2 系列模型效果不光整体超过 Qwen1.5 系列,相对于其他同级别参数开源模型也很亮眼,下面是指令微调模型 Qwen2-72B-Instruct 和 Qwen2-7B-Instruct 和常见开源 SOTA 模型比较。

Qwen2-72B-Instruct 在多项指标超过 Llama-3-70B-Instruct,特别是中文领域,大幅领先。

Qwen2-72B-Instruct 在多项指标超过 Llama-3-70B-Instruct

代码和数学方面都超过了 Llama-3-70B-Instruct

代码和数学方面都超过了 Llama-3-70B-Instruct

Qwen2-7B-Instruct 和 智谱最近开源的 GLM-4-9B-Chat水平相当。

Qwen2-7B-Instruct

最后说下开源 License,除了 Qwen2-72B 使用 Qianwen License(有使用范围限制)其余模型 4 个尺寸模型均采用 Apache 2.0 的许可。

更多详细内容,请前往官网博客查看 https://qwenlm.github.io/zh/blog/qwen2/

借助 Qwen-Agent 实现长文本理解

这个也是阿里开源的,特别是在本地使用 Qwen2-0.5B、Qwen2-1.5B 这类上下文长度有限的模型时,通过 Qwen-Agent 框架,能够把处理的上下文扩展到 1M,整体采用的是代理式 RAG(Agentic RAG)思路,具体的做法分为三步。

第一步查询转换

查询重写

将文本分成每块不超过 512 字短块,保留最相关在 8k 上下文,采用查询转换的方法:

  • 步骤 1:引导模型分离用户查询中的指令信息与非指令信息。例如,将用户查询转为{“信息”: [“自行车是什么时候发明的”], “指令”: [“回答时用 2000 字”, “尽量详尽”, “用英文回复”]}。
  • 步骤 2:从信息部分提取多语言关键词。例如,"自行车是什么时候发明的"转为{“关键词英文": [“bicycles”, “invented”, “when”], "关键词中文”: [“自行车”, “发明”, “时间”]}。
  • 步骤 3:利用 BM25 基于关键词的检索,找出最相关的块。

这也是比较成熟的方案,详细可以看我半年前介绍的完整工程化实现使用这个工具后,我将 RAG 的准确性和召回率都提高了两倍!

第二步 查询重写

在相关块与用户查询关键词重叠程度不足时,可能导致遗漏相关内容未被检索到,采用二次查询的方式:

步骤 1:对于每个 512 字块,让模型先评估其与用户查询的相关性。若认为不相关,则输出"无";若相关,则输出相关句子。
步骤 2:筛选出相关句子,将其用作搜索查询词,通过 BM25 检索出最相关的块(检索结果长度控制在 8k 上下文限制内)。
步骤 3:基于检索到的上下文生成最终答案。

查询重写

第三步 自问提示(Self*-*Ask)

当遇到问题:“与第五交响曲创作于同一世纪的交通工具是什么?”模型需先回答子问题:“第五交响曲创作于哪个世纪?”即 19 世纪,接着,才能识别到包含信息“自行车于 19 世纪发明”与原问题相关。

通过让 LLM 自问自答生成多跳问题与答案,然后再生成最终的答案。

向 LLM1 提出一个问题?

while (LLM1 无法根据其记忆回答问题) {

​ LLM1 提出一个新的子问题待解答。

​ LLM1 向 LLM2 提问这个子问题。

​ 将 LLM2 的回答添加到 LLM1 的记忆中。

}

LLM1 提供原始问题的最终答案。

通过这种方式就可以让较弱上下文长度的开源模型具备长上下文能力,对于构建完全本地化的 RAG 应用十分有益,下节我将结合 Ollama 在本地部署好 Qwen2-7B,构建高效的笔记搜索软件。

这篇关于阿里 Qwen2 模型开源,教你如何将 Qwen2 扩展到百万级上下文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1040884

相关文章

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费