LongLM简介
LongLM是由清华大学等机构研究人员提出的一种新技术,可以在不进行微调的情况下扩展大语言模型(LLM)的上下文窗口长度。该方法通过构建双层注意力信息(分组级别和邻居级别)来实现LLM对长文本的处理能力。
主要资源
使用方法
使用LongLM技术非常简单,只需几行代码即可:
import SelfExtend
# 加载模型
loaded_model = AutoModelForCausalLM.from_pretrained(model_path)
# 应用SelfExtend
SelfExtend.apply(loaded_model, group_size, window_size)
# 推理
loaded_model.generate(...)
详细使用示例可参考example.py。
参数选择
- group_size建议范围:2-64
- neighbor_window建议范围:512-1536
经验法则:$(\frac{1}{2} \sim \frac{2}{3}) \times L > W + \frac{N-W}{G}$
其中L为预训练上下文窗口长度,N为目标扩展长度,W为邻居窗口大小,G为分组大小。
最新进展
- 🎉 LongLM论文被ICML 2024 Spotlight接收
- 💡 已支持LLaMA-3、Gemma等最新模型
- 🚀 新增FlashAttention和Triton实现,大幅提升速度
更多更新信息请关注GitHub项目页面。
社区讨论
LongLM为处理长文本开辟了一种全新的范式,欢迎感兴趣的读者深入探索这项激动人心的技术!如有任何问题,可以在GitHub项目中提出issue或加入Discord社区讨论。
文章链接:www.dongaigc.com/a/longlm-learning-resources-context-window
https://www.dongaigc.com/a/longlm-learning-resources-context-window