1. 模型简介
1.1 阿里云通义千问2.5模型概述
阿里云通义千问2.5(Qwen2.5)是阿里云研发的一系列开源大模型,这些模型在预训练和微调方面均展现出卓越的性能。Qwen2.5系列模型在18T tokens的数据上进行预训练,相较于前代Qwen2,整体性能提升了18%以上,尤其在编程和数学能力方面表现出色。Qwen2.5-72B模型在MMLU-rudex、MBPP和MATH等基准测试中的得分分别高达86.8、88.2、83.1,显示了其强大的通用知识、代码能力和数学解题能力。
1.2 模型性能提升方面
通义千问2.5模型在多个方面实现了显著的性能提升。理解能力、逻辑推理、指令遵循和代码能力分别提升了9%、16%、19%和10%。这些提升使得Qwen2.5在处理复杂任务时更加精准和高效。特别是在中文处理能力上,Qwen2.5持续领先业界,为用户提供了更加强大的语言服务体验。
Qwen2.5模型支持高达128K的上下文长度,并能生成最多8K内容,这使得模型在处理长文本方面具有明显优势。此外,模型在指令遵循、理解结构化数据(如表格)和生成结构化输出(尤其是JSON)等方面也取得了显著进步。
1.3 支持的语言和功能
通义千问2.5模型支持包括中文、英文、法文、西班牙文、俄文、日文、越南文、阿拉伯文等在内的29种以上语言,展现了其强大的多语言能力。这使得Qwen2.5能够在全球范围内为用户提供服务,满足不同语言用户的需求。
在功能方面,Qwen2.5模型具备业界领先的文生图、智能编码、文档解析、音视频理解等能力。企业客户和开发者可以通过API调用、模型下载等方式接入通义千问,而个人用户则可以从APP、官网和小程序免费使用通义千问。此外,Qwen2.5还提供了多模态模型和专有能力模型,如视觉理解模型Qwen-VL-Max和代码大模型CodeQwen1.5-7B,这些模型在各自的领域内均展现出顶尖的竞争力。
2. 运行环境要求
2.1 地域支持情况
阿里云通义千问2.5模型支持在多个地域进行部署和运行,以满足不同地区用户的需求。具体支持的地域包括华北2(北京)、华东2(上海)、华南1(深圳)、华东1(杭州)以及华北6(乌兰察布)。这些地域覆盖了中国的主要经济区域,确保了广泛的用户可以便捷地接入和使用Qwen2.5模型。
2.2 资源配置要求
根据不同的模型规模,Qwen2.5系列模型对资源的配置要求有所不同。以下是具体的资源配置要求:
-
对于Qwen2.5-0.5B/1.5B/3B/7B规模的模型,推荐使用V100/P100/T4(16 GB显存)及以上的GPU卡型来运行训练任务。这些卡型能够提供足够的计算能力和显存,以支持模型的训练和推理过程。
-
对于更大规模的Qwen2.5-32B/72B模型,需要使用A100(80 GB显存)及以上的GPU卡型来运行训练任务。这些模型因其参数量较大,对显存和计算能力的要求更高,因此需要更高性能的硬件支持。目前,这些大规模模型的训练和部署仅支持在华北6(乌兰察布)和新加坡地域进行。
对于需要使用灵骏智算资源的用户,有两种方式可以申请使用:
-
对于有企业级使用诉求的用户,可以联系阿里云的销售经理,通过开通白名单的方式使用灵骏资源。
-
普通用户可以通过使用竞价资源的方式使用灵骏资源,享受最低1折的优惠。关于灵骏资源的详细信息,可以参考阿里云官方文档中关于新建资源组和购买灵骏智算资源的指南。
综上所述,阿里云通义千问2.5模型的运行环境要求考虑了不同规模模型的计算和显存需求,以及用户的地域分布,确保了模型能够在适合的环境中高效运行。
3. 模型部署和调用
3.1 Model Gallery页面进入方法
要部署和微调通义千问2.5模型,首先需要进入阿里云人工智能平台PAI的Model Gallery页面。以下是进入该页面的具体步骤:
-
登录阿里云PAI控制台。
-
在控制台的左侧导航栏中,选择“工作空间列表”并点击相应的工作空间名称,进入工作空间。
-
在工作空间的左侧导航栏中,选择“快速开始” > “Model Gallery”,即可进入模型库页面。
在Model Gallery页面,用户可以浏览和选择阿里云提供的预训练模型,包括通义千问2.5系列模型,并进行后续的部署和微调操作。
3.2 模型部署步骤
部署通义千问2.5模型至EAS推理服务平台的步骤如下:
-
在Model Gallery页面中找到通义千问2.5模型卡片,点击进入模型详情页面。
-
在模型详情页面的右上角,点击“部署”按钮,进入部署配置页面。
-
在部署配置页面,用户需要配置推理服务的名称以及部署使用的资源信息。配置完成后,点击“确定”按钮,模型将开始部署至EAS平台。
-
部署成功后,用户可以在“服务详情”页面查看服务的基本信息和资源信息。当服务状态变为“运行中”时,表示服务部署成功,可以进行在线推理。
3.3 推理服务使用和WEB应用交互
部署的推理服务支持OpenAI的API风格进行调用,用户可以通过HTTP API或SDK两种方式与推理服务进行交互。
通过HTTP API调用
用户可以通过CURL命令或者任何支持HTTP请求的客户端工具,使用以下格式调用推理服务:
curl $API_ENDPOINT/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_TOKEN" \
-d '{
"model": "qwen-72b-chat",
"prompt": "San Francisco is a",
"max_tokens": 256,
"temperature": 0,
"stop": ["<|im_end|>", "<|im_start|>"]
}'
其中$API_ENDPOINT
和$API_TOKEN
需要替换为实际的服务访问地址和访问凭证。
通过SDK调用
用户也可以使用阿里云提供的PAI Python SDK来调用推理服务。首先需要安装SDK:
pip install alipai --upgrade
然后,使用SDK提供的接口进行调用:
from pai.model import RegisteredModel
# 获取PAI提供的模型
model = RegisteredModel(
model_name="qwen-72b-chat",
model_provider="pai"
)
# 部署模型
predictor = model.deploy(
service_name="qwen_72b_chat_service"
)
# 调用推理服务
resp = predictor.predict(data={"prompt": "San Francisco is a"})
print(resp)
以上代码展示了如何使用SDK部署模型并进行推理调用。用户可以根据实际需求,选择合适的调用方式与推理服务进行交互。
4. 模型微调训练
4.1 微调算法介绍
阿里云通义千问2.5模型支持两种微调算法:SFT(Supervised Fine-Tuning)和DPO(Dialogue Policy Optimization)。这两种算法允许用户根据特定的应用场景和数据集对预训练模型进行微调,以提高模型在特定任务上的表现。
-
SFT算法:SFT是一种监督学习微调方法,适用于有标注数据的场景。它通过最小化预测输出和真实标签之间的差异来调整模型参数,以提高模型在特定任务上的准确性。SFT训练算法支持使用JSON格式输入,每条数据由问题和答案组成,分别用
"instruction"
和"output"
字段表示。 -
DPO算法:DPO是一种针对对话系统优化的微调方法,适用于提升模型在对话任务中的表现。它通过比较模型输出与预期答案的差异来调整模型参数,以生成更符合用户期望的对话回复。DPO训练算法同样支持使用JSON格式输入,每条数据由问题、预期模型输出的答案、不希望模型输出的答案组成,分别用
"prompt"
、"chosen"
、"rejected"
字段表示。
4.2 数据集和计算资源配置
微调训练需要合理的数据集和计算资源配置,以确保训练过程的高效性和模型性能的最优化。
-
数据集配置:用户需要准备特定领域的标注数据集,并将数据上传至对象存储OSS Bucket中,或指定一个数据集对象,选择NAS或CPFS存储上的数据集。PAI预置的公共数据集也可用于测试算法性能。
-
计算资源配置:根据模型规模的不同,所需的计算资源也有所差异。对于Qwen2.5-0.5B/1.5B/3B/7B规模的模型,推荐使用V100/P100/T4(16 GB显存)及以上的GPU卡型来运行训练任务。对于更大规模的Qwen2.5-32B/72B模型,则需要使用A100(80 GB显存)及以上的GPU卡型。
4.3 超参数配置和训练流程
超参数的配置对模型训练的效果有着重要影响。以下是一些关键的超参数及其配置:
-
学习率(learning_rate):控制模型权重更新的步长,通常需要通过实验找到合适的学习率,或采用学习率调度策略。
-
批次大小(per_device_train_batch_size):每次梯度下降迭代中使用的训练样本数量,较大的批次大小可以提高训练效率,但也会增加显存的需求。
-
序列长度(seq_length):模型在一次训练中处理的输入数据的长度,对于长文本处理尤为重要。
-
训练迭代次数(train_iters):模型在整个训练过程中将完成的总迭代次数,影响模型的训练深度。
训练流程通常包括以下步骤:
-
在模型详情页点击“训练”按钮,进入训练配置页面。
-
配置数据集、计算资源和超参数。
-
点击“训练”开始训练任务,监控训练状态和日志。
-
训练完成后,模型将自动注册到AI资产-模型管理中,用户可以查看或部署相应的模型。
通过以上步骤,用户可以完成通义千问2.5模型的微调训练,提升模型在特定任务上的性能。
5. 模型评测
5.1 评测算法配置
在阿里云通义千问2.5模型的评测过程中,配置合适的评测算法是至关重要的。PAI-Model Gallery为Qwen2.5-7B-Instruct模型提供了SFT(Supervised Fine-Tuning)和DPO(Dialogue Policy Optimization)两种微调算法,这些算法可以开箱即用地应用于模型的微调。
-
SFT算法配置:SFT训练算法支持使用JSON格式输入,每条数据由问题和答案组成,分别用
"instruction"
和"output"
字段表示。例如,一个关于心血管科医生的建议请求可以表示为:{ "instruction": "你是一个心血管科医生,请根据患者的问题给出建议:我患高血压五六年啦,天天喝药吃烦啦,哪种东西能根治高血压,高血压克星是什么?", "output": "高血压的患者可以吃许多新鲜的水果蔬菜或者是芹菜山药之类的食物,可以起些降血压的作用,另外高血压的患者平时也应当注意低盐,低脂,低胆固醇饮食,适当的实施体育运动和锻练高血压的患者还应当在医生的指导下口服降血压的药物,断然不可擅自停药,防止对血压引发影响。" }
此算法适用于有明确问题和答案的数据集,通过最小化预测输出和真实标签之间的差异来调整模型参数。
-
DPO算法配置:DPO训练算法同样支持使用JSON格式输入,但每条数据由问题、预期模型输出的答案、不希望模型输出的答案组成,分别用
"prompt"
、"chosen"
、"rejected"
字段表示。例如:[ { "prompt": "Could you please hurt me?", "chosen": "Sorry, I can't do that.", "rejected": "I cannot hurt you. Please remember that you can always hurt yourself, mentally or physically." } ]
DPO算法适用于对话系统和需要模型生成特定输出的场景,通过比较模型输出与预期答案的差异来调整模型参数。
5.2 自定义数据集评测
自定义数据集评测允许用户根据特定业务需求和场景,使用自己的数据集对通义千问2.5模型进行评测。用户需要准备JSONL格式的评测文件,并上传至OSS,然后根据OSS中的评测集文件创建评测任务。
-
数据集格式:使用
question
标识问题列,answer
标识答案列。例如:[ {"question": "中国发明了造纸术,是否正确?", "answer": "正确"} ]
用户可以根据自己的需求,设计问题和答案,以评估模型在特定任务上的表现。
-
评测流程:用户在模型详情页点击“评测”,选择自定义数据集,并配置评测参数,提交评测任务。评测结果将展示模型在ROUGE和BLEU系列指标上的得分,以及每条数据的评测详情。
5.3 公开数据集评测
公开数据集评测是通过在多种公开数据集上加载并执行模型预测,根据每个数据集特定的评价框架,为用户提供行业标准的评估参考。PAI维护了多个领域的公开数据集,如MMLU、TriviaQA、HellaSwag、GSM8K、C-Eval、CMMLU、TruthfulQA等,覆盖了知识、数学、推理等多个方面。
-
数据集选择:用户可以根据模型的应用领域,选择合适的公开数据集进行评测。例如,对于需要评估模型数学能力的场合,可以选择GSM8K数据集。
-
评测结果:评测结果将以雷达图的形式展示模型在不同领域的得分情况,每个领域可能会有多个与之相关的数据集,PAI会取模型在这些数据集上的评测得分均值,作为领域得分。此外,还会展示模型在各个公开数据集的得分情况,为用户提供全面的评测反馈。
6. 通过PAI Python SDK使用模型
6.1 SDK安装和配置
PAI Python SDK的安装和配置是使用阿里云通义千问2.5模型的第一步。以下是详细的安装和配置步骤:
安装步骤
PAI Python SDK可以通过pip进行安装,确保使用的Python版本不低于3.8。在命令行中执行以下命令来安装SDK:
pip install "alipai>=0.4.0"
安装完成后,可以通过以下命令来验证SDK是否安装成功:
python -m pai.toolkit.config
配置步骤
配置SDK需要提供阿里云账号的鉴权AccessKey ID和AccessKey Secret,以及指定PAI工作空间和OSS Bucket。配置步骤如下:
- 在命令行终端执行配置命令:
python -m pai.toolkit.config
- 按照提示输入AccessKey ID和AccessKey Secret,选择相应的PAI工作空间和OSS Bucket。
配置成功后,SDK将保存配置信息,以便后续使用。配置信息默认保存在~/.pai/config.json
文件中。
6.2 模型部署和调用示例
通过PAI Python SDK,用户可以方便地部署通义千问2.5模型,并进行在线推理调用。以下是部署和调用的示例代码:
模型部署
首先,使用SDK获取模型,并部署到PAI-EAS推理服务平台:
from pai.model import RegisteredModel
# 获取PAI提供的模型
model = RegisteredModel(
model_name="qwen2.5-7b-instruct",
model_provider="pai"
)
# 部署模型
predictor = model.deploy(
service_name="qwen2_5_7b_instruct_example"
)
模型调用
部署完成后,可以使用以下代码进行模型调用:
# 构建openai client
openai_client = predictor.openai()
# 通过openai SDK调用推理服务
resp = openai_client.chat.completions.create(
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the meaning of life?"},
],
model="default"
)
print(resp.choices[0].message.content)
以上代码展示了如何使用SDK部署模型,并构建一个openai client来进行模型调用。
6.3 模型微调训练示例
阿里云通义千问2.5模型支持SFT和DPO两种微调算法,以下是使用SDK进行微调训练的示例代码:
获取微调训练算法
首先,获取模型的微调训练算法:
from pai.estimator import Estimator
# 获取模型的微调训练算法
est = model.get_estimator()
提交微调训练任务
使用SDK提交微调训练任务,可以使用默认数据或自定义数据:
# 获取PAI提供的公共读数据和预训练模型
training_inputs = model.get_estimator_inputs()
# 使用默认数据提交训练任务
est.fit(
inputs=training_inputs
)
查看训练产出模型
训练完成后,可以查看产出模型的OSS路径:
# 查看训练产出模型的OSS路径
print(est.model_data())
通过以上步骤,用户可以利用PAI Python SDK对通义千问2.5模型进行微调训练,并查看训练结果。
7. 总结
7.1 模型性能与应用场景
阿里云通义千问2.5模型(Qwen2.5)以其卓越的性能和广泛的应用场景,在人工智能领域占据了重要地位。模型在预训练阶段处理了18T tokens的数据量,实现了性能的显著提升,尤其在编程和数学能力方面。Qwen2.5-72B模型在多个基准测试中得分均超过85,展现了其强大的通用知识、代码能力和数学解题能力。此外,模型支持高达128K的上下文长度和最多8K内容的生成,使其在处理长文本方面具有明显优势。
7.2 多语言与多模态能力
Qwen2.5模型支持29种以上语言,包括中文、英文、法文、西班牙文等,覆盖了全球大部分主要语言,满足了不同语言用户的需求。同时,Qwen2.5还提供了多模态模型和专有能力模型,如视觉理解模型Qwen-VL-Max和代码大模型CodeQwen1.5-7B,这些模型在各自的领域内均展现出顶尖的竞争力。
7.3 部署与微调的便捷性
阿里云提供的PAI平台使得Qwen2.5模型的部署和微调变得异常便捷。用户可以通过Model Gallery页面快速进入并选择预训练模型,进行后续的部署和微调操作。模型部署至EAS推理服务平台的步骤简单明了,支持OpenAI的API风格调用,用户可以通过HTTP API或SDK两种方式与推理服务进行交互。
7.4 微调训练的有效性
Qwen2.5模型支持SFT和DPO两种微调算法,允许用户根据特定的应用场景和数据集对预训练模型进行微调。合理的数据集和计算资源配置,以及关键超参数的配置,使得模型训练的效果得以最大化。通过PAI Python SDK,用户可以方便地提交微调训练任务,并查看训练产出模型。
7.5 评测与反馈
PAI-Model Gallery为Qwen2.5-7B-Instruct模型提供了SFT和DPO两种微调算法的评测配置,用户可以根据具体需求,使用自定义数据集或公开数据集进行模型评测。评测结果将展示模型在ROUGE和BLEU系列指标上的得分,以及每条数据的评测详情,为用户提供全面的评测反馈。
综上所述,阿里云通义千问2.5模型以其强大的性能、多语言支持、便捷的部署微调和有效的微调训练,在人工智能领域展现出广泛的应用前景。
AI大模型学习福利
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
大模型&AI产品经理如何学习
求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。
1.学习路线图
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要点击下方图片前往获取
3.技术文档和电子书
这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
4.LLM面试题和面经合集
这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓