Hugging Face Skills + 共绩算力(4090/A800/H20…)Qwen3.5 远程开发与大模型实战

2026年3月3日

为什么是这套组合?

作为 AI 开发者,你大概率遇到过这些痛点:

痛点

传统方案

本文方案

本地没有 GPU

买一张 4090(约 ¥12,000–¥16,000,随行情波动)

共绩算力按秒计费按需租用

环境配置地狱

花半天装 CUDA/cuDNN/PyTorch

云主机预装深度学习镜像,开机即用

终端来回切换

SSH + 本地 IDE 分离

Cursor/Claude Code SSH 直连,编辑器即云端

记不住 HF CLI 命令

查文档、复制粘贴

HF Skills 让 AI 助手帮你执行

模型训练流程复杂

手写训练脚本 + 调参

Skills 模板 + 自然语言指令

这套组合的核心理念:让开发者的注意力回到模型和业务本身,环境、算力、工具链全部自动化。

先选对 GPU:4090 / 5090 / L40S / A800 / H20…怎么选?

共绩算力不只有 4090。面对“大模型任务”(更大参数、更长上下文、更多并发、训练/微调),显存容量往往比“算力峰值”更关键:显存决定你能不能把模型(含 KV Cache、LoRA 权重、优化器状态等)稳稳放进去。

下面这张表直接摘取自共绩算力公开定价(按秒计费,随时开关机)作为选型参考(以云主机为例):共绩算力定价页 (https://www.gongjiyun.com/pricing)%E3%80%82)%E3%80%82)

机型

显存

价格(元/时)

更适合什么任务

4090 × 1

24G

1.68

4-bit 推理、轻量 LoRA、Gradio Demo、开发调试

5090 × 1

32G

2.5

32G 显存更从容:更长上下文/更大 batch 的推理

L20 × 1

48G

3.59

更大显存的推理/微调,性价比路线

L40 × 1

48G

3.15

48G 推理更稳,吞吐与显存平衡

L40S × 1

48G

4.49

更强推理吞吐 + 48G 显存(偏推理/服务)

A800 × 1

80G

5.99

大模型推理、长上下文、LoRA/QLoRA 更稳(显存是王道)

H20 × 1

96G

6.88

超大显存单卡:大模型推理、长上下文、并发更舒服

H800 × 1

80G

16.88

对极致训练/推理性能有需求的重任务

910B × 1

64G

3.69

特定生态/国产算力场景(看框架兼容性)

一页决策(给赶时间的人):

备注:本文以 Qwen3.5-35B-A3B 为例(单卡 4090 量化后可跑)。如果你要把上下文开到很大、并发开很多、或跑更大模型,A800/H20 会更省心。

2.1 一分钟理解显存:权重、KV Cache、并发三件套

大模型推理/服务是否“跑得稳”,通常取决于你有没有把 三块显存账单同时算清:

一个非常实用的经验:

2.2 Qwen3.5 选型到机型:从 35B 到 397B 怎么落到硬件

把“模型尺寸”映射到“机器选择”,可以按下面的优先级做决策:

  1. 先确定目标:推理/服务 还是 微调/训练?

    • 推理/服务:更看重 显存 + 吞吐(并发、上下文、批处理)
    • 微调:更看重 显存 + 稳定性(梯度、优化器、checkpoint)
  2. 再确定上下文与并发目标

    • 单用户体验:并发低,但可能追求长上下文
    • API 服务:并发高,通常需要控制上下文、做队列与限流

一个更贴近实战的落地建议(不追求“理论最优”,追求“少踩坑”):

关于 MoE 的一个常见误区:推理时只激活部分专家,不代表显存只需要“激活参数”那点。多数框架仍然需要把大量权重常驻在 GPU/内存中;想把“大 MoE”跑得又稳又快,往往还是要靠 更多显存/多卡并行。

认识三个主角

3.1 Qwen3.5:2026 开年最强开源模型

2026 年 2 月 16 日,阿里云通义团队发布 Qwen3.5 系列,这是目前开源社区最具竞争力的多模态大语言模型之一。

核心亮点:

模型矩阵(截至 2026-02-27):

本文主角:Qwen3.5-35B-A3B——35B 总参数、每次推理只激活 3B,性价比之王,单张 4090 量化后可跑。

关于 MoE 的通俗理解:想象一个有 35 个”专家”的团队,每次回答问题只派出 3 个最合适的专家。这意味着你获得了 35B 级别的知识储备,但只需要 3B 的计算开销。这就是为什么 Qwen3.5-35B-A3B 能在 4090 上流畅运行。

3.2 共绩算力:按秒计费的多 GPU 云主机(4090/A800/H20…)

共绩算力是一家 2023 年成立于清华的算力平台,获奇绩创坛投资。核心卖点:便宜、灵活、预装好环境。

它覆盖从“开发/推理常用的 4090/5090/L40S”,到“更适合大模型任务的 A800/H20/H800”等多个机型。完整价格与规格请以 定价页 (https://www.gongjiyun.com/pricing) 为准。

关键特性:

3.3 Hugging Face Skills:让编程助手会做 AI

huggingface/skills (https://github.com/huggingface/skills) 是 Hugging Face 官方维护的 AI 编程技能集(7000+ Stars),遵循 Agent Skill (https://agentskills.io) 开放标准。

它解决了什么问题?

传统方式下,你需要记住 hf download、hf upload、datasets.load_dataset() 等各种命令和 API。有了 Skills,你只需要对 Cursor 说自然语言:

传统方式

Skills 方式

hf download Qwen/Qwen3.5-35B-A3B --local-dir ./model

"帮我下载 Qwen3.5-35B-A3B 到本地"

手写 TRL 训练脚本 + 配置参数

"用 SFT 微调 Qwen3.5,数据集用 xxx"

gradio 代码从零写起

"创建一个对话 Demo 展示微调后的模型"

查文档找模型评测方法

"评测一下模型在 MMLU 上的表现"

可用的 9 个 Skills:

技能

说明

典型场景

hugging-face-cli

HF Hub 操作:下载/上传/管理仓库

模型下载、数据集管理

hugging-face-datasets

数据集创建和管理

训练数据准备

hugging-face-model-trainer

TRL 模型训练(SFT/DPO/GRPO)

LoRA 微调、全量微调

hugging-face-jobs

云端 Job 运行

批量推理、数据处理

hugging-face-evaluation

模型评测

Benchmark 评分

hugging-face-trackio

训练实验追踪和可视化

实时监控 Loss 曲线

hugging-face-paper-publisher

研究论文发布

发表模型论文

hugging-face-tool-builder

可复用 API 脚本

自动化流水线

huggingface-gradio

Gradio 应用构建

Demo / 在线推理

Skills 还配套了一个 MCP Server(https://huggingface.co/mcp),可以让 Cursor 直接通过 MCP 协议调用 HF Hub 的搜索、文档查询、Job 提交等能力——不只是”教会”AI 怎么做,而是直接让 AI “动手做”。

架构总览

你的本地 Mac / Windows

├── Cursor IDE

│ ├── HF Skills (AI 技能集)

│ ├── MCP Server (HF Hub API)

│ └── Remote-SSH (远程连接)

├── (SSH 端口转发) ──> Hugging Face Hub (模型仓库/数据集/MCP API)

└── (SSH 连接) ──> 共绩算力云主机 (RTX 4090 × 1)

├── CUDA 12.x / PyTorch 2.x / HF CLI
└── Qwen3.5-35B-A3B
├── Ollama (推理)
├── vLLM (推理)
├── LoRA 微调 (TRL/Swift)
└── Gradio (Demo)

创建共绩算力云主机

注册并登录 共绩算力控制台 (https://console.suanli.cn/server)

点击 创建云主机

配置选择:

配置项

推荐选择

说明

GPU

4090 / 5090 / L40S / A800 / H20

先按任务选显存:推理/轻量微调用 24–48G,大模型/长上下文优先 80–96G

镜像

基础镜像(支持 SSH)

预装 CUDA + PyTorch

系统盘

默认(100GB+)

模型文件较大,建议加大

共享存储卷

建议开通

跨机器持久化,防数据丢失

创建完成后,记下 SSH 信息:

主机:ssh root@xnc1.550c.cloud -p 35012 密码:your_password_here

💡 省钱提示:新用户可领取 50 元体验券,个人开发者可申请最高 1500 元免费算力。跑完实验记得关机——关机后按秒停止计费,环境保留不丢失。

Cursor SSH 连接云主机

Cursor 基于 VSCode 构建,原生支持 Remote-SSH 扩展。

5.1 前置条件

5.2 快速连接

  1. 按 Cmd+Shift+P(macOS)或 Ctrl+Shift+P(Windows)打开命令面板
  2. 输入 Remote-SSH: Connect to Host
  3. 选择 Add New SSH Host
  4. 输入连接命令: ssh root@xnc1.550c.cloud -p 35012
  5. 选择配置文件存储位置(默认 ~/.ssh/config)
  6. 输入密码完成连接

首次连接时 Cursor 会自动在远程安装 Cursor Server,耐心等待即可。连接成功后,Cursor 的文件浏览器、终端、编辑器全部切换到了远程云主机——感觉就像在本地开发一样。

5.3 配置 SSH Config(推荐)

每次输密码很烦?在本地的 ~/.ssh/config 中添加:

Host gongji-4090

HostName xnc1.550c.cloud
Port 35012
User root
# 可选:免密登录
# IdentityFile ~/.ssh/id_rsa

之后在 Cursor 里直接选择 gongji-4090 即可连接。

设置免密登录(可选但强烈推荐):

ssh-keygen -t ed25519 -C "[your_email@example.com](mailto:your_email@example.com)"
ssh-copy-id -p 35012 [root@xnc1.550c.cloud](mailto:root@xnc1.550c.cloud)

5.4 SSH 隧道:在本地浏览器访问云端服务

后续我们会在云主机上启动 Gradio、Jupyter 等 Web 服务,需要通过 SSH 隧道将远程端口映射到本地:

ssh -L 7860:127.0.0.1:7860 [root@xnc1.550c.cloud](mailto:root@xnc1.550c.cloud) -p 35012
ssh -L 8000:127.0.0.1:8000 [root@xnc1.550c.cloud](mailto:root@xnc1.550c.cloud) -p 35012
ssh -L 7860:127.0.0.1:7860 -L 8000:127.0.0.1:8000 [root@xnc1.550c.cloud](mailto:root@xnc1.550c.cloud) -p 35012

映射后,在本地浏览器访问 http://localhost:7860 就能看到云主机上的 Gradio 页面。

下载加速配置:GitHub + Hugging Face(国内网络必备)

在国内网络环境下,拉仓库/下模型经常会遇到超时或速度波动。共绩算力官方文档给了两套“学术用途”的加速方案:

重要说明:两者都依赖第三方公益节点,不承诺 100% 可用、不保证带宽与长期稳定。建议把加速地址做成环境变量/脚本配置,便于后续替换。

6.1 GitHub 加速(HTTPS clone / raw / release)

git clone [https://ghfast.top/https://github.com/huggingface/skills](https://ghfast.top/https://github.com/huggingface/skills)
wget [https://ghfast.top/https://raw.githubusercontent.com/huggingface/skills/main/README.md](https://ghfast.top/https://raw.githubusercontent.com/huggingface/skills/main/README.md)

注意:

6.2 Hugging Face 加速(设置镜像站)

export HF_ENDPOINT="[https://hf-mirror.com](https://hf-mirror.com/)"
hf download Qwen/Qwen3.5-35B-A3B --local-dir /root/models/Qwen3.5-35B-A3B
export HF_HUB_DOWNLOAD_TIMEOUT=30

6.3 大仓库更稳:hfd 多线程下载(可选)

如果模型仓库文件特别多,或网络波动明显,可按文档使用 hfd:

wget -O hfd.sh [https://hf-cdn.sufy.com/hfd/hfd.sh](https://hf-cdn.sufy.com/hfd/hfd.sh)
chmod +x hfd.sh
mv hfd.sh /usr/local/bin/hfd
export HF_ENDPOINT="[https://hf-mirror.com](https://hf-mirror.com/)"
hfd Qwen/Qwen3.5-35B-A3B

6.4 云主机环境初始化

通过 Cursor 连接到云主机后,在终端中执行以下初始化脚本:

#!/bin/bash
nvidia-smi
pip install --upgrade pip
pip install -U huggingface_hub[cli] # HF CLI
pip install -U transformers # Transformers
pip install -U datasets # 数据集工具
pip install -U accelerate # 加速训练
pip install -U bitsandbytes # 量化工具
pip install -U peft # LoRA / QLoRA
pip install -U trl # TRL 训练框架
pip install -U gradio # Gradio UI
pip install -U vllm # vLLM 推理引擎
pip install -U trackio # 训练追踪
hf auth login
hf auth whoami
python -c "import torch; print(f'PyTorch: {torch.__version__}'); print(f'CUDA: {torch.cuda.is_available()}'); print(f'GPU: {torch.cuda.get_device_name(0)}')"

安装 Hugging Face Skills

在 Cursor 中配置 HF Skills 有三种方式,可根据需求选择。

7.1 方式 A:MCP Server 配置(推荐)

MCP(Model Context Protocol)让 Cursor 能直接调用 HF Hub API——搜索文档、查询模型信息、提交训练 Job 等。

在你的项目根目录创建 .mcp.json:

{
"mcpServers": {
"huggingface-skills": {
"url": "[https://huggingface.co/mcp?login](https://huggingface.co/mcp?login)"
}
}
}

配置完成后,Cursor 的 AI 助手可以通过 MCP 直接调用以下能力:

7.2 方式 B:Skills 目录安装

将 Skills 克隆到云主机,然后在项目中引用:

7.3克隆 HF Skills 仓库

cd /root
git clone [https://github.com/huggingface/skills.git](https://github.com/huggingface/skills.git) hf-skills

7.4在你的项目中创建软链接

Terminal window
cd /root/my-project
mkdir -p .cursor/skills
ln -s /root/hf-skills/skills/hugging-face-cli .cursor/skills/hugging-face-cli
ln -s /root/hf-skills/skills/hugging-face-model-trainer .cursor/skills/hugging-face-model-trainer
ln -s /root/hf-skills/skills/huggingface-gradio .cursor/skills/huggingface-gradio

按需链接更多 skills

7.5 方式 C:AGENTS.md 万能回退

如果你的编程代理不支持 Skills 格式(比如某些旧版 IDE),HF Skills 仓库还提供了 agents/AGENTS.md——一个合并了所有技能指令的文档,任何代理都能读取:

cp /root/hf-skills/agents/AGENTS.md /root/my-project/AGENTS.md

三种方式可以叠加使用:MCP 提供实时 API 能力,Skills 目录提供详细的操作指南和模板脚本,AGENTS.md 作为兜底。

用 HF CLI 下载 Qwen3.5

8.1 Qwen3.5 模型选型指南

根据你的 4090(24GB 显存)和使用场景选择:

场景

推荐模型

量化

显存占用

说明

日常推理/对话

Qwen3.5-35B-A3B

Q4 (4-bit)

~22GB

MoE 架构,性价比之王

轻量推理/嵌入场景

Qwen3.5-27B

Q4 (4-bit)

~17GB

Dense 架构,还有显存余量

LoRA 微调

Qwen3.5-27B

Q4 + LoRA

~20GB

Dense 模型微调更成熟

多模态(图 + 文)

Qwen3.5-35B-A3B

Q4 (4-bit)

~22GB

原生视觉 - 语言能力

生产部署

Qwen3.5-35B-A3B-FP8

FP8

~36GB

需要 2×4090

8.2 下载模型

方式一:HF CLI 直接下载

hf download Qwen/Qwen3.5-35B-A3B --local-dir /root/models/Qwen3.5-35B-A3B
hf download Qwen/Qwen3.5-35B-A3B
--include ".safetensors" ".json" "*.txt"
--local-dir /root/models/Qwen3.5-35B-A3B
curl -fsSL [https://ollama.com/install.sh](https://ollama.com/install.sh) | sh
ollama pull qwen3.5:35b
hf download Qwen/Qwen3.5-35B-A3B-GGUF
--include "Q4_K_M"
--local-dir /root/models/Qwen3.5-35B-A3B-GGUF
pip install modelscope
modelscope download Qwen/Qwen3.5-35B-A3B --local_dir /root/models/Qwen3.5-35B-A3B

Qwen3.5 推理部署

9.1 方案 A:Ollama 一键部署(最简单)

适合:快速体验、个人使用、原型开发。

ollama run qwen3.5:35b
import requests
response = requests.post("[http://localhost:11434/v1/chat/completions](http://localhost:11434/v1/chat/completions)", json={
"model": "qwen3.5:35b",
"messages": [
{"role": "system", "content": "你是一个有帮助的 AI 助手。"},
{"role": "user", "content": "解释一下什么是 Mixture of Experts 架构?"}
]
})
print(response.json()["choices"][0]["message"]["content"])

9.2 方案 B:vLLM 生产级部署

适合:高吞吐量推理、多用户并发、API 服务。

Terminal window
vllm serve Qwen/Qwen3.5-35B-A3B
--port 8000
--max-model-len 32768
--gpu-memory-utilization 0.90
--quantization awq
--reasoning-parser qwen3
from openai import OpenAI
client = OpenAI(base_url="[http://localhost:8000/v1](http://localhost:8000/v1)", api_key="any")
response = client.chat.completions.create(
model="Qwen/Qwen3.5-35B-A3B",
messages=[
{"role": "system", "content": "你是一个专业的 AI 编程助手。"},
{"role": "user", "content": "用 Python 写一个快速排序,要求支持自定义比较函数。"}
],
temperature=0.7,
max_tokens=2048
)
print(response.choices[0].message.content)

9.3 方案 C:Transformers 原生推理

适合:研究、自定义推理逻辑、需要细粒度控制。

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "Qwen/Qwen3.5-35B-A3B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="auto",
load_in_4bit=True, # 4-bit 量化以适应 24GB 显存
)
messages = [
{"role": "system", "content": "你是 Qwen,由阿里云开发的 AI 助手。"},
{"role": "user", "content": "请用简洁的语言解释 Transformer 中的注意力机制。"}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)
output = model.generate(
**inputs,
max_new_tokens=1024,
temperature=0.7,
top_p=0.9,
do_sample=True
)
generated = tokenizer.decode(output[0][len(inputs.input_ids[0]):], skip_special_tokens=True)
print(generated)

9.4 大模型上 A800/H20:122B/397B 的部署思路与多卡模板

如果你要把 Qwen3.5 的更大版本(例如 122B-A10B、397B-A17B)用于推理/服务,建议先用下面这个“工程化视角”来规划:先把风险点摊开,再选机器/参数。

三个关键问题:

  1. 权重能否装下?(模型本体 + 运行时开销)
  2. KV Cache 能否扛住目标上下文与并发?
  3. 吞吐是否达标?(否则会出现“跑得起来但很慢”)

9.4.1 在共绩上怎么选:单卡大显存 vs 多卡并行

共绩算力的多卡 4090 机型在定价页有明确规格与价格,可作为多卡部署的直接选择:共绩算力定价页 (https://www.gongjiyun.com/pricing)。%E3%80%82)

9.4.2 vLLM 多卡部署模板(OpenAI 兼容 API)

下面给出一个“多卡通用模板”。核心是让 —tensor-parallel-size 等于 GPU 数:

例:4 卡机(把 tp 设为 4)

Terminal window
vllm serve Qwen/Qwen3.5-35B-A3B
--port 8000
--tensor-parallel-size 4
--max-model-len 32768
--gpu-memory-utilization 0.92
--quantization awq
--reasoning-parser qwen3

如果是 8 卡,把 —tensor-parallel-size 改成 8 即可。对更大模型(122B/397B),你通常也会从“增加卡数 + 收敛上下文/并发”开始。

9.4.3 单卡 A800/H20 的“先跑起来”策略

如果你在单卡 A800/H20 上尝试 122B/397B,更推荐先按“可控变量”逐步加压:

如果你希望在单卡上尽可能增加成功率,优先尝试:

现实建议:如果你的目标是“稳定服务 + 真实并发 + 较长上下文”,更大模型大概率会更偏向 多卡 方案;单卡大显存适合作为“开发/研究/探索”的高确定性环境。

9.5 长上下文与并发调参清单(OOM 速查)

当遇到显存不足(OOM)或吞吐不稳时,可以按下面的顺序处理:

9.5.1 先救命:把 KV Cache 压下来

9.5.2 再优化:把权重压力降下来

9.5.3 最后才考虑:增加硬件

用 HF Skills 微调 Qwen3.5

HF Skills 的 model-trainer 技能提供了完整的训练模板。以下演示如何在 4090 上对 Qwen3.5-27B 做 LoRA 微调(27B Dense 模型更适合微调场景)。

10.1 准备训练数据集

数据集需要是标准的对话格式。你可以使用 HF Hub 上现有的数据集,或者自己创建:

prepare_dataset.py

from datasets import Dataset
data = [
{
"messages": [
{"role": "system", "content": "你是一位共绩算力的技术客服。"},
{"role": "user", "content": "4090 单卡能跑多大的模型?"},
{"role": "assistant", "content": "RTX 4090 拥有 24GB 显存。在 4-bit 量化下,可以运行约 35B 参数的模型(如 Qwen3.5-35B-A3B)。全精度下最大约 13B 参数。如果使用 LoRA 微调,24GB 显存可以微调约 7-13B 的模型。"}
]
},
{
"messages": [
{"role": "system", "content": "你是一位共绩算力的技术客服。"},
{"role": "user", "content": "关机后数据会丢失吗?"},
{"role": "assistant", "content": "不会。共绩算力的云主机支持关机保存,系统盘和数据盘在关机期间会持久化保留。不过为了数据安全,建议将重要数据备份到共享存储卷,因为本地 SSD 没有冗余设计。"}
]
},
# ... 更多训练数据,实际建议 500-5000 条
]
dataset = Dataset.from_list(data)
dataset.push_to_hub("your-username/gongji-customer-service-dataset")
print(f"数据集上传完成,共 {len(dataset)} 条")

10.2 LoRA 微调脚本

train_lora.py
import torch
from datasets import load_dataset
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training
from trl import SFTTrainer, SFTConfig
model_name = "Qwen/Qwen3.5-27B"
dataset_name = "your-username/gongji-customer-service-dataset"

4-bit 量化配置(QLoRA)

Terminal window
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_use_double_quant=True,
)
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
tokenizer.pad_token = tokenizer.eos_token
model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config,
device_map="auto",
trust_remote_code=True,
)
model = prepare_model_for_kbit_training(model)

LoRA 配置

lora_config = LoraConfig(
r=16, # LoRA 秩
lora_alpha=32, # 缩放因子
target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM",
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()

预期输出:trainable params: ~50M || all params: ~27B || trainable%: ~0.19%

dataset = load_dataset(dataset_name, split=“train”)

10.3 训练配置

training_args = SFTConfig(
output_dir="./qwen35-lora-output",
num_train_epochs=3,
per_device_train_batch_size=1,
gradient_accumulation_steps=8, # 有效 batch_size = 8
learning_rate=2e-4,
lr_scheduler_type="cosine",
warmup_ratio=0.1,
logging_steps=10,
save_steps=100,
save_total_limit=3,
bf16=True, # 4090 支持 BF16
gradient_checkpointing=True, # 省显存
max_seq_length=2048,
push_to_hub=True,
hub_model_id="your-username/qwen35-27b-gongji-lora",
report_to="none",
)
trainer = SFTTrainer(
model=model,
args=training_args,
train_dataset=dataset,
processing_class=tokenizer,
)
trainer.train()
trainer.push_to_hub()
print("训练完成!模型已上传到 Hugging Face Hub")

显存占用估算:

10.4 用 Trackio 监控训练

HF Skills 的 trackio 技能可以实时追踪训练指标:

import trackio
trackio.init(
project="qwen35-finetune",
run="lora-v1",
hf_space="your-username/training-dashboard"
)
from transformers import TrainerCallback
class TrackioCallback(TrainerCallback):
def on_log(self, args, state, control, logs=None, **kwargs):
if logs:
trackio.log(logs, step=state.global_step)
trainer = SFTTrainer(
...,
callbacks=[TrackioCallback()],
)

构建 Gradio Demo

使用 HF Skills 的 gradio 技能,可以快速创建一个对话 Demo:

app.py

import gradio as gr
from openai import OpenAI
client = OpenAI(base_url="[http://localhost:8000/v1](http://localhost:8000/v1)", api_key="any")
def chat(message, history):
messages = [{"role": "system", "content": "你是一位友好的 AI 助手,由 Qwen3.5 驱动,运行在共绩算力的 4090 云主机上。"}]
for h in history:
messages.append({"role": "user", "content": h[0]})
if h[1]:
messages.append({"role": "assistant", "content": h[1]})
messages.append({"role": "user", "content": message})
response = client.chat.completions.create(
model="Qwen/Qwen3.5-35B-A3B",
messages=messages,
temperature=0.7,
max_tokens=2048,
stream=True
)
partial = ""
for chunk in response:
if chunk.choices[0].delta.content:
partial += chunk.choices[0].delta.content
yield partial
demo = gr.ChatInterface(
fn=chat,
title="Qwen3.5 on 共绩算力 4090",
description="Qwen3.5-35B-A3B | RTX 4090 24GB | 共绩算力 ¥1.68/时",
examples=[
"解释一下 Mixture of Experts 架构",
"用 Python 实现一个简单的 RAG 系统",
"帮我写一首七言绝句,主题是深夜 coding",
],
theme=gr.themes.Soft()
)
demo.launch(server_name="0.0.0.0", server_port=7860)

启动后,通过 SSH 隧道在本地浏览器访问 http://localhost:7860。


模型上传到 Hugging Face Hub

训练完成后,用 HF CLI 将模型和 Demo 上传:

Terminal window
hf upload your-username/qwen35-27b-gongji-lora ./qwen35-lora-output .
--commit-message="Upload LoRA weights for Qwen3.5-27B fine-tuned on customer service data"
hf upload your-username/qwen35-27b-gongji-lora ./README.md README.md
hf repo tag create your-username/qwen35-27b-gongji-lora v1.0
hf repo create your-username/qwen35-demo --repo-type space --space_sdk gradio
hf upload your-username/qwen35-demo . . --repo-type space

成本核算:租用 vs 自购,怎么算更合理?

以下是一次完整的”下载→推理→微调→部署”全流程的预估成本:

阶段

耗时

共绩算力费用

说明

环境初始化

~15 分钟

¥0.42

安装依赖、登录 HF

模型下载

~20 分钟

¥0.56

70GB 模型文件

推理测试

~30 分钟

¥0.84

调试、验证输出

LoRA 微调(1000 条数据)

~2 小时

¥3.36

3 个 epoch

Gradio Demo 调试

~30 分钟

¥0.84

前端调试

模型上传

~10 分钟

¥0.28

上传到 Hub

合计

~4 小时

~¥6.30

一个更贴近现实的对比:4090 自购价格会随渠道/供需波动(常见区间约 ¥12,000–¥16,000)。按 4090×1 的 ¥1.68/时估算,回本小时数约为:

也就是连续跑 297–397 天 才可能“追平”硬件成本(还没算电费、折旧、故障与时间成本)。对大多数需要“按需用 GPU”的团队/个人,云端按秒计费更容易把成本控制在可接受范围内。

九大 HF Skills 速查表

你想做什么

对 Cursor 说

对应 Skill

下载模型

"下载 Qwen3.5-35B-A3B 到 /root/models"

hugging-face-cli

上传数据集

"把 ./data 目录上传为 HF 数据集"

hugging-face-datasets

SFT 微调

"用 SFT 在这个数据集上微调 Qwen3.5"

hugging-face-model-trainer

DPO 对齐

"用 DPO 做偏好对齐训练"

hugging-face-model-trainer

跑批量推理

"在 HF Jobs 上批量推理 1 万条数据"

hugging-face-jobs

评测模型

"评测微调模型在 MMLU 上的得分"

hugging-face-evaluation

监控训练

"设置 Trackio 追踪训练过程"

hugging-face-trackio

创建 Demo

"用 Gradio 创建一个对话 Demo"

huggingface-gradio

发布论文

"在 Hub 上发布这个模型的论文页"

hugging-face-paper-publisher

14.1 常见问题 FAQ

14.2 Cursor 连接共绩云主机时一直断开怎么办?

A:可能原因:

Terminal window
Host gongji-4090
HostName xnc1.550c.cloud
Port 35012
User root
ServerAliveInterval 60
ServerAliveCountMax 3

14.3 4090 显存不够跑 Qwen3.5-35B-A3B 怎么办?

A:三个方案:

  1. 使用更激进的量化(Q3 而非 Q4),显存降至约 18GB
  2. 减小 max-model-len(上下文长度),例如设为 8192
  3. 升级到 2×4090 配置(共 48GB 显存,¥3.36/时),可以跑 FP8 版本

17.3 HF Skills 的 Jobs 和直接在云主机上跑有什么区别?

A:

14.4 模型下载很慢怎么办?

A:

14.5 关机后已下载的模型还在吗?

A:是的,共绩算力的云主机支持关机保存,系统盘和数据盘会持久化保留。但强烈建议将大模型文件放到共享存储卷,因为本地 SSD 没有冗余,单点故障可能导致数据丢失。

14.6 可以同时跑推理和微调吗?

A:在单张 4090(24GB)上不建议——显存不够同时容纳两个任务。可以:

14.7 如何把微调模型转成 GGUF 用 Ollama 跑?

Terminal window
先合并 LoRA 权重到基础模型
python -c "
from peft import AutoPeftModelForCausalLM
model = AutoPeftModelForCausalLM.from_pretrained('./qwen35-lora-output')
model = model.merge_and_unload()
model.save_pretrained('./qwen35-merged')
"
使用 llama.cpp 的转换脚本
git clone [https://github.com/ggml-org/llama.cpp](https://github.com/ggml-org/llama.cpp)
cd llama.cpp
python convert_hf_to_gguf.py ../qwen35-merged --outtype q4_k_m
Ollama 中创建自定义模型
cat > Modelfile << 'EOF'
FROM ./qwen35-merged-Q4_K_M.gguf
SYSTEM "你是一位共绩算力的技术客服。"
PARAMETER temperature 0.7
EOF
ollama create gongji-assistant -f Modelfile
ollama run gongji-assistant

总结与进阶路线

本文的核心链路:

本地 Cursor ──SSH──> 共绩云主机(示例:4090×1)──Skills──> HF 生态

│ │ │
│ 编辑代码/指挥 AI │ 执行训练/推理 │ 模型/数据/社区
└────────────────────┴─────────────────────┘

你学到了什么:

  1. 用 Cursor SSH 远程连接共绩算力云主机,获得”本地体验”的云端 GPU 开发环境
  2. 安装和配置 Hugging Face Skills + MCP,让 AI 编程助手成为你的 AI/ML 操作员
  3. 在 RTX 4090 上部署 Qwen3.5-35B-A3B(推理)和 Qwen3.5-27B(微调)
  4. 全流程成本不到 ¥10,远低于购买硬件

进阶方向:

方向

说明

涉及 Skills

多模态应用

Qwen3.5 原生支持图文理解,可以做图片问答、文档解析

gradio + cli

RAG 系统

结合向量数据库,构建企业知识问答系统

tool-builder

Agent 开发

基于 Qwen-Agent 框架做工具调用 Agent

cli + jobs

分布式训练

升级到 4×4090,做更大规模的全量微调

model-trainer

RLHF/DPO 对齐

在 SFT 基础上做偏好对齐

model-trainer

模型评测发布

评测后发表到 HF Hub,积累社区影响力

evaluation + paper-publisher

欢迎交流:如果你在共绩算力上跑 Qwen3.5 遇到问题,或者对 HF Skills 有使用心得,欢迎在评论区留言。

相关阅读:

准备好开始您的 AI 之旅了吗?

读完这篇文章,想必您对 AI 技术有了更深的了解。现在就来体验共绩算力,让您的想法快速变成现实。

✓ 已有 10 万 + 开发者在使用

✓ 99.9% 服务可用性

✓ 开箱即用的容器托管