阿里QWen2开源,效果炸裂!!!
共 4319字,需浏览 9分钟
·
2024-06-07 15:33
就在刚刚,阿里Qwen2系列大模型宣布!在大量基准评估中获得 SOTA 性能。代码和数学性能显著提高,全面超越llama3!
发布Blog: https://https://qwenlm.github.io/blog/qwen2/wen2/
文档: https://https://qwen.readthedocs.io/en/latest/latest/
Github: https://https://github.com/QwenLM/Qwen2
modelscope: https://modelscope.cn/organization/qwenion/qwen
Huggingface: https://https://huggingface.co/Qwen
Demo: https://huggingface.co/spaces/Qwen/Qwen2-72B-Instruct
以下为QWen2的具体介绍。
简介
Qwen系列模型从Qwen1.5升级到Qwen2, Qwen 2.0 主要内容如下:
5 个尺寸的预训练和指令微调模型,包括 Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 以及 Qwen2-72B
在中文英语的基础上,训练数据中增加了 27 种语言相关的高质量数据;
多个评测基准上的领先表现;
代码和数学能力显著提升;
增大了上下文长度支持,最高达到 128K tokens(Qwen2-72B-Instruct)。
目前,已在Hugging Face和ModelScope上同步开源。
模型基础信息
Qwen2 系列包含 5 个尺寸的预训练和指令微调模型,其中包括 Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 和 Qwen2-72B。如下表所示:
在Qwen 1.5系列模型中,仅限于32B与110B型号应用了GQA技术。而今,为全面展示GQA技术在推理加速及减少显存消耗方面的优越性,我们决定所有模型规格均采纳GQA。特别地,针对小型模型中embedding参数较为繁重的问题,研发团队采取了embedding绑定(tie embedding)策略,即输入与输出层参数共用,旨在提升非embedding参数的比例,从而优化模型效率。
至于上下文长度的处理,所有预训练模型统一接受了32K令牌的数据训练,并展现出即使在128K令牌的条件下,于PPL性能评估中依旧维持高水平的能力。然而,面向指令微调模型的评估则更为严苛,除却PPL测试,还需通过如‘大海捞针’之类的长序列理解挑战。在此背景下,借助YARN等先进技术,Qwen2-7B-Instruct与Qwen2-72B-Instruct两款指令优化模型成功实现了对128K令牌上下文长度的强大支持。
开发团队投入了大量精力研究如何扩展多语言预训练和指令微调数据的规模并提升其质量,从而提升模型的多语言能力。他们还是针对性地对除中英文以外的27种语言进行了增强:
另外,开发团队还专项优化了解决多语言环境中常遇的语言切换(code switching)难题,有效抑制了模型意外进行语言转换的频次。通过采用易诱发语言转换的特定提示进行测试,结果显示Qwen2系列模型在这方面的能力有了显著的进步。
模型评测
与Qwen1.5相比,Qwen2在大型模型上取得了极为显著的性能飞跃。开发团队对Qwen2-72B展开了深入全面的性能评估。在衡量预训练语言模型的标准测试中,Qwen2-72B在自然语言理解、知识整合、代码理解、数学处理及多语言等多个维度上,均展现出了超越当前顶尖开源模型的卓越表现,这些领先模型包括但不限于Llama-3-70B及Qwen1.5系列的最大型号Qwen1.5-110B。这一系列成就的取得,直接归功于对预训练数据集及训练策略的精心改良与优化。
完成大规模预训练后,Qwen2.0作者 对模型实施了精密的微调策略,旨在增强其智能性,促使其行为更加贴近人类。这一精细化调整过程,不仅巩固并增强了模型在代码理解、数学运算、逻辑推理、指令遵从及跨语言交流等方面的能力,还确保了模型能够更好地内化人类价值观,变得更为协助、诚信且安全。
微调实践中,Qwen2.0作者坚持既追求训练规模的拓展,也力求减少对人工标注的依赖。研发团队积极探寻多样化的自动化手段来搜集高质量、高可信度及富含创新性的指令与偏好数据。具体措施涵盖了:利用拒绝采样技术优化数学相关任务的数据质量;通过代码执行的反馈机制强化代码处理与指令执行能力;借助回译技巧提升创意写作的多样性与独创性;实施可扩展的监督策略以优化角色扮演等场景中的表现。这些方法共同促进了模型效能的显著跃升。
Qwen2-72B-Instruct在提升基础能力以及对齐人类价值观这两方面取得了较好的平衡。相比Qwen1.5的72B模型,Qwen2-72B-Instruct在所有评测中均大幅超越,并且了取得了匹敌Llama-3-70B-Instruct的表现。
而在小模型方面,Qwen2系列模型基本能够超越同等规模的最优开源模型甚至更大规模的模型。相比近期推出的最好的模型,Qwen2-7B-Instruct依然能在多个评测上取得显著的优势,尤其是代码及中文理解上。
亮点
代码 & 数学
在代码方面,实现了在多种编程语言上的显著效果提升。而在数学方面,大规模且高质量的数据帮助Qwen2-72B-Instruct实现了数学解题能力的飞升。
长文本处理
Qwen2系列中的所有Instruct模型,均在32k上下文长度上进行训练,并通过YARN或Dual Chunk Attention等技术扩展至更长的上下文长度。
下图展示了在Needle in a Haystack测试集上的结果。值得注意的是,Qwen2-72B-Instruct能够完美处理128k上下文长度内的信息抽取任务。
此外,Qwen2系列中的其他模型的表现也十分突出:Qwen2-7B-Instruct几乎完美地处理长达128k的上下文;Qwen2-57B-A14B-Instruct则能处理64k的上下文长度;而该系列中的两个较小模型则支持32k的上下文长度。
安全
下表展示了大型模型针对四类多语言不安全查询(非法活动、欺诈、色情、侵犯隐私)生成有害回复的比例。测试数据源自Jailbreak,并被翻译成多种语言以进行评估。我们发现,Llama-3未能有效应对多语言提示,因此未将其纳入比较。通过显著性检验(P值),我们发现Qwen2-72B-Instruct模型在安全性方面与GPT-4表现相当,并且明显优于Mistral-8x22B模型。
使用Qwen2
目前,所有模型均已在全球知名的开源平台上公开,包括Hugging Face和ModelScope。Qwen2系列大模型深度融入了开源生态系统,涵盖了广泛的合作领域:
微调(精细化调整模型以适应特定任务):与Axolotl、Llama-Factory、Firefly、Swift、XTuner等项目协作;
量化(模型压缩技术以减少模型大小和提高推理速度):集成了AutoGPTQ、AutoAWQ、Neural Compressor等工具;
部署(模型在不同硬件或云平台上的实施):支持vLLM、SGL、SkyPilot、TensorRT-LLM、OpenVino、TGI等部署方案;
本地运行(用户在个人设备上直接运行模型的能力):可通过MLX、Llama.cpp、Ollama、LM Studio实现;
Agent及RAG(检索增强生成,结合信息检索提升生成质量)框架:与LlamaIndex、CrewAI、OpenDevin等框架整合;
评测(模型性能评估与对比):参与LMSys、OpenCompass、Open LLM Leaderboard等评测体系;
模型二次开发(基于现有模型创建新应用):促进了Dolphin、Openbuddy等项目的诞生。
这一系列合作展现了Qwen2模型致力于推动人工智能领域的开放创新和广泛应用。
模型许可
这一次,我们对模型的授权许可进行了调整。Qwen2-72B及其经过指令微调的模型将继续沿用原有的千问许可,而所有其他模型——包括Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B以及Qwen2-57B-A14B——将改采Apache 2.0许可证!我们相信,通过增加模型对社区的开放程度,可以加速Qwen2系列在全球范围内的应用与商业化进程。
Qwen2的下一步是什么?
我们正在训练更大的Qwen2模型,以便在最近数据扩充的基础上进一步探索模型规模扩增的潜力。同时,我们正将Qwen2语言模型扩展至多模态领域,使其能够理解视觉及音频信息。在不久的将来,我们会继续开源新模型,以促进开源AI的发展。敬请期待!
Demo环境简单测试
Demo环境:https://https://huggingface.co/spaces/Qwen/Qwen2-72B-Instructwen/Qwen2-72B-Instruct
整体来开效果都非常不错。
开源软件:
看了常用的几个开源软件的支持情况,发现跟进的都很快。
Ollama
Ollama已经支持QWen2,连接(https://ollama.com/library/qwen2):
可以通过 ollama run qwen2 下载运行。