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

Language Modeling

语言建模会为词语或 token 序列分配概率,通常通过预测下一个 token 来实现。内容涵盖 n-gram、神经网络模型和评估。

语言建模的任务是为词语或 token序列分配概率。根据概率链式法则,P(w1, w2, ..., wn) = P(w1) x P(w2 | w1) x ... x P(wn | w1, ..., wn-1),因此,能够根据前面的 token 预测下一个 token 的模型,就定义了任意文本的概率;从这些预测中采样即可生成新文本。这种下一个 token 预测目标用于训练每个 GPT模型和大多数大型语言模型(LLM);在 LLM 出现数十年前,这种目标就已用于语音识别和机器翻译系统中的小型语言模型,为候选输出排序,如今仍用于建议手机键盘上的下一个词。语音识别

语言模型如何生成文本#

训练好的模型读取提示,为词汇表中的每个 token 打分,再通过 softmax将分数转换为下一个 token 的概率。然后,解码规则选出一个 token,模型将其附加到文本中,并重复这一循环,直到生成结束 token 或达到长度限制,这就是文本生成的工作方式:

通过温度或核采样进行采样,可以牺牲部分似然性来换取更多样性。由于每个 token 都取决于已生成的 token,回复会逐个 token 生成。Ultralytics LLM 接口会将 stream=True 传递给提供商,因此,要求模型描述检测场景的 YOLO26流水线可以在每段文本增量到达时立即打印。

从 N 元语法到神经网络模型#

Claude Shannon 在 1948 年发表的信息论论文中,利用 N 元语法统计近似构建了英语词语和字母模型。N 元语法模型通过统计语料库中词语序列出现的次数,估计 P(next word | previous n-1 words);IBM 在 20 世纪 70 年代和 80 年代的语音识别系统就依赖这类模型。二元语法模型(n = 2)只需几行 Python 代码就能说明其原理:

from collections import Counter

sentences = ["the cat sat on the mat .", "the dog sat on the rug .", "the cat saw the dog ."]
corpus = " ".join(sentences).split()

# Count word pairs to estimate P(next word | previous word)
pairs = Counter(zip(corpus, corpus[1:]))
firsts = Counter(corpus[:-1])

# The model's next-word distribution after "the"
print({nxt: round(n / firsts["the"], 2) for (prev, nxt), n in pairs.items() if prev == "the"})

# Chain rule: a sentence's probability is the product of its next-word probabilities
sentence = ["the", "dog", "sat", "on", "the", "mat"]
p = 1.0
for prev, nxt in zip(sentence, sentence[1:]):
    p *= pairs[(prev, nxt)] / firsts[prev]
print(f"P(dog sat on the mat | the) = {p:.4f}")

在“the”之后,模型预测“cat”和“dog”的概率各为 0.33,“mat”和“rug”的概率各为 0.17。即使语料库中没有出现过“the dog sat on the mat”这句话,模型仍将其概率估计为 0.0278,因为其中每一对相邻词都出现过。语料库中缺失的词对概率为零,因此实际的 N 元语法模型需要使用 Kneser-Ney 等平滑方法;它们仍然无法利用超过 n-1 个词的上下文。

Yoshua Bengio 及其同事于 2003 年提出的神经概率语言模型用学得的嵌入和神经网络取代计数方式,使相似词语能够共享统计信息。循环神经网络(RNN)和 LSTM扩大了可用上下文范围;2017 年之后,Transformer凭借对整个上下文窗口进行自注意力运算,成为标准架构。GPT-3于 2020 年表明,一个拥有 1750 亿参数的语言模型能够根据提示中的示例学习新任务。

因果语言建模与掩码语言建模#

因果语言建模(也称自回归语言建模)根据每个 token 左侧的 token 预测该 token,是生成式模型所采用的目标。掩码语言建模会隐藏部分 token,并根据两侧上下文预测这些 token。BERT以这种方式训练其 15% 的输入 token;双向上下文使它擅长分类和命名实体识别等理解任务,但无法从左到右撰写文本。扩散语言模型将掩码机制扩展为一种生成器,可通过多个步骤并行填充多个位置。

训练与评估#

训练属于自监督学习:原始文本本身提供标签,模型通过最小化预测分布与实际下一个 token 之间的交叉熵损失函数来训练。平均损失的指数值就是困惑度,这是标准的内在评估指标;缩放定律则描述模型、数据和算力规模增大时损失如何下降。预训练基础模型只能续写文本,指令微调和基于人类反馈的强化学习(RLHF)则能让它成为遵循请求的助手。

  • 语言模型与 LLM:语言模型是指任何针对这项任务训练的模型,从二元语法表到 Transformer 都包括在内。LLM 是一种用数万亿个 token 训练、拥有数十亿参数的语言模型。
  • 自然语言处理(NLP):利用计算机处理人类语言的整个领域,语言建模是其中的一项任务。
  • 视觉自回归建模(VAR):将相同的下一步预测方法应用于图像,从粗到细生成不同分辨率尺度的 token 图,而不是生成词语。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 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 的未来!

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