HonestQiao · 20 小时前 · 北京

【星睿O6评测】从零玩转智谱AI全栈大模型之7-在O6上运行智谱AI文本模型@chatglm.cpp

🎯 本文目标:在星睿O6上基于chatglm.cpp框架运行智谱AI文本大模型,对比llama.cpp的性能差异,重点测试GLM系列模型在专用框架上的优化效果。

经过查阅资料和深入学习,在星睿O6开发板上成功部署了智谱AI系列大模型,包括文本生成大模型、视觉大模型,以及代码生成大模型。

001.jpg

在学习研究的过程中,我做了详细的笔记,经过整理,成为本系列文章,分享给大家。

通过本系列文章,您将了解到:

  • 第一阶段:开发环境准备

    • 第一篇:星睿O6与智谱AI大模型概览
    • 第二篇:在PC上搭建llama.cpp推理环境
    • 第三篇:在PC上搭建chatglm.cpp推理环境
  • 第二阶段:环境迁移与部署

    • 第四篇:将llama.cpp环境部署至星睿O6
    • 第五篇:将chatglm.cpp环境部署至星睿O6
  • 第三阶段:大模型实战运行

    • 第六篇:在星睿O6上运行智谱AI文本大模型(基于llama.cpp)
    • 第七篇:在星睿O6上运行智谱AI文本大模型(基于chatglm.cpp)
    • 第八篇:在星睿O6上运行智谱AI视觉大模型
    • 第九篇:为llama.cpp与chatglm.cpp部署Web服务与OpenAI兼容API
  • 第四阶段:专项能力扩展

    • 第十篇:在星睿O6上部署CodeGeeX2实现智能代码生成

本文是第七篇:在星睿O6上运行智谱AI文本大模型(基于chatglm.cpp)

📤 上传智谱AI模型

将之前在PC上chatglm.cpp环境转换的模型,上传到星睿O6

# 操作电脑执行:批量上传
# Linux:
# model_name_list="chatglm3-6b glm-4-9b-chat glm-4v-9b"
# macos:
model_name_list=(chatglm3-6b glm-4-9b-chat glm-4v-9b)

for model_name in $model_name_list
do
    scp -c aes128-ctr -o "MACs umac-64@openssh.com" weyou_server_new:/data/home/honestqiao/Projects/orion-o6/chatglm.cpp/models/${model_name}-ggml.bin orion-o6:~/Projects/chatglm.cpp/models/
done

ssh orion-o6 "ls -lh ~/Projects/chatglm.cpp/models/*glm*"

002.jpg

模型传输说明

  • chatglm.cpp使用.ggml格式,与llama.cpp的.gguf格式不同
  • 传输完成后需要确认文件完整性

🚀 运行文本大模型

cd ~/Projects/chatglm.cpp
source .venv/bin/activate

export LLAMA_CPP_DIR=$(pwd)
cd $LLAMA_CPP_DIR

# 文本大模型
model_name=chatglm3-6b
$LLAMA_CPP_DIR/build/bin/main -m models/${model_name}-ggml.bin -i -v

# 对话大模型
model_name=glm-4-9b-chat
$LLAMA_CPP_DIR/build/bin/main -m models/${model_name}-ggml.bin -i -v

003.jpg
004.jpg

运行参数说明

  • -m:指定模型文件路径
  • -i:启用交互模式,支持多轮对话
  • -v:开启verbose模式
  • 默认使用最佳的推理参数

📊 性能对比测试

测试环境

  • 星睿O6:12核ARMv9 CPU,16GB内存
  • chatglm.cpp vs llama.cpp
  • 相同模型:chatglm3-6b, glm-4-9b-chat

性能对比结果

框架模型加载时间内存占用推理速度对话流畅度
llama.cppchatglm3-6b4秒6.6GB7 tokens/s一般
chatglm.cppchatglm3-6b1秒3.2GB6 tokens/s一般
llama.cppglm-4-9b-chat10秒9.7GB5 tokens/s一般
chatglm.cppglm-4-9b-chat1秒5GB4 tokens/s略慢

005.jpg

关键优势

  • 内存效率:节省40-50%内存使用
  • 推理速度:降低10-20%推理速度
  • 加载速度:加载方式不同,导致加载时间差距巨大

从实际测试结果来看,chatglm.cpp的生成速度,并没有提升,但是内存占用节省优势明显,非常适合在资源有限的设备上运行。

💬 实际对话测试

测试案例1:技术咨询

用户:如何在ARM架构上优化大模型推理?
  • chatglm3-6b
    006.jpg

测试案例2:创意写作

用户:写一首关于边缘AI的现代诗
  • glm-4-9b-chat
    007.jpg

测试案例3:代码理解

用户:解释这段Python代码的作用
#python
def optimized_matrix_multiply(A, B):
    return np.dot(A, B)
  • glm-4-9b-chat
    008.jpg

🔧 高级使用技巧

参数调优

# 优化输出配置
$LLAMA_CPP_DIR/build/bin/main -m models/glm-4-9b-chat-ggml.bin \
  --temp 0.7 \
  --top_p 0.9 \
  --repeat_penalty 1.1

# 快速响应配置
$LLAMA_CPP_DIR/build/bin/main -m models/chatglm3-6b-ggml.bin \
  --temperature 0.8

对话技巧

  1. 系统提示:在对话开始前设置明确的角色和目标
  2. 上下文管理:适时总结对话内容,避免上下文过长
  3. 温度调节:创造性任务使用较高温度,精确任务使用较低温度

📊 监控与维护

性能监控

# 实时监控
btop

✅ 框架对比完成

通过这些测试和优化,chatglm.cpp在星睿O6上展现出不错的性能,能适合中文对话和GLM系列模型的推理需求。

🔗 下一篇文章预告
在下一篇中,我们将探索视觉大模型的运行,基于llama.cpp和chatglm.cpp两个框架测试GLM-Edge视觉系列和GLM-4V系列的多模态能力。

推荐阅读
关注数
1
内容数
11
此芯AI PC开发套件瑞莎“星睿O6”评测
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息