1.发展历程
语言建模始于20世纪90年代 ,采用的是统计学习方法.
2003年 ,深度学习的思想融入到语言模型中,相较于上个时代,该方法可以更好地捕捉语言中的复杂关系.
2018年 左右,Transformer架构的神经网络模型被引入,通过大量文本训练模型,使它对语言有了更深的理解.
最近,模型规模不断扩大,参数到达百亿级别,进入大模型时代.
2.大语言模型概念
大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。
通常,大语言模型 (LLM) 指包含数百亿(或更多)参数的语言模型,这些模型在大量的文本数据上进行训练,例如国外的有GPT-3 、GPT-4、PaLM 、Galactica 和 LLaMA 等,国内的有ChatGLM、文心一言、通义千问、讯飞星火等。
3.应用和影响
NLP:生成文本 问答 机器翻译
信息检索:改进搜索引擎
CV:让计算机理解图像和文字
4. 能力和特点
4.1 涌现能力(emergent abilities)
涌现能力指的是一种令人惊讶的能力,它在小型模型中不明显,但在大型模型中显著出现。可以类比到物理学中的相变现象,涌现能力的显现就像是模型性能随着规模增大而迅速提升,超过了随机水平 ,也就是我们常说的量变引起了质变。
三个典型的LLM涌现能力:
- 上下文学习 :上下文学习能力是由 GPT-3 首次引入的。这种能力允许语言模型在提供自然语言指令或多个任务示例的情况下,通过理解上下文并生成相应输出的方式来执行任务,而无需额外的训练或参数更新。
- 指令遵循 :通过使用自然语言描述的多任务数据进行微调,也就是所谓的指令微调,LLM 被证明在同样使用指令形式化描述的未见过的任务上表现良好。这意味着LLM能够根据任务指令执行任务,而无需事先见过具体示例,这展示了其强大的泛化能力。
- 逐步推理 :小型语言模型通常难以解决涉及多个推理步骤的复杂任务,例如数学问题。然而,LLM通过采用"思维链"推理策略,可以利用包含中间推理步骤的提示机制来解决这些任务,从而得出最终答案。据推测,这种能力可能是通过对代码的训练获得的。
4.2 作为基座模型支持多元应用的能力
在2021年,斯坦福大学等多所高校的研究人员提出了基座模型(foundation model)的概念,这更清晰地描述了之前学界所称的预训练模型的作用。这是一种全新的AI技术范式,借助于海量无标注数据的训练,获得可以适用于大量下游任务的大模型(单模态或者多模态)。这样,多个应用可以只依赖于一个或少数几个大模型进行统一建设.
即以LLM为基座,建设各种应用,比如用LLM做水利\电力\电信等领域的问答
4.3 支持对话作为统一入口的能力
陆奇在微软期间2016年就推进"对话即平台(conversation as a platform)"的战略。此外,苹果Siri、亚马逊Echo等基于语音对话的产品也非常受欢迎,反映出互联网用户对于聊天和对话这种交互模式的偏好。
4.4 特点
巨大的规模: LLM通常具有巨大的参数规模,可以达到数十亿甚至数千亿个参数。这使得它们能够捕捉更多的语言知识和复杂的语法结构。
预训练和微调: LLM采用了预训练和微调的学习方法。它们首先在大规模文本数据上进行预训练(无标签数据),学会了通用的语言表示和知识,然后通过微调(有标签数据)适应特定任务,从而在各种NLP任务中表现出色。
上下文感知: LLM在处理文本时具有强大的上下文感知能力,能够理解和生成依赖于前文的文本内容。这使得它们在对话、文章生成和情境理解方面表现出色。
多语言支持: LLM可以用于多种语言,不仅限于英语。它们的多语言能力使得跨文化和跨语言的应用变得更加容易。
多模态支持: 一些LLM已经扩展到支持多模态数据,包括文本、图像和声音。这意味着它们可以理解和生成不同媒体类型的内容,实现更多样化的应用。
涌现能力: LLM表现出令人惊 讶的涌现能力,即在大规模模型中出现但在小型模型中不明显的性能提升。这使得它们能够处理更复杂的任务和问题。
多领域应用: LLM已经被广泛应用于文本生成、自动翻译、信息检索、摘要生成、聊天机器人、虚拟助手等多个领域,对人们的日常生活和工作产生了深远的影响。
伦理和风险问题: 尽管LLM具有出色的能力,但它们也引发了伦理和风险问题,包括生成有害内容、隐私问题、认知偏差等。因此,研究和应用LLM需要谨慎。
5.常见大模型
大语言模型的发展历程虽然只有短短不到五年的时间,但是发展速度相当惊人,截止 2023 年 6 月,国内外有超过百种大模型相继发布。按照时间线给出了 2019 年至 2023 年 6 月比较有影响力并且模型参数量超过 100 亿的大语言模型,如下图所示:
该图源自论文 [1] arXiv:2303.18223 [cs.CL]https://doi.org/10.48550/arXiv.2303.18223
5.1 闭源
- GPT
- Claude
- PaLM
- 文心一言
- 星火大模型
5.2 开源
- LLama
- GLM
- 通义千问
- Baichuan
6.LangChain
**LangChain 框架是一个开源工具,充分利用了大型语言模型的强大能力,以便开发各种下游应用。它的目标是为各种大型语言模型应用提供通用接口,从而简化应用程序的开发流程。**具体来说,LangChain 框架可以实现数据感知和环境互动,也就是说,它能够让语言模型与其他数据来源连接,并且允许语言模型与其所处的环境进行互动。
LangChian 作为一个大语言模型开发框架,可以将 LLM 模型(对话模型、embedding模型等)、向量数据库、交互层 Prompt、外部知识、外部代理工具整合到一起,进而可以自由构建 LLM 应用。
LangChain 主要由以下 6 个核心模块组成:
模型输入/输出(Model I/O) :与语言模型交互的接口
数据连接(Data connection) :与特定应用程序的数据进行交互的接口
链(Chains) :将组件组合实现端到端应用。
记忆(Memory) :用于链的多次运行之间持久化应用程序状态;
代理(Agents) :扩展模型的推理能力。用于复杂的应用的调用序列;
回调(Callbacks):扩展模型的推理能力。用于复杂的应用的调用序列;