动手学大模型 DAY1 大模型简介

1.概述

-1发展历史

语言建模始于20世纪90年代,最初采用统计方法,但在理解复杂语言规则方面存在一定复杂性。

2003年。深度学习先驱Bengiozai在《A Neural Probalilistic Langugage Model》首次将深度学习思想融入语言模型,使用了更强大的神经网络模型,让模型更好的捕捉语言中的复杂关系,但仍有改进空间

2018年左右,引入了Tansforamer架构的·神经网络模型,通过大量文本数据训练,能够深入了解语言规则和模式

随着语言模型规模扩大(增加模型大小或使用更多数据),模型在任务中的表现显著提升

-2.大语言模型的概念

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

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

GPT-3(1750亿参数),PaLM(5400参数)等大模型和共和BERT(3.3亿参数),GPT-2(15亿参数)使用相似的架构和预训练任务,展现出了截然不同的能力,尤其在解决复杂任务时展现了惊人潜力,这种能力称为涌现能力。研究界给这些庞大的语言模型起了个名字,称之为“大语言模型(LLM)”.而 LLM 的一个杰出应用就是 ChatGPT ,它是 GPT 系列 LLM 用于与人类对话式应用的大胆尝试,展现出了非常流畅和自然的表现。

LLM的应用和影响

LLM在自然语言处理 领域可以帮助计算机更好地理解和生成文本,包括写文章、回答问题、翻译语言等。在信息检索领域,它可以改进搜索引擎,让我们更轻松地找到所需的信息。在计算机视觉领域,研究人员还在努力让计算机理解图像和文字,以改善多媒体交互。

LLM的出现让人们重新思考了 通用人工智能(AGI)** 的可能性。AGI 是一种像人类一样思考和学习的人工智能。LLM 被认为是 AGI 的一种早期形式**

2.大模型的能力和特点

-1大模型的能力

1.1涌现能力(emergent abilities)

涌现能力可以定义为与某些复杂任务相关的能力,例如

  • 上下文学习

  • 指令遵循

  • 逐步推理

这些涌现能力让LLM在处理各种任务时表现出色,使它们成为了解决复杂问题和应用于多领域的强大工具

1.2作为基座模型智齿多元应用的能力

在2021年,斯坦福大学等多所高校的研究人员提出了基座模型(foundation model)的概念。这是一种全新的AI技术范式,借助于海量无标注数据的训练,获得可以适用于大量下游任务的大模型(单模态或者多模态)。这样,多个应用可以只依赖于一个或少数几个大模型进行统一建设

大模型时这个新模式的典型例子,使用统一的大模型可以极大提高研发效率,相比于分散的模型开发方式,大型模型不仅可以缩短每个具体应用的开发周期,减少所需人力投入,也可以基于大模型的推理、常识和写作能力,获得更好的应用效果。因此,大模型可以成为AI应用开发的大一统基座模型

1.3支持对话作为统一入口的能力

大型语言模型的出现再次让聊天机器人这种交互模式可以重新想像。用户愈发期待像钢铁侠中“贾维斯”一样的人工智能,无所不能、无所不知。这引发我们对于智能体(Agent)类型应用前景的思考,Auto-GPT、微软Jarvis等项目已经出现并受到关注,相信未来会涌现出很多类似的以对话形态让助手完成各种具体工作的项目

2. 大模型的特点

大语言模型(LLM,Large Language Models)具有多种显著特点,这些特点使它们在自然语言处理和其他领域中引起了广泛的兴趣和研究。以下是大语言模型的一些主要特点:

  • 巨大的规模

  • 预训练和微调

  • 上下文感知

  • 多语言支持

  • 多模态支持

  • 涌现能力

  • 多领域应用

  • 伦理和风险问题.

3.常见大模型

-1.闭源LLM(未公开源代码)

1.1GPT系列

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

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

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

  • 扩展语言模型的大小。

OpenAI在LLM上研究大致分为以下阶段

动手学大模型 DAY1 大模型简介_第1张图片

ChatGPT

2022 年 11 月,OpenAI 发布了基于 GPT模型(GPT-3.5 和 GPT-4) 的会话应用 ChatGPT。ChatGPT 是基于强大的 GPT 模型开发的,具有特别优化的会话能力。

ChatGPT 从本质上来说是一个 LLM 应用,它是基于 GPT-3.5 和 GPT-4 开发出来的,与 GPT-4 有本质的区别,正如当前应用界面所显示的,支持 GPT-3.5 和 GPT-4 两个版本。

在的 ChatGPT 支持最长达 32,000 个字符,知识截止日期是 2021 年 9 月,它可以执行各种任务,包括代码编写、数学问题求解、写作建议等。

注意:2023 年 11 月 7 日, OpenAI 召开了首个开发者大会,会上推出了最新的大语言模型 GPT-4 Turbo,这个 Turbo 就相当于是进阶版的意思。它将上下文长度扩展到 128k,相当于 300 页文本,并且训练知识更新到 2023 年 4 月

GPT4

2023 年 3 月发布的GPT-4,它将文本输入扩展到多模态信号。相关人员猜测,GPT-4 在 120 层中总共包含了 1.8 万亿参数,也就是说,GPT-4 的规模是 GPT-3 的 10 倍以上。因此,GPT-4 比 GPT-3.5 解决复杂任务的能力更强,在许多评估任务上表现出较大的性能提升

技术报告中,OpenAI 强调了如何安全地开发 GPT-4 ,并应用了一些干预策略来缓解 LLM 可能出现的问题,如幻觉、隐私和过度依赖。例如,他们引入了称为红队评估(red teaming)的机制,以减少危害或有毒物质的产生。作为另一个重要方面,GPT4 是在一个完善的深度学习基础设施上开发的,并使用改进的优化方法。他们引入了一种称为可预测扩展(predictable scaling)的新机制,可以在模型训练期间使用一小部分计算准确预测最终性能。

1.2Claude系列

Claude 系列模型是由 OpenAI 离职人员创建的 Anthropic 公司开发的闭源语言大模型,可以完成摘要总结、搜索、协助创作、问答、编码等任务。目前包含 Claude 和 Claude-Instant 两种模型可供选择,其中 Claude Instant 的延迟更低,性能略差。最早的 Claude 于 2023 年 3 月 15 日发布,并在 2023 年 7 月 11 日,更新至 Claude-2。Claude 2 的训练参数官方并未公开,相关猜测大概是 860.1 亿个参数。

该系列模型通过无监督预训练、基于人类反馈的强化学习和 Constitutional AI 技术(包含监督训练和强化学习)进行训练,旨在改进模型的有用性、诚实性和无害性。

Claude 2 注重提高以下能力:

  • Anthropic 致力于提高 Claude 作为编码助理的能力,Claude 2 在编码基准和人类反馈评估方面性能显著提升。

  • 长上下文(long-context)模型对于处理长文档、少量 prompt 以及使用复杂指令和规范进行控制特别有用。Claude 的上下文窗口从 9K token 扩展到了 100K token(Claude 2 已经扩展到 200K token,但目前发布版本仅支持 100K token)。

  • 以前的模型经过训练可以编写相当短的回答,但许多用户要求更长的输出。Claude 2 经过训练,可以生成最多 4000 个 token 的连贯文档,相当于大约 3000 个单词。

  • Claude 通常用于将长而复杂的自然语言文档转换为结构化数据格式。Claude 2 经过训练,可以更好地生成 JSON、XML、YAML、代码和 Markdown 格式的正确输出。 虽然 Claude 的训练数据仍然主要是英语,但 Claude 2 的训练数据中非英语数据比例已经明显增加。

  • Claude 2 的训练数据包括 2022 年和 2023 年初更新的数据。这意味着它知道最近发生的事件,但它仍然可能会产生混淆。

1.3 PaLM系列

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

2023 年 5 月,Google 发布了 PaLM 2,Google 内部文件显示其参数量为 340B,训练数据为 PaLM 的 5 倍左右。能够处理“多语言任务”,用了一个覆盖 100 多种语言的语料库进行.PaLM2 实际上是一系列模型,可以根据规模分为:Gecko、Otter、Bison和Unicorn,可以根据不同的领域和需求进行微调,最小模型可以部署在移动端,最大的参数量也只有 14.7B。

PaLM2 的几大突破:

  • 最优的缩放比例(训练数据大小/模型参数量),通过 compute-optimal scaling 的研究,可以得知数据大小与模型大小同样重要。根据谷歌的研究,数据和模型大小大致按照 1:1 的比例缩放,可以达到最佳性能。(过去常认为,模型参数量的大小大致为数据集 3 倍更佳)

  • 训练数据集非纯英文语料,混合了百种语言,包括了网络文档、书籍、代码、数学和对话数据,比用于训练PaLM的语料库大得多。并在研究中发现,越大的模型越是能处理更多的非英文数据集,而且包含更高比例的非英语数据,对多语言任务(如翻译和多语言问题回答)是有利的,因为模型会接触到更多的语言和文化。这使得该模型能够学习每种语言的细微差别。

1.4 文心一言

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

文心一言一方面采用有监督精调、人类反馈的强化学习、提示等技术,还具备知识增强、检索增强和对话增强等关键技术。文心一言基于飞桨深度学习框架进行训练,算法与框架的协同优化后效果和效率都得到提升,模型训练速度达到优化前的 3 倍,推理速度达到优化前的 30 多倍。

1.5星火大模型

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

讯飞星火 V2.0升级发布的多模态能力,已实现图像描述、图像理解、图像推理、识图创作、文图生成、虚拟人合成。星火大模型包含超过1700 亿个参数,来源于数十亿的语言数据集。基于代码和多模态能力的发布,智能编程助手iFlyCode1.0讯飞智作2.0 两款应用产品也在发布会上发布,同时,讯飞和华为还联合重磅发布了国内首款支持大模型训练私有化的全国产化产品“星火一体机”,可支持企业快速实现讯飞星火大模型的私有化部署、场景赋能和专属大模型训练优化。

2023 年 10 月 24 日,2023 科大讯飞全球 1024 开发者上,现场发布了 讯飞星火认知大模型 V3.0 ,此次七大能力持续提升,并且全面对标ChatGPT。

-2 开源LLM

2.1 LLAMA系列

LLaMA 系列模型是 Meta 开源的一组参数规模 从 7B 到 70B 的基础语言模型,它们都是在数万亿个字符上训练的,展示了如何仅使用公开可用的数据集来训练最先进的模型,而不需要依赖专有或不可访问的数据集。LLaMA 模型使用了大规模的数据过滤和清洗技术,以提高数据质量和多样性,减少噪声和偏见。

还使用了高效的数据并行流水线并行技术,以加速模型的训练和扩展。 LLaMA 65B 与最优秀的模型 Chinchilla-70B 和 PaLM-540B 相媲美。LLaMA 通过使用更少的字符来达到最佳性能,从而在各种推理预算下具有优势。

与 GPT 系列相同,LLaMA 模型也采用了 decoder-only 架构,但同时结合了一些前人工作的改进,例如:

  • Pre-normalization,为了提高训练稳定性,LLaMA 对每个 Transformer子层的输入进行了 RMSNorm 归一化,这种归一化方法可以避免梯度爆炸和消失的问题,提高模型的收敛速度和性能;

  • SwiGLU 激活函数,将 ReLU 非线性替换为 SwiGLU 激活函数,增加网络的表达能力和非线性,同时减少参数量和计算量

  • RoPE 位置编码,模型的输入不再使用位置编码,而是在网络的每一层添加了位置编码,RoPE 位置编码可以有效地捕捉输入序列中的相对位置信息,并且具有更好的泛化能力。

2.2 GLM系列

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

在 ChatGLM 的基础上,2023 年 6 月发布的 ChatGLM 2 使用了包含 1.4 万亿字符的中英预料进行预训练,并使用人类偏好的数据对模型进行对齐训练,拥有比前一版本更加强大的能力,在多个任务上取得提升。

  • 通过 FlashAttention 技术,ChatGLM 2 能够处理更长的长下文,支持的长下文长度达到了 3.2 万字符

  • 通过 Multi-Query Attention 技术,ChatGLM 2 能够进一步地提升推理速度,减小对显卡的显存占用

2023 年 10 月 27 日的 2023 中国计算机大会(CNCC)上,智谱 AI 推出了 ChatGLM3ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

  • 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能。

  • 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。

  • 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base、长文本对话模型 ChatGLM3-6B-32K。以上所有权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用。

还开源了 多模态 CogVLM-17B 、以及 智能体 AgentLM ,具体来说:

  • 在对话模型上,对标 ChatGPT 的是 ChatGLM

  • 在文生图方面,对标 DALL.E 的是 CogView

  • 代码生成上,与 Codex 相对的是 CodeGeeX

  • 搜索增强上,与 WebGPT 相对的是 WebGLM

  • 在多模态、图文理解领域,与 GPT-4V 对标的有 ChatGLM3

2.3 通义千问

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

2.4 Baichuan系列

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

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

Baichuan-13B 在 Baichuan-7B 的基础上进一步扩大参数量到 130 亿,并且在高质量的语料上训练了 1.4 万亿 字符,超过 LLaMA-13B 40%,是当前开源 13B 尺寸下训练数据量最多的模型。。百川同时开源了预训练对齐模型,预训练模型是面向开发者的“基座”,而对齐模型则面向广大需要对话功能的普通用户。百川开源了 INT8 和 INT4 的量化版本,相对非量化版本在几乎没有效果损失的情况下大大降低了部署的机器资源需求。

2023 年 10 月 30 日,百川智能发布 Baichuan2-192K 大模型,上下文窗口长度高达 192 K ,发布时是全球最长的上下文窗口(但不久后就被零一万物的首款开源大模型 —— Yi 打破纪录达到 200 K,可直接处理 40 万汉字超长文本输入)。Baichuan2-192K 能够一次处理约 35 万个汉字,是目前支持长上下文窗口最优秀大模型 Claude2(支持 100 K上下文窗口,实测约 8 万字)的 4.4 倍。

4. 什么是LangChain?

-1 langchain简介

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

-2langchain发展历史

LangChain 的作者是 Harrison Chase,该项目自从 2022 年 10 月在 github 上开源以后,迅速吸引了大量开发者的兴趣和投资者的青睐,也由此转变为一家初创公司。

前段时间,AI初创公司 LangChain 成功完成了 1000 万美元的种子轮融资,投资方为 Benchmark Capital。这笔融资进一步证实了 LangChain 作为 AI 初创企业的领军地位。并且,在本次种子轮融资后,LangChain 不久后再次获得了红杉领投的 2000 万至 2500 万美元融资,估值达到 2 亿美元。动手学大模型 DAY1 大模型简介_第2张图片

-3 langchain核心组件

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

  • 模型输入/输出(Model I/O):与语言模型交互的接口

  • 数据连接(Data connection):与特定应用程序的数据进行交互的接口

  • 链(Chains):将组件组合实现端到端应用。

  • 记忆(Memory):用于链的多次运行之间持久化应用程序状态;

  • 代理(Agents):扩展模型的推理能力。用于复杂的应用的调用序列;

  • 回调(Callbacks):扩展模型的推理能力。用于复杂的应用的调用序列;

你可能感兴趣的:(语言模型)