智谱开源端侧大语言和多模态模型GLM-Edge系列!

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: GLM-Edge系列模型是由智谱开源,专为端侧应用设计的大语言对话模型和多模态理解模型,包括GLM-Edge-1.5B-Chat、GLM-Edge-4B-Chat、GLM-Edge-V-2B和GLM-Edge-V-5B四种尺寸。这些模型针对手机、车机及PC等不同平台进行了优化,通过量化的技术手段,实现了高效运行。例如,在高通骁龙8 Elite平台上,1.5B对话模型和2B多模态模型能够达到每秒60 tokens以上的解码速度,而通过应用投机采样技术,这一数字可提升至100 tokens以上。

01.模型介绍

系列是智谱开源的面向端侧真实落地使用的场景下的一次尝试,由两种尺寸的大语言对话模型和多模态理解模型组成( GLM-Edge-1.5B-Chat,GLM-Edge-4B-Chat,GLM-Edge-V-2B,GLM-Edge-V-5B)。其中,1.5B / 2B模型主要面向手机、车机等平台, 4B / 5B 模型主要面向PC等平台。


基于GLM-4系列的技术积累,研究团队针对端侧实际部署情况,对模型结构和尺寸做了针对性的调整,以求在模型表现、实机推理效果和落地便利度之间达到平衡。同时,通过与伙伴企业的深入合作和在推理优化上的不懈努力,在一些端侧平台上,GLM-Edge系列模型能以极快的速度运行。


例如,在高通骁龙8 Elite平台上,借助其强大的NPU算力,GLM-Edge通过混合量化方案,1.5B对话模型、2B多模态模型能实现每秒60 tokens以上的解码速度。在应用投机采样技术之后,两个模型能以峰值每秒100 tokens以上的解码速度运行。这些推理方案会由GLM团队或合作伙伴后续放出。


GLM-Edge合集:

https://modelscope.cn/collections/GLM-Edge-ff0306563d2844


体验空间:

https://modelscope.cn/studios/ZhipuAI/GLM-Edge-V-5B-Demo


体验空间:

https://modelscope.cn/studios/ZhipuAI/GLM-Edge-1.5B-Chat-Demo


02.实机运行数据

数据采集日截止到2024年11月28日。GLM团队还在积极地与合作伙伴们一道优化这些性能。

高通

模型

任务

量化方案

框架

1st token latency (ms)

Token Rate (tokens/s)

Peak Memory Footprint (GB)

GLM-Edge-1.5B-Chat

(input/output=512/128)

INT4

QNN

260

65

1.2

GLM-Edge-4B-Chat

(input/output=512/128)

INT4

QNN

660

24

2.9

  • 在高通8 Elite(Gen4)平台上测试,模型全部运行在NPU上
  • 如运行V模型,另外需要单图890ms的处理时间和约660M的额外内存
  • 使用投机解码方案时,Token Rate还有最高50%的提升

Intel

模型

任务

量化方案

框架

1st token latency (ms)

Token Rate (tokens/s)

Peak Memory Footprint (GB)

GLM-Edge-4B-Chat

(input/output=1024/128)

INT4

OPENVINO

541.2

27

3.9

GLM-Edge-1.5B-Chat

(input/output=1024/128)

INT4

OPENVINO

228.2

63

2.3

GLM-Edge-V-2B

Single image understanding (672x672)

INT4

OPENVINO

362.1

70

3.4

  • 在Intel LNL 288V (ARC 140V 8X@2.05GHz) 平台上测试。
  • 如运行V模型,另外需要单图1.7s的处理时间和约2G的额外内存。

03.模型效果

图片描述

image.png


数数:

image.png


数学:

image.png

OCR和理解

image.png

04.模型推理

在魔搭社区提供的免费GPU算力完成模型推理

image.png

transformers推理

安装依赖

请安装源代码的transformers库。

pip install git+https://github.com/huggingface/transformers.git

大语言模型推理

from modelscope import AutoModelForCausalLM, AutoTokenizer
MODEL_PATH = "ZhipuAI/glm-edge-4b-chat"
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
model = AutoModelForCausalLM.from_pretrained(MODEL_PATH, device_map="auto")
message = [{"role": "user", "content": "hello!"}]
inputs = tokenizer.apply_chat_template(
    message,
    return_tensors="pt",
    add_generation_prompt=True,
    return_dict=True,
).to(model.device)
generate_kwargs = {
    "input_ids": inputs["input_ids"],
    "attention_mask": inputs["attention_mask"],
    "max_new_tokens": 128,
    "do_sample": False,
}
out = model.generate(**generate_kwargs)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

显存占用:

image.png

多模态模型推理

import torch
from PIL import Image
from modelscope import snapshot_download
from transformers import (
    AutoTokenizer,
    AutoImageProcessor,
    AutoModelForCausalLM,
)
url = "example.png"
messages = [{"role": "user", "content": [{"type": "image"}, {"type": "text", "text": "describe this image"}]}]
image = Image.open(url)
model_dir = snapshot_download("ZhipuAI/glm-edge-v-5b")
processor = AutoImageProcessor.from_pretrained(model_dir, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_dir,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True,
)
inputs = tokenizer.apply_chat_template(
    messages, add_generation_prompt=True, return_dict=True, tokenize=True, return_tensors="pt"
).to(next(model.parameters()).device)
generate_kwargs = {
    **inputs,
    "pixel_values": torch.tensor(processor(image).pixel_values).to(next(model.parameters()).device),
}
output = model.generate(**generate_kwargs, max_new_tokens=100)
print(tokenizer.decode(output[0][len(inputs["input_ids"][0]):], skip_special_tokens=True))

显存占用:

image.png

llama.cpp推理

环境安装

目前针对该模型的适配代码正在积极合入官方llama.cpp中,可通过下述适配版本进行测试:

git clone https://github.com/piDack/llama.cpp -b support_glm_edge_model
cd llama.cpp
cmake -B build -DGGML_CUDA=ON # 或开启其他加速硬件
cmake --build build -- -j



大语言模型推理

模型下载:

使用魔搭社区的cli命令下载模型

modelscope download --model=ZhipuAI/glm-edge-4b-chat-gguf --local_dir . ggml-model-Q5_K_M.gguf

推理

安装完成后,您可以通过以下命令启动GLM-Edge Chat模型:

cd build/bin
./llama-cli -m /mnt/workspace/ggml-model-Q5_K_M.gguf -p "<|user|>\nhi<|assistant|>\n" -ngl 999

在命令行界面,您可以与模型进行交互,输入您的需求,模型将为您提供相应的回复。



多模态模型推理

模型下载:

使用魔搭社区的cli命令下载模型

--model=ZhipuAI/glm-edge-v-5b-gguf --local_dir . ggml-model-Q5_K.gguf 
modelscope download --model=ZhipuAI/glm-edge-v-5b-gguf --local_dir . mmproj-model-f16.gguf

推理

安装完成后,您可以通过以下命令启动GLM-Edge Chat模型:

./llama-llava-cli -m /mnt/workspace/ggml-model-Q5_K.gguf --mmproj /mnt/workspace/mmproj-model-f16.gguf --image img_path/image.jpg -p "<|system|>\n system prompt <image><|user|>\n prompt <|assistant|>\n

在命令行界面,您可以与模型进行交互,输入您的需求,模型将为您提供相应的回复。



05.模型微调

ms-swift是魔搭社区官方提供的LLM工具箱,支持400+大语言模型和100+多模态大模型的微调到部署。


ms-swift开源地址:

https://github.com/modelscope/ms-swift


在开始微调之前,请确保您的环境已正确安装ms-swift

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



glm-edge-1.5b-chat

我们对glm-edge-1.5b-chat进行自我认知微调。自我认知数据集:https://www.modelscope.cn/datasets/swift/self-cognition


微调脚本:

# 实验环境:3090, A10
CUDA_VISIBLE_DEVICES=0 swift sft \
    --model_type glm-edge-1_5b-chat \
    --model_id_or_path ZhipuAI/glm-edge-1.5b-chat \
    --dataset alpaca-zh#500 alpaca-en#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


微调显存消耗:

image.png

glm-edge-v-2b

我们对glm-edge-v-2b进行图像描述微调。微调数据集:https://modelscope.cn/datasets/modelscope/coco_2014_caption


微调脚本:

# 实验环境:3090, A10
CUDA_VISIBLE_DEVICES=0 \
swift sft \
  --model_type glm-edge-v-2b \
  --model_id_or_path ZhipuAI/glm-edge-v-2b \
  --sft_type lora \
  --learning_rate 1e-4 \
  --output_dir output \
  --dataset coco-en-mini#20000


如果要使用自定义数据集,只需按以下方式进行指定:

# val_dataset可选。若不指定,则会从dataset中切出一部分数据作为验证集
  --dataset train.jsonl \
  --val_dataset val.jsonl \

自定义数据集格式:

{"query": "<image>query", "response": "response", "images": ["image_path"]}
{"query": "query3", "response": "response3", "history": [["query1", "response1"], ["query2", "response2"]]}

微调显存消耗:

image.png

微调后推理脚本如下,这里的ckpt_dir需修改为训练生成的last checkpoint文件夹。

# 如果需要merge lora,添加`--merge_lora true`即可
CUDA_VISIBLE_DEVICES=0 swift infer \
    --ckpt_dir output/glm-edge-v-2b/vx-xxx/checkpoint-xxx \
    --load_dataset_config true --show_dataset_sample 10

微调后模型对验证集进行推理的效果(训练了400个steps):

image.png



点击链接阅读原文: https://modelscope.cn/collections/GLM-Edge-ff0306563d2844/?from=csdnzishequ_text



















相关文章
|
1月前
|
人工智能 自然语言处理 IDE
模型微调不再被代码难住!PAI和Qwen3-Coder加速AI开发新体验
通义千问 AI 编程大模型 Qwen3-Coder 正式开源,阿里云人工智能平台 PAI 支持云上一键部署 Qwen3-Coder 模型,并可在交互式建模环境中使用 Qwen3-Coder 模型。
345 109
|
5天前
|
分布式计算 测试技术 Spark
科大讯飞开源星火化学大模型、文生音效模型
近期,科大讯飞在魔搭社区(ModelScope)和Gitcode上开源两款模型:讯飞星火化学大模型Spark Chemistry-X1-13B、讯飞文生音频模型AudioFly,助力前沿化学技术研究,以及声音生成技术和应用的探索。
61 1
|
5天前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
300 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
23天前
|
机器学习/深度学习 数据采集 人工智能
通义实验室Mobile-Agent-v3开源,全平台SOTA的GUI智能体,支持手机电脑等多平台交互
近日,通义实验室MobileAgent团队正式开源全新图形界面交互基础模型 GUI-Owl,并同步推出支持多智能体协同的自动化框架 Mobile-Agent-v3。该模型基于Qwen2.5-VL打造,在手机端与电脑端共8个GUI任务榜单中全面刷新开源模型性能纪录,达成全平台SOTA。
236 2
|
16天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1399 87
|
17天前
|
人工智能 Java 开发者
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。
570 58
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
|
13天前
|
机器学习/深度学习 算法 数据可视化
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
推理型大语言模型兴起,通过先思考再作答提升性能。本文介绍GRPO等强化学习算法,详解其原理并动手用Qwen2.5-3B训练推理模型,展示训练前后效果对比,揭示思维链生成的实现路径。
134 1
从零开始训练推理模型:GRPO+Unsloth改造Qwen实战指南
|
1月前
|
机器学习/深度学习 人工智能 JSON
微软rStar2-Agent:新的GRPO-RoC算法让14B模型在复杂推理时超越了前沿大模型
Microsoft Research最新推出的rStar2-Agent在AIME24数学基准测试中以80.6%的准确率超越超大规模模型DeepSeek-R1,展现“思考更聪明”而非“更长”的AI推理新方向。
107 8
微软rStar2-Agent:新的GRPO-RoC算法让14B模型在复杂推理时超越了前沿大模型
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
阶跃星辰开源! Step 3 :最新一代基础大模型 ,多模推理,极致效率
阶跃星辰开源新一代大模型 Step 3,采用 MoE 架构,参数量达 321B,激活参数 32B,平衡推理效率与资源利用,具备强大多模态能力,支持复杂推理与视觉分析,已在多个评测集取得领先成绩。
162 10

热门文章

最新文章