其实大部分人和我对大模型这个概念是比较模糊的,他具体能做什么,又能给我们带来什么,我将从几个学习方面从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承诺严格保护用户隐私,不会用数据做二次训练。按照提示依次授权开通后,即可新建模型部署项目。
Task 2:部署大模型API
点击“新建部署”,选择“openAI API兼容部署”选项,并选定qwen/Qwen2.5-7B-Instruct-GGUF
模型,然后点击“一键部署”。系统随即跳转到了阿里云fc创建应用页面,页面上的各项配置已经预填好,只需点击页面最下端的“创建应用”按钮。此时可以看到该模型API正在部署中。这个过程中,系统自动进行了硬件和系统资源的准备及挂载,同时完成了模型下载、转换、缓存等操作。根据模型大小,整个部署过程大约需要5分钟。
Task 3:完成实验:调用API
部署成功后,“操作”栏新增了4个按钮,其中包括“立即使用”。点击“立即使用”,它提供了直接可用的代码示例,说明该部署已完全兼容OpenAI API,并可通过OpenAI SDK调用。提供的URL是访问新部署模型API的关键。
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
Qwen2.5 是一个显著升级的语言模型,它基于包含18万亿个标记的超大数据集进行训练,因此在知识广度(MMLU达85+)、编程能力(HumanEval 85+)和数学能力(MATH 80+)上都超越了前一代。新模型特别强化了指令遵循能力,可以更精准地执行复杂命令、生成超过8K标记的长文本,并擅长处理结构化数据如表格及生成JSON格式的内容。支持高达128K tokens的长文本处理和最多8K tokens的内容生成,让Qwen2.5非常适合长篇内容的应用。
通义千问大模型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一样出色。
多样化的模型尺寸,满足不同需求
这次开源不仅带来了强大的32B模型,还提供了其他五个不同尺寸的模型——0.5B、1.5B、3B、7B、14B。这种多样化的选择让不同的开发者可以根据自己的硬件资源和具体需求选择最适合的模型。比如,如果你是在资源有限的环境中工作,可以选择较小的模型;而如果你追求极致性能,则可以选择更大的模型。此外,每个尺寸都有Base和Instruct两个版本,Base版本适合进一步微调,Instruct版本则可以直接用于对话式编程助手。
实用性探索,贴近真实场景
除了技术指标上的优势,Qwen2.5-Coder还在实用性上下了功夫。它被设计成一个智能的代码助手,能够在实际编程过程中提供帮助。无论是自动生成代码片段还是辅助修复代码错误,Qwen2.5-Coder都能显著提高开发效率。特别是其对多编程语言的支持,覆盖了超过40种语言,在McEval和MdEval等多语言代码修复基准上表现出色,分别获得了65.9和75.2的高分。这使得即使是不太熟悉的编程语言也能轻松应对,大大降低了学习成本。
人类偏好对齐,更符合开发者的期望
为了确保模型的行为更加符合人类的编程习惯,团队构建了一个内部标注的代码偏好评估基准Code Arena。通过对比实验发现,Qwen2.5-Coder-32B-Instruct在偏好对齐方面表现优异,这意味着它生成的代码不仅质量高,而且更贴合开发者的实际需求和风格。
开源许可,促进社区发展
最后,值得一提的是Qwen2.5-Coder的开源许可政策。除了3B模型采用Research Only许可外,其余尺寸均采用Apache 2.0许可,鼓励更多的开发者参与到模型的研究和应用中来。这种开放的态度无疑将为整个AI编程领域注入新的活力,推动更多创新成果的出现。
模型下载链接
https://modelscope.cn/organization/qwen
可以使用ModelScope CLI(首推),Python SDK或者git clone的方式下载。
Qwen2.5系列模型体验:
- Qwen2.5合集:
- https://modelscope.cn/studios/qwen/Qwen2.5
- 看图解数学题(Qwen2-VL+Qwen2.5-Math
- https://modelscope.cn/studios/qwen/Qwen2.5-Math-demo
也可以通过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