大模型第一讲笔记

目录

1、人工智能基础概念全景介绍... 2

1.1 人工智能全景图... 2

1.2 人工智能历史... 2

1.3 人工智能——机器学习... 3

监督学习、非监督学习、强化学习、机器学习之间的关系... 3

监督学习... 4

无监督学习... 5

强化学习... 5

深度学习... 6

2、语言模型的发展及核心算法... 8

2.1 大模型发展格局、大模型直观功能展示... 8

2.2 大模型之“大”——数据量大... 9

2.3 大模型之“通用” 10

2.4 大模型之“最大功臣”:Transformer 10

3、Transformer内部发生着什么... 13

3.1 Transformer第一步:数据预处理... 13

3.2 Transformer第二步:编码器... 13

3.3 Transformer第三步:解码器... 14

3.4 Transformer第四步: Linear层和Softmax层... 15

4、类Chatgpt产品的诞生之路... 16

4.1 大语言模型诞生的全过程... 16

4.2 无监督学习—>基座大模型... 17

4.3 有监督学习—>可对话... 17

4.4 有监督学习—>奖励模型... 18

4.5 强化学习—>提升模型回复质量... 18

1.人工智能基础概念全景介绍

1.1 人工智能全景图

 

1.2 人工智能历史

人工智能的提出——达特茅斯会议

1956年的达特茅斯会议正式确立了“人工智能”这一-领域。1956年夏,麦卡锡说服克劳德:香农(信息论的发明者)、内森尼尔罗切斯特(电气工程先驱)和马文明斯基参与他提出的一个人工智能研究项目,这个项目为期2个月。项目在达特茅斯组织了研讨会,约翰 麦卡锡(John Mc-Carthy)在组织会议的过程中,提出"人工智能"一-词,推动了人工智能作为一个独立学科的形成。

1.3 人工智能——机器学习

概念:让计算机通过大量数据,自行识别模型总结规律

监督学习、非监督学习、强化学习、机器学习之间的关系

监督学习、非监督学习、强化学习和机器学习是机器学习领域的几个重要概念,它们之间的关系密切而复杂。

首先,机器学习是一个更为广泛的概念,它涵盖了所有使用算法和统计模型来让计算机系统从数据中“学习”并改进其性能的技术。机器学习算法可以自动地从数据中提取特征和模式,并基于这些特征和模式进行预测或决策。

监督学习是机器学习的一种形式,它使用带有标签的数据集进行训练。在监督学习中,模型通过学习输入特征和对应标签之间的关系,从而能够预测新数据的标签。监督学习广泛应用于分类、回归等任务,如图像识别、语音识别等。

非监督学习是另一种机器学习形式,与监督学习不同,非监督学习的数据集没有标签。非监督学习算法通过对数据进行聚类、降维等操作,发现数据中的内在结构和模式。这种方法常用于数据探索、异常检测等任务。

强化学习是机器学习的另一种形式,它关注于智能体如何在与环境的交互中学习最佳行为策略。在强化学习中,智能体通过尝试不同的行动并观察结果(奖励或惩罚)来学习,目标是最大化累积奖励。强化学习在游戏AI、机器人控制等领域有广泛应用。

监督学习

监督学习是机器学习中的一种重要方法,其利用一组已知类别的样本来调整算法的参数,以达到所要求的性能。这一过程也称为监督训练或有教师学习。在监督学习中,每个实例都由一个输入对象(如矢量)和一个期望的输出值(也称为监督信号)组成。学习算法通过分析这些训练数据,能够产生一个推断功能,用于映射出新的实例。

监督学习的核心在于从标记的训练数据中推断一个功能。训练数据包括一套训练示例,这些示例的输入和输出都是已知的。学习算法的任务就是通过分析这些示例,找到一个模型或函数,能够准确地映射新的输入到相应的输出。

无监督学习

无监督学习是机器学习领域内的一种重要学习方式。与监督学习不同,无监督学习在训练过程中使用的数据没有明确的标签或结果。它主要是从大量无标签的数据中发现隐藏的结构或模式。

强化学习

强化学习是机器学习中的一个重要领域,它主要关注智能体如何在一个复杂且不确定的环境中通过不断试错来最大化其获得的奖励。强化学习的灵感来源于心理学中的行为主义理论,即有机体如何根据环境给予的奖励或惩罚来调整其行为。

在强化学习的框架中,智能体(agent)通过与环境的交互来学习策略。智能体首先获取环境的当前状态,并根据这个状态选择一个动作(决策)。执行这个动作后,环境会进入一个新的状态,并给智能体一个奖励值作为反馈。智能体的目标是通过不断尝试和调整策略,以最大化累积的奖励。

强化学习的一个显著特点是延迟奖励即当前所做的动作可能很多步之后才会产生相应的结果和奖励。因此,智能体需要具备记忆和规划能力,以处理这种延迟效应

强化学习可以分为基于模式的强化学习(model-based RL)和无模式强化学习(model-free RL),以及主动强化学习(active RL)和被动强化学习(passive RL)。此外,深度强化学习是强化学习与深度学习的结合,通过深度神经网络来近似强化学习中的值函数或策略函数,从而处理高维状态空间和动作空间的问题。

深度学习

答案:每一类都有深度学习的对应实现,故而都可以包含

深度学习是机器学习领域中一个新的研究方向,可以理解为“深度”和“学习”这两个名词的组合。

深度”体现在神经网络的层数上,一般来说,神经网络的层数越多,也就是越深,则学习效果越好。而“学习”体现为神经网络可以通过不断地输入数据来自动校正权重偏置等参数,以拟合更好的学习效果。

深度学习是一个复杂的机器学习算法,它是以人工神经网络为架构,对数据进行特征学习的算法。在特征提取方面,深度学习没有复杂的人工特征提取过程,特征提取过程可以通过深度神经网络自动完成。此外,深度学习需要大量的训练数据集,并需要强大的算力支持。

深度学习最典型最广泛的应用就是图像识别,此外,还可以应用于语音、自然语言等领域。现在主流的深度学习框架有TensorFlow、Keras、Caffe、PyTorch等。

生成式AI是一种特定类型的AI,专注于生成新内容,如文本、图像和音乐。这些系统在大型数据集上进行训练,并使用机器学习算法生成与训练数据相似的新内容。生成式AI在创意、设计、娱乐等领域展现出强大的潜力,可以广泛应用于创建艺术、音乐和聊天机器人生成文本等场景。

2.语言模型的发展及核心算法

2.1 大模型发展格局、大模型直观功能展示

2.2 大模型之“大”——数据量大

训练数据巨大:意味着模型可以从海量的数据中提取丰富的信息。这些数据涵盖了各种不同的场景、情境和实例,为模型提供了广泛的上下文和多样化的经验。通过大量的数据训练,模型能够学习到更多的特征和模式,从而提高其泛化能力和准确性。这使得大模型在处理复杂的自然语言处理、图像识别、语音识别等任务时表现出色

参数量巨大:使得模型具有更高的灵活性和表示能力。每个参数都代表了模型在训练过程中对数据的某种理解和表示。参数量越大,模型就越能够捕捉到数据中的细微差别和复杂关系。这使得大模型能够更好地适应各种变化,并在细节上进行微调,以提升性能。此外,大模型通常使用深层的神经网络结构,每一层都包含大量的参数,这使得模型能够逐层提取和抽象特征,从而构建出更加复杂和精确的模型。

2.3 大模型之“通用”

2.4 大模型之“最大功臣”:Transformer

Transformer是一个基于自注意力(self-attention)机制的神经网络结构,它最初是为自然语言处理(NLP)任务而设计的,但随后也被应用于其他领域,如计算机视觉和语音识别。Transformer模型的主要特点是能够捕捉输入序列中的长距离依赖关系,并且能够有效地并行化计算,从而提高了模型的训练效率和性能。

在大模型(如Transformer)之前,循环神经网络(Recurrent Neural Networks,简称RNN)是处理序列数据的主要神经网络结构。RNN特别适用于处理具有时间依赖性的数据,例如文本、语音等。

RNN的基本思想是在网络中引入循环机制,使得模型能够记住之前的信息。在每个时间步,RNN接收当前的输入并更新其内部状态,然后将这个状态传递给下一个时间步。这样,RNN就能够捕捉序列中的长期依赖关系。

然而,RNN在处理长序列时存在一些局限性。由于RNN在传播信息时是通过逐个时间步进行的,这导致了梯度消失或梯度爆炸的问题。当序列很长时,RNN很难有效地捕捉到早期的信息,这限制了其在处理长序列数据时的性能。

此外,RNN在处理复杂任务时,其表达能力也受到一定限制。尽管可以通过堆叠多个RNN层来增加模型的深度,但这也会增加计算的复杂性和训练的难度

自注意力机制是Transformer模型的核心,它通过计算输入序列中每个位置与其他位置之间的相似度得分,来生成一个注意力权重矩阵。这个矩阵描述了不同位置之间的相对重要性,使得模型能够关注到输入序列中的关键信息。通过自注意力机制,Transformer模型能够捕捉到序列中的长距离依赖关系,克服了传统循环神经网络(RNN)在处理长序列时面临的梯度消失和计算效率低下的问题。

大模型中的位置编码(Positional Encoding)是其显著优势之一,尤其在处理序列数据时表现得尤为突出。位置编码解决了模型在处理序列信息时无法有效识别位置顺序的问题,从而增强了模型对序列数据的理解和处理能力。

在自然语言处理(NLP)等任务中,序列中单词的位置信息往往至关重要。例如,在句子“我喜欢吃苹果”中,单词“喜欢”和“吃”的位置决定了它们之间的关系和整个句子的含义。如果模型无法区分这些位置信息,那么它将很难准确理解句子的含义。

位置编码通过为序列中的每个位置分配一个独特的向量表示,帮助模型捕捉位置信息。这些向量表示可以与单词嵌入(word embeddings)相结合,作为模型的输入。这样,模型在处理序列数据时,不仅能够理解单词的语义信息,还能够考虑到单词的位置信息,从而更准确地捕捉序列的整体含义。

 3.Transformer内部发生着什么

3.1 Transformer第一步:数据预处理

在使用Transformer模型进行自然语言处理任务(如机器翻译、文本摘要、情感分析等)时,数据预处理是第一步也是非常重要的一步。数据预处理涉及将原始文本数据转换为模型可以理解和处理的格式。以下是Transformer模型数据预处理的主要步骤:

分词(Tokenization)

将文本拆分为单词或子词(subword)单元,这些单元称为tokens。

对于英文,通常使用空格作为分隔符;对于中文,可能需要使用特定的分词工具。

Transformer模型(如BERT、GPT等)通常使用基于字节对编码(Byte Pair Encoding, BPE)或WordPiece的分词方法。

编码(Embedding)

将每个token转换为一个数值向量,即嵌入向量(embedding vector)。

通常使用预训练的词嵌入(如Word2Vec、GloVe)或模型自带的嵌入层。

对于新的或未登录词(OOV),可以使用特殊标记(如<UNK>)或子词嵌入。

位置编码(Positional Encoding):

在Transformer模型中扮演着至关重要的角色。Transformer模型本身具有置换不变性(permutation invariant),这意味着输入序列的顺序变化不会影响模型的输出结果。然而,在自然语言处理任务中,序列中单词的位置信息通常是至关重要的。为了解决这个问题,Transformer模型引入了位置编码。

3.2 Transformer第二步:编码器

进入编码器,自注意力机制发挥作用

1、关联词与其他所有词:首先计算句子中每个词与其他所有词之间的相关性得分。这些得分反映了词与词之间的关联程度,可以用于确定哪些词在当前上下文下更加重要

2、权重赋予:关性得分被转化为权重,用于调整每个词的表示。权重高的词将获得更大的关注,而权重低的词则相对被忽略。

2、权重加权:使用这些权重,对输入序列中每个位置的嵌入向量进行加权求和,得到一个新的表示向量。

3.3 Transformer第三步:解码器

解码器接收:

编码器的输出+上一轮文本的输入

不同之处:当编码器在处理各个词的时候,会关注输入序列里所有其他词。在解码器中,自注意力只会关注这个词他前面的其他词,确保生成过程的顺序性和正确性。

3.4 Transformer第四步: Linear层和Softmax层

输入到Linear层和Softmax层

1、Linear层: 将输入的向量映射到一个更大的logits向量上。logits向量的长度通常与词汇表的大小-致,假设输出词汇为0000则Logits向量的输 出也为10000,每-一个向量上的

数字对应一个词汇。

2、Softmax层: softmax层 将Logits向量中的每-个数字都转换成0到1之间的概率值,这些概率值表示对应词汇在当前位置被选择的概率,并且所有位置的概率之和为1。最终得到每个可能token的概

4.类Chatgpt产品的诞生之路

4.1 大语言模型诞生的全过程

首先通过无监督学习得到基座大模型,然后再通过有监督微调得到可以对话的模型,再通过有监督学习得到能够评估回答质量的奖励模型,最后通过强化学习,使模型的生成结果符合人类期望。

4.2 无监督学习—>基座大模型

数据准备

1、数据准备与预处理:海量文本作为原料,使用分词器(tokenizer)将这些文本数据转化为token序列。如GPT3,训练数据的整体规模是3,000亿的token。

任务构建

2、任务构建:采用无监督学习的方式训练模型,常见的方法是掩码语言建模(Masked Language Modeling, MLM) 。在这个任务中,我们随机选择输入序列中的一些token进行掩码(即用特殊符号替换),然后要求模型根据上下文预测这些被掩码的token。

模型训练

3、模型训练:将预处理后的token序列输入到Transformer模型中,经过Transformer得到每个可能token的预测概率。将预测的概率分布与真实值(即被掩码的token)进行比较,计算交叉熵损失。通过反向传播算法,计算损失函数对模型参数的梯度,并使用优化算法(如梯度下降)更新模型的权重。这个过程迭代进行,直到模型在验证集上达到满意的性能。

4.3 有监督学习—>可对话

监督微调(Supervised Fine-tuning)是一种在预训练模型的基础上,使用与目标任务直接相关的有标签数据集进行有监督训练的方法。其核心思想是通过调整模型的权重和参数,使模型更好地适应新的任务或领域

4.4 有监督学习—>奖励模型

有监督学习的背景下,奖励模型的应用可能并不像在无监督学习或强化学习环境中那么直接。然而,有监督学习仍然可以为奖励模型提供有价值的信息和指导。

4.5 强化学习—>提升模型回复质量

强化学习(Reinforcement Learning)是一种机器学习技术,它通过让智能体(agent)在与环境交互的过程中学习策略,以最大化某种累积奖励信号。强化学习非常适合解决那些难以用传统监督学习方法解决的问题,特别是那些需要智能体在不确定环境中进行探索和学习的任务。

在提升模型回复质量的上下文中,强化学习可以发挥重要作用。例如,当模型需要与用户进行自然语言交互时,回复的质量直接影响到用户体验和模型的实用性。通过强化学习,模型可以学习如何生成更恰当、更有用的回复。

以下是一些利用强化学习提升模型回复质量的可能方法:

定义奖励函数首先,需要定义一个奖励函数来衡量模型回复的质量。这个函数可以根据任务的具体需求来设计,例如,它可以基于回复的相关性、流畅性、多样性或用户满意度等因素。

采样与探索在训练过程中,模型需要不断地尝试不同的回复策略,并通过观察奖励信号来更新其策略。这涉及到采样和探索的权衡,即模型既要利用当前已知的最优策略,又要探索可能更优的新策略

策略优化基于收集到的经验(即状态、动作和奖励的序列),模型可以更新其策略,以最大化累积奖励。这通常涉及到使用某种形式的优化算法,如策略梯度方法、Q-learning 或 Actor-Critic 方法等

用户反馈集成用户的直接反馈是非常宝贵的信息。可以通过某种方式让用户对模型的回复进行评分或提供其他形式的反馈,并将这些信息整合到奖励函数中,以便模型能够更好地理解用户的期望和需求。

离线与在线学习强化学习可以在离线环境中进行,也可以在与用户实时交互的在线环境中进行。离线学习允许模型在大量数据上进行预训练,而在线学习则允许模型根据实时反馈进行快速调整。

模型集成与迁移学习强化学习可以与其他机器学习方法(如监督学习、无监督学习等)相结合,以提高模型的性能。此外,还可以利用迁移学习技术,将从其他任务或领域中学习到的知识迁移到当前任务中,以加速学习过程并提高回复质量。

通过结合这些技术和方法,强化学习可以有效地提升模型回复的质量,为用户提供更自然、更智能的交互体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/472292.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

视频素材库app推荐的地方在哪里找?

视频素材库app推荐的地方在哪里&#xff1f;这是很多短视频创作者都会遇到的问题。别着急&#xff0c;今天我就来给大家介绍几个视频素材库app推荐的网站&#xff0c;让你的视频创作更加轻松有趣&#xff01; 蛙学网&#xff1a;视频素材库app推荐的首选当然是蛙学网啦&#xf…

OKR如何与组织的整体战略和计划相结合?

OKR&#xff08;Objectives and Key Results&#xff0c;目标与关键成果&#xff09;作为一种流行的目标管理方法&#xff0c;正逐渐成为组织实现战略目标的重要手段。本文将探讨OKR如何与组织的整体战略和计划相结合&#xff0c;从而推动组织的持续发展。 首先&#xff0c;我…

dlib:人脸识别的魔法工具箱

引言 在数字化的世界中&#xff0c;人脸识别技术已经不再是科幻小说的专利&#xff0c;而是我们日常生活中的一部分。从解锁手机到机场安检&#xff0c;人脸识别技术正在逐步改变我们与世界的互动方式。而在这个领域中&#xff0c;有一个名为dlib的英雄&#xff0c;以其强大的功…

LLM之RAG实战(三十三)| 探索RAG在Table的应用

实现RAG是一个挑战&#xff0c;尤其是在有效解析和理解非结构化文档中的表格时&#xff0c;对于扫描的文档或图像格式的文档来说尤其困难。这些挑战至少有三个方面&#xff1a; 扫描文档或图像文档的复杂性&#xff0c;如其多元化的结构、非文本元素以及手写和打印内容的组合&…

前端基础篇-深入了解 Ajax 、Axios

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 Ajax 概述 2.0 Axios 概述 3.0 综合案例 1.0 Ajax 概述 通过 Ajax 可以给服务器发送请求&#xff0c;并获取服务器响应的数据。异步交互是指&#xff0c;可以在不…

InnoDB存储引擎中的锁(整理)

目录 什么是锁 InnoDB存储引擎中的锁 锁的类型 锁的兼容性 一致性非锁定读 一致性锁定读 锁的算法 行锁的三种算法 Phantom Problem&#xff08;幻像问题&#xff09; 锁问题 脏读 不可重复读 丢失更新 死锁 什么是锁 在数据库中锁是为了解决资源争抢的问题&…

Linux操作系统——多线程

1.线程特性 1.1线程优点 创建一个新线程的代价要比创建一个新进程小得多与进程之间的切换相比&#xff0c;线程之间的切换需要操作系统做的工作要少很多线程占用的资源要比进程少很多能充分利用多处理器的可并行数量在等待慢速I/O操作结束的同时&#xff0c;程序可执行其他的计…

先进的人工智能促进更好的业务沟通

提升商务沟通效率&#xff1a;了解SaneBox智能电子邮件管理工具 在现代商业环境中&#xff0c;有效的沟通至关重要。 先进的人工智能技术&#xff0c;特别是在电子邮件管理方面&#xff0c;正在改变企业处理沟通的方式&#xff0c;提高效率和个性化。 下面&#xff0c;我们深入…

【1】THIS IS NOT PROLIFIC PL2303. PLEASE CPMTACT YOUR SUPPLIER

0x01 问题描述 连接COM口连接不上&#xff0c;出现THIS IS NOT PROLIFIC PL2303. PLEASE CPMTACT YOUR SUPPLIER.如下图 0x02 问题解决 1、分析后&#xff0c;因为是windows 11 系统&#xff0c;就装一下驱动。右键单击--》属性 2、更新驱动程序--》浏览我的电脑以查找驱动程序…

电脑中了.[nicetomeetyou@onionmail.org].faust勒索病毒,关于数据恢复

文件后缀变成.[nicetomeetyouonionmail.org].faust了怎么办&#xff1f; 当文件后缀变成.[nicetomeetyouonionmail.org].faust时&#xff0c;通常意味着你的计算机系统已经受到了Faust勒索病毒的攻击。这种病毒会利用先进的加密算法对你的文件进行加密&#xff0c;并将文件后缀…

整合qq邮箱发送

目录 &#x1f32e;1.获取qq授权码 &#x1fad3;2.引入依赖 &#x1f9c8;3.配置mail信息 &#x1f95e;4.创建实现类 &#x1f956;5.测试 1.获取qq授权码 点击开启服务&#xff0c;发送信息获取授权码 2.引入依赖 <!--邮件--><dependency><groupId&…

my2sql —— go语言版binlog解析及闪回工具

之前学习过python语言版binlog解析及闪回工具 MySQL闪回工具简介 及 binlog2sql工具用法 最近听同事介绍有了新的go语言版的my2sql。优点是不需要安装一大堆依赖包&#xff0c;直接可以安装使用&#xff0c;并且解析更高效&#xff0c;试用一下。 一、 下载安装 1. 软件下载 …

学习笔记-华为IPD转型2020:3,IPD的实施

3. IPD的实施 1999 年开始的 IPD 转型是计划中的多个转型项目中的第一个&#xff08;Liu&#xff0c;2015&#xff09;。华为为此次转型成立了一个专门的团队&#xff0c;从大约20人开始&#xff0c;他们是华为第一产业的高层领导。董事会主席孙雅芳是这个团队的负责人。该团…

minio 文件分片上传和下载

文件下载 文件分片下载&#xff1a; 计算文件开始字节位置&#xff0c;计算文件结束字节位置添加头部信息: Range:bytes0-2000表示开始字节位置&#xff0c;200表示结束字节位置 文件上传 生成

1058:求一元二次方程

【题目描述】 利用公式 求一元二次方程axbxc0的根&#xff0c;其中a不等于0。结果要求精确到小数点后5位。 【输入】 输入一行&#xff0c;包含三个浮点数a,b,c&#xff08;它们之间以一个空格分开&#xff09;&#xff0c;分别表示方程axbxc0的系数。 【输出】 输出一行&…

三款.NET代码混淆工具比较分析:ConfuserEx、Obfuscar和Ipa Guard

随着.NET应用程序的广泛应用&#xff0c;保护知识产权和防止逆向工程的需求逐渐增长。本文将详细介绍三款知名的.NET代码混淆工具&#xff1a;ConfuserEx、Obfuscar和Ipa Guard&#xff0c;帮助读者全面了解其功能特点和应用场景。 一、ConfuserEx ConfuserEx是一个.NET代码混…

SpringCloud-Nacos配置管理

在nacos中添加配置文件 如何在nacos中管理配置呢&#xff1f; 然后在弹出的表单中&#xff0c;填写配置信息&#xff1a;如&#xff1a;userservice-dev.yaml 注意&#xff1a;项目的核心配置&#xff0c;需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置…

【解决】Github Pages搭建的网页访问加载缓慢

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 文章目录 一、CDN技术简介二、基于Cloudflare平台使用CDN服务&#xff08;一&#xff09;添加网站&#xff08;二&#xff09…

基于springboot小区物业管理系统

摘 要 在网络信息的时代&#xff0c;众多的软件被开发出来&#xff0c;给用户带来了很大的选择余地&#xff0c;而且人们越来越追求更个性的需求。在这种时代背景下&#xff0c;小区物业只能以客户为导向&#xff0c;以产品的持续创新作为小区物业最重要的竞争手段。 采取MyS…

蓝桥杯之简单数论冲刺

文章目录 取模快速幂 取模 这道题目有两个注意点&#xff1a; 1.当你的取模之后刚好等于0的话&#xff0c;后面就不用进行后面的计算 2.if sum detail[i] > q: 这个语句的等号也很重要 import os import sys# 请在此输入您的代码a,b,n map(int,input().split())week a*5 …