动手学大模型应用开发-第一章 大模型简介

一、什么是LLM(大语言模型)?

1、发展历程

伴随着机器学习、深度学习的发展,语言模型在不同时期也有对应的尝试与应用。

语言模型开始于20世纪90年代,最初采用统计学方法来预测词汇。

随后在2003年,深度学习先驱Bengio在他的经典论文《A Neural Probabilistic Language Model》中,首次将深度学习的思想融入到语言模型中,使用了更强大的神经网络模型,这相当于为计算机提供了更强大的"大脑"来理解语言。这种方法让模型可以更好地捕捉语言中的复杂关系,虽然这一步很重要,但仍有改进的空间。

基于神经网络的发展,在2018年左右提出的Transformer架构的神经网络模型,使得能够基于大量文本理解语言规则和模式。

与此同时,研究人员发现,随着语言模型规模的扩大(增加模型大小或使用更多数据),模型展现出了一些惊人的能力,通常在各种任务中表现显著提升。这时我们进入了大语言模型(LLM)时代。

到目前为止,什么模型可以算作小的或大的语言模型还没有明确的定义。一般认为模型参数小于1B为小模型,大于10B为大模型。

2、大语言模型的概念

大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。

通常,大语言模型 (LLM) 指包含数百亿(或更多)参数的语言模型,这些模型在大量的文本数据上进行训练,例如国外的有GPT-3 、GPT-4、PaLM 、Galactica 和 LLaMA 等,国内的有ChatGLM、文心一言、通义千问、讯飞星火等。

模型名称TemperatureFlan-UL2text-003
参数量11B20B175B

3、LLM的应用和影响

由于LLMs是在源语料的混合上进行预训练的,因此可以从大规模预训练数据中捕获丰富的知识,从而具有作为领域专家或特定领域专家的潜力。

近年来LLMs在医疗、教育、法律、金融和科研等领域有诸多应用。

教育也是LLMs潜在发挥重要影响的重要应用领域。LLMs在多项选择题和自由报告法问题上都可以在数学(例如,物理学、计算机科学等)的各种科目的标准化测试上达到学生水平的表现。此外,实证研究表明,LLMs可以作为教育的写作或阅读助手。最近的一项研究,表明ChatGPT能够在不同学科之间产生逻辑一致的答案,平衡了深度和广度。

4、大语言模型的能力

4.1、涌现能力

量变引起质变的能力。

  1. 上下文学习:上下文学习能力是由 GPT-3 首次引入的。这种能力允许语言模型在提供自然语言指令或多个任务示例的情况下,通过理解上下文并生成相应输出的方式来执行任务,而无需额外的训练或参数更新。
  2. 指令遵循:通过使用自然语言描述的多任务数据进行微调,也就是所谓的指令微调,LLM 被证明在同样使用指令形式化描述的未见过的任务上表现良好。这意味着LLM能够根据任务指令执行任务,而无需事先见过具体示例,这展示了其强大的泛化能力。
  3. 逐步推理:小型语言模型通常难以解决涉及多个推理步骤的复杂任务,例如数学问题。然而,LLM通过采用"思维链"推理策略,可以利用包含中间推理步骤的提示机制来解决这些任务,从而得出最终答案。据推测,这种能力可能是通过对代码的训练获得的。

4.2、统一基座模型

基座模型,2021年斯坦福等多所高效提出。借助于海量无标注数据的训练,获得可以适用于大量下游任务的大模型(单模态或者多模态)。这样,多个应用可以只依赖于一个或少数几个大模型进行统一建设。

大语言模型是基座模型的典型例子,使用统一的大模型可以极大地提高研发效率,相比于分散的模型开发方式,这是一项本质上的进步。

大型模型不仅可以缩短每个具体应用的开发周期,减少所需人力投入,也可以基于大模型的推理、常识和写作能力,获得更好的应用效果。

4.3、统一对话入口

让大语言模型真正火爆的契机,是基于对话聊天的ChatGPT。

用户都可以在对话窗口来两句。

5、大语言模型的特点

参数规模巨大、预训练与微调、上下文感知、多语言支持、多模态支持、涌现能力、多领域应用、伦理和风险问题。

6、常见的大模型

按照时间线给出了 2019 年至 2023 年 6 月比较有影响力并且模型参数量超过 100 亿的大语言模型,如下图所示:
请添加图片描述

6.1、闭源LLM(代码不公开)

6.1.1、GPT系列

OpenAI 公司在 2018 年提出的 GPT(Generative Pre-Training)模型是典型的 生成式预训练语言模型 之一。

GPT 模型的基本原则是通过语言建模将世界知识压缩到仅解码器的 Transformer 模型中,这样它就可以恢复(或记忆)世界知识的语义,并充当通用任务求解器。它能够成功的两个关键点:

  • 训练能够准确预测下一个单词的仅解码器的 Transformer 语言模型
  • 扩展语言模型的大小。

总体而言,OpenAI 在 LLM 上的研究大致可以分为以下几个阶段:
请添加图片描述

6.1.2、Claude系列

Claude 系列模型是由 OpenAI 离职人员创建的 Anthropic 公司开发的闭源语言大模型,可以完成摘要总结、搜索、协助创作、问答、编码等任务。目前包含 Claude 和 Claude-Instant 两种模型可供选择,其中 Claude Instant 的延迟更低,性能略差,价格比完全体的 Claude-v1 要便宜,两个模型的上下文窗口都是 9000 个token(约 5000 个单词,或 15 页)它的目标是“更安全”、“危害更小”的人工智能。最早的 Claude 于 2023 年 3 月 15 日发布,并在 2023 年 7 月 11 日,更新至 Claude-2。Claude 2 的训练参数官方并未公开,但是相关的猜测大概是 860.1 亿个参数。

6.1.3、PaLM系列

PaLM 系列语言大模型由 Google 开发。其初始版本于 2022 年 4 月发布,并在 2023 年 3 月公开了 API。PaLM 基于 Google 提出的 Pathways 机器学习系统搭建,训练数据总量达 780B 个字符,内容涵盖网页、书籍、新闻、开源代码等多种形式的语料。前 PaLM 共有 8B、62B、540B 三个不同参数量的模型版本。Google 还开发了多种 PaLM 的改进版本。Med-PaLM 是 PaLM 540B 在医疗数据上进行了微调后的版本,在 MedQA 等医疗问答数据集上取得了最好成绩。PaLM-E 是 PaLM 的多模态版本,能够在现实场景中控制机器人完成简单任务。

6.1.4、文心一言

文心一言是基于百度文心大模型的知识增强语言大模型,于 2023 年 3 月在国内率先开启邀测。文心一言的基础模型文心大模型于 2019 年发布 1.0 版,现已更新到 4.0 版本。更进一步划分,文心大模型包括 NLP 大模型、CV 大模型、跨模态大模型、生物计算大模型、行业大模型,其中 NLP 大模型主要为 ERNIE 系列模型,是打造文心一言的关键。文心大模型参数量非常大,达到了 2600 亿。

6.1.5、星火大模型

讯飞星火认知大模型是科大讯飞于 2023 年 5 月 6 日发布的语言大模型,提供了基于自然语言处理的多元能力,支持多种自然语言处理任务,同时联合中科院人工智能产学研创新联盟和长三角人工智能产业链联盟在业内提出了覆盖 7 大类 481 项任务的《通用人工智能评测体系》;6 月 9 日星火大模型升级到 V1.5 版,实现了开放式知识问答、多轮对话、逻辑和数学能力的提升;8 月 15 日星火大模型升级到 V2.0 版,对于代码和多模态能力进行了提升。

6.2、开源LLM

6.2.1、LLaMA系列

LLaMA 系列模型是 Meta 开源的一组参数规模 从 7B 到 70B 的基础语言模型,它们都是在数万亿个字符上训练的,展示了如何仅使用公开可用的数据集来训练最先进的模型,而不需要依赖专有或不可访问的数据集。这些数据集包括 Common Crawl、Wikipedia、OpenWebText2、RealNews、Books 等。LLaMA 模型使用了大规模的数据过滤和清洗技术,以提高数据质量和多样性,减少噪声和偏见。LLaMA 模型还使用了高效的数据并行和流水线并行技术,以加速模型的训练和扩展。特别地,LLaMA 13B 在 CommonsenseQA 等 9 个基准测试中超过了 GPT-3 (175B),而 LLaMA 65B 与最优秀的模型 Chinchilla-70B 和 PaLM-540B 相媲美。LLaMA 通过使用更少的字符来达到最佳性能,从而在各种推理预算下具有优势。

6.2.2、GLM系列

GLM 系列模型是清华大学和智谱 AI 等合作研发的开源语言大模型。ChatGLM 是基于 GLM 结构开发的具有 62 亿参数量的语言大模型,支持 2048 的上下文长度。其使用了包含 1 万亿字符的中英文语料进行训练,能够支持中文和英文两种语言的任务。通过监督微调、反馈自助、人类反馈强化学习等多种训练技术,ChatGLM 拥有强大的生成能力,能够生成更符合人类偏好的内容。与 GLM 相似,通过 INT4 量化 和 P-Tuning v2 等高效微调的算法,ChatGLM 能够在 7G 显存的条件下进行微调。

6.2.3、通义千问

通义千问由阿里巴巴基于“通义”大模型研发,于 2023 年 4 月正式发布。2023 年 8 月,阿里云开源了Qwen(通义千问)系列工作,当前开源模型的参数规模为70亿(7B)和140亿(14B)。本次开源包括基础模型Qwen,即 Qwen-7B 和 Qwen-14B ,以及对话模型 Qwen-Chat ,即 Qwen-7B-Chat 和 Qwen-14B-Chat。

6.2.4、Baichuan系列

Baichuan 是由百川智能开发的开源可商用的语言大模型,在权威的中文和英文 benchmark 上均取得同尺寸最好的效果,其基于Transformer 解码器架构。

Baichuan-7B 是在大约 1.2 万亿字符上训练的 70 亿参数模型,支持中英双语,最大 4096 的上下文窗口长度。

Baichuan-13B 在 Baichuan-7B 的基础上进一步扩大参数量到 130 亿,并且在高质量的语料上训练了 1.4 万亿 字符,超过 LLaMA-13B 40%,是当前开源 13B 尺寸下训练数据量最多的模型。其支持中英双语,使用 ALiBi 位置编码,最大 4096 的上下文窗口长度,使用 rotary-embedding,是现阶段被大多数模型采用的位置编码方案,具有很好的外推性。百川同时开源了预训练和对齐模型,预训练模型是面向开发者的“基座”,而对齐模型则面向广大需要对话功能的普通用户。除了原始权重,为实现更高效的推理,百川开源了 INT8 和 INT4 的量化版本,相对非量化版本在几乎没有效果损失的情况下大大降低了部署的机器资源需求。

二、什么是 LangChain

ChatGPT 的巨大成功激发了越来越多的开发者兴趣,他们希望利用 OpenAI 提供的 API 或者私有化模型,来开发基于大型语言模型的应用程序。尽管大型语言模型的调用相对简单,但要创建完整的应用程序,仍然需要大量的定制开发工作,包括API集成、互动逻辑、数据存储等等。

为了解决这个问题,从 2022 年开始,许多机构和个人相继推出了多个开源项目,旨在帮助开发者们快速构建基于大型语言模型的端到端应用程序或工作流程。其中一个备受关注的项目就是 LangChain 框架。LangChain 框架是一个开源工具,充分利用了大型语言模型的强大能力,以便开发各种下游应用。它的目标是为各种大型语言模型应用提供通用接口,从而简化应用程序的开发流程。具体来说,LangChain 框架可以实现数据感知和环境互动,也就是说,它能够让语言模型与其他数据来源连接,并且允许语言模型与其所处的环境进行互动。

1、langchain 核心组件

LangChian 作为一个大语言模型开发框架,可以将 LLM 模型(对话模型、embedding模型等)、向量数据库、交互层 Prompt、外部知识、外部代理工具整合到一起,进而可以自由构建 LLM 应用。 LangChain 主要由以下 6 个核心模块组成:

  • 模型输入/输出(Model I/O):与语言模型交互的接口
  • 数据连接(Data connection):与特定应用程序的数据进行交互的接口
  • 链(Chains):将组件组合实现端到端应用。
  • 记忆(Memory):用于链的多次运行之间持久化应用程序状态;
  • 代理(Agents):扩展模型的推理能力。用于复杂的应用的调用序列;
  • 回调(Callbacks):扩展模型的推理能力。用于复杂的应用的调用序列;

动手学大模型应用开发

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值