Qwen-coder方向-如果从0开始应用通义千问开源大模型

简介: 从0开始接触,带您全面了解Qwen2.5语言模型家族,包括其核心功能、微调方法以及具体应用场景。我们将通过一系列精心准备的应用demo和使用指南,帮助您掌握如何充分利用Qwen2.5的强大能力

其实大部分人和我对大模型这个概念是比较模糊的,他具体能做什么,又能给我们带来什么,我将从几个学习方面从0开始带领想要入手大模型的同学们一个完美的学习过程

通义千问大模型是什么?

我们可以通过modelscope 研习社https://www.modelscope.cn/learn进行系统学习,首先我关注的是15分钟部署OpenAI API服务:ollama+Qwen2.5-7B-Instruct-GGUFhttps://www.modelscope.cn/learn/674

通过学习,如何快速部署通义千问2.5,以下是实操步骤,可以简单看一下,比较简洁

Task 1:授权阿里云账号并开通计算存储资源

首先,访问魔搭ModelScope官网(https://www.modelscope.cn)的模型部署界面,注册或登录账户。首次使用需授权绑定阿里云账号、阿里云函数计算fc服务、阿里云文件存储nas服务。魔搭ModelScope承诺严格保护用户隐私,不会用数据做二次训练。按照提示依次授权开通后,即可新建模型部署项目。

1733712214991.jpg

1733712239234.jpg

Task 2:部署大模型API

点击“新建部署”,选择“openAI API兼容部署”选项,并选定qwen/Qwen2.5-7B-Instruct-GGUF模型,然后点击“一键部署”。系统随即跳转到了阿里云fc创建应用页面,页面上的各项配置已经预填好,只需点击页面最下端的“创建应用”按钮。此时可以看到该模型API正在部署中。这个过程中,系统自动进行了硬件和系统资源的准备及挂载,同时完成了模型下载、转换、缓存等操作。根据模型大小,整个部署过程大约需要5分钟。

1733712266849.jpg

1733712313982.jpg

Task 3:完成实验:调用API

部署成功后,“操作”栏新增了4个按钮,其中包括“立即使用”。点击“立即使用”,它提供了直接可用的代码示例,说明该部署已完全兼容OpenAI API,并可通过OpenAI SDK调用。提供的URL是访问新部署模型API的关键。

1733712406089.jpg

Task 4:完成实验:获取API返回结果

为了测试新部署的API,编写了一段Python代码,利用OpenAI SDK来调用刚刚部署的API。代码片段如下:

Python

import openai
# 设置API密钥和URL
openai.api_key = 'your_api_key'
openai.api_base = 'your_deployed_model_url'
# 定义查询参数
prompt = "你好,世界!"
model = "Qwen2.5-7B-Instruct-GGUF"
# 发送请求并接收响应
response = openai.Completion.create(
    engine=model,
    prompt=prompt,
    max_tokens=50
)
print(response.choices[0].text.strip())

执行上述代码后,得到了来自API的预期响应,证明了部署的成功以及模型服务的正常工作。

Task 5:总结体验

本次实验展示了从checkpoint到模型服务的全过程,并通过熟悉的OpenAI API提供服务,使得模型能力更好地集成到各类应用中。特别是,通过魔搭ModelScope平台,可以轻松实现模型的服务化,降低了复杂模型应用开发的门槛。此外,使用阿里云函数计算fc服务按调用量付费的方式,以及NAS用于缓存模型资源的做法,有效地减少了服务唤醒的时间,提高了模型服务的响应速度和用户体验。

部署完实验我们发现现在应用大模型可以直接通过接口调用实现一个模拟人的交互,他可以告诉一些你不知道的事情或者处理复杂重复的工作,同时也可以结合视觉模型VLM和多模态RAG结合,创建图片搜索推荐,功能还是很全面的

通义千问大模型2.5是什么?

目前有三个开源模型,包括通用语言模型Qwen2.5,专门针对编程(Qwen2.5-Coder)和数学(Qwen2.5-Math)的专业模型。这些模型提供了多种不同规模的选择,从轻量级的小型模型到拥有720亿参数的超大型模型,满足了不同场景的需求,开源了性能不输于GPT-4o的 Qwen2-VL-72B。对标国外人工智能。

  • Qwen2.5: 0.5B, 1.5B, 3B, 7B, 14B, 32B, 以及72B;
  • Qwen2.5-Coder: 1.5B, 7B, 以及即将推出的32B;
  • Qwen2.5-Math: 1.5B, 7B, 以及72B

1733725015079.jpg

Qwen2.5 是一个显著升级的语言模型,它基于包含18万亿个标记的超大数据集进行训练,因此在知识广度(MMLU达85+)、编程能力(HumanEval 85+)和数学能力(MATH 80+)上都超越了前一代。新模型特别强化了指令遵循能力,可以更精准地执行复杂命令、生成超过8K标记的长文本,并擅长处理结构化数据如表格及生成JSON格式的内容。支持高达128K tokens的长文本处理和最多8K tokens的内容生成,让Qwen2.5非常适合长篇内容的应用。

1733725076542.jpg

通义千问大模型2.5coder是什么?

我们今天主要想了解的不是他的语言功能和数学功能,而是他的编码能力,这是对于程序猿很重要的一环,如果智能辅助编码可以实现,对大家编码来说是一个非常大的阶梯性跨越,接下来我们了解一下Qwen2.5-Coder的概念https://www.modelscope.cn/learn/765 简单来讲就是代码人,引导式编程,代替人来写一些标准化的代码,自动生成简单的代码协助编程,简单的了解一下相关的介绍并且总结一下

强大的代码能力,追平 GPT-4o

通义千问团队开源了Qwen2.5-Coder全系列模型,其中最引人注目的当属Qwen2.5-Coder-32B-Instruct。这个旗舰模型在多个流行的代码生成基准测试(EvalPlus, LiveCodeBench, BigCodeBench)中都达到了SOTA的表现,甚至在某些方面可以与GPT-4o相媲美。这意味着开发者可以利用它来生成高质量的代码,修复编程中的错误,并进行复杂的代码推理。特别是在Aider代码修复基准上,Qwen2.5-Coder-32B-Instruct取得了73.7分的成绩,几乎和GPT-4o一样出色。

1733725176302.jpg

多样化的模型尺寸,满足不同需求

这次开源不仅带来了强大的32B模型,还提供了其他五个不同尺寸的模型——0.5B、1.5B、3B、7B、14B。这种多样化的选择让不同的开发者可以根据自己的硬件资源和具体需求选择最适合的模型。比如,如果你是在资源有限的环境中工作,可以选择较小的模型;而如果你追求极致性能,则可以选择更大的模型。此外,每个尺寸都有Base和Instruct两个版本,Base版本适合进一步微调,Instruct版本则可以直接用于对话式编程助手。

1733725186200.jpg

实用性探索,贴近真实场景

除了技术指标上的优势,Qwen2.5-Coder还在实用性上下了功夫。它被设计成一个智能的代码助手,能够在实际编程过程中提供帮助。无论是自动生成代码片段还是辅助修复代码错误,Qwen2.5-Coder都能显著提高开发效率。特别是其对多编程语言的支持,覆盖了超过40种语言,在McEval和MdEval等多语言代码修复基准上表现出色,分别获得了65.9和75.2的高分。这使得即使是不太熟悉的编程语言也能轻松应对,大大降低了学习成本。

1733725215287.jpg

人类偏好对齐,更符合开发者的期望

为了确保模型的行为更加符合人类的编程习惯,团队构建了一个内部标注的代码偏好评估基准Code Arena。通过对比实验发现,Qwen2.5-Coder-32B-Instruct在偏好对齐方面表现优异,这意味着它生成的代码不仅质量高,而且更贴合开发者的实际需求和风格。

1733725227260.jpg

开源许可,促进社区发展

最后,值得一提的是Qwen2.5-Coder的开源许可政策。除了3B模型采用Research Only许可外,其余尺寸均采用Apache 2.0许可,鼓励更多的开发者参与到模型的研究和应用中来。这种开放的态度无疑将为整个AI编程领域注入新的活力,推动更多创新成果的出现。

1733725260557.jpg

1733725260570.jpg

模型下载链接

https://modelscope.cn/organization/qwen

可以使用ModelScope CLI(首推),Python SDK或者git clone的方式下载。

Qwen2.5系列模型体验:

也可以通过transformers推理

from modelscope import AutoModelForCausalLM, AutoTokenizer

model_name = "qwen/Qwen2.5-7B-Instruct"

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = "Give me a short introduction to large language model."
messages = [
    {"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=512
)
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]

利用MS-Swift对Qwen2.5和Qwen2-VL模型进行自我认知微调及图像OCR微调,并随后对微调后的模型执行推理,您可以借助魔搭社区官方提供的LLM工具箱——MS-Swift。这个工具箱支持超过300种大语言模型以及80多种多模态大模型的调整与部署,为开发者提供了从微调到部署的一站式解决方案。MS-Swift的开源项目托管在GitHub上,地址是:https://github.com/modelscope/ms-swift

# 安装ms-swift
git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e .[llm]

# qwen2-vl
# https://github.com/QwenLM/Qwen2-VL/issues/96
pip install git+https://github.com/huggingface/transformers@21fac7abba2a37fae86106f87fcf9974fd1e3830
# vllm加速
pip install vllm>=0.6.1

微调脚本:

# 实验环境:4 * A100
# 显存占用:4 * 70GB
NPROC_PER_NODE=4 CUDA_VISIBLE_DEVICES=0,1,2,3 swift sft \
    --model_type qwen2_5-72b-instruct \
    --model_id_or_path qwen/Qwen2.5-72B-Instruct \
    --dataset qwen2-pro-en#500 qwen2-pro-zh#500 self-cognition#500 \
    --logging_steps 5 \
    --learning_rate 1e-4 \
    --output_dir output \
    --lora_target_modules ALL \
    --model_name 小黄 'Xiao Huang' \
    --model_author 魔搭 ModelScope \
    --deepspeed default-zero3

# 单卡A10/3090可运行的例子 (Qwen2.5-7B-Instruct)
# 显存占用:24GB
CUDA_VISIBLE_DEVICES=0 swift sft \
    --model_type qwen2_5-7b-instruct \
    --model_id_or_path qwen/Qwen2.5-7B-Instruct \
    --dataset qwen2-pro-en#500 qwen2-pro-zh#500 self-cognition#500 \
    --logging_steps 5 \
    --max_length 2048 \
    --learning_rate 1e-4 \
    --output_dir output \
    --lora_target_modules ALL \
    --model_name 小黄 'Xiao Huang' \
    --model_author 魔搭 ModelScope

通过以上步骤实现对Qwen2.5的全方位了解学习,最后我再整理一下各个模型的应用demo的入口和合集使用视频

https://modelscope.cn/studios/qwen/Qwen2.5-Math-demo

https://modelscope.cn/studios/qwen/Qwen2.5

https://modelscope.cn/studios/Qwen/Qwen2.5-Coder-Artifacts



目录
相关文章
|
16天前
|
编解码 Cloud Native 算法
通义万相:视觉生成大模型再进化
通义万相是阿里云推出的视觉生成大模型,涵盖图像和视频生成。其2.0版本在文生图和文生视频方面进行了重大升级,采用Diffusion Transformer架构,提升了模型的灵活性和可控性。通过高质量美学标准和多语言支持,大幅增强了画面表现力。此外,视频生成方面引入高压缩比VAE、1080P长视频生成及多样化艺术风格支持,实现了更丰富的创意表达。未来,通义万相将继续探索视觉领域的规模化和泛化,打造更加通用的视觉生成大模型。
|
6天前
|
人工智能 自然语言处理 API
用AI Agent做一个法律咨询助手,罗老看了都直呼内行 feat.通义千问大模型&阿里云百炼平台
本视频介绍如何使用通义千问大模型和阿里云百炼平台创建一个法律咨询助手AI Agent。通过简单配置,无需编写代码或训练模型,即可快速实现智能问答功能。演示包括创建应用、配置知识库、上传民法典文档、构建知识索引等步骤。最终,用户可以通过API调用集成此AI Agent到现有系统中,提供专业的法律咨询服务。整个过程简便高效,适合快速搭建专业领域的小助手。
88 21
|
20天前
|
人工智能 开发框架 算法
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
Qwen-Agent 是阿里通义开源的一个基于 Qwen 模型的 Agent 应用开发框架,支持指令遵循、工具使用、规划和记忆能力,适用于构建复杂的智能代理应用。
274 10
Qwen-Agent:阿里通义开源 AI Agent 应用开发框架,支持构建多智能体,具备自动记忆上下文等能力
|
27天前
|
人工智能 监控 算法
3D-Speaker:阿里通义开源的多模态说话人识别项目,支持说话人识别、语种识别、多模态识别、说话人重叠检测和日志记录
3D-Speaker是阿里巴巴通义实验室推出的多模态说话人识别开源项目,结合声学、语义和视觉信息,提供高精度的说话人识别和语种识别功能。项目包含工业级模型、训练和推理代码,以及大规模多设备、多距离、多方言的数据集,适用于多种应用场景。
220 18
3D-Speaker:阿里通义开源的多模态说话人识别项目,支持说话人识别、语种识别、多模态识别、说话人重叠检测和日志记录
|
25天前
|
关系型数据库 机器人 OLAP
智答引领|AnalyticDB与通义千问大模型联手打造社区问答新体验
PolarDB开源社区推出基于云原生数据仓库AnalyticDB和通义千问大模型的“PolarDB知识问答助手”,实现一站式全链路RAG能力,大幅提升查询效率和问答准确率。该系统整合静态和动态知识库,提供高效的数据检索与查询服务,支持多种场景下的精准回答,并持续优化用户体验。欢迎加入钉群体验并提出宝贵意见。
智答引领|AnalyticDB与通义千问大模型联手打造社区问答新体验
|
26天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
318 0
|
23天前
|
人工智能 测试技术 开发者
通义发布最强开源多模态推理模型QVQ!
通义发布最强开源多模态推理模型QVQ!
389 18
|
1月前
|
开发框架 自然语言处理 JavaScript
千问开源P-MMEval数据集,面向大模型的多语言平行评测集
近期,通义千问团队联合魔搭社区开源的多语言基准测试集 P-MMEval,涵盖了高效的基础和专项能力数据集。
千问开源P-MMEval数据集,面向大模型的多语言平行评测集
|
25天前
|
机器学习/深度学习 人工智能 安全
通义视觉推理大模型QVQ-72B-preview重磅上线
Qwen团队推出了新成员QVQ-72B-preview,这是一个专注于提升视觉推理能力的实验性研究模型。提升了视觉表示的效率和准确性。它在多模态评测集如MMMU、MathVista和MathVision上表现出色,尤其在数学推理任务中取得了显著进步。尽管如此,该模型仍存在一些局限性,仍在学习和完善中。
|
16天前
|
人工智能 自然语言处理 算法
通义智文:文档应用赋能千行百业
通义智文是阿里巴巴推出的大规模文档处理技术体系,旨在提升生产力效率。最初作为阅读工具发布,现已发展为涵盖文档解析、理解、生成等多方面的技术平台。通义智文支持超长文档处理、多模态文本解析,并在法律、教育等领域提供专业服务。其创新算法如VGT版面分析和Layout-LM多模态模型,显著提升了文档处理精度。应用场景包括PPT创作、故事绘本生成及法律文书审查等,赋能千行百业。

热门文章

最新文章