模型下载指南
--- title: "模型下载指南" description: "全面介绍如何从HuggingFace、ModelScope等平台下载大语言模型" tags: ["模型下载", "HuggingFace", "ModelScope", "模型仓库"] category: "llm" icon: "🧠"
模型下载指南
主流模型平台
platforms = {
"HuggingFace Hub": {
"网址": "https://huggingface.co",
"特点": "最大的开源模型平台,模型种类丰富",
"工具": "huggingface_hub"
},
"ModelScope": {
"网址": "https://modelscope.cn",
"特点": "阿里云运营,国内模型丰富",
"工具": "modelscope"
},
"Ollama Library": {
"网址": "https://ollama.com/library",
"特点": "一键下载运行,适合本地部署",
"工具": "ollama"
}
}
HuggingFace模型下载
安装工具
pip install huggingface_hub
基础下载
from huggingface_hub import snapshot_download, hf_hub_download
# 下载整个仓库
model_path = snapshot_download(
repo_id="meta-llama/Llama-2-7b-hf",
local_dir="./models/llama-2-7b"
)
print(f"模型下载到: {model_path}")
下载特定文件
# 只下载配置文件
config_path = hf_hub_download(
repo_id="meta-llama/Llama-2-7b-hf",
filename="config.json"
)
# 下载特定的模型文件
model_path = hf_hub_download(
repo_id="TheBloke/Llama-2-7B-GGUF",
filename="llama-2-7b.Q4_K_M.gguf"
)
使用镜像站(国内)
import os
# 设置HuggingFace镜像
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
from huggingface_hub import snapshot_download
# 通过镜像下载
model_path = snapshot_download(
repo_id="meta-llama/Llama-2-7b-hf",
local_dir="./models/llama-2-7b"
)
命令行下载
# 使用huggingface-cli
huggingface-cli download meta-llama/Llama-2-7b-hf --local-dir ./models/llama-2-7b
# 下载特定文件
huggingface-cli download TheBloke/Llama-2-7B-GGUF llama-2-7b.Q4_K_M.gguf
ModelScope模型下载
安装工具
pip install modelscope
下载模型
from modelscope import snapshot_download
# 下载模型
model_path = snapshot_download(
model_id="Qwen/Qwen2-7B",
cache_dir="./models"
)
print(f"模型下载到: {model_path}")
命令行下载
# 使用modelscope-cli
modelscope download --model_id Qwen/Qwen2-7B --local_dir ./models
Ollama模型下载
直接运行
# 下载并运行模型
ollama run llama3
ollama run qwen2:7b
ollama run mistral
# 查看已下载模型
ollama list
指定版本
# 下载特定大小的模型
ollama pull llama3:8b
ollama pull llama3:70b
ollama pull qwen2:1.5b
下载优化
断点续传
from huggingface_hub import snapshot_download
# 自动断点续传
model_path = snapshot_download(
repo_id="meta-llama/Llama-2-7b-hf",
local_dir="./models/llama-2-7b",
resume_download=True
)
多线程下载
from huggingface_hub import snapshot_download
# 增加线程数加速下载
model_path = snapshot_download(
repo_id="meta-llama/Llama-2-7b-hf",
local_dir="./models/llama-2-7b",
max_workers=8
)
选择性下载
# 只下载特定文件类型
from huggingface_hub import snapshot_download
model_path = snapshot_download(
repo_id="meta-llama/Llama-2-7b-hf",
local_dir="./models/llama-2-7b",
allow_patterns=["*.json", "*.safetensors"], # 只下载JSON和SafeTensors文件
ignore_patterns=["*.bin", "*.h5"] # 忽略其他格式
)
模型选择建议
recommendations = {
"入门学习": {
"推荐": "Qwen2-1.5B 或 Llama-3-8B",
"原因": "参数量小,易于运行"
},
"本地部署": {
"推荐": "Llama-3-8B-GGUF Q4_K_M",
"原因": "量化后可在CPU运行"
},
"API服务": {
"推荐": "Llama-3-70B 或 Qwen2-72B",
"原因": "性能更强,适合生产环境"
},
"中文场景": {
"推荐": "Qwen2-7B 或 ChatGLM4-9B",
"原因": "中文能力优秀"
}
}
for scenario, rec in recommendations.items():
print(f"\n{scenario}:")
print(f" 推荐模型: {rec['推荐']}")
print(f" 理由: {rec['原因']}")
常见问题
# Q: 模型下载失败怎么办?
# A: 1. 使用镜像站
# 2. 检查网络连接
# 3. 使用断点续传
# 4. 手动下载后放到缓存目录
# Q: 如何检查模型是否完整?
# A: 使用huggingface-cli scan-cache检查缓存
# Q: 多个模型占用太多空间?
# A: 使用quantized版本或删除不需要的模型
总结
模型下载是使用LLM的第一步,通过HuggingFace、ModelScope等平台可以方便地获取各种开源模型。选择合适的平台和下载方式,可以让模型获取更加高效便捷。