分类: AI

  • LLAMA-NAS:让大语言模型不再“吃硬件”

    前言

    如果你觉得大语言模型(LLMs)像个贪吃的巨兽,那你就猜对了。这些能处理自然语言、复杂推理、情感分析等任务的模型,虽然能力非凡,但对内存和计算资源的“胃口”也惊人。以至于大部分硬件平台根本承受不起这顿“大餐”。为了让LLMs变得更“苗条”,我们提出了一种基于LLaMA2-7B的高效神经架构搜索方法——LLAMA-NAS。

    LLaMA2-7B的“减肥”计划

    一次性NAS:给模型做个“全身检查”

    我们的方法核心是一次性神经架构搜索(one-shot NAS),这个听起来就很酷对吧?具体来说,我们只对LLaMA2-7B模型进行一次微调,然后用遗传算法(genetic algorithm)来搜索更小、更高效的网络架构。结果显示,对于某些标准基准任务,预训练的LLaMA2-7B模型不仅“体型”庞大,而且“吃”得也多。通过我们的“减肥”计划,我们成功地将模型大小减少了1.5倍,处理速度提高了1.3倍,而准确度几乎没有损失。

    InstaTune:超级网络的“变形金刚”

    我们借鉴了InstaTune的方法,将NAS嵌入到微调阶段,使模型架构更具弹性,能够适应不同的任务、数据集和计算资源。在这过程中,我们并没有进行强教师或超级网络的知识蒸馏,主要是为了节省计算资源。

    搜索空间:模型参数的“百变金刚”

    在搜索过程中,我们使用了LINAS算法,这个名字听起来像某种神秘的武器。事实上,它确实很厉害,能够在多目标设置中优化模型大小和准确性。我们定义了一组允许的参数值,搜索空间包含了大约1.3 × 10^10种可能性。

    实验与结果

    AI2推理挑战

    首先,我们将方法应用于AI2推理挑战(ARC)任务,结果显示几个子网络架构在准确率和模型大小上都有明显提升。例如,一个子网络在准确率不变的情况下,模型大小减少了1.1倍。

    大规模多任务语言理解

    我们的方法在大规模多任务语言理解(MMLU)任务上也表现出色。多个子网络在准确率提升的同时,模型大小减少了1.5倍,处理速度提高了1.3倍。

    真诚QA和WinoGrande

    在真诚QA任务中,我们发现预训练的LLaMA2-7B模型明显过度参数化。通过我们的方法,找到的子网络在准确率提高3.6%的同时,模型大小减少了1.6倍。WinoGrande任务的结果也类似,我们的子网络在准确率不变的情况下,模型大小减少了1.1倍。

    比较与对比

    与剪枝和稀疏化技术的对比

    与LLM-Pruner和SliceGPT相比,我们的方法不仅在模型大小和准确率上更有优势,而且不需要额外的恢复微调步骤。

    量化:让模型“瘦上加瘦”

    我们还将INT8量化应用于搜索到的子网络,结果显示,量化后的子网络在准确率几乎不变的情况下,模型大小进一步减少。例如,一个子网络在量化后大小减少了2.5倍,准确率几乎没有损失。

    结论

    通过我们的LLAMA-NAS方法,我们不仅找到了更小、更高效的网络架构,还比剪枝和稀疏化技术更有效、更高效。而且,我们的方法不需要任何专用的软件内核或硬件,能够与其他量化方法无缝结合。随着对大语言模型的兴趣日益增加,我们的工作为自动创建能够在更便宜、更易获得的硬件平台上运行的网络提供了一条可行的道路。

    参考文献

    1. Anthony Sarah, Sharath Nittur Sridhar, Maciej Szankin, Sairam Sundaresan. “LLAMA-NAS: Efficient Neural Architecture Search for Large Language Models.”

    希望这篇文章能让你对我们的工作有更深入的了解,同时也希望你能像看完这篇文章一样开心。如果你对大语言模型的优化感兴趣,不妨试试我们的LLAMA-NAS方法,让你的模型也来次“瘦身”吧!

  • 不要忘记连接!用基于图的重排序提升RAG的表现

    认识一下RAG:文本生成的超级英雄

    Retrieval Augmented Generation,简称RAG,是一个能让大型语言模型(LLM)在回答问题时表现更佳的工具。RAG的工作原理是通过从现有文档中检索相关信息来为生成的文本提供背景支持。听起来是不是很厉害?但问题是,如果文档只提供部分信息或者与问题背景的连接不明显,那么RAG该怎么办?这篇文章就来回答这两个核心问题。

    G-RAG:图神经网络的魔力

    我们介绍一种基于图神经网络(GNN)的方法,叫做G-RAG。这个方法在RAG的检索器和阅读器之间引入了一个重排序器。G-RAG不仅考虑了文档之间的连接,还利用了语义信息(通过抽象意义表示图,AMR)来提供上下文感知的排序器。G-RAG不仅表现优异,还比最先进的方法更省计算资源。

    为什么重排序很重要?

    在开放领域问答(ODQA)中,RAG虽然能成功地检索到相关文档,但不能充分利用文档间的连接。这会导致模型忽视那些包含答案但与问题背景连接不明显的文档。通过重排序过程,我们能更有效地过滤检索到的文档,提高阅读过程的效果。

    现有方法的不足

    目前的重排序器虽然表现不错,但仍有一些问题。首先,大多数现有工作未能捕捉到不同检索文档之间的重要连接。其次,尽管AMR图提高了对复杂语义的理解,但将冗余的AMR信息集成到预训练语言模型中会导致过拟合和计算时间增加。最后,现有方法利用的预训练语言模型在快速发展的LLM时代显得不足。

    我们的解决方案

    为了应对这些挑战,我们提出了一种基于文档图的方法,每个节点代表一个文档,每条边代表两个文档之间存在共同概念。我们将不同文档之间的连接信息纳入边特征,并通过消息传递机制更新边特征。同时,我们在节点特征中加入了关键的AMR信息,避免了冗余信息的引入。

    实验结果

    我们在两个代表性的ODQA数据集上进行了实验:自然问题(NQ)和TriviaQA(TQA)。结果显示,基于图的策略(如GCN和G-RAG)在各种评估指标上表现出色。特别是G-RAG-RL模型,通过使用排序损失函数,进一步提升了识别正面文档的能力。

    结论与未来展望

    我们的G-RAG模型在现有ODQA方法中表现出色,通过利用文档之间的隐性连接和战略性地整合AMR信息,显著提高了识别有价值信息的能力。尽管预训练的LLM在重排序任务中的表现可能不尽如人意,但对其进行微调可能极大地提升RAG系统的表现。未来的研究方向包括设计更复杂的模型来更好地处理AMR信息,以及探索更高级的方法来解决LLM产生的排名分数中的平局问题。

    参考文献

    1. Wang, C. , et al. (2023). “Graph as Tokens: Representing Text as Graphs for Neural Network Processing.” Retrieved from https://github.com/wangcunxiang/Graph-aS-Tokens/tree/main
    2. BERT: Bidirectional Encoder Representations from Transformers. (2019) Retrieved from https://arxiv.org/abs/1810.04805
    3. AMRBART: AMR Parsing with BART. (2020) Retrieved from https://arxiv.org/abs/2008.02759
    4. PaLM 2: A Next-Generation Language Model. (2022) Retrieved from https://arxiv.org/abs/2204.02311
人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网
快取状态: No
内存使用量: 9.0714 MB
资料库查询次数: 0
页面产生时间: 0.519 (秒)