Connect with us

人工智能

Qwen2 – 阿里巴巴最新的多语言语言模型挑战SOTA,如Llama 3

mm
evolution from Qwen1.5 to Qwen2

经过数月的期待,阿里巴巴的Qwen团队终于推出了Qwen2 – 他们强大的语言模型系列的下一个演进。Qwen2代表着一个重大的飞跃,拥有尖端的进步,这可能使其成为Meta的著名Llama 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展示了其在广泛语言范围内理解和生成内容的卓越能力,使其成为全球应用和跨文化交流的宝贵工具。

表格比较Qwen2模型的参数、非嵌入参数、GQA、tie嵌入和上下文长度

Qwen2模型的规格,包括参数、GQA和上下文长度

解决代码切换:一种多语言挑战

在多语言环境中,代码切换的现象 – 在单个对话或语句中在不同语言之间切换 – 很常见。Qwen2已经被精心训练来处理代码切换场景,显著减少了相关问题,并确保了语言之间的平滑过渡。

使用通常会引起代码切换的提示进行的评估已经确认了Qwen2在这一领域的显著改进,这是阿里巴巴致力于提供真正多语言语言模型的证明。

在编码和数学方面表现出色

Qwen2在编码和数学领域具有显著的能力,这些领域传统上对语言模型来说是一个挑战。通过利用广泛的高质量数据集和优化的训练方法,Qwen2-72B-Instruct(旗舰模型的指令调优变体)在解决数学问题和编码任务方面表现出色,涵盖了多种编程语言。

扩展上下文理解

Qwen2的一个最令人印象深刻的特点是其理解和处理扩展上下文序列的能力。虽然大多数语言模型在处理长篇文本时会遇到困难,但Qwen2-7B-Instruct和Qwen2-72B-Instruct模型已经被设计为处理长达128K令牌的上下文长度。

这种显著的能力是自然语言处理领域的一个突破,特别适用于需要深入理解长篇文档的应用,例如法律合同、研究论文或密集的技术手册。通过有效地处理扩展的上下文,Qwen2可以提供更准确和全面的响应,开启自然语言处理的新前沿。

图表显示Qwen2模型在不同上下文长度和文档深度下检索事实的准确性

Qwen2模型在不同上下文长度和文档深度下检索事实的准确性

该图表显示了Qwen2模型从不同上下文长度和文档深度的文档中检索事实的能力。

架构创新:组查询注意力和优化嵌入

在其核心,Qwen2融入了几项架构创新,这些创新为其卓越的性能做出了贡献。其中一个创新是采用了组查询注意力(GQA)机制,适用于所有模型大小。GQA提供了更快的推理速度和降低的内存使用,使Qwen2更加高效和通用,可以适应更广泛的硬件配置。

此外,阿里巴巴还优化了Qwen2系列中较小模型的嵌入。通过绑定嵌入,团队成功减少了这些模型的内存占用,使其能够在较弱的硬件上部署,同时保持高质量的性能。

基准测试Qwen2:超越最先进的模型

Qwen2在各种基准测试中表现出色。比较评估显示,Qwen2-72B(该系列中最大的模型)在关键领域超越了领先的竞争对手,如Llama-3-70B,包括自然语言理解、知识获取、编码能力、数学技能和多语言能力。

图表比较Qwen2-72B-Instruct和Llama3-70B-Instruct在编码和数学方面的性能

Qwen2-72B-Instruct与Llama3-70B-Instruct在编码和数学方面的性能比较

尽管Qwen2-72B的参数比其前身Qwen1.5-110B少,但其表现出更好的性能,这是阿里巴巴精心策划的数据集和优化的训练方法的证明。

安全和责任:与人类价值观保持一致

Qwen2-72B-Instruct已经被严格评估其处理可能有害的查询的能力,包括与非法活动、欺诈、色情和隐私侵犯相关的查询。结果令人鼓舞:Qwen2-72B-Instruct的性能与备受尊敬的GPT-4模型相当,在安全方面表现出色,相比其他大型模型,如Mistral-8x22B,具有显著降低的有害响应比例。

这一成就凸显了阿里巴巴致力于开发符合人类价值观的人工智能系统,确保Qwen2不仅强大而且值得信赖和负责任。

许可和开源承诺

为了进一步放大Qwen2的影响,阿里巴巴采用了开源的许可方式。虽然Qwen2-72B和其指令调优模型保留了原始的乾文许可,但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" # 加载模型的设备

model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen1.5-7B-Chat", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen1.5-7B-Chat")

prompt = "给我一个关于大型语言模型的简要介绍。"

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和Meta的Llama 3都是强大的语言模型,但它们表现出不同的优势和权衡。

性能比较图表,比较Qwen2-72B、Llama3-70B、Mixtral-8x22B和Qwen1.5-110B在多个基准测试中的表现

Qwen2-72B、Llama3-70B、Mixtral-8x22B和Qwen1.5-110B在多个基准测试中的性能比较图表

以下是比较分析,以帮助您了解它们的关键差异:

多语言能力:Qwen2在多语言支持方面占有明显优势。其在涵盖27种额外语言的数据上进行的训练,使其在跨文化交流和多语言场景中表现出色。相比之下,Llama 3的多语言能力则不那么突出,可能限制了其在多样化语言环境中的有效性。

编码和数学能力:Qwen2和Llama 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模型的微调,允许用户根据特定任务和数据集定制模型。另外,量化工具,如AutoGPTQAutoAWQ和Neural Compressor,已经被适配以适用于Qwen2,促进了在资源受限设备上的高效部署。

部署和推理:Qwen2模型可以使用各种框架进行部署和服务,包括vLLM、SGL、SkyPilot、TensorRT-LLMOpenVino和TGI。这些框架提供了优化的推理管道,实现了Qwen2在生产环境中的高效和可扩展的部署。

API平台和本地执行:对于希望将Qwen2集成到应用程序中的开发人员,API平台,如Together、Fireworks和OpenRouter,提供了方便的访问模型的能力。或者,通过框架如MLX、Llama.cpp、Ollama和LM Studio支持本地执行,允许用户在本地机器上运行Qwen2,同时保持对数据隐私和安全的控制。

代理和RAG框架:Qwen2对工具使用和代理能力的支持得到了框架如LlamaIndex、CrewAI和OpenDevin的增强。这些框架使得可以创建专用AI代理,并将Qwen2集成到检索增强生成(RAG)管道中,扩大了应用范围和用例。

展望未来:未来发展和机遇

阿里巴巴对Qwen2的愿景远远超出了当前的发布。该团队正在积极训练更大的模型,以探索模型扩展的前沿,并辅以持续的数据扩展努力。另外,计划正在进行中,以将Qwen2扩展到多模态AI领域,实现视觉和音频理解能力的整合。

随着开源AI生态系统的持续繁荣,Qwen2将发挥至关重要的作用,成为研究人员、开发人员和组织的强大资源,他们旨在推进自然语言处理和人工智能的最先进水平。

我过去五年一直沉浸在令人着迷的机器学习和深度学习世界中。我的热情和专业知识使我能够为超过50个不同的软件工程项目做出贡献,特别注重人工智能/机器学习。我的持续好奇心也使我对自然语言处理产生了兴趣,这是一个我渴望进一步探索的领域。