自动化与脚本
估算 Hugging Face…
当用户询问某个 Hugging Face 模型需要多少 VRAM/内存、能否装进指定 GPU 或实例,或提供 HF 模型 ID/URL 询问推理资源需求时,可用 hf-mem 在不下载权重的情况下估算 Safetensors/GGUF 的模型权重及可选 KV cache 占用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
估算 Hugging Face 模型推理特定
解决思路
- 通过 `uvx hf-mem` 使用 HTTP Range 请求估算 Hugging Face Hub 上模型的推理内存,包括模型权重和可选 KV cache,支持 Safetensors 和 GGUF,无需在本地下载或加载任何权重。
- 运行 `uvx hf-mem --model-id <model-id> --json-output`;`--model-id` 指向 Hugging Face Hub 仓库,工具会检查仓库内是否包含 Safetensors(通过 `model.safetensors`,若分片则通过 `model.safetensors.index.json`,或 Diffusers 的 `model_index.json`)或 GGUF 模型权重。
- 如果仓库包含多种精度/量化的 GGUF 权重,估算会按文件逐个给出;推理时不会加载全部而只加载单个精度,因此对于 GGUF 可能需要提供 `--gguf-file` 来指定要运行的具体文件(若分片则为路径):`uvx hf-mem --model-id <model-id> --gguf-file <file-or-path> --json-output`。
- 使用 `--experimental` 标志可额外计算 KV cache 内存需求,适用于大语言模型,即 LLMs(`...ForCausalLM`)、VLMs(`...ForConditionalGeneration`)和 GGUF 模型。
- 上下文窗口会从默认值读取,或用 `--max-model-len` 覆盖(用法类似 vLLM)。
- KV cache 精度默认使用模型精度,除非通过 `--kv-cache-dtype` 手动设置(用法类似 vLLM)。
- 对 Safetensors 使用:`uvx hf-mem --model-id <model-id> --experimental [--max-model-len N] [--batch-size N] [--kv-cache-dtype auto|bfloat16|fp8|fp8_ds_mla|fp8_e4m3|fp8_e5m2|fp8_inc] --json-output`。
- 对 GGUF 使用:`uvx hf-mem --model-id <model-id> --gguf-file <file-or-path> --experimental [--max-model-len N] [--batch-size N] [--kv-cache-dtype auto|F32|F16|Q4_0|Q4_1|Q5_0|Q5_1|Q8_0|Q8_1|Q2_K|Q3_K|Q4_K|Q5_K|Q6_K|Q8_K|IQ2_XXS|IQ2_XS|IQ3_XXS|IQ1_S|IQ4_NL|IQ3_S|IQ2_S|IQ4_XS|I8|I16|I32|I64|F64|IQ1_M|BF16|TQ1_0|TQ2_0|MXFP4] --json-output`。
- 示例:Transformers + Safetensors 权重:`uvx hf-mem --model-id MiniMaxAI/MiniMax-M2 --json-output`。
- 示例:Diffusers + Safetensors 权重:`uvx hf-mem --model-id Qwen/Qwen-Image --json-output`。
- 示例:Sentence Transformers + Safetensors 权重:`uvx hf-mem --model-id google/embeddinggemma-300m --json-output`。
- 示例:用 `--experimental` 包含 LLM/VLM 的 KV cache 估算:`uvx hf-mem --model-id mistralai/Mistral-7B-v0.1 --experimental --json-output`。
- 示例:LLM 或 VLM 的 GGUF 权重:`uvx hf-mem --model-id unsloth/Qwen3.5-397B-A17B-GGUF --gguf-file Q4_K_M --experimental --json-output`。
适用边界 · 注意事项
- 未安装 `uv`(无法使用 `uvx`)时不适用。
- 访问 gated 或 private 模型且未设置 `HF_TOKEN` 环境变量或未传 `--hf-token` 标志时不适用。
- 模型不在 Hugging Face Hub,或不需要估算推理内存(如仅需训练显存)时不适用。