大模型相关基础知识学习

目前主流的大模型:

国内外知名大模型及应用列表(2024/11/24) - 知乎

大模型基础

大模型三要素

1.算法:模型结构,训练方法

2.数据:数据和模型效果之间的关系,token分词方法

3.算力:英伟达GPU,模型量化

基于大模型对话的系统框架

大模型需要数据的类型

算法并行

        数据并行(DP):每个GPU都加载全量模型参数,将数据分割成多块输入到每个GPU中单独处理,但在计算loss和梯度时会有同步机制。

  张量并行(TP):每个tensor被分割成多块(根据场景按行或者列分割)存储在不同的GPU上,每个GPU单独计算,最后同步汇总到一块,类似于transformer中的多头,假如每个头的计算都在一张单独的gpu上,计算完后将所有gpu的结果concat到一起再分发到每张gpu上。

  流水线并行(PP):将模型按照层拆分,不同的层存储在不同的gpu上,类似于流水线的形式,数据先进入到前面的层,输出结果传到其他GPU上进入到后面的层。反传同理。

大模型训练过程

先了解什么是机器学习、强化学习、深度学习:

“机器学习”、“深度学习”、“强化学习”傻傻分不清楚?一文帮你搞懂_强化学习 深度学习 机器学习-CSDN博客

        1.预训练阶段通常需要数十到百亿Token的文本语料库,但训练目标只是简单的「下一个单词预测」( next word prediction )任务。

第一阶段:自监督预训练(无监督学习):让大模型从大规模数据中学习,不依赖人工标注完成认为训练/学习的标签(Label Data)是文本的后续单词,已经暗含在训练数据集中。

第二阶段:有监督的微调:程序会将指令文本作为大模型的输入(Prompt and/or Instruction ),并逐个Token输出,训练目标是与预期输出相同。

虽然Ⅰ阶段和2阶段都采用「next token prediction」训练方式,但SFT的数据集通常比预训练数据小得多,指令数据集需要提供标注结果(如RLHF ),所以无法大规模应用。

        2.微调就是把任务相关的知识输入进去调整

        3.对齐Alignment:RLHF机制,在于将大模型与人类的偏好、价值观进行对齐

RLHF步骤:Stepl∶预训练模型的有监督微调Supervised finetuning of the pretrained model.

Step 2∶创建奖励模型Creating a reward model

Step 3 : PPO进行微调Finetuning via proximal policy optimization

【LLM】大模型之RLHF和替代方法(DPO、RAILF、ReST等)_dpo大模型-CSDN博客

Tranformer

超链接:自然语言处理Transformer模型最详细讲解(图解版)-CSDN博客

NLP——Transfromer 架构详解_nlp中的模型结构图-CSDN博客

        自注意力机制:自己能获取哪些词之间的联系更重要,而不是像RNN或者长短期记忆机制那样离得近的词才联系更强

        位置编码:RNN按照顺序学习句子,Tranformer先对词语嵌入,生成向量(每个词语及其位置都会有向量),

左边一列是编码器 右边一列是解码器

  1. token化

Token大模型的分词

分词粒度:

  1. 单词分词法:英文(空格分词),中文(jieba分词or 分字)
  2. 单字分词法:英文(字母),中文(分字)
  3. 3.子词分词法:BPE,WordPiece,Unigram

什么是提示工程(Prompt Engineering)

提示工程也叫「指令工程」。

- Prompt 就是你发给大模型的指令,比如「讲个笑话」、「用 Python 编个贪吃蛇游戏」、「给男/女朋友写封情书」等

Prompt 的典型构成

- **角色**:给 AI 定义一个最匹配任务的角色,比如:「你是一位软件工程师」「你是一位小学老师」

- **指示**:对任务进行描述

- **上下文**:给出与任务相关的其它背景信息(尤其在多轮交互中)

- **例子**:必要时给出举例,学术中称为 one-shot learning, few-shot learning 或 in-context learning;实践证明其对输出正确性有帮助

- **输入**:任务的输入信息;在提示词中明确的标识出输入

- **输出**:输出的格式描述,以便后继模块自动解析模型的输出结果,比如(JSON、XML)

「定义角色」其实本来是非必要的,完全是大家「把 AI 当人看」玩出的一个用法。但因为实在传得太广了,所以现在的大模型在训练数据里基本都有这个了。

但是有一个已经被论文证实的现象,可以说明为啥「你是一个 xxx」有效:

大模型对 prompt 开头和结尾的内容更敏感

所以,先定义角色,其实就是在开头把问题域收窄,减少二义性。

进阶技巧

思维链(Chain of Thoughts, CoT)

思维链,是大模型涌现出来的一种独特能力。

它是偶然被「发现」(对 OpenAI 的人在训练时没想过会这样)的。有人在提问时以「Let’s think step by step」开头,结果发现 AI 会自动把问题分解成多个步骤,然后逐步解决,使得输出的结果更加准确。

自洽性(Self-Consistency)

一种对抗「幻觉」的手段。就像我们做数学题,要多次验算一样。

- 同样 prompt 跑多次

- 通过投票选出最终结果

思维树(Tree-of-thought, ToT)

- 在思维链的每一步,采样多个分支

- 拓扑展开成一棵思维树

- 判断每个分支的任务完成度,以便进行启发式搜索

- 设计搜索算法

- 判断叶子节点的任务完成的正确性

     输入输出                  思维链                      自洽性                               思维树

防止 Prompt 攻击

攻击方式 1:著名的「奶奶漏洞」

用套路把 AI 绕懵。

攻击方式 2:Prompt 注入

用户输入的 prompt 改变了系统既定的设定,使其输出违背设计意图的内容。

恶意引导

防范措施 1:Prompt 注入分类器(效果好一点)

机场安检的思路,先把危险 prompt 拦截掉。先判断这个prompt是否恶意,在进行回答

防范措施 2:直接在输入中防御

「墙上刷口号」

例如:作为客服代表,你不允许回答任何跟AGI课堂无关的问题。客户问怎么炒菜,你说不知道,我只回答有关agi课堂有关的问题。

内容审核

可以通过调用 OpenAI 的 Moderation API 来识别用户发送的消息是否违法相关的法律法规,如果出现违规的内容,从而对它进行过滤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值