语言模型演进:从NLP到LLM的跨越之旅
在人工智能的浩瀚宇宙中,自然语言处理(NLP)一直是一个充满挑战和机遇的领域。随着技术的发展,我们见证了从传统规则到统计机器学习,再到深度学习和预训练模型的演进。如今,我们站在了大型语言模型(LLM)的门槛上,它们正在重新定义我们与机器交流的方式。本文将深入探讨LLM的发展历程、技术路线、以及它们对未来AI领域的影响。
引言
自然语言处理(NLP)的目标是让机器能够理解、解释和生成人类语言。这一领域的发展经历了几个重要的阶段,每个阶段都标志着对语言理解深度的一次飞跃。从早期的基于规则的系统,到统计学习方法,再到深度学习模型,直至今日的大型语言模型(LLM),每一步都是对前一阶段的超越。

从规则到统计:NLP的早期探索
规则阶段(1956—1992)
在NLP的早期,研究者依赖于手工编写的规则来处理语言。这一阶段的技术栈包括有限状态机和基于规则的系统。例如,Apertium就是一个基于规则的机器翻译系统,它展示了早期研究者如何通过人工整理词典和编写规则来实现语言的自动翻译。

统计机器学习阶段(1993—2012)
随着时间的推移,研究者开始转向统计学习方法,使用支持向量机(SVM)、隐马尔可夫模型(HMM)、最大熵模型(MaxEnt)和条件随机场(CRF)等工具。这一阶段的特点是少量人工标注领域数据与人工特征工程的结合,标志着从手工编写规则到机器自动从数据中学习知识的转变。

深度学习的突破:开启新纪元
深度学习阶段(2013—2018)
深度学习的出现为NLP带来了革命性的变化。以编码器-解码器(Encoder-Decoder)、长短期记忆网络(LSTM)、注意力机制(Attention)和嵌入(Embedding)为代表的技术,使得模型能够处理更大规模的数据集,并且几乎不需要人工特征工程。Google的神经机器翻译系统(2016)就是这一阶段的代表之作。

预训练模型的兴起:知识的自我发现
预训练阶段(2018—2022)
预训练模型的出现标志着NLP领域的又一次飞跃。以Transformer和注意力机制为核心的技术栈,结合海量无标注数据进行自监督学习,生成通用知识,再通过微调适应特定任务。这一阶段的突变性非常高,因为它扩展了可利用的数据范围,从标注数据拓展到了非标注数据。

LLM的新时代:智能与通用性的融合
LLM阶段(2023—?)
LLM代表了语言模型的最新发展,它们通常采用解码器为主的架构,结合了Transformer和强化学习人类反馈(RLHF)。这一阶段的特点是两阶段过程:预训练和与人类对齐。预训练阶段利用海量无标注数据和领域数据,通过自监督学习生成知识;与人类对齐阶段则通过使用习惯和价值观对齐,使模型能够适应各种任务。

回顾各个发展阶段可以看到以下趋势:
数据: 从数据到知识,越来越多数据被利用起来/未来:更多文本数据、更多其它形态数据→任何数据
算法: 表达能力越来越强;规模越来越大;自主学习能力越来越强;从专业向通用/未来:Transformer目前看够用,新型模型(应该强调学习效率)?→AGI?
人机关系: 位置后移,从教导者到监督者/未来:人机协作,机向人学习→人向机学习?→机器拓展人类知识边界

LLM技术发展路线:多样化的路径
在过去的几年中,LLM技术发展呈现出多样化的路径,包括BERT模式、GPT模式和T5模式等。每种模式都有其特点和适用场景。

BERT模式(Encoder-Only)
BERT模式通过双向语言模型预训练和任务微调的两阶段(双向语言模型预训练+任务Fine-tuning)过程,适用于自然语言理解类任务。BERT预训练从通用数据中提取通用知识,而微调则从领域数据中提取领域知识。

适合解决的任务场景:比较适合自然语言理解类,某个场景的具体任务,专而轻;

GPT模式(Decoder-Only)
GPT模式则从单向语言模型预训练和zero shot/few shot prompt或指令的一阶段(单向语言模型预训练+zero shot/few shot prompt/Instruct)过程中发展而来,适合自然语言生成类任务。GPT模式的模型通常是目前规模最大的LLM,它们能够处理更广泛的任务。

适用场景:比较适合自然语言生成类任务,目前规模最大的LLM,都是这种模式:GPT 系列,PaLM,LaMDA……,重而通;生成类任务/通用模型 建议GPT模式;

T5模式(Encoder-Decoder)
T5模式结合了BERT和GPT的特点,适用于生成和理解任务。T5模式的填空任务(Span Corruption)是一种有效的预训练方法,它在自然语言理解类任务中表现出色。两阶段(单向语言模型预训练+Fine-tuning为主)

特点:形似GPT,神似Bert
适用场景:生成和理解都行,从效果上看比较适合自然语言理解类任务,国内很多大型LLM采取这种模式;如果是单一领域的自然语言理解类任务,建议使用T5模式;

为什么超大LLM都是GPT模式
超大LLM:追求zero shot/ few shot/instruct 效果
目前的研究结论
(模型规模不大时):
- 自然语言理解类:T5模式效果最好。
- 自然语言生成类:GPT模式效果最好。
- Zero shot: GPT模式效果最好。
如果Pretrain后引入多任务fine-tuning,则T5模式效果好(结论存疑:目前的实验Encoder-Decoder都是Decoder-only参数量的两倍,结论是否可靠?)
目前的研究结论(超大规模):
事实:几乎所有超过100B的LLM模型,都采取GPT模式
可能的原因:
1.Encoder-Decoder里的双向attention,损害zero shot能力(Check)
2.Encoder-Decoder结构在生成Token时,只能对Encoder高层做attentionDecoder-only结构在生成Token时,可以逐层Attention,信息更细粒度
3.Encoder-Decoder训练“中间填空”,生成最后单词Next Token,存在不一致性Decoder-only结构训练和生成方式一致
超大LLM的挑战与机遇
随着模型规模的增长,研究者面临着如何有效利用参数空间的挑战。Chinchilla模型的研究表明,在数据充足的情况下,当前的LLM规模可能比理想规模更大,存在参数空间的浪费,然而,Scaling Law也指出,模型规模越大,数据越多,训练越充分,LLM模型的效果越好。比较可行的思路是:先做小(GPT 3本来不应该这么大),再做大(充分利用模型参数后,继续做大)。

当然鉴于多模态LLM需要更丰富的现实环境感知能力,对此LLM参数也提出更高的要求。
多模态LLM:视觉输入(图片、视频)、听觉输入(音频)、触觉输入(压力)

面临问题:多模态LLM看着效果还不错,很大程度依赖于人工整理的大数据集
如 ALIGN:1.8B 图文/LAION:5.8B图文数据(经过CLIP过滤,目前最大图文数据)目前是文字带图像飞?
图像处理:自监督技术路线在尝试,尚未走通(对比学习/MAE)/如果能走通会是AI领域另外一次巨大技术突破;
如果能走通,目前的一些图像理解类任务(语义分割/识别等)估计会被融入LLM,进而消失

提升LLM的复杂推理能力
尽管当前的LLM具备一定的简单推理能力,但在复杂推理方面仍有不足。例如,多位数加法等任务对LLM来说仍然是一个挑战。研究者正在探索如何通过技术手段,如语义分解,将复杂推理能力蒸馏到更小的模型中。

当然也可以通过能力外包的形式绕过这个问题,如与工具结合:计算能力(外部计算器)、新信息查询(搜索引擎)等能力借助外部工具完成。

LLM与物理世界的交互
具身智能的概念将LLM与机器人技术结合起来,通过与物理世界的交互,利用强化学习获得具身智能。例如,Google的PaLM-E模型结合了540B的PaLM和22B的ViT,展示了LLM在多模态环境下的潜力。


其他研究方向
- 新知识的获取:目前有一定困难,也有一些手段(LLM+Retrieval)
- 旧知识的修正:目前有一些研究成果,尚需优化
- 私域领域知识的融入:Fine-tune?
- 更好的理解命令:尚需优化(一本正经的胡说八道)
- 训练推理成本的降低:未来一年到两年会快速发展
- 中文评测数据集的构建:能力试金石。英文目前有一些评测集,比如HELM/BigBench等,中文缺乏/多任务、高难度、多角度的评测数据集。
结语
本文深入探讨了LLM的发展历程、技术路线以及它们对未来AI领域的影响。LLM的发展不仅仅是技术的进步,更是我们对机器理解能力的一次深刻反思。从规则到统计,再到深度学习和预训练,每一步都为我们提供了新的视角和工具。如今,我们站在大型语言模型的新时代门槛上,面对着前所未有的机遇和挑战。
相关文章:
语言模型演进:从NLP到LLM的跨越之旅
在人工智能的浩瀚宇宙中,自然语言处理(NLP)一直是一个充满挑战和机遇的领域。随着技术的发展,我们见证了从传统规则到统计机器学习,再到深度学习和预训练模型的演进。如今,我们站在了大型语言模型ÿ…...
自动驾驶中的人机互相接管问题讨论
一、背景 人机接管(human takeover)是指在自动驾驶过程中,当系统遇到超出其处理能力或预设安全阈值的情况时,将控制权交还给驾驶员的过程。这一环节的设计直接关系到自动驾驶技术的实用性与安全性,是目前研究和实践中…...
语音识别HResults统计工具以及字根据关键词进行合并
#主要想说一下关键词合并 1.HResults统计工具可以参考其他博主的:https://blog.csdn.net/weixin_30348519/article/details/98426654?ops_request_misc%257B%2522request%255Fid%2522%253A%2522172088587416800215066191%2522%252C%2522scm%2522%253A%25222014071…...
lvs集群、NAT模式和DR模式、keepalive
目录 lvs集群概念 集群的类型:三种类型 系统可靠性指标 lvs集群中的术语 lvs的工作方式 NAT模式 lvs的工具 算法 实验 数据流向 步骤 一 、调度器配置(test1 192.168.233.10) 二、RS配置(nginx1和nginx2)…...
zookeeper在哪里能用到
zookeeper是什么 ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig) 的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei 等项目中都采用到了 Zookeeper。 ZooKeeper是一个分布式的,开放源码的分…...
coco_eval 使用
参考 coco eval 解析 COCO目标检测比赛中的模型评价指标介绍! coco 的评估函数对应的是 pycocotools 中的 cocoeval.py 文件。 从整体上来看,整个 COCOeval 类的框架如图: 基础的用法为 # The usage for CocoEval is as follows: cocoGt…...
国产精品ORM框架-SqlSugar详解 进阶功能 集成整合 脚手架应用 专题二
国产精品ORM框架-SqlSugar详解 SqlSugar初识 专题一-CSDN博客 sqlsugar 官网-CSDN博客 4、进阶功能 5、集成整合 6、脚手架应用 4、进阶功能 4.1、生命周期 Queryable 什么时候操作库 Queryable是一个引用类型 Queryable拷贝机制 4.2、执行Sql 方法列表 方法名 描述 返…...
el-table 动态添加删除 -- 鼠标移入移出显隐删除图标
<el-table class"list-box" :data"replaceDataList" border><el-table-column label"原始值" prop"original" align"center" ><template slot-scope"scope"><div mouseenter"showClick…...
Kafka接收消息
文章目录 Acknowledgment读消息指定分区批量消费消息拦截 // 采用监听得方式接收 Payload标记消息体内容. KafkaListener(topics {"test"},groupId "hello") public void onEvent(Payload String event,Header(value KafkaHeaders.RECEIVED_TOPIC) Stri…...
C语言 | Leetcode C语言题解之第233题数字1的个数
题目: 题解: int countDigitOne(int n) {// mulk 表示 10^k// 在下面的代码中,可以发现 k 并没有被直接使用到(都是使用 10^k)// 但为了让代码看起来更加直观,这里保留了 klong long mulk 1;int ans 0;f…...
简谈设计模式之原型模式
原型模式是一种创建型设计模式, 用于创建对象, 而不必指定它们所属的具体类. 它通过复制现有对象 (即原型) 来创建新对象. 原型模式适用于当创建新对象的过程代价较高或复杂时, 通过克隆现有对象来提高性能 原型模式结构 原型接口. 声明一个克隆自身的接口具体原型. 实现克隆…...
CentOS7.X系统部署Zabbix6.0版本(可跟做)
文章目录 一、部署环境说明二、基本环境部署步骤1、环境初始化操作2、部署并配置Nginx3、部署并配置PHP4、测试NginxPHP环境5、部署并配置MariaDB 三、Zabbix-Server部署步骤1、编译安装Zabbix-Server2、导入Zabbix初始化库3、配置Zabbix前端UI4、启动Zabbix-Server5、WEB页面配…...
QT文件生成可执行的exe程序
将qt项目生成可执行的exe程序可按照以下步骤进行: 1、在qt中构建运行生成.exe文件; 2、从自定义的路径中取出exe文件放在一个单独的空文件夹中(exe文件在该文件夹中的release文件夹中); 3、从开始程序中搜索qt…...
【ZooKeeper学习笔记】
1. ZooKeeper基本概念 Zookeeper官网:https://zookeeper.apache.org/index.html Zookeeper是Apache Hadoop项目中的一个子项目,是一个树形目录服务Zookeeper翻译过来就是动物园管理员,用来管理Hadoop(大象)、Hive&…...
220V降5V芯片输出电压电流封装选型WT
220V降5V芯片输出电压电流封装选型WT 220V降5V恒压推荐:非隔离芯片选型及其应用方案 在考虑220V转低压应用方案时,以下非隔离芯片型号及其封装形式提供了不同的电压电流输出能力: 1. WT5101A(SOT23-3封装)适用于将2…...
AWS S3 基本概念
AWS S3 基本概念 引言什么是 AWS S3S3 应用S3 的核心概念 引言 最近工作中有接触到 S3,往 S3 写入数据,从 S3 访问数据,所以花点时间整理一下有关 S3 的基本概念。 什么是 AWS S3 AWS S3 (Amazon Simple Storage Service) 是一个由 Amazon…...
[XCUITest] 处理iOS权限点击授权 有哪些权限?
位置权限 (Location Permission) app.addUIInterruptionMonitor(withDescription: "Location Permission Dialog") { (alert) -> Bool in if alert.buttons["Allow While Using App"].exists { alert.buttons["Allow While Using App"].tap(…...
宪法学学习笔记(个人向) Part.5
宪法学学习笔记(个人向) Part.5 4. 公民基本权利和义务 4.1 公民🌸 概念 是指具有某个国家国籍的自然人; 【拓展】国籍:在宪法上是指一个人隶属于某个国家的法律上的身份🌸 ; 取得方式 出生国籍 因出生而获得的国籍&a…...
C语言的指针与数组
函数定义 参考书籍章节9.7 无论函数定义的参数是数组还是指针,在编译的时候,编译器都将在栈上开辟一个空间存放入参的地址,换句话说,也就是在函数内部都当做指针处理。 #include <stdio.h> #include <stdlib.h>char g…...
计算机图形学入门28:相机、透镜和光场
1.前言 相机(Cameras)、透镜(Lenses)和光场(Light Fields)都是图形学中重要的组成部分。在之前的学习中,都是默认它们的存在,所以现在也需要单独拿出来学习下。 2.成像方法 计算机图形学有两种成像方法,即合成(Synthesis)和捕捉(Capture)。前…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
