作者 | 褚杏娟
近日,贾佳亚团队联合 MIT 发布了一项名为 LongLoRA 的新技术,只需两行代码、一台 8 卡 A100 机器,便可将 7B 模型的文本长度拓展到 100k tokens、70B 模型的文本长度拓展到 32k tokens。同时,该研究团队还发布了首个拥有 70B 参数量的长文本对话大语言模型 LongAlpaca。
LongLoRA 如何解决大模型对话缺陷
“上下文越长大模型越笨”是典型的大语言模型对话缺陷。在长文本处理过程中,之前大语言模型计算量的主要开销集中在自注意力机制 (self-attention),其开销随着文本长度成平方次地增加。针对这个问题,研究团队提出 LongLoRA 技术,并用分组和偏移的方式来对全局自注意力机制进行模拟。
简单来说,就是将长文本对应的 tokens 拆分成不同的组,在每组内部做自注意力计算,而分组的方式在不同注意力头 (attention head) 上有所偏移。这样的方式既可以大幅度节约计算量,又可以维持全局感受野的传递。而这个实现方法也非常简洁,仅两行代码即可完成。
LongLoRA 还探索了低秩训练的方式。原有的低秩训练方式,如 LoRA [5],无法在文本长度迁移上取得良好的效果。而 LongLoRA 在低秩训练的基础上,引入嵌入层 (Embedding layer 和 Normalization layers) 进行微调,从而达到可以和全参数微调 (Full fine-tune) 逼近的效果。
进行不同长度文本扩展和训练时,LongLoRA、LoRA 和全参数微调不同技术的具体表现如下:
- 在 Perplexity- 困惑度上,原有 LoRA 方法的性能在不断恶化,而 LongLoRA 和全参数微调都能在各种文本长度下维持很好的效果;
- 在显存消耗上,相比于全参数微调,LongLoRA 和原有 LoRA 都有大幅度的节省。例如,对于 8k 长度的模型训练,相比于全参数微调,LongLoRA 将显存消耗从 46.3GB 降低到 25.6GB;
- 在训练时间上,对于 64k 长度的模型训练,相比于常规 LoRA,LongLoRA 将训练时间从 90~100 小时左右降低到 52.4 小时,而全参数微调超过 1000 小时。
目前,相关技术与模型已全部开源:
代码和 Demo 地址:https://github.com/dvlab-research/LongLoRA
论文地址:https://arxiv.org/pdf/2309.12307.pdf
长篇小说读后分析, LongAlpaca 完胜 Llama2
LongAlpaca 大语言模型,利用 LongLoRA 技术解决了对话缺陷问题。但大语言模型处理长文本问题的一大难点还在于缺少公开的长文本对话数据。
为此,研究团队特意收集了 9k 条长文本问答语料对,包含针对名著、论文、深度报道甚至财务报表的各类问答,此外还挑选了 3k 的短问答语料与 9K 的长问答语料混合训练,让长文本大模型同时具备短文本对话能力。这个完整的数据集被称为 LongAlpaca-12k,目前已经开源。
在 LongAlpaca-12k 数据集基础上,研究团队对不同参数大小 7B、13B、70B 进行了训练和评测,开源模型包括 LongAlpaca-7B、LongAlpaca-13B 和 LongAlpaca-70B。下面是 LongLoRA 技术叠加 12K 问答语料的大模型 LongAlpaca 在论文方面表现:
让系统新读一篇论文,并根据 ICLR 的审查指南,对其提出修改意见,从而提升该论文的接收率。 LongAlpaca 的意见是:通过更精确地阐明新颖性,提供更严格和更有对比性的实验结果 (包括具体的数据集和指标)、更广泛的应用和未来发展方向,重点呈现关键贡献和影响,论文被接受的机会将得到提高。
让系统读两篇新的不同的论文,让 LongAlpaca 概括 ICLR 和 CVPR 两个会议之间的风格区别。 LongAlpaca 总结认为,CVPR 论文倾向更具结构性和实验性的风格,专注于实用性和技术性。而 ICLR 的论文风格更加灵活,侧重关键的理论分析和数学推导,而非标准格式。 可以看出,经过训练的 LongAlpaca 模型已经可以很轻松地接受新的长篇学术论文,在学术相关问题的回答上相当精准。
LongAlpaca 在颇高阅读和理解门槛的经济领域的解读表现:
根据国际货币基金组织从 2012 年到 2023 年的全球经济展望的概述合集,对经济形势进行逐年总结以及对未来经济趋势进行预测。 LongAlpaca 表示,2023 年全球经济形势不明朗,跟 2022 年相比,增长预计放缓;未来几年,全球经济扩张速度偏温和并将低于预期,而地缘政治紧张、金融市场波动等大的挑战依然存在,需通过多边合作和结构性改革小心应对。
13B 参数的 LongAlpaca 和 Llama2 在读完长篇小说后的内容分析对比:
名著《西游记》中,为什么孙悟空在大闹天宫时很厉害,但取经路上却屡屡受挫? LongAlpaca 给出了 5 点原因,大概可总结为: “孙悟空的不成熟、强大的对手、力量的限制、敌人的欺骗、最初缺少同伴等因素导致了他在旅途中的失败。但随着时间推移,他获得了智慧、经验和战友,使他最终战胜了最强大的敌人。” 而 Llama2 的回答较为简单:“虽然他确实大闹天宫,但说他代表着不败的力量并不一定准确。事实上,他最终在西游记中被强大的唐三藏打败。”Llama2 没有给出正确答案,并且还提出需要更多的内容信息。
让系统新读一次《三体》,然后问第一部中,叶文洁为什么要联系外星人,而后期又为什么后悔? LongAlpaca 认为,叶文洁最初接触外星人是出于理想主义和复仇,但随着时间的推移,她对人类的看法发生了变化,意识到自己可能给全人类带来的危险,她的悔恨与日俱增。 而 Llama2 的回答则是,“通过与外星人的互动,她希望能更深入地了解宇宙的本质,以及自己在宇宙中的位置。叶文洁逐渐意识到,外星人和他们的技术并不能解决她的问题。”
从模型给出的答案可看出,一些模型如 Llama2,可能在预训练过程中见过相关小说,但如果在提问时进行仅根据小说题目进行短文本提问的话,回答并不理想。