2025年12月13日

算力中心 H800 裸机生存指南:零外网环境部署 LLaMA-Factory 全流程


背景:你刚拿到一台 NVIDIA H800 (80GB) 服务器,算力很足,但网络是内网环境。

痛点git clone 会超时,docker pull 卡在 0%。企业内网只剩算力,没有外网。

目标:用国内镜像源,在 10 分钟左右把 LLaMA-Factory + Qwen2-VL 跑起来,并把 H800 的性能吃满。


0. 环境准备:心态与策略

在内网环境(Intranet/IDC)搞科研,核心策略很简单:先把源换好。

不要浪费时间去 Ping github.comhuggingface.co。把依赖链全部切到国内高速镜像,效率最高。

硬件环境假设:

  • GPU: NVIDIA H800 (80GB)

  • OS: Ubuntu 20.04/22.04

  • Drivers: CUDA 12.x 已安装


1. 基建:打通 Python 与代码源

首先,我们要让 pipgit 能从国内服务器拉取数据。

1.1 Python 换源

默认的 PyPI 源在国外,必须换成清华源或阿里源,否则安装 PyTorch 时会让你等到天荒地老。

# 永久设置 pip 镜像为清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

1.2 代码拉取:放弃 GitHub,拥抱 Gitee

LLaMA-Factory 作为国产开源之光,在 Gitee(码云)上有官方同步仓库。这是解决 git clone 超时的最佳方案。

# 进入你的工作目录
cd /workspace
# 从 Gitee 拉取代码 (速度通常 > 5MB/s)
git clone https://gitee.com/hiyouga/LLaMA-Factory.git
# 进入项目目录
cd LLaMA-Factory

1.3 安装依赖

在 H800 上,我们直接进行本地安装(Source Install),这样比 Docker 更容易调试环境。

# 安装项目依赖,顺便指定清华源以防万一
pip install -e ".[torch,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 核心:搞定模型下载 (ModelScope 救场)

这是绝大多数人卡死的地方:代码跑起来了,但模型下不动。

默认情况下,LLaMA-Factory 会去 HuggingFace 下载模型,这在国内几乎 100% 失败。我们需要强制让它走 阿里魔搭社区 (ModelScope)

2.1 设置环境变量

这是一把“万能钥匙”,建议直接写入 ~/.bashrc

# 强制使用魔搭社区下载模型,不走 HuggingFace
export USE_MODELSCOPE_HUB=1

2.2 启动 WebUI

现在,我们可以启动可视化界面了。

# 启动 WebUI,默认端口 7860
llamafactory-cli webui

端口提示
如果终端显示 Running on http://0.0.0.0:7860,但浏览器访问 IP:7860 打不开,通常是防火墙问题。

  • 方案 A:让管理员开 7860 端口。

  • 方案 B:用 SSH 隧道:ssh -L 7860:localhost:7860 root@服务器IP,本地访问 localhost:7860


3. 进阶:H800 专属配置 (WebUI 详解)

WebUI 跑起来只是第一步。如果不进行正确配置,H800 跑出来的速度可能和 3090 差不多。

请对照下图进行“H800 黄金配置”:

3.1 关键字段解析

  1. 模型下载源 (Download Source)

    • 操作:手动下拉选择 modelscope

    • 理由:虽然设置了环境变量,但在 UI 里显式指定更稳妥。配合 H800 的万兆内网,下载 7B 模型只需 2 分钟。

  2. 模型路径 (Model Path)

    • 操作:填写模型 ID,例如 Qwen/Qwen2-VL-7B-Instruct

    • 说明:系统会自动检测并缓存到本地。

  3. 量化等级 (Quantization)

    • 操作:选 none

    • 理由:80GB 显存不用 int4int8 牺牲精度,科研场景更需要准确率。

  4. 推理引擎 (Inference Engine) —— 最关键优化

    • 操作:选择 vllm

    • 理由huggingface 引擎偏保守,vllm 用 PagedAttention 把吞吐量拉到 3-10 倍。

  5. 加速方式 (Acceleration)

    • 操作:选择 flash_attention_2

    • 理由:H800 属于 Ampere/Hopper 架构,天生支持 FlashAttention-2,处理长上下文时更稳。

  6. 额外参数

    • 操作:保持 {"vllm_enforce_eager": true}

    • 理由:防止 vLLM 在某些 CUDA 版本下构建 Graph 失败导致 OOM。


4. 验证:确认模型跑起来

点击 [加载模型] 按钮。

此刻,请切换回 SSH 终端观察日志。你应该看到:

  • Downloading from ModelScope... (下载飞快)

  • Loading model weights...

  • vLLM engine initialized...

当 WebUI 右上角显示 “Model loaded” 时,模型就绪。

4.1 多模态测试

切换到 Chat 选项卡,上传一张复杂的交通场景图片(比如 NuScenes 数据集中的红绿灯路口),输入:

“分析当前场景中的交通风险,并给出驾驶建议。”

如果 H800 在 1-2 秒内输出了流畅的分析,说明这套 Qwen2-VL + vLLM + H800 的组合已经完全打通。


5. 总结

在算力中心环境下,网络是最大阻力,配置是最大变量。

通过 Gitee 拉取代码 + ModelScope 下载模型 + vLLM 引擎加速,可以绕过 GitHub/HuggingFace 的网络限制,把 H800 的性能吃满。这套流程不仅适用于 LLaMA-Factory,也适用于多数国产大模型的私有化部署。

接下来就看你的 Law-RAG 方案发挥了。