Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Text Generation

文本生成是语言模型撰写文本的过程:模型每次预测一个词元,并通过贪心解码、束搜索或采样来选择词元。

文本生成是模型自动生成书面语言的过程,内容从一句简短回复到完整报告或程序不等。如今,文本生成主要由大型语言模型(LLM)完成,这些模型以自回归方式工作:给定提示词后,模型会为其词汇表中的每个token计算概率,选出一个 token,将其添加到文本末尾,然后重复此过程,直到模型决定停止。同样的循环驱动着聊天助手、代码补全、机器翻译和文本摘要。早期系统使用模板,或者从 n-gram 和循环神经网络模型中采样;自 2019 年 GPT-2 起,Transformer让生成连贯的长文本变得切实可行。

自回归生成的工作原理#

分词会将提示词转换成 token ID,模型会在一次并行预填充过程中处理所有 token,并将每个 token 的注意力键和值存入 KV 缓存。之后,每个解码步骤只会将最新 token 输入模型,读取缓存并生成 logits(每个词汇表条目对应一个原始分数),再由 softmax将其转换为概率。解码策略会选出下一个 token,该 token 随即流式传给用户并加入序列。遇到序列结束 token、停止字符串或 token 数量限制时,生成就会停止,因此输出长度是在生成过程中决定的:

预填充需要大量计算,而解码受内存带宽限制,因此服务引擎会精心安排这两个阶段,例如采用分块预填充。流式传输让应用能够在文本生成时即时显示内容:Ultralytics LLM 接口会将 stream=True 传递给 OpenAI SDK,因此 YOLO26应用可以在每个 response.output_text.delta 事件到达时,逐个 token 打印模型对检测场景的描述。

解码策略#

解码策略对输出的影响不亚于模型本身。贪心解码总是选取概率最高的 token,虽然结果确定,但容易重复。束搜索会保留概率最高的 k 个部分序列,并返回其中最佳的完整序列,因此适合翻译这类只有一个正确答案的任务。采样会从概率分布中抽取 token,通常会先对分布进行调整:温度会在 softmax 之前缩放 logits,top-k 采样只保留概率最高的 k 个 token;核采样(top-p)由 Holtzman 等人于 2019 年在《神经文本退化的奇特案例》中提出,它会保留概率总和达到 p 的最小 token 集合。下面使用 PyTorch中的五 token 词汇表展示这两种效果:

import torch

# Next-token logits over a five-word vocabulary after the prompt "I took the"
vocab = ["bus", "train", "car", "stairs", "banana"]
logits = torch.tensor([3.0, 2.4, 1.8, 0.6, -2.0])

# Temperature divides the logits: low values sharpen the distribution, high values flatten it
for temperature in [0.5, 1.0, 1.5]:
    probs = torch.softmax(logits / temperature, dim=-1)
    print(f"T={temperature}:", ", ".join(f"{w} {p:.2f}" for w, p in zip(vocab, probs)))

# Top-p (nucleus) sampling keeps the smallest set of tokens whose probabilities reach p
probs, order = torch.softmax(logits, dim=-1).sort(descending=True)
keep = probs.cumsum(dim=-1) - probs < 0.9
print("Top-p 0.9 keeps:", [vocab[i] for i in order[keep]])

# Sample from the renormalized nucleus
torch.manual_seed(0)
picks = torch.multinomial(probs[keep] / probs[keep].sum(), num_samples=10, replacement=True)
print("Samples:", [vocab[order[i]] for i in picks])

温度为 0.5 时,“bus”的概率为 0.71;温度为 1.5 时,该概率降至 0.42,而“banana”的概率则从 0.00 升至 0.02。Top-p 0.9 会保留“bus”“train”和“car”,它们的概率总和为 0.95,因此永远不会采样到“stairs”和“banana”;采样 10 次会得到这三个保留项的多样组合。其他控制也会作用于相同的 logits:重复惩罚会降低已使用 token 的分数,而约束解码会屏蔽所有会破坏语法或 JSON 架构的 token,API 正是通过这种方式保证结构化输出。推测解码则让小型草稿模型提出多个 token,再由大型模型一次性验证,从而加快生成速度。

  • 语言建模: 学习下一个 token 的概率,这是使生成成为可能的训练目标。生成是该模型在推理阶段的使用方式。
  • 序列到序列模型: 编码器-解码器模型根据单独的输入生成输出文本,例如翻译任务。仅解码器 LLM 则通过续写提示词来完成相同任务。
  • 扩散语言模型: 通过多个去噪步骤并行细化所有位置来生成完整段落,而不是一次生成一个 token。
  • 文本生成图像: 输入文本并生成像素。

质量与风险#

生成的文本无论正确与否都可能很流畅,因此幻觉是事实性任务中的主要风险;检索增强生成(RAG)会将源文档放入提示词中,以减少幻觉。较低的温度会让答案更具可重复性,而较高的温度会增加多样性,同时也更容易选中概率较低、错误的 token。机器生成的文本也很难被识别,因此研究人员正在开发AI 水印。在 2020 年的 GPT-3论文中,人们被要求区分由这个拥有 1,750 亿参数的模型撰写的 200 字新闻文章与人工撰写的文章,答对率仅为 52%。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

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

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 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 的未来!

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