综合介绍
GLM-Edge 是清华大学(智谱轻言)推出的一系列专为端侧设备设计的大语言模型和多模态理解模型。这些模型包括 GLM-Edge-1.5B-Chat、GLM-Edge-4B-Chat、GLM-Edge-V-2B 和 GLM-Edge-V-5B,分别适用于手机、车机和 PC 平台。GLM-Edge 系列模型在保持高效性能的同时,注重实际部署的便利性和推理速度,特别是在高通骁龙和 Intel 平台上表现出色。用户可以通过 Huggingface、ModelScope 等平台下载和使用这些模型,并通过多种推理后端(如 transformers、OpenVINO、vLLM)进行模型推理。
功能列表
- 多种模型选择:提供不同参数规模的对话模型和多模态理解模型,适用于多种端侧设备。
- 高效推理:在高通骁龙和 Intel 平台上实现高效推理速度,支持混合量化方案。
- 多平台支持:模型可在 Huggingface、ModelScope 等平台下载,支持多种推理后端。
- 易于部署:提供详细的安装和使用指南,方便用户快速上手。
- 微调支持:提供微调教程和配置文件,支持用户根据具体需求进行模型微调。
使用帮助
安装依赖
请确保你的 Python 版本为 3.10 或更高版本。并按照如下方式安装依赖:
pip install -r requirements.txt
模型推理
我们提供了 vLLM、OpenVINO 和 transformers 三种后端推理方式,你可以通过运行以下命令来运行模型:
python cli_demo.py --backend transformers --model_path THUDM/glm-edge-1.5b-chat --precision bfloat16
python cli_demo.py --backend vllm --model_path THUDM/glm-edge-1.5b-chat --precision bfloat16
python cli_demo.py --backend ov --model_path THUDM/glm-edge-1.5b-chat-ov --precision int4
注意:OpenVINO 版本模型需要进行转换,请前往相关页面运行转换代码:
python convert_chat.py --model_path THUDM/glm-edge-1.5b-chat --precision int4
python convert.py --model_path THUDM/glm-edge-v-2b --precision int4
微调模型
我们提供了微调模型的代码,请参考微调教程。以下是微调的基本步骤:
- 准备数据集并配置训练参数。
- 运行微调脚本:
OMP_NUM_THREADS=1 torchrun --standalone --nnodes=1 --nproc_per_node=8 finetune.py data/AdvertiseGen/ THUDM/glm-edge-4b-chat configs/lora.yaml
- 如果需要从保存点继续微调,可以添加第四个参数:
python finetune.py data/AdvertiseGen/ THUDM/glm-edge-4b-chat configs/lora.yaml yes
使用 Gradio 启动 WebUI
你也可以使用 Gradio 启动 WebUI:
python cli_demo.py --backend transformers --model_path THUDM/glm-edge-1.5b-chat --precision bfloat16
使用 OpenAI API 进行推理
import openai
client = openai.Client(api_key="your_api_key", base_url="http://<XINFERENCE_HOST>:<XINFERENCE_PORT>/v1")
output = client.chat.completions.create(
model="glm-edge-v",
messages=[
{"role": "user", "content": "describe this image"},
{"role": "image_url", "image_url": {"url": "img.png"}}
],
max_tokens=512,
temperature=0.7
)
print(output)