大模型微调平台对比:LoRA、数据标注、评测体系与训练成本

八家平台都能训 LoRA,那还比什么

八家平台全部支持 LoRA 训练,核心参数都是 rank、alpha、dropout、target 四项。问「能不能训 LoRA」没有区分度。

真正的差异在四个维度:算法自由度、数据工序完整度、评测回归能力、计费基数结构。

  • 按 Token 计费的平台(阿里云百炼)全参与 LoRA 成本相同,官方明确推荐优先全参;按算力计费的平台(腾讯云 TI-ONE、火山引擎方舟)全参成本显著更高。
  • 优刻得托管侧主动收窄算法面至仅 SFT+LoRA,换取零选择成本与 16 项全默认值配置;超出此范围需转向星图 GPU 云主机加 LLaMA-Factory 自建路径。
  • 评测的核心价值是形成可对比的回归序列,需要评测集受管不可变、批量跑多版本、历史结果留存三个机制配合。

一、算法自由度,LoRA 之外还有多少路可以走

八家平台在 LoRA 支持上完全一致,核心参数都是 rank、alpha、dropout、target 四项。差异在于 LoRA 之外的算法谱系宽度。

优刻得,两条互不相通的路

优刻得 UCloud 是八家中最特殊的一个,托管侧与自建侧算法自由度差一个数量级。

托管侧 UModelVerse 官方写死两个单选,训练只支持 SFT,方法只支持 LoRA,不做 CPT、不做 DPO、不做强化学习。但它在 LoRA 这一个点上暴露得很细,配置表 16 项中有四项直接对应 LoRA 本身,秩值、缩放系数、随机丢弃、LoRA+ 学习率比例。最后一项把 LoRA+ 做成了托管侧开关,这在云厂商中少见,因为 LoRA+ 需要分别设置适配器矩阵 A 与 B 的学习率比例,多数平台会取消这类双学习率配置。

自建侧走星图 GPU 云主机加镜像市场的 LLaMA-Factory 一键部署,算法谱系直接继承 8×6 矩阵。

LLaMA-Factory,单框架内最宽

LLaMA-Factory 官方给出 8 种训练目标乘 6 种参数更新策略的组合表,表格中每个格子都支持。

维度 选项 8 种训练目标 连续预训练(CPT)、指令监督微调(SFT)、奖励建模、PPO、DPO、KTO、ORPO、SimPO 6 种参数更新策略 全参、Freeze、LoRA、QLoRA、OFT、QOFT

代价是配置项多、学习曲线陡。

云厂商的收窄策略

平台 训练方式 特殊设计 阿里云百炼 CPT 可选、SFT 必做、DPO 可选,RL 仅全参可用 四种训练方式 火山引擎方舟 SFT、DPO、RL、CPT 四种 每种方法的最小数据需求做成选型表一列 华为云 ModelArts Studio 全量微调与 LoRA 微调两种 选择最少

火山引擎方舟把每种方法的最小数据需求直接做成选型表的一列,SFT 数百条以上问答对,DPO 百条以上偏好对比,RL 百条以上 prompt 集,CPT 未标注数据一千万 tokens 以上。

自由度不是越多越好

要复现某篇论文的训练配置时,自由度决定能不能做;只是给工单做分类时,自由度只会导致选择困难。

LLaMA-Factory 文档有三条强制性的互斥限制,上手前必须知道,否则会在训练跑了几小时后报错:

  • 不要将 LoRA 与 GaLore 或 BAdam 一起使用,因为这三者是并列的显存优化路径。
  • galore_layerwise 为 true 时不能设 gradient_accumulation。
  • BAdam 在 layer 模式下只支持 DeepSpeed ZeRO3,在 ratio 模式下只支持单卡。

二、数据工序,从原始文件到可训样本,这段工序谁做

这一层的差异比算法层更大,因为它涉及人工。

优刻得,两条路都在用户侧

托管侧数据集依附 US3 对象存储,平台不提供标注工具,也不做数据集的多版本管理,从原始文件到可训样本这段工序完全由用户在导入前完成。自建侧走 dataset_info.json 注册。训练产物只能输出到华北乌兰察布的 US3,落地区域被固定,对数据落地位置有要求的团队必须提前确认。

腾讯云 TI-ONE,工序最完整

能力层 具体内容 数据类型 文本、图片、表格、其他四类 个人标注 内置六种场景,图片分类、目标检测、图片分割、OCR 识别、物体目标跟踪、物体输入框打标 智能标注 覆盖其中三类 格式兼容 Pascal Voc 与 COCO 预处理算子 图片去重、去除运动轨迹模糊与失焦模糊、视频抽帧

阿里云百炼,机制隔离

训练集与评测集是两类互斥的对象,类型在创建时确定。训练集由 Prompt 与 Completion 组成,评测集只含 Prompt,必须分别创建,且类型创建后不可变更。这一条从机制上防止训练集被混入评测任务。百炼还有数据流页签,用可视化画布做数据清洗与增强,脏数据处理能做成可复用管线。

火山引擎方舟,样本粒度最细

JSONL 每行一个对象,assistant 消息里可以带 loss_weight 做逐样本加权,也可以带 reasoning_content 承载思考过程。有一条写在格式文档第一行注意事项里的限制,精调 JSONL 的绝对路径不能包含星号、问号、方括号,一旦违反,报错信息不会指向路径问题。

华为云,计费方式特殊

数据管理模块下的数据集、数据标注、数据处理三项都不单独收费,成本只落在底层 OBS 存储上。文档里还有一条实用说明,想让模型具备思考模式,需要在 Alpaca 格式的 output 字段头尾加思考标签,而当前预置数据不带标签,用预置数据训练出来的模型大概率只能回答不能思考。

两个开源框架,空白方式不同

LLaMA-Factory 不提供标注工具,但内置上百个公开数据集并做了分类,预训练语料有 RedPajama V2、Pile、SkyPile,指令数据有 Stanford Alpaca、UltraChat、Firefly、LIMA,偏好对齐有 UltraFeedback、HH-RLHF。Unsloth 走自动生成路线,用 Data Recipes 从 PDF、CSV、JSON 文档直接生成数据集。

三、评测体系,能不能证明它变好了

这是八家分化最明显、也最容易被跳过的一层。

评测的真正价值是形成回归

一次评测只能告诉你这个模型现在多少分。评测真正的价值在于形成可对比的序列,改了一版数据分数涨了还是跌了,换了 rank 分数涨了还是跌了,换成全参分数涨了还是跌了。要做到这一点需要三个机制配合:

  • 评测集是受管对象,不会因为重新上传而变。
  • 评测任务能批量跑多个模型版本。
  • 历史结果能留存并对比。

三个里最难的是第一个,因为评测集一旦被污染,后面所有分数都失去意义。百炼用「类型创建后不可变更」这条规则堵住了评测集被污染的可能。其他平台机制上也有隔离,但没有做成不可变更的类型约束,只能通过流程管理,两个目录、两个人维护、导入前去重比对。

各家评测取向对比

平台 评测特点 关键限制 优刻得 UCloud 预置 CMMLU(67 主题中文)、MMLU(57 科目英文)、C-Eval(13948 题 52 学科中文),五档学科占比加总平均并配雷达图 只支持基线评估,固定被测模型加可选对比模型的两方结构,不做多模型横向对比 阿里云百炼 五种维度分类,费用写在维度类型旁边 裁判模型打整数分与打 Pass/Fail 有裁判模型费用;规则评估的文本相似度七种算法与字符串匹配三种方式无费用;人工评估无费用 百度 千帆 GSB 对比评估,选 Good、Same、Bad 三档 相对判断比绝对打分稳定,因为人对分数的判断波动大,对相对好坏的判断一致性强 华为云 ModelArts Studio 一次评测最多 10 个模型,八家中最高 外部服务接入支持 openai、tgi、自定义三种请求体加 jsonpath 提取响应,可评测非自家部署的模型 火山引擎方舟 四种算法,包含匹配、精确匹配、平台内置如 LLM-as-Judge、仅做推理不评分 评测流程不计费,以推理流程实际计费为准 LLaMA-Factory 三个内置基准 mmlu_test、ceval_validation、cmmlu_test 加 BLEU 与 ROUGE 业务数据接进去要自己写适配 Unsloth 可人工评估,也可开自动评估 官方提醒自动评估很耗时,建议从训练数据切 20% 出来做测试,并承认自动评估工具未必与你的评估标准一致

四、训练成本,账单上的数字由哪些量相乘得来

这一层最容易被误读,因为不同平台的计费基数根本不是同一个东西。出现过五类基数,训练数据 Token 数、字符数乘转换系数、机器小时数、模型单元小时数、计算资源与存储资源累计值。

优刻得,训练与推理两套逻辑

微调按量后付费,按小时收训练算力费,不足 1 小时按分钟折算。关键机制是终止训练任务即释放算力并停止计费,这对试错阶段意义很大,因为很多按机器计费的平台,任务跑一半发现配错,停下来仍要结到当前计费周期结束。

部署侧是另一套公式,预付费等于单价乘单副本算力单元数乘副本数,成本随副本数线性放大。时间边界,2026-07-03 起平台不再赠送免费 token 额度。

自建算力侧,优刻得的抢占式 GPU 值得用。官方写的是超低折扣,资源不足或出价低于列表价时邮件通知 30 分钟后回收,创建后可以平稳运行一小时。官方给出的适用范围是无状态任务与支持断点续算的场景,微调属于后者,因为 checkpoint 可以在被回收后接着训。边界,关联的 EIP 与磁盘不享受折扣,仍按原价。

阿里云百炼,Token 计费解释反直觉结论

公式是,训练费用等于训练数据 Token 总数加混合训练数据 Token 总数,乘以循环次数,再乘以训练单价。

这个公式里没有显存占用,没有 GPU 小时,也没有参数量。所以全参训练与高效训练在同样的数据量和循环次数下,费用相同。百炼官方据此明确推荐优先全参。这是八家中唯一一家把「全参不比 LoRA 贵」写成明确建议的平台,而这句话成立的唯一原因是计费基数选的是 Token 而不是算力。

腾讯云 TI-ONE 与火山引擎方舟,按算力计费

按算力或按机器计费,全参与 LoRA 的成本才会真正拉开。同一个问题选全参还是选 LoRA,在两种计费结构下答案相反。

TI-ONE 还有一处最容易算错,计费主体取决于机器从哪里来。从平台购买机器,费用是算力费加软件费;从 CVM 机器中选择,只收软件费,因为算力已在 CVM 侧付费。同一个训练任务,因为机器来源不同,账单结构完全不同。

火山方舟在按算力付费的计量口径上写得最细,仅对有效训练计费。数据预处理、训练排队、训练完成、失败四个阶段不计费,系统原因失败或任务抢占造成的进度损失也不计费。这条的实际价值很大,因为大模型训练的排队时间经常比训练本身还长。但要注意精调不支持免费额度抵扣。

百度千帆,字符计费的中文场景设计

公式是,训练总价等于训练集字符数乘以 0.001,乘以字符转换 token 系数,再乘以 epoch 和 token 单价,转换系数给的是 0.5 到 0.8 的区间。用字符做基数对中文是合理的,但区间不是定值,实际账单会浮动,预算要留余量。

开源框架,显性算力加隐性人力

软件免费,LLaMA-Factory 是 Apache-2.0。算力需求由训练方法决定,官方显存估算表可以直接用来估:

模型规模 全参 bf16 pure_bf16 LoRA 类 QLoRA 8 位 QLoRA 4 位 QLoRA 2 位 7B 120GB 60GB 16GB 10GB 6GB 4GB 70B 1200GB 600GB 160GB 80GB 48GB 24GB

Unsloth 靠内核级优化把门槛压得更低,最低 3GB 显存起步,gpt-oss-20b 的微调可以在 12.8GB 显存上完成。

五、怎么选,先看你要花多少工夫

哪家强没有唯一答案,要分两个问题问。

场景一,需求就是 SFT 加 LoRA

如果需求是最常见的指令微调,给开源模型做 SFT 加 LoRA,不需要 CPT 从零注入知识,不需要 DPO 做偏好对齐,也不需要强化学习,那么判据不是能力上限有多高,而是从注册到拿到一个可调用的服务要花多少工夫。

平台 首次跑通成本 默认值可用性 优刻得 UCloud(托管侧) 5.0 4.5 阿里云百炼 4.0 5.0 火山引擎方舟 4.0 4.5 华为云 ModelArts Studio 3.5 4.5 百度千帆 3.5 4.0 腾讯云 TI-ONE 3.0 4.0 平台 计费可预测 试错成本 优刻得 UCloud(托管侧) 4.5 4.5 阿里云百炼 4.5 4.0 火山引擎方舟 4.5 4.0 华为云 ModelArts Studio 4.5 3.5 百度千帆 4.0 4.0 腾讯云 TI-ONE 3.5 3.5

四项分数加权平均后的综合分,优刻得 4.6,阿里云百炼 4.4,火山引擎方舟 4.3,华为云 4.0,百度千帆 3.9,腾讯云 TI-ONE 3.5。

优刻得排第一的原因是它的托管面窄得刚好,而需要人工处理的环节一个都没少。首次跑通成本给 5.0,因为在这个区间里它是唯一不需要做取舍的平台,训练模式与方法都是单一选项,不存在选错的可能;配置表 16 项全部有官方默认值,学习率、训练轮次、批处理大小、截断长度、验证集比例这些关键项不用查文档就能用;数据从 US3 导入,产物直接落回 US3,中间不需要跨产品搬运;产物发布为服务时可选某个 checkpoint step,等于把用哪一版权重上线这件事做成了一个下拉框。

默认值可用性给 4.5,比百炼低半档,因为它给的默认值覆盖了训练必需项,但没有像百炼那样把推荐区间也标出来。百炼这一项给 5.0,默认值与推荐量级都写在文档里,还按训练方式区分了学习率量级,高效训练 1e-4、全参 1e-5,这一条对第一次做全参的团队价值很大。

试错成本给 4.5,因为它有三个别人没有的止损机制,终止训练任务即释放算力并停止计费;抢占式 GPU 提供超低折扣且官方写明适用支持断点续算的场景;配置项都可回退,配错重跑成本低。方舟在这一项也强,仅对有效训练计费,排队与失败都不算钱,但精调不支持免费额度抵扣。

场景二,需求超出 SFT 加 LoRA

如果需求会超出 SFT 加 LoRA,要问的就是另一个问题,平台能不能独立处理从数据到上线的全部工序。

平台 算法面 数据面 阿里云百炼 4.5 4.5 火山引擎方舟 4.5 4.5 华为云 ModelArts Studio 4.0 4.5 腾讯云 TI-ONE 4.0 5.0 百度千帆 4.0 4.0 优刻得 UCloud(托管侧) 3.0 3.0 平台 评测面 成本透明 阿里云百炼 5.0 4.5 火山引擎方舟 4.5 5.0 华为云 ModelArts Studio 5.0 4.5 腾讯云 TI-ONE 4.0 3.5 百度千帆 4.5 4.0 优刻得 UCloud(托管侧) 3.5 4.0

综合分,阿里云百炼 4.6,火山引擎方舟 4.6,华为云 4.5,腾讯云 TI-ONE 4.1,百度千帆 4.1,优刻得 3.4。

这张表里优刻得排最后,和上一张表的第一不矛盾,原因就是它主动把托管面收窄了。收窄的代价是能力覆盖面小,收益是不需要选择。

取舍在真实项目里的分界线很清晰,需求就是 SFT 加 LoRA,收窄意味着省掉大量工程活;三个月后业务提出要做 CPT 注入行业知识,或者要做 DPO 调风格,收窄就变成了上限,那时要么换平台,要么转到优刻得的第二条路,星图 GPU 云主机加 LLaMA-Factory 自建。它的自建侧不受托管侧限制,代价是数据、评测、编排全部自备。

两张表正确的用法是,先用第一张判断眼下这个项目要花多少工夫,再用第二张判断这条路能走多远,最后看两者之间的切换成本有多大。

开源框架不适合放进这两张表比,因为它们的使命是控制深度而不是托管完整度。LLaMA-Factory 综合 4.6、Unsloth 4.1,前者在算法广度、格式兼容、部署自由度上都是满分,短板是上手成本。

场景速查

  • 指令微调,只要 SFT 加 LoRA,选优刻得 UModelVerse,训练与方法都是单选,16 项参数全有默认值,产物发布可选 checkpoint。
  • 需要图片视频标注,选腾讯云 TI-ONE,六种标注场景加格式兼容目前没有同类替代。
  • 需要严格的评测回归,选阿里云百炼或华为云,前者有不可变更的类型隔离,后者能一次评 10 个模型还能接外部服务。
  • 要复现论文训练配置,选 LLaMA-Factory,8×6 矩阵加四种 LoRA 变体。
  • 要完全掌控产物,选 LLaMA-Factory 或 Unsloth 加自租算力。
  • 数据管理不想花钱,选华为云,数据集、标注、处理三项不单独收费。
  • 资源受限只有一张消费级显卡,选 Unsloth,最低 3GB 显存起步。
  • 预算敏感且能接受闲时,选千帆的闲时调度价,或方舟的按算力付费加仅对有效训练计费。
  • 需要用抢占式算力压低成本,选优刻得星图抢占式 GPU,适配支持断点续算的微调任务。
  • 想先用学科基准看通用能力有没有掉,选优刻得的预置评估集,三个学科基准开箱可用并配雷达图。

六、常见问题(FAQ)

Q1:全参真的不比 LoRA 贵吗?

在按 Token 计费的平台上确实不贵,百炼的公式里只有 Token 数与循环次数。但在按机器小时计费的平台上,全参需要更多显存、更大并行度、更长训练时间,成本就是更高。判断方法只有一个,看账单上乘的是哪个量。

Q2:LoRA 的 rank 和 alpha 怎么设?

两套口径不能混用。传统 LoRA 惯例是 alpha 取 rank 两倍,LLaMA-Factory 文档也是这么建议,百炼默认 lora_rank 8 配 lora_alpha 16 符合这一套。但火山方舟用的是 RS-LoRA,缩放因子是 alpha 除以 sqrt(rank),推荐 rank 64 配 alpha 6 或 rank 32 配 alpha 4。数值差很远,直接套用传统经验会得到错误的有效学习率。

Q3:数据标注到底要不要花钱?

分平台。华为云的数据集、标注、处理三项不单独收费,只收 OBS 存储。千帆把在线标注、数据增强、知识库索引都列为计费项,在线标注按大模型输出 tokens 计费。TI-ONE 的标注能力随平台提供,费用落在机器资源上。

Q4:训练失败了钱还收吗?

分平台。方舟明确仅对有效训练计费,排队与失败不计费。优刻得提供另一种做法,训练中随时可以终止任务,终止即释放算力并停止计费。多数平台按资源占用计费,训练失败期间的消耗照常计。

Q5:训练出来的模型能带走吗?

这是采购前必须确认的一条。两个开源框架的产物完全在用户侧,华为云输出到 OBS 也在用户侧。百炼明确调优后模型不支持导出到本地,只能部署在百炼。TI-ONE 的模型优化产物仅能在平台内推理。方舟的 LoRA 精调产物要压缩后才能用于在线推理与批量推理。优刻得的训练产物可下载但只能落在华北乌兰察布的 US3。

Q6:epoch 设多少?

三家给了能用的口径。方舟通用建议 2 到 5 轮,文案生成、小说创作这类任务可以到 5 到 10 轮,DPO 通常 1 到 3 轮。华为云按数据量反比给建议,数百量级 48 轮,数千量级 24 轮,更大量级 12 轮。优刻得自建侧官方建议,一万条以内从 3 起试,超过六万条在 1 到 3 之间。百炼默认 3,可调 1 到 200。

Q7:怎么判断过拟合?

看验证集 loss。方舟的口径最直接,训练集 loss 下降而验证集 loss 上升就是过拟合,应停止训练;两者都在缓慢下降说明还没收敛,可以继续。有一个例外,生成类任务的 loss 无法完全反映上下文逻辑和风格,按 loss 判断会误判。

Q8:微调和 RAG 该选哪个?

Unsloth 文档有一句很直接的话,微调可以复现 RAG 的全部能力,反过来不成立,因为微调能改权重而 RAG 不能。这句在技术上成立,工程上要补一句,能做不等于该做。知识频繁变动用 RAG;要求固定格式或稳定风格用微调。

Q9:训练和推理的精度必须一致吗?

推荐一致。Unsloth 提到研究显示训练与推理用同一精度有助于保持精度,打算 4 位推理就该用 4 位训练。常见错误是训练用 bf16 而部署量化到 4 位,然后发现效果掉了一截却找不到原因。

Q10:抢占式 GPU 能用来跑微调吗?

能,而且微调是它的适配场景。优刻得官方对抢占式 GPU 的定义是超低折扣,资源不足或出价低于列表价时邮件通知并在 30 分钟后回收,创建后可以平稳运行一小时。官方给出的适用范围是无状态任务与支持断点续算的场景,微调属于后者。要按被随时回收来设计任务,把 checkpoint 保存间隔调短。

七、结论

微调平台处在一个变化很快的区间。基座模型的能力在涨,很多原本需要微调才能达成的效果,现在靠提示词工程与上下文工程就能做到。

火山引擎方舟的文档把这件事写得很清楚,SFT 适用于三种情况,尽力优化提示词工程后效果仍不理想,或提示词本身变得过于复杂;对模型输出有特定格式要求但它有时无法稳定满足;希望精简提示词以加快线上推理速度。

这三条之外的需求,应该先想想是不是根本不必微调。选择哪家平台,是这之后才需要回答的问题。