分享

【大模型系列】大模型的上下文长度解释与拓展

 netouch 2024-05-11 发布于北京

1 什么是大模型的上下文长度?

大模型的上下文长度(Context Length)是指在自然语言处理(NLP)的大型语言模型(Large Language Models,LLM)中,模型在处理输入信息时能够考虑的最大文本量(一次处理的最大tokens数量)。
超长上下文的优势:

  • 可以处理更复杂的查询和更长的文档
  • 更强的理解能力

超长上下文的挑战:

  • 推理时间变长
  • 推理显存空间变大

大模型在持续推理的过程中,需要缓存一个叫做 KV Cache 的数据快,KV Cache 的大小也与序列长度成正比。以 Llama 2 13B 大模型为例,一个 4K 长的序列大约需要 3G 的显存去缓存 KV Cache,16K 的序列则需要 12G,128K 的序列则需要 100G 显存。

在这里插入图片描述
Source: 如何扩展大模型的上下文长度
目前国内外大模型上下文长度支持情况如下:

在这里插入图片描述
Source: 大模型长上下文运行的关键问题

国内最近(2024)很火的Kimi Chat支持的上下文长度以及拓展到40万tokens。

2 拓展大模型上下文长度的方式

论文The What, Why, and How of Context Length Extension Techniques in Large Language Models – A Detailed Survey 对现有大模型上下文长度拓展方法做了详细的总结:
在这里插入图片描述

主要将其分为了Interpolation(插值)和Extrapolation(外推)技术:

  • Interpolation: 融合不同来源或者不同上下文的信息,以提高预测的准确性;
  • Extrapolation: 将模型的理解范围扩大到其训练的上下文长度之外。

其中:

  • zero-shot: 表示先对模型进行改造,再重新训练,使模型自身具备长文本分析的能力;
  • fine-tune: 表示对已经训练好的不支持长文本的模型进行改造,再进行微调;

大致可以简单分为以下几种主要的方式:
在这里插入图片描述

参考资料

[1] 如何扩展大模型的上下文长度
[2] 支持超长上下文输入的大语言模型评测和总结——ChatGLM2-6B表现惨烈,最强的依然是商业模型GPT-3.5与Claude-1.3
[3] 大模型长上下文运行的关键问题
[4] 卷完参数后,大模型公司又盯上了“长文本”?
[5] The What, Why, and How of Context Length Extension Techniques in Large Language Models – A Detailed Survey

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多