← 返回首页
🧠

模型下载指南

📂 llm ⏱ 2 min 294 words

--- 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等平台可以方便地获取各种开源模型。选择合适的平台和下载方式,可以让模型获取更加高效便捷。