面包屑图标 当前位置: 首页
AI资讯
热点详情

ChatGPT从入门到深入实战指南

AI热点日报
AI热点日报时间:2026-07-11
热点解读

大型语言模型受限于固定输入长度,五种主流扩展技术包括循环记忆输入、提示词控制记忆、词汇压缩等。RMT通过循环记忆处理超长文本,SCM利用提示词筛选历史并生成摘要,Vcc使输入长度独立于文本长度。各技术适用场景不同,可突破长度限制。

# 大语言模型长文本处理进阶教程:五种突破输入长度限制的核心技术

大型语言模型(如GPT-4)通常有固定的输入长度限制(例如32K tokens),但实际场景中我们常常需要处理更长的文本(如整本书、完整对话历史等)。本教程将逐层解析五种主流的长文本扩展技术,帮助你理解它们如何“突破”长度限制,并掌握各自的适用场景和关键细节。

一、循环记忆输入(Recurrent Memory Transformer, RMT)

Recurrent Memory Transformer (RMT)

总体思想:将长文本分成若干段落,每段先转换为嵌入向量(embedding),再与一个记忆向量(memory vector)拼接。经过Transformer处理后产生新的记忆向量,并循环输入到下一段处理中。通过这种循环记忆机制,模型可以“记住”前面段落的信息,从而处理超长文本。

注意:该论文的实验是在bert-base-cased(仅Encoder架构)上进行的,因此RMT目前主要适用于编码器(encoder-only)模型。

实验效果:CoLT5支持64K长度,GPT-4支持32K长度,而RMT在实验中可以将每个分段长度设为4096 tokens,循环处理2048000词汇后效果依然强劲——意味着几乎可以处理任意长度的文本。

小提示

  • RMT的循环机制会累积记忆,内存占用随分段数线性增加,实际使用时需合理平衡每段长度和分段数量。
  • 如果模型本身支持RoPE等位置编码,RMT需要额外设计位置信息(论文中在bert-base上未使用位置编码,但实际应用需注意)。

常见问题

Q:RMT适用于GPT这种Decoder-only模型吗?

A:原论文实验仅在Encoder-only上进行,但后续研究(如“Memorizing Transformers”)将类似思想扩展到Decoder-only。如果要在GPT上实现RMT,需要修改注意力机制以支持循环记忆,目前非标准实现,建议优先使用论文中的BERT。


二、用提示词控制记忆(Self-Controlled Memory, SCM)

Self-Controlled Memory (SCM)

此方法号称可以将输入延伸至无限长,核心流程分为六步:

  1. 用户输入:用户向模型提出问题或指令。
  2. 判断是否需要历史记忆:通过提示词让模型自判是否需要回忆历史对话。提示词如下:
    给定一个用户指令,判断执行该指令是否需要历史信息或者上文的信息,或者需要回忆对话内容,只需要回答是(A)或者否(B),不需要解释信息:指令:[用户输入]
  3. 排序历史记忆:如果判定需要记忆,则通过相关性(余弦相似度)近期性分数相加,对历史对话片段进行排序,选出最相关的若干条。
  4. 生成记忆摘要:对选出的历史对话生成摘要,提示词如下:
    以下是用户和人工智能助手的一段对话,请分别用一句话写出用户摘要、助手摘要,分段列出,要求尽可能保留用户问题和助手回答的关键信息。对话内容:用户:[用户输入]助手:[系统回复]摘要:
  5. 拼接输入模型:将记忆摘要与当前输入拼接,作为模型的新输入。提示词模板:
    以下是用户和人工智能助手的对话,请根据历史对话内容,回答用户当前问题:相关历史对话:[历史轮对话内容]上一轮对话:[上一轮对话内容]###用户:[用户问题]助手:
  6. 模型回复:最终模型根据拼接后的完整输入生成回答。

注意:此论文中只进行了定性分析,没有定量实验(如具体在多少长度下效果下降)。以下是效果图:

小提示

  • SCM本质是一种“提示工程”(prompt engineering)方案,不需要修改模型结构,可以快速集成到现有GPT API中。
  • 由于依赖模型自身的判断能力,模型对“是否需要历史信息”的判断可能不准确,建议在实际系统中可选地强制为“是”,避免遗漏关键信息。

常见问题

Q:这种“用提示词控制记忆”的方法会不会因为提示词长度太长而浪费token?

A:会。每个历史轮次都需要压缩为摘要,且摘要本身会占用输入长度。但相比直接拼接所有历史对话,SCM通过筛选和摘要大幅减少了无用信息,实际效果在长对话场景下优于简单截断。


三、词汇压缩(VIP-token Centric Compression, Vcc)

VIP-token centric compression (Vcc)

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

一句话描述思想:使模型输入长度独立于文本长度——即无论历史文本有多长,模型实际接收的输入长度是固定的。

具体流程:

  1. 将当前问句视为“**VIP-token",它是本次查询的核心语义代表。利用当前VIP-token与历史记忆的关系,通过某种压缩机制将所有历史记忆(无论多长)映射到固定长度的向量空间中
  2. compressed to match the model's input window. Specifically, the VIP-token acts as a “queryvector that selects relevant information from history, producing a compact fixed-length representation
  3. Transformer输出后再进行解压缩
  4. Transformer输出后再 p>

    Encoder-Only架构表现: Encoder-Decoder表现:

    小提示

    • Vcc的压缩过程会丢失细节信息,适合需要全局理解而非精确细节的任务(如文档分类、情感分析)。
    • 该方法对VIP-token的定义依赖当前问句,如果问句本身模糊(如“你觉得怎么样?”),压缩效果会下降。

    常见问题

    Q:Vcc与RMT有何本质区别?

    A:RMT通过循环迭代逐步扩展记忆,输入长度随分段数线性增长;而Vcc通过一次性压缩将所有历史信息浓缩到固定窗口内,输入长度不随历史增长,更加稳定。Vcc适合需要固定内存占用的场景,RMT适合需要保留更多原始顺序信息的场景。


    四、检索+交叉注意力(Unlimiformer)

    Unlimited Length Input Transformers (Unlimiformer)

    此方法只适用于Encoder-Decoder架构(如T5、BART),号称可以将输入长度延伸至无限长

    思路如下:

    1. 将长文本分成多个部分,每部分输入Encoder进行编码,得到每部分的隐藏状态。
    2. 利用Decoder的当前query(查询向量),通过KNN(k近邻)检索从所有编码后的隐藏状态中选出最相关的Top-N个。
    3. Decoder在解码时只对选出的Top-N隐藏状态进行交叉注意力(cross-attention),而忽略其他部分。
    4. 最终生成输出序列。

    可以看到此方法在 for longer than 32K tokens, demonstrating excellent downstream metrics. 实验效果p> summary tasks)

    小提示

    • Unlimiformer需要预编码全部历史文本,内存消耗仍然随文本增长而增长(只是计算注意力时只聚焦部分),因此不适合极其巨大的文本。
    • 检索的准确性依赖于K值的选择:K太小可能漏掉关键信息,K太大则会降低速度。

    常见问题

    Q:Unlimiformer的检索是否依赖外部向量数据库?

    A:不需要。所有历史段的隐藏状态直接保存在内存中,KNN检索是内建的近似搜索(如使用FAISS),无需额外数据库。论文中实现为在每步计算注意力时动态检索。


    五、累加式位置编码(ALiBi + 输出累加)

    ALiBi(Attention with Linear Biases),输出累加

    ALiBi简介:

    1. 不再在输入层保留位置向量:传统Transformer在输入层添加绝对位置编码(如Sinusoidal、RoPE),而ALiBi完全放弃输入层位置信息。
    2. 在每层注入线性偏移量:注意力分数从原本的:

      score = Q · K^T (无位置偏置)

      变成了:

      score = Q · K^T + bias,其中bias是一个与距离相关的线性负偏移(距离越远,bias越小),使得模型自然地感知相对位置。

    实验显示,ALiBi比Sinusoidal、Rotary、T5 Bias在长距离输入上效果都要好得多

    MPT-7B模型实践:
    MosaicML推出的mosaicml/mpt-7b模型利用ALiBi将输入长度扩展至84K。其核心实现是几行关键代码,在每一层Transformer的block中,将上一层的隐藏状态与当前输入进行累加,从而支持更长的序列:

    all_hidden_states = () if output_hidden_states else None
    for (b_idx, block) in enumerate(self.blocks):
        if output_hidden_states:
            assert all_hidden_states is not None
            all_hidden_states = all_hidden_states + (x,)
        past_key_value = past_key_values[b_idx] if past_key_values is not None else None
        (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)
        if past_key_values is not None:
            past_key_values[b_idx] = past_key_value

    即MPT会对上次得到隐藏状态与本次的输入进行相加(identity residual connection with past hidden states),结合ALiBi的线性偏置,让模型能记住远距离的依赖。

    小提示

    • ALiBi不需要训练新的位置编码,可以无缝替换现有Transformer的位置编码,训练成本低。
    • “输出累加”技巧并非所有ALiBi实现都必需,但MPT通过显式保存并累加past_key_values,实际上等价于增加了模型的有效上下文长度。

    常见问题

    Q:我可以在自己的Fine-tuning中使用ALiBi吗?

    A:可以。ALiBi是即插即用的位置编码方法,只需修改注意力计算函数,将原位置编码替换为线性偏置矩阵即可。但需要注意ALiBi对短序列的性能可能不如RoPE,建议在长序列任务上使用。


    总结

    五种技术各有侧重:
    - 循环记忆(RMT)适合需要严格保留顺序的编码器任务。
    - 提示词控制记忆(SCM)是无需改模型、快速落地的方案,但依赖模型自判。
    - 词汇压缩(Vcc)让输入长度彻底独立于文本,适合固定窗口推理。
    - 检索+交叉注意力(Unlimiformer)专为Encoder-Decoder设计,在生成任务上表现优异。
    - ALiBi+输出累加通过改进位置编码和残差连接,在Decoder-only模型上实现了84K甚至更长的输入。

    选择哪种方法取决于你的模型架构(Encoder-only/Decoder-only/Encoder-Decoder)、任务类型(分类/摘要/对话)以及是否允许修改模型结构。希望本教程能帮你快速定位适合你场景的长文本技术。

    热点追踪提示词
    你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
    热点:ChatGPT从入门到深入实战指南要求:
    1. 先用一句话解释这条热点在讲什么
    2. 再总结它为什么重要
    3. 说明会影响哪些 AI 产品或内容方向
    4. 最后给出 3 个适合资讯站使用的标题
来源:https://m.elecfans.com/article/2083081.html
ChatGPT

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关热点
AI热点2026-07-11 19:40
Mango SEO AI:AI驱动的SEO优化工具

MangoSEOAI是一款面向小型企业和创业者的AI驱动SEO工具,通过批量生成内容、程序化SEO、关键词分析及内容策略等功能,帮助提升搜索引擎排名和自然流量,快速建立主题权威,操作简便且支持WordPress集成与实时数据调用。

AI热点2026-07-11 19:40
免费无限聊天GPT语言模型插件

一款无对话次数与主题限制的AI工具,支持Slack、FacebookMessenger及浏览器插件,提供无限聊天、个性化回应、多语言及隐私保护功能,适用于头脑风暴、信息查询与日常闲聊。

AI热点2026-07-11 19:40
Cognify AI 人工智能驱动的智能平台

CognifyAI内容创作工具是一个AI驱动的在线平台,可在几分钟内生成博客文章、深度文章及社交媒体文案。用户注册后输入主题和提示指令即可自动产出内容,无需技术背景。核心功能涵盖高质量内容、博客、文章及社交媒体帖子的AI生成。

AI热点2026-07-11 19:40
Seekvectors精选海量高清在线矢量Logo图标资源搜索引擎

Seekvectors是一款专为设计师和开发者打造的矢量Logo搜索引擎,收录全球品牌及初创公司标志,免费下载。提供EPS、SVG、JPG、PNG、AI五种格式,适用于网页、印刷、移动端设计,支持商业用途,有效节省素材搜寻时间。

延伸阅读