大模型实战指南(一):从零部署ChatGLM与stable-diffusion的完整流程

张开发
2026/4/10 5:56:14 15 分钟阅读

分享文章

大模型实战指南(一):从零部署ChatGLM与stable-diffusion的完整流程
1. 环境准备从零搭建AI模型部署平台第一次部署大模型时最头疼的就是环境配置。我去年在本地机器上折腾CUDA驱动就花了整整两天后来发现云平台简直是新手的福音。以国内常用的趋动云为例注册流程简单到就像点外卖打开官网填写邮箱和密码5分钟就能领到免费算力。注册完成后别急着操作先到费用中心确认算力额度。新手常犯的错误就是不看资源配额直接开干结果模型加载到一半提示余额不足。我建议先领取平台的新手礼包通常包含50-100元的体验金足够跑通ChatGLM和Stable Diffusion的demo。进入开发环境时要注意镜像选择这里有个血泪教训有次选了默认的TensorFlow镜像结果发现和PyTorch项目不兼容。对于ChatGLM3-6B务必选择标注PyTorch 2.0.1和Conda 3.9的镜像这个组合经过官方验证最稳定。资源配置建议选B1.large规格24GB显存刚好能放下6B参数的模型。提示创建项目时记得勾选暂不上传代码我们后续直接用git克隆最新版本避免镜像内置的代码版本过旧导致兼容性问题。2. ChatGLM3-6B部署实战2.1 项目配置与依赖安装启动JupyterLab后别被界面吓到其实只需要用到里面的Terminal。点击左下角的号新建终端第一件事就是换国内源否则下载速度会让你怀疑人生。执行以下命令设置镜像源git config --global url.https://gitclone.com/.insteadOf https:// pip config set global.index-url https://pypi.virtaicloud.com/repository/pypi/simple克隆官方仓库时要注意有时网络波动会导致克隆中断。我习惯加上--depth1参数只克隆最新提交速度能快3倍git clone --depth1 https://github.com/THUDM/ChatGLM3.git安装依赖前有个关键步骤打开requirements.txt删除torch那一行。因为镜像已经预装PyTorch重复安装不仅浪费时间还可能引发版本冲突。去年我在某次部署中就因为没注意这个细节导致CUDA版本不匹配模型怎么都加载不起来。2.2 双界面部署方案ChatGLM3提供Gradio和Streamlit两种交互界面实测下来Streamlit的体验确实更流畅。不过建议两个都试试对比看看哪个更适合自己。修改web_demo_gradio.py时要注意三个地方模型路径改为/gemini/pretrain启动端口设为7000与后续映射端口一致将shareFalse改为True会生成临时公网链接但免费用户可能没有权限启动Streamlit时有个小技巧添加--server.enableCORSfalse参数可以避免跨域问题。第一次运行时模型加载可能需要5-10分钟期间浏览器显示空白是正常的只要终端没有报错就耐心等待。3. Stable Diffusion创意工坊3.1 环境初始化玄机创建SD项目时镜像选择有讲究。推荐选标注stable-diffusion-webui的专用镜像这种镜像预装了xformers等加速库。有次我随便选了个基础镜像结果光依赖安装就花了半小时还遇到各种编译错误。数据集选择界面要勾选stable-diffusion-webui.tar和cache.tar这两个包包含UI框架和预训练模型。注意检查文件大小完整的v1-5模型大约4GB如果显示只有几MB说明没选对。3.2 模型部署的六个关键命令执行解压命令时要留意路径是否正确。曾经有次我把文件解压到/home目录结果启动脚本死活找不到模型。正确的解压路径应该是tar xf /gemini/data-1/stable-diffusion-webui.tar -C /gemini/code/最关键的第六步启动命令中--xformers参数能提升20%推理速度--listen参数允许外部访问。但要注意免费账号可能无法使用--share参数生成公网链接。模型加载成功后在prompt输入框可以尝试这个魔法咒语(8k wallpaper),(best quality),a cyberpunk girl with neon lights, wearing holographic jacket, futuristic city background, rain reflections on the ground, cinematic lighting记得生成图片后及时停止实例我有次忘记关机一觉醒来算力金全扣光了。4. 避坑指南与性能优化4.1 常见报错解决方案遇到CUDA out of memory时别慌先检查nvidia-smi显示的显存占用。有时候前一个进程没有完全退出执行以下命令强制清理kill -9 $(nvidia-smi | awk $3Processes: {p1} p$30 {print $2})加载模型时出现ModuleNotFoundError八成是依赖没装全。除了requirements.txt里的包这些附加依赖也建议安装pip install accelerate transformers4.33.1 sentencepiece4.2 推理加速技巧在web_demo_streamlit.py中添加以下参数可提升响应速度model AutoModel.from_pretrained(/gemini/pretrain, trust_remote_codeTrue, device_mapauto, torch_dtypetorch.float16)对于Stable Diffusion修改launch.py中的这些参数效果显著--opt-sdp-attention --no-half-vae --medvram最近发现将模型缓存挂载到内存盘可以加快加载速度只需在启动前执行mkdir /dev/shm/model_cache ln -s /dev/shm/model_cache /root/.cache/huggingface

更多文章