学员实践:openbili AI 接入驾驶舱介绍
Calvin 是「翔宇工作流」的学员,方向是 AI 模型中转。他把这件事做成了独立站点「openbili」,覆盖 OpenAI SDK 兼容、模型路由、调用成本可见、失败可解释。本文将其介绍给关注同方向的读者。
Gemini 微调简明实操指南,基于 Google Cloud 官方最佳实践提炼的从数据准备到参数调优完整流程。教程涵盖微调五步走全景图、与提示词工程和 RAG 的选型对比、训练数据质量标准、指令格式添加规范和超参数设置建议。补充最新变化包括多模态微调新能力和偏好调优特性,帮你用最直白的方式完成 Gemini 模型定制。
微调就像给一个全科医生做专科培训——基础模型什么都懂一点,但在你的业务场景下表现平平,因为它缺少你的行业经验和判断标准。微调就是把这些"专科知识"灌进去的过程。
翔宇把 Google Cloud 官方博客上的 Gemini 微调最佳实践,用最直白的方式讲给你。同时补充了截至 2026 年的最新变化——包括支持的模型版本更新、多模态微调的新能力、以及偏好调优等新特性。

要点速览
整个微调过程分五步,每一步解决一个具体问题:
| 步骤 | 核心任务 | 解决的问题 |
|---|---|---|
| 建立基准线 | 测试基础模型表现 | 知道差在哪 |
| 数据准备 | 收集高质量训练数据 | 给模型好教材 |
| 添加指令 | 告诉模型做什么 | 明确任务意图 |
| 超参数设置 | 调控训练过程 | 控制学习节奏 |
| 模型评估 | 验证微调效果 | 确保真的变好了 |
搞懂了这张地图,我们按顺序往下走。
在动手微调之前,你需要先判断微调是不是你真正需要的方案。Google Cloud 官方文档明确给出了三种优化路径的对比:
| 方案 | 适用场景 | 投入成本 | 效果上限 |
|---|---|---|---|
| 提示词工程 | 标签数据少、任务明确 | 最低(不需要训练) | 中 |
| RAG | 需要引用外部知识库 | 中(构建检索系统) | 中高 |
| 监督式微调(SFT) | 有大量标注数据、需要特定风格/格式 | 高(数据准备+训练) | 最高 |
| 偏好调优(RLHF/DPO) | 主观质量判断、风格偏好 | 最高 | 最高 |
翔宇的判断标准:如果你通过调整提示词就能达到 80% 以上的满意度,不要微调。微调的价值在于那最后的 20%——而且这 20% 需要持续的数据投入来维持。
在动手微调之前,翔宇建议你先做一件事:拿你的实际任务跑一遍基础模型。
这就像改造一辆车之前先试驾——你得知道原车哪里不满意。
怎么做:
翔宇推荐用电子表格记录基准测试。每行一个测试样本,列包括:
| 输入 | 期望输出 | 基础模型输出 | 评分(1-5) | 问题分类 | 优化提示词后评分 |
|---|
问题分类 参考:格式错误、事实错误、风格不符、信息遗漏、过度冗长、幻觉。
只有在优化提示词后仍有大量样本评分低于 3 分时,微调才是值得投入的。
截至 2026 年 3 月,Google 支持微调的 Gemini 模型已经更新到:
Gemini 2.5 Pro — 综合能力最强,处理复杂推理任务更好。支持文本、图片、音频、视频和文档的多模态微调。适合对性能要求高、预算相对充足的场景。
Gemini 2.5 Flash — 响应速度快,成本低。同样支持多模态微调。适合实时对话机器人这类延迟敏感型项目。
Gemini 3.1 Flash — 最新一代模型,推理能力进一步提升。根据 Google Cloud 最新发布说明(2026 年 3 月),Gemini 3.1 系列正在逐步支持微调功能。
重要变化:Gemini 1.5 Flash-001 已于 2025 年 5 月弃用。如果你之前在 Gemini API 或 AI Studio 中使用过微调功能,需要迁移到 Vertex AI 平台。当前微调功能主要通过 Vertex AI 提供。
翔宇的建议:根据你的具体需求选。不确定的话,先用 Flash 试水,不够再换 Pro。Flash 的训练成本大约是 Pro 的 1/3 到 1/5。
翔宇在开始微调项目之前会先完成一份准备工作清单,确保方向正确后再投入资源:
明确业务目标。 微调不是为了"让模型更聪明",而是为了解决一个具体的业务问题。比如"客服回复准确率从百分之七十提升到百分之九十"或者"生成的营销文案风格匹配度从三分提升到四分"。没有量化目标的微调项目很容易陷入无限调优的死循环。
评估替代方案。 翔宇见过不少团队花了几周时间准备微调数据,结果发现精心设计的提示词就能达到百分之九十的效果。在动手之前,先花一到两天时间认真优化提示词,对比基线效果。如果提示词优化后仍然有明显的能力缺口,再考虑微调。
预算规划。 微调的成本不只是训练费用——数据准备的人力成本往往更高。翔宇的经验是:准备一百条高质量训练数据大约需要一到两天的人工标注时间,五百条需要一周左右。提前规划好人力和时间预算,避免项目中途发现资源不够。
合规检查。 如果训练数据涉及用户隐私或敏感信息,必须先完成数据脱敏和合规审查。Google Vertex AI 提供了数据加密和访问控制功能,但数据本身的合规性需要你自己负责。
这一步是整个微调的核心。翔宇要特别强调:别追求数据量,追求数据质量。
相关性。 数据必须和你的应用场景紧密相关。做客服机器人,训练数据就应该是真实的客服对话,不是网上随便找的聊天记录。Google 官方文档特别强调:训练数据的格式和风格应该尽可能接近你实际推理时的输入格式。
多样性。 覆盖各种可能的场景和边界情况。就像学开车不能只练直线,转弯、倒车、停车都得会。翔宇的经验是:至少覆盖你业务中 80% 的场景类型,对于每个场景类型至少提供 10 个以上的示例。
准确性。 标注必须正确。错误标注会把模型"带歪"——请了个不靠谱的老师,越学越偏。建议安排多人交叉验证标注结果。
Google Vertex AI 要求训练数据使用 JSONL 格式,每行一个训练样本。基本结构:
{
"systemInstruction": {"parts": [{"text": "你是一个专业客服..."}]},
"contents": [
{"role": "user", "parts": [{"text": "用户问题"}]},
{"role": "model", "parts": [{"text": "期望回答"}]}
]
}
多模态微调 是 2026 年的新能力——你现在可以在训练数据中包含图片、音频、视频和文档。这意味着你可以微调一个能理解你业务特定图表、产品图片或音频内容的模型。
想象一下老师让你把同一个句子抄 100 遍——没用,反而浪费时间。训练数据也一样。
去重的几种方法:
| 任务类型 | 最低数据量 | 推荐数据量 | 说明 |
|---|---|---|---|
| 文本分类 | 100 条 | 500-1000 条 | 类别均衡很重要 |
| 风格转换 | 50 条 | 200-500 条 | 质量比数量更关键 |
| 对话生成 | 200 条 | 1000+ 条 | 多轮对话算多条 |
| 信息抽取 | 100 条 | 500-1000 条 | 覆盖各种实体类型 |
| 代码生成 | 50 条 | 200-500 条 | 仅支持监督式微调 |
可以做数据增强:改写同义表达、调整句子结构、添加合理变体。但增强的数据也要保证质量——别为了凑数量降低质量。
翔宇的实操方法:用另一个强模型(如 Claude 或 GPT-4)来生成训练数据的变体,然后人工审核。这比纯手工编写效率高 5-10 倍。
这一步很多人容易忽略。你需要明确告诉模型:你希望它做什么。
系统指令(全局性): 适用于所有训练样本。比如:"你是一个专业的客服助手,需要用礼貌、简洁的语言回答用户问题。"
实例级指令(针对性): 针对具体样本。比如:"根据以下客户评论,判断情感是正面、负面还是中性。"
翔宇的建议:两种方式结合使用效果最好。系统指令定义整体风格,实例指令处理具体任务。
超参数就是控制训练过程的几个"旋钮"。翔宇把 Google 官方推荐的设置整理成了表格:
| 数据量 | 训练轮数 | 学习率倍数 | 适配器大小 |
|---|---|---|---|
| < 1000 条 | 20 | 10 | 4 |
| >= 1000 条 | 10 | 默认或 5 | 4 |
| 数据量 | 训练轮数 | 学习率倍数 | 适配器大小 |
|---|---|---|---|
| < 1000 条 | 默认 | 10 | 4 |
| >= 1000 条 | 默认 | 默认 | 8 |
注意 Flash 在大数据量时适配器大小用 8,而 Pro 用 4。
训练轮数(Epochs):数据被完整训练一遍算一个 epoch。太少学不到位,太多会过拟合。翔宇的经验:先用默认值跑一轮,看损失曲线决定是否调整。
学习率倍数(Learning Rate Multiplier):控制模型每一步"学习"的幅度。倍数越大,模型变化越快但越容易不稳定。小数据集用大倍数(10),大数据集用小倍数(默认或 5)。
适配器大小(Adapter Size):LoRA(低秩适配微调) 适配器的秩。数值越大模型能学到的变化越多,但也更容易过拟合。一般 4 就够了,只有数据量很大时才考虑 8。

关注两个指标:
总损失(Total Loss) — 模型的"错误程度"。应该随训练逐渐下降。突然上升或不再下降,说明有问题。
预测正确率 — 模型答对的比例。应该逐渐上升。训练集很高但验证集很低,说明过拟合了。
| 问题 | 表现 | 解决方法 |
|---|---|---|
| 性能不理想 | 指标没达预期 | 增加高质量数据或调学习率 |
| 过拟合 | 训练集好、验证集差 | 减少训练轮数,增加数据多样性 |
| 数据问题 | 损失不下降或波动大 | 检查数据质量,去除异常样本 |
| 训练不稳定 | 损失来回震荡 | 降低学习率倍数 |
| 收敛太慢 | 很多轮后损失才开始下降 | 提高学习率倍数,检查数据格式 |
Google 按训练 token 数量收费。计算公式:
训练费用 = 训练数据 token 数 × 训练轮数 × 单价
以 Gemini 2.5 Flash 为例,100 条数据、每条平均 500 token、训练 10 轮:
训练完成后的推理定价和基础模型一致。也就是说,微调不会增加后续使用成本——你只在训练环节付费。
训练完别急着上线,先评估。
自动指标评估 — 准确率、召回率、F1 分数。最基础的方式,像学生考试看分数。特别注意分类任务要看每个类别的指标,而不只是总体平均值。
模型评估模型 — 用另一个 AI 模型来审核你的模型。比人工快,能发现隐藏问题。翔宇推荐用 Claude 或 GPT-4 作为评估模型,给它一套评分标准让它逐条打分。
翔宇分享一个具体的评估流程模板:准备一个包含五十条测试样本的电子表格,每行包含输入文本、期望输出、基础模型输出、微调模型输出四列。然后分别用自动指标和人工评估打分。自动指标方面,对分类任务计算精确率和召回率,对生成任务用 ROUGE 或 BERTScore 衡量相似度。人工评估方面,翔宇建议用三个维度打分:准确性(信息是否正确)、相关性(是否回答了问题)、风格匹配度(语气和格式是否符合预期),每个维度一到五分。
一个被很多人忽略的评估维度是"安全性"。微调可能会无意中让模型变得更容易输出不当内容,尤其是当训练数据中包含边缘案例时。翔宇建议在评估阶段专门准备十到二十条"对抗性测试"——故意用诱导性问题测试微调模型是否会输出不恰当的回答。
人工评估 — 最可靠也最耗时。抽样评估,重点看边界情况,用实际业务数据测试。翔宇建议至少抽 50 条做人工评估,特别关注:
微调模型上线前,翔宇强烈建议做 A/B 测试。让一部分流量走基础模型 + 提示词,另一部分走微调模型,对比实际业务指标(转化率、用户满意度、人工介入率等)。
到这里,你已经搞懂了 Gemini 微调的完整流程——从基准测试到数据准备、指令设置、超参数调优再到效果评估。
翔宇在做微调项目时会和客户提前约定交付标准,避免后续的扯皮和返工。一个完整的微调项目交付物应该包含:训练后的模型端点和调用文档、测试集评估报告(含各项指标对比)、训练数据的版本记录和更新说明、一份简明的维护指南告诉客户何时需要重新训练以及怎么准备新数据。
翔宇特别强调一点:永远不要把微调模型的效果说得比实际好。上线前让客户亲自用真实场景测试,并提供一周的试用期收集反馈。微调不是一锤子买卖,首次交付后通常需要一到两轮的微调整。把这个迭代周期也纳入项目计划中,对双方来说都更合理。
微调技术在快速演进。二零二六年 Google 不断更新 Vertex AI 的微调功能,最新的 Gemini 三点一系列正在逐步支持微调。翔宇建议你定期关注 Google Cloud 的官方文档和博客,及时了解新模型和新特性。同时保持对开源微调方案(如 LoRA 和 QLoRA(量化低秩微调))的关注,因为开源方案在成本控制和灵活性方面有独特优势。翔宇的整体判断是:对于绝大多数企业场景,Vertex AI 上的 Gemini 微调是性价比最优的方案——既不需要自己管理训练基础设施,又能得到 Google 云平台的稳定性和安全保障。只有在数据完全不能出境或者需要极致成本控制的场景下,才需要考虑本地部署开源模型的微调方案。
Google Vertex AI 现在还支持偏好调优(Preference Tuning),适用于那些难以用标签定义的任务。
传统微调告诉模型"正确答案是什么",偏好调优告诉模型"A 比 B 好"。适用场景:
训练数据格式是"偏好对":对于同一个输入,给出两个输出,标注哪个更好。
偏好调优的数据准备比监督式微调更费力,因为你需要为每个输入准备两个不同质量的输出并标注优劣。翔宇的实操建议是:先让基础模型对同一个输入生成五到十个不同的输出,然后人工挑选出"最好的"和"一般的"组成偏好对。这比完全手写两个版本要高效得多。
另外偏好调优特别适合一个场景:当你的客户对"好"的定义很主观、很难用规则描述清楚的时候。比如"写一篇品牌故事",什么样的故事算好?一百个人可能有一百个标准。这时候让客户直接比较两个版本说出更喜欢哪个,比让他写一份详细的风格规范要容易得多。偏好调优正是把这种隐性的审美标准转化为模型可以学习的信号。
七条建议:
AI 微调是个迭代过程,不要期望一次就完美,持续优化才是王道。
常见问题
Q:微调后的模型能导出吗?
Google Vertex AI 上微调的模型不支持导出权重。你只能通过 Vertex AI 的 API 调用微调后的模型,推理定价和基础模型一致。如果你需要完全控制模型权重(比如本地部署),需要选择开源模型进行微调,比如 Llama 或 Mistral 系列。
Q:微调后模型变差了怎么办?
这种情况比想象中更常见。最常见的原因是过拟合——训练数据太少或训练轮数太多导致模型"死记硬背"了训练集而丧失了泛化能力。翔宇的排查顺序是:首先检查训练数据质量是否有问题(错误标注、格式不一致),然后减少训练轮数重新训练,最后检查训练数据的多样性是否足够。
Q:多久需要重新微调一次?
取决于你的业务场景变化速度。如果业务规则、产品信息或法规政策经常更新,翔宇建议每季度评估一次微调模型的效果,必要时补充新数据重新训练。对于变化不大的场景,半年到一年评估一次就够了。关键是建立定期评估机制,不要等到用户大量投诉才发现模型已经过时。
参考资料:Google Cloud 官方博客,原文作者 Erwin Huizenga(AI 工程与布道经理)、Bethany Wang(Google Cloud 高级软件工程师);Google Vertex AI 官方文档(2026 年 3 月更新)
每周精选 AI 编程与自动化实战内容,直达你的邮箱