GLM-4.5模型下载:HuggingFace全系列
还在为下载超大规模语言模型而烦恼?面对3550亿参数的GLM-4.5系列模型,不知道如何高效下载和部署?本文为你提供最完整的GLM-4.5模型下载指南,从基础概念到实战操作,一文解决所有下载难题!
🎯 读完本文你能得到
- ✅ GLM-4.5全系列模型详细对比与选择指南
- ✅ 多种下载方式详解(HuggingFace、ModelScope、Git LFS)
- ✅ 完整的环境配置与依赖安装步骤
- ✅ 模型验证与完整性检查方法
- ✅ 不同硬件配置下的部署建议
- ✅ 常见问题排查与解决方案
📊 GLM-4.5系列模型全景图
GLM-4.5系列包含多个版本,满足不同场景需求:
| 模型名称 | 总参数 | 活跃参数 | 精度 | 适用场景 | 下载大小 |
|---|---|---|---|---|---|
| GLM-4.5 | 355B | 32B | BF16 | 高性能推理 | ~358GB |
| GLM-4.5-Air | 106B | 12B | BF16 | 平衡性能 | ~107GB |
| GLM-4.5-FP8 | 355B | 32B | FP8 | 高效推理 | ~179GB |
| GLM-4.5-Air-FP8 | 106B | 12B | FP8 | 轻量部署 | ~54GB |
| GLM-4.5-Base | 355B | 32B | BF16 | 基础模型 | ~358GB |
| GLM-4.5-Air-Base | 106B | 12B | BF16 | 轻量基础 | ~107GB |
🛠️ 环境准备与依赖安装
系统要求
# 检查系统环境
nvidia-smi # 确认GPU驱动
nvcc --version # 确认CUDA版本
python --version # Python 3.8+
安装核心依赖
# 创建虚拟环境
python -m venv glm45-env
source glm45-env/bin/activate
# 安装基础依赖
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 安装transformers和相关库
pip install transformers>=4.54.0
pip install accelerate
pip install sentencepiece
pip install protobuf
# 可选:安装推理框架
pip install vllm # 高性能推理
pip install sglang # 流式推理
📥 多种下载方式详解
方式一:HuggingFace官方下载
使用huggingface-hub库
from huggingface_hub import snapshot_download
import os
# 设置模型路径
model_id = "zai-org/GLM-4.5"
# 下载完整模型
snapshot_download(
repo_id=model_id,
local_dir="./glm-4-5-model",
local_dir_use_symlinks=False,
resume_download=True,
allow_patterns=["*.json", "*.safetensors", "*.bin", "*.txt"]
)
print("模型下载完成!")
使用git命令(推荐大文件)
# 安装git-lfs
sudo apt-get install git-lfs
git lfs install
# 克隆仓库(包含大文件)
git clone https://huggingface.co/zai-org/GLM-4.5
# 或者只下载模型文件
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/zai-org/GLM-4.5
cd GLM-4.5
git lfs pull
方式二:ModelScope下载(国内优化)
from modelscope import snapshot_download
# 使用ModelScope下载(网络优化)
model_dir = snapshot_download(
'ZhipuAI/GLM-4.5',
cache_dir='./model_cache',
revision='master'
)
print(f"模型下载到: {model_dir}")
方式三:直接HTTP下载
对于网络环境特殊的用户,可以使用wget或curl直接下载:
# 获取下载链接列表
python -c "
from huggingface_hub import HfApi
api = HfApi()
files = api.list_repo_files('zai-org/GLM-4.5')
for file in files:
if file.endswith('.safetensors') or file.endswith('.json'):
print(f'https://huggingface.co/zai-org/GLM-4.5/resolve/main/{file}')
"
# 使用aria2多线程下载(推荐)
aria2c -x 16 -s 16 -i download_list.txt
🔍 模型验证与完整性检查
检查文件完整性
import os
import json
from safetensors import safe_open
def check_model_integrity(model_path):
"""检查模型文件完整性"""
# 检查必要文件是否存在
required_files = [
'config.json',
'generation_config.json',
'tokenizer_config.json',
'tokenizer.json',
'model.safetensors.index.json'
]
missing_files = []
for file in required_files:
if not os.path.exists(os.path.join(model_path, file)):
missing_files.append(file)
if missing_files:
print(f"缺失文件: {missing_files}")
return False
# 检查safetensors文件数量
with open(os.path.join(model_path, 'model.safetensors.index.json'), 'r') as f:
index_data = json.load(f)
expected_files = len(set(index_data['weight_map'].values()))
actual_files = len([f for f in os.listdir(model_path) if f.startswith('model-') and f.endswith('.safetensors')])
if actual_files != expected_files:
print(f"模型分片文件不完整: 期望 {expected_files} 个, 实际 {actual_files} 个")
return False
print("模型文件完整性检查通过!")
return True
# 执行检查
check_model_integrity('./glm-4-5-model')
验证模型加载
from transformers import AutoModel, AutoTokenizer
def test_model_loading(model_path):
"""测试模型是否能正常加载"""
try:
# 加载tokenizer
tokenizer = AutoTokenizer.from_pretrained(
model_path,
trust_remote_code=True
)
# 尝试加载模型(使用部分权重)
model = AutoModel.from_pretrained(
model_path,
trust_remote_code=True,
device_map="auto",
load_in_8bit=True, # 8bit加载节省内存
torch_dtype=torch.float16
)
print("模型加载成功!")
return True
except Exception as e:
print(f"模型加载失败: {e}")
return False
test_model_loading('./glm-4-5-model')
⚙️ 不同硬件配置建议
高端配置(8×H100/H200)
# GLM-4.5 BF16版本
vllm serve zai-org/GLM-4.5 \
--tensor-parallel-size 8 \
--tool-call-parser glm45 \
--reasoning-parser glm45 \
--enable-auto-tool-choice \
--served-model-name glm-4.5
中等配置(4×H100)
# GLM-4.5-Air BF16版本
vllm serve zai-org/GLM-4.5-Air \
--tensor-parallel-size 4 \
--tool-call-parser glm45 \
--reasoning-parser glm45 \
--enable-auto-tool-choice \
--served-model-name glm-4.5-air
入门配置(2×H100)
# GLM-4.5-Air FP8版本
vllm serve zai-org/GLM-4.5-Air-FP8 \
--tensor-parallel-size 2 \
--tool-call-parser glm45 \
--reasoning-parser glm45 \
--enable-auto-tool-choice \
--served-model-name glm-4.5-air-fp8
📋 下载优化技巧
1. 使用下载工具
# 使用多线程下载工具
git clone https://huggingface.co/zai-org/GLM-4.5
# 使用axel多连接下载
axel -n 10 https://huggingface.co/zai-org/GLM-4-5/resolve/main/model-00001-of-00093.safetensors
2. 断点续传配置
# 在代码中启用断点续传
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="zai-org/GLM-4.5",
resume_download=True,
local_dir="./glm-4-5-model",
max_workers=4 # 多线程下载
)
3. 选择性下载
# 只下载需要的精度版本
snapshot_download(
repo_id="zai-org/GLM-4.5-Air-FP8", # 选择轻量FP8版本
local_dir="./glm-4-5-air-fp8",
ignore_patterns=["*.bin", "*.h5"] # 忽略不必要的文件
)
🚀 快速开始示例
最小化部署示例
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和tokenizer
model_path = "./glm-4-5-air-fp8" # 使用轻量FP8版本
tokenizer = AutoTokenizer.from_pretrained(
model_path,
trust_remote_code=True
)
model = AutoModelForCausalLM.from_pretrained(
model_path,
trust_remote_code=True,
torch_dtype=torch.float16,
device_map="auto"
)
# 简单推理测试
input_text = "你好,请介绍一下GLM-4.5模型的特点"
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(**inputs, max_length=100)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print("模型响应:", result)
🔧 常见问题与解决方案
问题1:下载中断或网络错误
解决方案:
# 设置重试机制
export HF_HUB_ENABLE_HF_TRANSFER=1
export HF_HUB_NUM_RETRIES=10
export HF_HUB_RETRY_DELAY=5
# 使用国内镜像
export HF_ENDPOINT=https://hf-mirror.com
问题2:磁盘空间不足
解决方案:
# 清理缓存
rm -rf ~/.cache/huggingface/hub
# 使用符号链接
ln -s /path/to/large/disk/.cache ~/.cache/huggingface
问题3:内存不足无法加载
解决方案:
# 使用8bit或4bit量化
from transformers import BitsAndBytesConfig
quantization_config = BitsAndBytesConfig(
load_in_8bit=True,
llm_int8_threshold=6.0
)
model = AutoModelForCausalLM.from_pretrained(
model_path,
quantization_config=quantization_config,
device_map="auto"
)
📈 性能优化建议
推理优化配置
# config.yaml
model_name: glm-4-5-air-fp8
tensor_parallel_size: 2
speculative_num_steps: 3
speculative_eagle_topk: 1
speculative_num_draft_tokens: 4
mem_fraction_static: 0.7
enable_auto_tool_choice: true
内存优化策略
# 梯度检查点
model.gradient_checkpointing_enable()
# 激活重计算
model.config.use_cache = False
# 使用Flash Attention
model.config.use_flash_attention_2 = True
🎯 总结与选择建议
根据你的需求选择合适的版本:
- 研究实验 → GLM-4.5-Base (完整能力)
- 生产部署 → GLM-4.5-Air-FP8 (高效推理)
- 资源受限 → GLM-4.5-Air (平衡性能)
- 极致性能 → GLM-4.5 (顶级效果)
下载决策流程图
通过本文的详细指南,你应该能够顺利完成GLM-4.5系列模型的下载、验证和部署。如果在过程中遇到任何问题,欢迎在评论区留言讨论!
下一步行动:
- 根据硬件条件选择合适的模型版本
- 配置下载环境并开始下载
- 验证模型完整性
- 部署测试推理服务
祝您下载顺利,享受GLM-4.5带来的强大AI能力! 🚀
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



