大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

这篇具有很好参考价值的文章主要介绍了大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

论文链接:

https://arxiv.org/abs/2306.04050

随着以ChatGPT、GPT-4为代表的AI大模型逐渐爆火进入公众视野,各行各业都开始思考如何更好的使用和发展自己的大模型,有一些评论甚至认为大模型是以人工智能为标志的第四次产业革命的核心竞争产品。例如在5月26日的北京中关村2023论坛上,百度公司创始人、CEO李彦宏发表了题为《大模型改变世界》的演讲。在这次演讲中,李彦宏提出:“百度要做第‍一个把全部产品重做一遍的公司”。这意味着,大模型现有的能力,已经可以向传统的互联网应用和方法发出挑战。

本文介绍一篇来自得克萨斯A&M大学的工作,在本文中,作者瞄准的领域是传统的文本压缩算法。作者巧妙地发挥了现有大模型的文本预测能力,例如使用LLaMA-7B对输入的前几个token预测其下一个位置的文本,并且对大模型预测英语熵(entropy of English)的渐近上限进行了全新的估计,估计结果表明,在大模型加持下,该估计值明显低于目前常用方法的估计值。基于这一发现,作者提出来一种基于大模型的英语文本无损压缩算法LLMZip,LLMZip巧妙的将大型语言模型的文本预测能力与无损压缩方案相结合,实现了高效的文本压缩性能,经过一系列的实验表明,LLMZip已经超过了目前最为先进的文本压缩算法,例如BSC、ZPAQ和paq8h。

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

一、引言

目前以ChatGPT为代表的大模型主要在自然语言领域中的学习和预测等两个方面取得了非常惊人的成就。实际上,学习、预测和压缩三者之间有着非常密切的联系。早在1951年,信息论之父和人工智能先驱克劳德・香农(C.E.Shannon)发表了一篇名为《Prediction and Entropy of Printed English》的论文[1],在该文中,香农以英语语言为例,深度探索了预测和压缩之间的联系,并且对英语预测熵的上下界进行了估计,下图从香农1951年论文手稿中摘录。

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

 

香农认为,可以通过对一段文本中的下一个单词进行预测,我们就可以估计出当前文本所含的信息量,如果预测效果很好的话,就可以将该预测模型转换为一个良好的压缩算法。这一思想在后来的信息论中发挥了重要作用,目前很多用于语音、图像和视频压缩的算法都明确或隐含地利用了这一思想。这种压缩方法的性能在很大程度上取决于预测器的效果,本文作者认为,每当模型预测能力取得重大进展时,我们都有必要研究最新的预测模型对压缩方法是否有影响。因此作者很快就想到,能否使用LLaMA和GPT-4等大模型来得到更好的文本压缩结果和更准确的英语熵估计。作者在实验中选用了LLaMA系列模型中的LLaMA-7B版本,实验数据集选用text8,在text8数据集中的1MB子集中,LLMZip得到的熵估计上界为0.709位/字符,明显低于香农论文中的估计上界。此外,在text8的100KB子集中,LLMZip可以达到0.98位/字符的压缩率,这明显优于目前的SOTA方法。

二、本文方法

2.1 LLMZip的压缩建模

本文所遵循的压缩建模方式与1951年香农提出的估计英语熵的思想几乎相同,主要区别是本文使用了现代的可变长度的单词token来作为基础元素,并且使用大型语言模型来作为预测器,而不是让人来预测句子中的下一个元素。作者使用了一个例子来说明本文的压缩建模方式,给定一个英文文本:“My first attempt at writing a book”。

LLMZip的目标是将这个句子转换为长度尽可能短的比特序列,以便可以从比特序列中重建得到原始序列。LLMZip首先使用分词器(tokenizer)将该句子拆分成一系列tokens。随后使用具有记忆功能的语言模型对先前的M个token进行观察,然后对句子的下一个token进行预测,具体来说,模型会为下一个token的出现概率生成一个排序好的候选列表,如下图所示。

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

 

上图中下一个位置的可能选项有“reading”、“writing”、“driving”、“cooking”等词,LLMZip的做法是计算该句子实际单词(writing)在这个列表中的排名,该排名被定义为R5,作者规定排名顺序从0开始,即概率最大的词排名为 0,第二个最有可能的词排名为1,依此类推,在这个例子中,“writing”的排名是R5 = 1。

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

 

随后模型预测窗口向后推进一个位置,此时需要根据第2到第5个单词来预测出第6个单词,如上图所示,在这个例子中,第6个单词的预测结果恰好是候选列表中排名最靠前的单词,因此排名R6 = 0。以此类推,我们可以发现这样预测下来的排名预测是1,0,0,....这样的包含很多0的数字序列,这种序列通常可以使用标准的无损压缩算法(例如zip,霍夫曼编码)进行压缩

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

 

当对输入文本进行重建时,首先需要解压缩得到token排名列表,然后使用与压缩阶段相同的LLM对输入token进行预测,并使用解压得到的排名来确定预测输出,进而得到完整的解压文本。

2.2 LLMZip的压缩比

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

 

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

 

随后作者采用无损压缩算法(例如zlib)来对排名序列压缩到 Nb个比特位,实际上,LLMZip算法真正压缩的目标仅仅是排名序列,因此LLMZip的压缩比p可以计算如下:

2.3 LLMZip中的两种无损压缩方案

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

 

三、实验效果

本文的实验在text8数据集上进行,并且使用LLaMA-7B[3]作为大型语言模型,作者从先前的工作中摘录了目前SOTA方法在text8数据集上的最佳压缩性能,例如paq8h算法可以达到1.2 位/字符的压缩率,ZPAQ算法可以达到1.4位/字符的压缩比。作者将这两种算法作为基线对比方法,与LLMZip算法的对比结果如下表所示。

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

 

整体数据集被划分为10个不同的批次,每个批次含有100,000个tokens,表中最后一行为每种方法在1M数据量下的平均压缩性能。可以看出,LLMZip的LLaMA+zlib和LLaMA+TbyT版本分别可以达到1.0733位/字符和0.8449位/字符的压缩比,远优于另外两种对比方法

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

除了简单的压缩比性能对比,作者还进一步分析了LLMZip的压缩性能对大模型内存的依赖性,如上表所示,正如作者所预期的那样,模型的压缩性能随着  的增加和提高,作者还发现,模型的压缩推理时间与输入文本所占内存容量大致呈现线性比例。

大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!

为了验证本文提出的LLMZip方法的鲁棒性,作者还从互联网电子书库中选取了一本近期发布(2023年5月25日)的书籍来对LLMZip方法进行测试。作者从该书中同样提取了100,000个tokens,并且按照text8数据集的标准进行预处理。同时,为了对比基于LLaMA的大模型压缩器与目前常用的标准文本压缩器之间的性能,作者还在该书籍上直接运行了zlib算法,模型的最终测试对比结果如上表所示,可以看到,zlib算法的压缩率为2.8位/字符,这一结果明显低于LLMZip的压缩结果。

四、 总结

本文提出的LLMZip是一种使用大规模语言模型(LLaMA-7B)的新型文本压缩技术,可以极大地提高数据存储和通信的效率,作者进行的实验已经展示出LLMZip惊人的压缩率,结果表明其可以将1MB的文本数据压缩约90%。这得益于现有大语言模型强大的文本预测能力,即根据历史的输入文本来预测下一个位置的单词或token,这种预测能力早在香农时代就被认为是减少文本冗余和高效编码的关键。此外,借助于大模型对长文本数据优越的处理能力,LLMZip还有望提升传统文本压缩方法在长文本情景时的压缩效果。虽然LLMZip目前只支持英文文本压缩,但是随着多语言大模型的快速发展,我们相信LLMZip很快就会在其他语言中进行应用。

参考

[1] Claude E Shannon, “Prediction and entropy of printed english,” Bell system technical journal, vol. 30, no. 1, pp. 50–64, 1951.

[2] Thomas M Cover and Joy A Thomas, Elements of Information Theory, Wiley, New York, 1999.

[3] Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguez, Armand Joulin, Edouard Grave, and Guillaume Lample, “Llama: Open and efficient foundation language models,” 2023.

Illustration by unDraw文章来源地址https://www.toymoban.com/news/detail-514726.html

到了这里,关于大模型入局传统算法,LLMZip基于LLaMA-7B实现1MB文本压缩率90%!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 斯坦福用几百块钱训练的alpaca,体验一下基于llama的7b和13b模型,据说比gpt3.0还牛,结果怎样??你能信?

    好久没写代码了,上头了,强撸了! 1、自己买个GPU服务器(如果不训练,可以随便买个高内存的即可),有些网站很便宜,小时起租! 2、alpaca和模型下载地址:GitHub - antimatter15/alpaca.cpp: Locally run an Instruction-Tuned Chat-Style LLM git clone GitHub - antimatter15/alpaca.cpp: Locally run an Instr

    2024年02月04日
    浏览(51)
  • LLM__llama-7B模型试验

    llama模型已经开源很久了,所以拿做小的模型做了个简单尝试 因为做简单尝试并不打算长期持有,所以以便宜、够用、好退货为主要参考依据购买阿里云服务器、 我看7B的模型权重大小就13GB,所以先购入一个 32GB内存的虚拟机 CPU内存: 4核(vCPU) 32 GiB ~ 操作系统: Alibaba Cloud Lin

    2024年02月09日
    浏览(43)
  • llama.cpp LLM模型 windows cpu安装部署;运行LLaMA-7B模型测试

    参考: https://www.listera.top/ji-xu-zhe-teng-xia-chinese-llama-alpaca/ https://blog.csdn.net/qq_38238956/article/details/130113599 cmake windows安装参考:https://blog.csdn.net/weixin_42357472/article/details/131314105 1、下载: 2、编译 3、测试运行 参考: https://zhuanlan.zhihu.com/p/638427280 模型下载: https://huggingface.co/nya

    2024年02月15日
    浏览(54)
  • LLMs之llama_7b_qlora:源代码解读inference_qlora.py(模型推理)使用LORA权重来初始化预训练的LLAMA模型来进行文本生成(基于用户交互输入的上下文生成新文本)

    LLMs之llama_7b_qlora:源码解读inference_qlora.py(模型推理)使用LORA权重来初始化预训练的LLAMA模型来进行文本生成(基于用户交互输入的上下文生成新文本) 目录

    2024年02月15日
    浏览(73)
  • Mistral 7B 比Llama 2更好的开源大模型 (三)

    Mistral 7B 比Llama 2更好的开源大模型 Mistral 7B是一个70亿参数的语言模型,旨在获得卓越的性能和效率。Mistral 7B在所有评估的基准测试中都优于最好的开放13B模型(Llama 2),在推理、数学和代码生成方面也优于最好的发布34B模型(Llama 1)。Mistral 7B模型利用分组查询注意力(G

    2024年02月05日
    浏览(41)
  • 基于LLAMA-7B的lora中文指令微调

    前言: 系统:ubuntu18.04 显卡:GTX3090 - 24G (惨呀,上次还是A100,现在只有3090了~) (本文旨在快速实现基于llama-7b的中文指令微调) 咱们还是用lit-llama(环境安装过程见上篇博客) 地址:https://github.com/Lightning-AI/lit-llama 模型下载 在huggingface上搜索\\\"llama chinese\\\",我们选以下这

    2024年02月12日
    浏览(48)
  • 大模型部署手记(11)LLaMa2+Chinese-LLaMA-Plus-2-7B+Windows+llama.cpp+中文对话

    组织机构:Meta(Facebook) 代码仓:GitHub - facebookresearch/llama: Inference code for LLaMA models 模型:LIama-2-7b-hf、Chinese-LLaMA-Plus-2-7B   下载:使用huggingface.co和百度网盘下载 硬件环境:暗影精灵7Plus Windows版本:Windows 11家庭中文版 Insider Preview 22H2 内存 32G GPU显卡:Nvidia GTX 3080 Laptop (1

    2024年02月03日
    浏览(53)
  • 【大模型系列 06】LLaMA-7B/13B for PyTorch 昇腾迁移

    https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/PyTorch/built-in/foundation/LLaMA-13B LLaMA是由Meta AI发布的大语言系列模型,完整的名字是Large Language Model Meta AI。LLaMA按照参数量的大小分为四个型号:LLaMA-7B、LLaMA-13B、LLaMA-30B与LLaMA-65B。LLaMA 模型的效果极好,LLaMA-13B在大多数基准测试中的表现

    2024年02月12日
    浏览(61)
  • 基于传统机器学习模型算法的项目开发详细过程

    描述开发项目模型的一系列情境和因素,包括问题、需求、机会、市场环境、竞争情况等 传统机器学习在解决实际问题中主要分为两类: 有监督学习 :已知输入、输出之间的关系而进行的学习,从而产生一个能够对已知输入给出合适输出的模型。这些算法在图像分类、语音

    2024年01月20日
    浏览(44)
  • 大模型部署手记(10)LLaMa2+Chinese-LLaMA-Plus-7B+Windows+llama.cpp+中英文对话

    组织机构:Meta(Facebook) 代码仓:GitHub - facebookresearch/llama: Inference code for LLaMA models 模型:llama-2-7b、llama-2-7b-chat( 后来证明无法实现中文转换 )、Chinese-LLaMA-Plus-7B(chinese_llama_plus_lora_7b)   下载:使用download.sh下载 硬件环境:暗影精灵7Plus Windows版本:Windows 11家庭中文版

    2024年02月04日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包