news 2026/6/10 10:35:30

【LLM基础教程】语言模型基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【LLM基础教程】语言模型基础

1. 什么是语言模型

​ 语言模型起源于语音识别(speech recognition)领域,输入一段音频数据,语音识别系统通常会生成多个句子作为候选,究竟哪个句子更合理?就需要用到语言模型对候选句子进行排序。如今语言模型的应用范围早已扩展到机器翻译、信息检索、问答系统等众多NLP领域。

​ 那么,什么是语言模型呢?一句话,语言模型是这样一个模型:对于任意的词序列,它能够计算出这个序列是一句话的概率即语言模型就是“判断一句话是否合理/自然”的概率模型。

(1) 为什么语言模型很重要?

​ 自然语言具有模糊性与歧义性,仅靠规则或声学信息往往难以判断最合理的句子。

​ 在语音识别中,“to recognize speech”和“to wreck a nice beach”发音听起来非常相似,如果仅靠声学模型,可能难以判断哪一个正确。

​ 但语言模型通过统计规律可以判断前者出现的概率更高,从而帮助系统做出正确选择。

  • 举例说明:

    • 词序列 A:CSDN|的|文章|真|水|啊,这明显是一句话,一个训练良好的语言模型会给出较高的概率。
    • 词序列 B:CSDN|的|睡觉|苹果|好快,这明显不是一句合理的话,好的语言模型会给出极低的概率。

    语言模型的目的,就是让机器“知道什么样的句子像人说的话”。

2. 语言模型的数学定义

​ 如果我们有一个由TTT个词元构成的序列:
x1,x2,⋯ ,xT x_1, x_2, \cdots, x_Tx1,x2,,xT
​ 语言模型的目标就是估计全序列的联合分布:
P(x1,x2,⋯ ,xT) P(x_1, x_2, \cdots, x_T)P(x1,x2,,xT)
​ 在概率链式法则(Chain Rule)下,我们可以将其分解为:
P(x1,x2,⋯ ,xT)=∏t=1TP(xt∣x1:t−1) P(x_1, x_2, \cdots, x_T) = \prod_{t=1}^TP(x_t|x_{1:t-1})P(x1,x2,,xT)=t=1TP(xtx1:t1)
​ 也就是说,语言模型通过建模“下一个词的分布”,实现对整个句子概率的估计。

​ 同时,它也可以用于文本生成:
xt∼P(xt∣xt−1,⋯ ,x1) x_t \sim P(x_t|x_{t-1}, \cdots, x_1)xtP(xtxt1,,x1)

  • 因此,一个优秀的语言模型必须同时具备:

    • 语法能力(生成结构正确的句子)
    • 语义能力(生成含义合理的文本)
    • 上下文理解能力(能够基于前文做判断)

    现代大型语言模型(LLM,如 GPT 系列、LLaMA 系列)已经在这些方面远超传统统计语言模型。

3. 语言模型的应用

​ 语言模型的核心能力是:**为任意词序列计算概率,并基于条件概率预测下一个词。**因此,几乎所有需要“理解或生成语言”的任务都可以借助语言模型实现。

(1) 文本生成

Text Generation

​ 语言模型最直接的应用,就是按照条件概率P(xt∣x1:t−1)P(x_t|x_{1:t-1})P(xtx1:t1)逐词生成自然语言文本,包括:

  • 对话生成(ChatGPT、Siri、Copilot 等)
  • 自动写作(改写、续写、写文案、故事生成)
  • 社交媒体文本生成
  • 自动邮件回复
(2) 机器翻译(MT)

Machine Translation

  • 翻译模型需要判断:

    • 源语言句子含义
    • 目标语言中哪种表达最自然
  • 语言模型在翻译中主要负责:

    • 目标语言句子的流畅性判断
    • 选择最合理的翻译候选
    • 对多候选翻译进行打分(Language Model Rescoring)
(3) 语音识别(ASR)与语音转文本(STT)

​ 语音识别系统通常会输出一系列可能的文本候选(token 序列),语言模型用于:

  • 对这些候选句子进行排序(LM rescoring)

  • 消除谐音歧义

  • 纠正常识性错误

    例如:

  • “to wreck a nice beach”

  • “to recognize speech”

    声学模型可能认为两者相似,但语言模型可以轻松判断哪一句更合理。

(4) 文本纠错

Spell Check / Grammar Correction

​ 语言模型通过判断一句话的自然程度,能够:

  • 检测拼写错误
  • 识别语法异常
  • 自动给出最合理的替换方案
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:41:19

ComfyUI入门与插件使用全指南

ComfyUI入门与插件使用全指南 在AI生成内容(AIGC)迅速普及的今天,越来越多创作者不再满足于“输入提示词→点击生成”这种黑箱式操作。他们想要的是对整个生成过程的完全掌控——从模型加载、条件控制到图像后处理,每一步都清晰可…

作者头像 李华
网站建设 2026/6/9 4:42:02

MiniCPM-V2.5微调中的CUDA依赖问题解决

MiniCPM-V2.5微调中的CUDA依赖问题解决 在实际参与多个基于MiniCPM-V系列的视觉-语言模型微调项目时,我们反复遇到一个看似简单却极具破坏性的问题:训练脚本还没跑起来,编译阶段就失败了。最常见的报错信息来自DeepSpeed——fatal error: cu…

作者头像 李华
网站建设 2026/6/10 13:40:46

调整pose Z方向的朝向

pose_to_hom_mat3d (Pose, HomMat3D) affine_trans_point_3d (HomMat3D, [0, 0], [0, 0], [0, 1], Qx, Qy, Qz) halcon是这么做的 「 if (Qz[1] - Qz[0] > 0) Pose[4] : Pose[4] 180 Pose[5] : -Pose[5] endif 」 另外一种容易理解的方式 「 …

作者头像 李华
网站建设 2026/6/10 11:04:10

使用两个栈来实现一个队列

在 Java 中,利用两个栈实现队列的核心思路是通过栈的“后进先出”特性模拟队列的“先进先出”特性:将一个栈(stackIn)作为“入队栈”,专门处理入队操作;另一个栈(stackOut)作为“出队…

作者头像 李华
网站建设 2026/6/10 11:08:39

时序数据库 or 实时数据库?TDengine以双引擎+AI彻底破局

在物联网设备爆发、工业数字化深化的今天,数据处理领域正面临一场特殊的"选择困难症":当每秒百万级的传感器数据涌入系统,既要满足长期存储后的趋势分析需求,又要保障毫秒级的实时决策响应,该选择时序数据库…

作者头像 李华
网站建设 2026/6/10 8:05:29

SQL条件中WHERE 1=1 的功能

在SQL语句中使用 WHERE 11 是一种常见的编程技巧。主要有以下几个原因:1. 动态SQL构建的便利性这是最主要的原因。当需要根据不同的条件动态构建SQL查询时,WHERE 11 提供了一个"占位符",让后续的条件可以统一用 AND 连接。不使用 W…

作者头像 李华