全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 机器人 >

ChatGPT从入门到深入

时间:2023-05-16 10:42

人气:

作者:admin

标签: ChatGPT  人工智能 

导读:CoLT5达到64K,GPT-4达到32K长度,而RMT在实验结果中长度加到4096个分段2048000词汇,效果依然强劲。...

ChatGPT从入门到深入(持续更新中)

循环记忆输入

Recurrent Memory Transformer (RMT)

1d61838c-f35c-11ed-90ce-dac502259ad0.png

总体思想:将长文本分段之后得到嵌入向量与记忆向量拼接,得到新的记忆向量之后与下一段再循环输入transformer。

注意:此论文实验结果在bert-base-cased(encoder-only上进行实验)

1d887064-f35c-11ed-90ce-dac502259ad0.png

CoLT5达到64K,GPT-4达到32K长度,而RMT在实验结果中长度加到4096个分段2048000词汇,效果依然强劲。

用提示词

Self-Controlled Memory (SCM)

1db53306-f35c-11ed-90ce-dac502259ad0.png

如上图所示,此方法号称可以将输入延申至无限长,具体流程为:

  1. 用户输入

  2. 判断是否需要从历史会话中获得记忆,提示词如下:

    给定一个用户指令,判断执行该指令是否需要历史信
    息或者上文的信息,或者需要回忆对话内容,只需要
    回答是(A)或者否(B),不需要解释信息:
    指令:[用户输入]
    
  3. 如果需要获取记忆,通过相关性(余弦相似度)、近期性分数相加对历史记忆进行排序

  4. 将记忆摘要

    以下是用户和人工智能助手的一段对话,请分
    别用一句话写出用户摘要、助手摘要,分段列
    出,要求尽可能保留用户问题和助手回答的关
    键信息。
    对话内容:
    用户:[用户输入]
    助手:[系统回复]
    摘要:
    
  5. 将记忆和输入拼接输入模型

    以下是用户和人工智能助手的对话,请根据历史
    对话内容,回答用户当前问题:
    相关历史对话:
    [历史轮对话内容]
    上一轮对话:
    [上一轮对话内容]
    ###
    用户:[用户问题]
    助手:
    
  6. 回复

注意:此论文中只进行了定性分析,没有定量实验。以下是效果图:

1e0293bc-f35c-11ed-90ce-dac502259ad0.png

词汇压缩

VIP-token centric compression (Vcc)

1e5d10bc-f35c-11ed-90ce-dac502259ad0.png

该方法使得模型输入延申至128K,并在Encoder-Only、Encoder-Decoder两种模型架构上都进行了实验。

一句话描述思想:使模型输入长度独立于文本长度。

具体一点:

  1. 将当前问句视为vip-token
  2. 利用当前问句与历史记忆的关系,压缩历史记忆到模型输入长度,无论历史记忆有多长
  3. transformer层输出之后再进行解压缩

Encoder-Only架构表现:

1e9f5b66-f35c-11ed-90ce-dac502259ad0.png

Encoder-Decoder表现:

1ec22858-f35c-11ed-90ce-dac502259ad0.png

检索+交叉注意力

Unlimited Length Input Transformers (Unlimiformer)

1f1d2a50-f35c-11ed-90ce-dac502259ad0.png

此方法只试用于Encoder-Decoder架构,其也称可以将输入长度延申至无限长。

思路如下:

  1. 将长文本分成多个部分,将每一段进行编码
  2. 利用query KNN检索长文本topN
  3. 解码器对相关段落编码后的隐藏状态进行交叉注意力
  4. 得到输出

可以看到此方法在长文本摘要任务上都取得了优异的结果

1f61dba0-f35c-11ed-90ce-dac502259ad0.png

累加

ALiBi(attention with linear biases),输出累加

1f87801c-f35c-11ed-90ce-dac502259ad0.png

简单介绍一下ALiBi:

  1. 不再输入层保留位置向量
  2. 而在每层注入线性的偏移量,注意力分数从:

变成了:

可以看到ALiBi比Sinusoidal、Rotary、T5 Bias在长距离输入上效果都要好得多。

1fa12fb2-f35c-11ed-90ce-dac502259ad0.png

mosaicml/mpt-7b模型利用ALiBi将输入长度扩展至了84k,核心的思想为一下几行代码:

all_hidden_states=()ifoutput_hidden_stateselseNone
for(b_idx,block)inenumerate(self.blocks):
ifoutput_hidden_states:
assertall_hidden_statesisnotNone
all_hidden_states=all_hidden_states+(x,)
past_key_value=past_key_values[b_idx]ifpast_key_valuesisnotNoneelseNone
(x,past_key_value)=block(x,past_key_value=past_key_value,attn_bias=attn_bias,attention_mask=attention_mask,is_causal=self.is_causal)
ifpast_key_valuesisnotNone:
past_key_values[b_idx]=past_key_value

即MPT会对上次得到隐藏状态与本次的输入进行相加。


审核编辑 :李倩


温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信