Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Instruction Tuning

指令微调会使用指令-响应对对预训练语言模型进行微调,使其遵循请求。内容涵盖 FLAN、InstructGPT、数据和 VLM。

指令微调是在预训练的大型语言模型(LLM)上,使用指令与期望回复组成的样本对进行微调,使模型能够遵循用日常语言书写的请求。预训练模型只会续写文本:OpenAI 要求模型“用几句话向一个 6 岁孩子解释登月”,GPT-3 却续写了有关引力和相对论的类似请求,而经过指令微调的 InstructGPT则给出了相应解释。Google 研究人员在 2021 年的 FLAN 论文中介绍了这种方法,他们使用改写成指令的 60 多个自然语言处理(NLP)数据集,对一个拥有 1,370 亿个参数的模型进行了微调;该模型在 25 项从未见过的任务中,有 20 项的表现超过了 1,750 亿参数 GPT-3 的零样本表现。在聊天模型流程中,同一阶段通常称为监督微调(SFT),这两个术语可以互换使用。

指令微调的工作原理#

每个样本都会通过模板格式化,以标记指令结束和回复开始的位置,例如当前模型使用的聊天模板,或 Stanford 的 Alpaca 使用的“### Instruction”和“### Response”标头。训练使用与预训练相同的下一个 token 损失函数,但只有回复中的token会计入损失,因此模型学到的是如何生成答案,而不是预测指令本身。以下是一个使用 OpenAI GPT-2 的训练样本示例:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")
optimizer = torch.optim.AdamW(model.parameters(), lr=5e-5)

# One instruction-response pair in the Alpaca prompt format
prompt_ids = tokenizer("### Instruction:\nName three animals that can fly.\n\n### Response:\n").input_ids
response_ids = tokenizer("Bats, eagles, and bees." + tokenizer.eos_token).input_ids
input_ids = torch.tensor([prompt_ids + response_ids])

# Label -100 drops the instruction from the loss, so the model learns only to respond
labels = torch.tensor([[-100] * len(prompt_ids) + response_ids])

for step in range(3):
    loss = model(input_ids=input_ids, labels=labels).loss
    loss.backward()
    optimizer.step()
    optimizer.zero_grad()
    print(f"step {step}: loss {loss.item():.2f}")

只有回复中的 10 个 token 会计入损失;在这个单一样本上更新三次后,损失从 4.45 降到了 1.49。指令微调会在数千到数百万个不同的指令-回复样本对上执行相同的更新,使模型学会普遍采用回答问题的方式,而不是只学会一个答案。

指令微调通常是后训练的第一阶段,数据可以来自多个来源:

指令数据集#

Google 的 Flan 集合在 2022 年扩展到 1,836 项任务;在该集合上进行指令微调,PaLM(5400 亿参数)的平均表现提升了 9.4%。OpenAI 的 InstructGPT 将标注人员撰写的示范与基于人类反馈的强化学习(RLHF)结合起来,人们对其 13 亿参数模型输出的偏好高于对 1,750 亿参数 GPT-3 输出的偏好。Stanford 的 Alpaca 于 2023 年 3 月发布,它使用 OpenAI 模型通过 Self-Instruct 方法生成的 52,000 个样本,以不到 600 美元的成本对 Meta 的 LLaMA 7B 进行了微调;这是将合成数据用作指令数据来源的早期示例。Meta 的 LIMA 展示了小型数据集的潜力:它只使用 1,000 个精心挑选的样本对 650 亿参数的 LLaMA 进行微调,作者得出结论,模型几乎在预训练期间就学会了全部知识,而指令微调教会模型的是答案的格式和风格。随后,直接偏好优化(DPO)等方法会利用偏好数据进一步优化微调后的模型。

视觉指令微调#

视觉语言模型(VLM)也以相同方式学习遵循有关图像的指令。2023 年 4 月发布的 LLaVA,将纯文本 GPT-4与 COCO图像的标题和边界框结合起来,让 GPT-4 围绕这些图像生成了 158,000 条对话、详细描述和复杂推理示例;随后,LLaVA 使用这些数据对一个连接 CLIP图像编码器与语言模型的模型进行微调,这种方法称为视觉指令微调。经过指令微调的 VLM 可以用自然语言回答有关照片的开放式请求;Ultralytics Platform Agents中的 LLM 模块就依赖这种能力:它会将图像、上游 YOLO26的结果和书面提示词发送给选定的视觉语言模型。

提示微调会学习少量软提示向量,并保持模型冻结;提示工程只会改变输入文本,而指令微调会更新模型权重。领域微调会使模型适应医学或法律等领域,但不一定会教会模型遵循请求。指令微调也可以通过参数高效微调(PEFT)执行:QLoRA会在 4 位量化模型上训练 LoRA适配器,其作者曾在单个 48 GB GPU 上对一个 650 亿参数的模型进行指令微调。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来