老码农眼中的大模型(LLM)

这篇具有很好参考价值的文章主要介绍了老码农眼中的大模型(LLM)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

即便全力奔跑,也不一定能跟上时代的步伐。但如果失去了学习的动力,很可能会被时代淘汰。而且,当时代淘汰我们的时候,往往不会有任何预警。基于大模型的 ChatGPT 给我们带来了极大的震撼,那么什么是大模型呢?

1.大型语言模型

大型语言模型 (LLM) 被简称为大模型,是一类基础模型。这些模型可以通过微调转移到许多下游任务,因为它们已经在大量无监督和非结构化数据的情况下进行了训练。像 GPT-3 或 BERT 这样的大型语言模型 (LLM) 是深度神经网络,其核心是 Transformer 的体系结构。

Transformer 体系结构包括两部分: 编码器和解码器。编码器和解码器大部分是相同的 (有一些不同之处),另外,对于编码器和解码器堆栈的优缺点,类似于自动回归与自动编码器模型。鉴于基于解码器的模型在生成性人工智能领域的流行,如今的大模型侧重于解码器模型 (如 GPT-x) 而不是编码器模型 (如 BERT 及其变体),因此,术语大模型与“基于解码器的模型”可以互换使用。

一个输入文本的“prompt”,实质上这些系统所做的就是在一个“词汇表”上计算一个概率分布,而词汇表是系统知道的所有单词 (实际上是单词的一部分或标记) 的列表。这些词汇是由人类设计者提供给系统的,例如,GPT-3 的词汇表大约有 50,000 个标记。

值得注意的是,虽然 LLM 仍然受到无数的限制,比如幻觉和思维推理链中的问题,其中幻觉是指大模型提供了非事实但看似合理的预测。但重要的是,LLM 是通过训练来执行统计语言建模的。具体来说,在自然语言处理中,语言建模仅仅被定义为在给定上下文的情况下预测缺失标记的任务。

老码农眼中的大模型(LLM)

2.大模型是如何工作的?

首先,大模型需要获取其接收到的“prompt”并将其转换为嵌入。嵌入是输入文本的向量表示。

接下来,大模型进行一层一层的注意力计算和前馈计算。这将导致为其词汇表中的每个单词分配一个数字或 logit。

最后,根据分配给大模型的任务,它将把每个(非规范化的)logit 转换成一个(规范化的)概率分布(例如,SoftMax 激活函数),确定文本中下一个出现的词。

大道至简,然而,大道易得,小术难求!

3. 相似度计算

如何确定两个句子是否相似或不同?句子相似度是衡量两个句子在意义上等同的程度。衡量句子相似度最常用的两个指标是点积相似度和余弦相似度,它们都不是“距离指标”。 

3.1 点积相似度

两个向量 u 和 v 的点积定义为: u⋅v=|u| |v| cosθ

当|v|=1时,也许最容易将其用作相似性度量,如下图所示:

老码农眼中的大模型(LLM)

其中cosθ =(u⋅v)/(| u || v |)=(u⋅v)/(| u |)

这里可以看到,当θ=0时,cosθ=1,也就是说,向量是共线的,点积是向量的元素乘积。当θ是一个直角时,cosθ=0,即矢量是正交的,点积为0。一般来说,cosθ告诉我们向量方向的相似性,当它们指向相反的方向时是-1。随着维数的增加,cosθ作为多维空间中的相似度量具有重要的用途,这就是为什么它可以说是最常用的相似度量。

在几何上,向量u,v之间的点积可以解释为将u投影到v上(或者反之亦然),然后乘以u的投影长度与v的投影长度的乘积。如果u与v正交,u在v上的投影是一个零长度向量,点积为零,这与零相似性的直觉相对应。

3.2 余弦相似度

如果缩放 u ⋅ v 点积的大小 ‖u‖‖v‖,将范围限制为 [-1,1],就是余弦相似度,如下图所示:

老码农眼中的大模型(LLM)

同样是比较 u 和 v 两个向量:⋅ 表示点积。‖u‖ 和 ‖v‖ 表示向量的大小(或范数),n 是向量的维数。如前所述,长度标准化部分 ‖u‖‖v‖ 限制范围为 [-1,1],并保持比例不变。

余弦距离只关心角度差,点积关心角度和大小。如果将数据规范化为具有相同的大小,则两者无法区分。有时忽略大小是可取的,那么余弦距离更适合,但如果大小起作用,点积作为相似性度量会更好。

换句话说,余弦相似度是大小标准化的简单点积,它具有尺度不变性,因此自然而然地适用于不同的数据样本(比如,不同长度的样本)。例如,假设有两组文档,在每组文档中计算相似度。那么,在每个集合中,文档应该是相同的,但是集合1的文档可能比集合2的文档短。另外,如果嵌入/特征尺寸不同,点积会产生不同的数字,而在这两种情况下,余弦相似度会产生可比较的结果(因为它是长度标准化的)。

另一方面,普通点积没有长度规范化,涉及的操作较少,在复杂性和实现方面相对容易。

4. 推理

首先,需要弄清楚几个与推理相关的单词含义:

  • 推理(reasoning):指利用正确的思维方法通过逻辑推理对事实得出客观结论;

  • 推断(inference):特指得出结论的推导过程;

  • 演绎(deduction):指由证明无误的前提得出特殊结论;

  • 归纳(induction):指归纳法,从事实得出结论。

推理是使用证据和逻辑进行论证的能力,种类很多,比如常识推理或数学推理以及符号推理。前两种很容易理解,而符号推理通常指的是给定一些特定符号代表的状态,然后对它们做一些操作,最终得到什么样的状态,例如给定一个列表,对其进行旋转操作,问你最终的状态是什么。

类似地,有各种各样的方法可以从模型中引出推理,其中之一就是大模型中的prompt。需要注意的是,梳理推理和事实信息以得出最终输出并不是一个简单的任务,大模型为了给出最终预测所使用的推理程度仍然是未知的。

5.为大模型引入外部知识

在使用ChatGPT的过程中,我们发现它能够利用知识和信息,而这些知识和信息并不一定在其权重中。为了规避有限的上下文大小,增加大型模型的相关性,可以通过添加从相关外部文档中提取的信息来实现。有几种方法可以实现这一点,例如利用另一个神经网络或语言模型,通过迭代调用它来提取所需的信息。另一种方法是通过外部数据库这样的数据存储来获取信息检索,比如最近的事实。

因此,有两种类型的信息检索器,密集型和稀疏型。稀疏检索器使用文档和查询的稀疏词包表示,而密集(神经)检索器使用从神经网络获得的密集查询和文档向量来表示。虽然检索文档来进行问答的想法并不新鲜,但是用相关文档增强语言模型的知识库,检索增强型语言模型最近在除了问答以外的其他知识密集型任务中表现出了很强的性能。这些方法缩小了与大型语言模型的差距。

另外,检索器和思维链(CoT) Prompt 相结合也可以用来增强大模型。CoT prompt 生成了具有解释和预测对的推理路径,并且不需要额外的训练或微调。

大模型还可以使用搜索引擎本身,比如WebGPT。WebGPT学习如何与Web 浏览器交互,这使它能够进一步细化初始查询,或者基于与工具的交互执行其他操作。确切地说,WebGPT可以搜索互联网、浏览网页、跟踪链接和引用资源。

6.增强大模型的方法

增强大模型指的是允许语言模型利用外部工具来增强当前上下文,使用的信息不包含在语言模型权重中。工具是一个外部模块,通常使用规则或特殊token调用,其输出包含在大模型的上下文中。

6.1 Prompt工程

大模型生成能够生成很多类型的内容,但是生成内容的质量取决于你提供给它多少信息。一个Prompt可以包含你给模型的指令或问题等,也可以包括更多细节,如输入(指引输出的文字)或例子。

Prompt不需要权重更新,大模型的推理和行为能力都与提供的prompt相关联,这是一种非常强大的方法,教授了大模型所需输出是什么的方法。

6.2 微调

微调(fine-tuning)的过程就是用训练好的参数(从已训练好的模型中获得)初始化自己的网络,然后用自己的数据接着训练,参数的调整方法与from scratch训练过程一样。

对于大模型而言,通过监督式学习,可以对参数的权重进行微调和更新。

6.3 预训练

预先训练阶段之后进行微调的一个潜在风险是,大模型可能会偏离最初的分布,并且会过度适应在微调期间提供的示例分布。

为了缓解这个问题,类似于早期如何将预训练数据与来自各种下游任务的示例例混合,可以将预训练数据与标记的推理示例混合。然而,与单独的微调相比,这种混合的确切收益还没有被实证。

6.4 Bootstrapping

Bootstrapping指的是利用有限的样本资料经由多次重复抽样,重新建立起足以代表母体样本分布的新样本。bootstrapping的运用基于很多统计学假设,因此假设的成立与否会影响采样的准确性。

对于大模型而言,通过prompt LM 进行推理或采取行动,然后进行最终预测,丢弃那些执行的行动或推理步骤没有导致正确的最终预测的例子。

6.5 强化学习

强化学习(RL)用于描述和解决智能体(agent)在与环境的交互过程中,通过学习策略以达成回报最大化或实现特定目标的问题。

对于大模型而言,强化学习通过创建提示的监督式学习教会大模型如何推理和行动。

7.小结

本文从老码农的视角观察了大模型的工作原理,探讨了相似度计算中的点积相似度和余弦相似度,以及如何为大模型引入外部知识。此外,还简述了增强大模型的方法,包括prompt、微调、Prompt预训练、Bootstrapping和强化学习等。

下表(源)提供了大型语言模型的摘要,包括原始发布日期、最大模型大小以及权重是否向公众完全开放源码:

老码农眼中的大模型(LLM)

【参考资料与关联阅读】

  • Argument Language Model:a survey,https://arxiv.org/pdf/2302.07842v1.pdf

  • https://datascience.stackexchange.com/questions/744/cosine-similarity-versus-dot-product-as-distance-metrics

  • 一文读懂“语言模型”

  • 《深入浅出Embedding》随笔

  • 机器学习与微分方程的浅析

  • 机器学习系统架构的10个要素

  • 图计算的学习与思考

  • Agent 与对象的辨析

  • 神经网络中常见的激活函数

  • 算法与模型的浅析

  • 清单管理?面向机器学习中的数据集

  • 面向AI 的数据生态系统

  • AI系统中的偏差与偏见

  • 难以捉摸?机器学习模型的可解释性初探

  • DuerOS 应用实战示例——机器狗DIY
    文章来源地址https://www.toymoban.com/news/detail-425316.html

到了这里,关于老码农眼中的大模型(LLM)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 以 LLM 为核心 LLM@Core:程序员的大语言模型技术指南

    过去几个月里,我们对于大语言模型的一系列探索,如 ChatGPT 端到端实践与应用开发、LLaMA 与 ChatGLM 的微调试验、GitHub Copilot 逆向工程分析、动态上下文工程(即 LangChain)的研究,驱使着我去写一个总结,也是一个面向程序员的 LLM 指南。 也是好久没有写这个系列(程序员必

    2024年02月07日
    浏览(52)
  • 我眼中的大数据(五)——Spark

    CSDN话题挑战赛第2期 参赛话题:大数据技术分享 Hadoop MapReduce虽然已经可以满足大数据的应用场景,但是其执行速度和编程复杂度并不让人们满意。Spark因其拥有更快的执行速度和更友好的编程接口,在推出后短短两年就迅速抢占MapReduce的市场份额,成为主流的大数据计算框架

    2024年02月12日
    浏览(29)
  • AIGC 实战:如何使用 Ollama 开发自定义的大模型(LLM)

    虽然 Ollama 提供了运行和交互式使用大型语言模型(LLM)的功能,但从头开始创建完全定制化的 LLM 需要 Ollama 之外的其他工具和专业知识。然而,Ollama 可以通过微调在定制过程中发挥作用。以下是细分说明: 预训练模型选择: Ollama 提供了一个预训练的开源 LLM 库,例如 Ll

    2024年03月10日
    浏览(47)
  • 图技术在 LLM 下的应用:知识图谱驱动的大语言模型 Llama Index

    LLM 如火如荼地发展了大半年,各类大模型和相关框架也逐步成型,可被大家应用到业务实际中。在这个过程中,我们可能会遇到一类问题是:现有的哪些数据,如何更好地与 LLM 对接上。像是大家都在用的知识图谱,现在的图谱该如何借助大模型,发挥更大的价值呢? 在本文

    2024年02月15日
    浏览(52)
  • 通过clone的方式,下载huggingface中的大模型(git lfs install)

    1、如图:可以手动一个个文件下载,但是那样太慢了,此时,可以点击下图圈起来的地方。 2、点击【Clone repository】,在命令行中,输入【git lfs install】(安装了这个,才会下载大文件,不然图中的.bin文件都是不会被下载的) 3、再git clone https://huggingface.co/THUDM/chatglm2-6b,在

    2024年02月10日
    浏览(40)
  • [NLP]LLM---大模型指令微调中的“Prompt”

    大家有没有分析过 prompt对模型训练或者推理的影响?之前推理的时候,发现不加训练的时候prompt,直接输入模型性能会变差的,这个倒是可以理解。假如不加prompt直接训练,是不是测试的时候不加prompt也可以?还有一个就是多轮prompt和单轮prompt怎么构造的问题?好多模型训练

    2024年02月09日
    浏览(49)
  • AI 大模型 LLM 中的注意力架构原理

      目录 人类的视觉注意力 Encoder-Decoder 框架 Attention模型 Soft Attention模型

    2024年02月08日
    浏览(42)
  • ASR(自动语音识别)任务中的LLM(大语言模型)

    浅度融合 浅层融合指的是 LLM 本身并没有和音频信息进行直接计算。其仅对 ASR 模型输出的文本结果进行 重打分 或者 质量评估 。 深度融合 LLM 与 ASR 模型进行深度结合,统一语音和文本的编码空间或者直接利用 ASR 编码器的隐状态参与计算,利用大语言模型的能力得到更好的

    2024年02月12日
    浏览(49)
  • 程序猿眼中的协议:TCP / IP 五层网络模型

    哈喽,大家好~我是你们的老朋友: 保护小周ღ ,本期为大家带来的是 网络基础原理中的 TCP / IP 五层网络模型,主要从协议的概念,网络模型,数据分层传输的流程,几个方面讲解,看完之后可以轻松的理解数据是如何在网络中传输的,确定不来看看嘛~~ 更多精彩敬请期待

    2023年04月19日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包