modelscope魔搭下载deepseek v4 flash version 0901模型的命令行批量方法
推荐使用 ModelScope 官方 CLI modelscope download 配合 --include "*.safetensors" 做批量下载,配合 Python 脚本 + 多线程可进一步提速;下载的 safetensors 权重本身没有任何平台限制,在 2 台 DGX Spark 上用 vLLM 部署完全没问题,但要注意跨节点张量并行(TP=2)目前仍偏实验性。
一、ModelScope 批量下载 safetensors
1. 安装与登录(私有/受限模型才需要登录)
pip install -U modelscope
# 如需登录(DeepSeek-V4-Flash-Vision-Exp 是 MIT 公开权重,无需 token)
modelscope login --token <YOUR_TOKEN>
模型权重于 2026-08-31 在 HF/ModelScope 同步开源,MIT 协议、仓库约 168 GB、共 48 个 safetensors 分片。
2. 方式 A:CLI 一条命令(最常用)
只下载权重 + 配置,跳过其他杂项:
modelscope download \
--model deepseek-ai/DeepSeek-V4-Flash-Vision-Exp \
--include "*.safetensors" "*.json" "*.txt" \
--local_dir /data/models/DeepSeek-V4-Flash-Vision-Exp
关键参数说明csdn.net:
--include "*.safetensors":用 glob 通配符批量匹配所有分片;--exclude:排除不需要的文件,如--exclude "*.bin" "*.pth" "*.onnx";--local_dir:直接下到指定目录(优先级高于--cache_dir);- 默认缓存目录是
~/.cache/modelscope/hub,可用环境变量MODELSCOPE_CACHE改。
3. 方式 B:Python 脚本 + 并行下载(推荐大模型)
168 GB 这种体量,强烈建议用 snapshot_download 的多 worker + 断点续传,中断后重跑会自动跳过已完成的分片:
from modelscope.hub.snapshot_download import snapshot_download
snapshot_download(
model_id='deepseek-ai/DeepSeek-V4-Flash-Vision-Exp',
local_dir='/data/models/DeepSeek-V4-Flash-Vision-Exp',
allow_patterns=['*.safetensors', '*.json', '*.txt'],
ignore_patterns=['*.bin', '*.pth'],
max_workers=8, # 并行下载线程数
revision='master',
)
第三方新客户端 ms-hub 也支持同样的语法并显式暴露 --max-workers。
4. 方式 C:Git 镜像(备用)
git lfs install
git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-V4-Flash-Vision-Exp.git
仅当前两种方式被墙/失败时再考虑,Git LFS 在国内大文件场景下稳定性不如 ModelScope 自有 CDN。
二、在 2 台 DGX Spark 上用 vLLM 部署的注意事项
权重下载层面完全没问题。safetensors 是纯权重文件,与下载机器、目标硬件无关,DGX Spark(ARM64 + GB10 Blackwell)能正常加载。vLLM 官方也已发布针对 DGX Spark 的部署指南,FP8/INT4 等 NVFP4 量化路径都被验证过。
需要注意的实际问题:
1. 内存与量化精度选择
DGX Spark 是 128 GB LPDDR5X 统一内存(CPU+GPU 共享,约 273 GB/s),没有独立 VRAM。该模型 305B 总参 / 13B 激活的 MoE 架构:
- BF16 原版(约 168 GB 权重)单台装不下,必须跨节点 TP=2 或使用量化版;
- FP8 量化版在 DGX Spark 上被验证稳定,是当前推荐精度;
- NVFP4 在 GB10 上有已知
cudaErrorIllegalInstructionbug,暂时避免。
2. vLLM 关键参数
DGX Spark 的统一内存特性决定了不能照搬常规 GPU 配置:
--gpu-memory-utilization建议设 0.7 左右(而非常规 0.9),给系统、KV cache 和碎片留余量;- 关闭 swap,否则内存压力大时易卡死;
--max-num-seqs设小一些,Spark 更适合小批量推理而非高并发;- 多模态模型要正确设置
--limit-mm-per-prompt控制图像/视频配额。
3. 跨节点 TP=2 的现实风险
两台 DGX Spark 之间通过以太网(非 InfiniBand)做张量并行,社区实测结果:
- 短请求可跑通,吞吐与单机 TP=1 接近(约 21–31 tok/s);
- 长文本生成或高并发下稳定性不足,可能在数百秒后出现 HTTP 500 或进程挂死;
- NVIDIA 官方文档也把双 Spark 的 vLLM 配置标记为 Experimental,物理双节点 E2E 验证尚未完成。
如果追求稳定,更稳妥的做法是:每台 Spark 独立跑一个 TP=1 实例(前提是模型量化后单机能装下),前面用 LiteLLM/Nginx 做负载均衡;只有当模型量化后单机仍装不下时,再考虑跨节点 TP=2。
4. 镜像架构
DGX Spark 是 linux/arm64,NVIDIA NGC 官方镜像为多架构,可直接用;但 Docker Hub 上的第三方 vLLM 镜像很可能只有 amd64,拉取前先确认。
三、快速核对清单
- 下载完成后用
ls -lh检查 safetensors 分片数量是否与仓库一致(应为 48 个); - 确认
model.safetensors.index.json等索引文件已包含,vLLM 启动时依赖它做分片映射; - 跨节点部署前先在单机用小并发冒烟测试,确认 KV cache 分配和视觉编码器加载正常,再上双节点。
