mlc-llm [问题] 2比特量化是否可能?

5q4ezhmt  于 2个月前  发布在  其他
关注(0)|答案(3)|浏览(40)

首先,我想对使这个项目成为可能的大家表示感谢。真是太神奇了,多亏了这个社区,会有这么多的可能性!

我想在我的iPhone上运行llama2,但是大多数iPhone都有4GB的RAM,所以即使是7B带有3位量化的模型也无法适应它。我一直在尝试通过添加以下代码来创建一个2位量化模型:

"q2f16_0": QuantizationScheme(
        name="q2f16_0",
        linear_weight=GroupQuantizationSpec(
            dtype="float16",
            mode="int2",
            sym=True,
            storage_nbit=16,
            group_size=40,
            transpose=False,
        ),
        embedding_table="same_as_linear_weight",
        final_fc_weight="same_as_linear_weight",
    ),

这样它就可以适应4GB的RAM。然而,在测试模型时,我只得到了一些乱码:

Loading model...
[13:03:28] /Users/catalyst/Workspace/miniforge3/envs/mlc-llm-build/conda-bld/mlc-chat-cli-nightly-package_1691568383808/work/3rdparty/tvm/src/runtime/metal/metal_device_api.mm:167: Intializing Metal device 0, name=Apple M1 Pro
Loading finished
Running system prompts...
System prompts finished
[INST]: Hi
[/INST]: Initial uniewor on the question of the basics, v’1/ NT. (H)ar-type decision) two M.
 You warm-T, 1, 11SAT, takings of the Sphistic Logs Ponder about the Gov.al the collection justification of the crew)
am Sclich E
The right 'in T QUсковO Philadelphia head-a, the -W cher in 'c mantrack n't w ret
Sale the whole foregrant-iSchуames Th
sigh inCOMIVde Mpos deusted al
-wil on new Sergh Scers of te tangeles^C

2位量化是否可行?或者这将只产生一个质量如此糟糕的模型,只会产生乱码?
谢谢!

vaj7vani

vaj7vani1#

进行一些研究后,我发现了这篇论文https://arxiv.org/pdf/2307.13304.pdf和相关的代码https://github.com/AlpinDale/QuIP-for-Llama。这种量化方法是否可行?(这超出了我的知识范围)

tmb3ates

tmb3ates2#

你好,感谢关注最新的2比特量化研究并指出这里!从内存消耗的Angular 来看,2比特绝对是我们想要尝试的东西。
这篇论文有一些比较,显示当我们直接应用2比特量化时,困惑度会爆炸,但如果使用QuIP,可以得到相当好的结果。这篇论文中进行的实验是针对OPT模型的,根据this issue,一些人重现的性能还不是很好。如果你尝试使用他们的开源代码进行2比特OPTQ,你可能会注意到,13B-2比特模型在困惑度上可能不如1.3B-4比特模型表现得好。
我认为这种方法肯定可以改进原始的2比特方法,但没有保证结果会一样好。并且高度依赖于实现,所以绝对值得一试,看看它是否适用于llama-2。

n9vozmp4

n9vozmp43#

你好,我是提到的QuIP方法的作者之一。我们的工作提出了一种新的量化算法,能够实现合理的量化,降低到2位。基于我们迄今为止的实验分析(3个语言生成任务,4个下游零样本任务和最多30b参数的OPT模型),使用我们的方法将量化为3(或4)位在与其他量化算法OPTQ和fp16模型相比时,在固定内存预算方面表现最佳。
quip_bestuseofbits.pdf
你提到的问题指出他们能够在OPT上很好地实现QuIP,这是我们迄今为止进行实验的模型。评论者表示对我们仓库的一个分支扩展到LLaMa模型的担忧;我仍在与他们讨论具体问题是什么。
我们正在评估我们在其他模型上的方法,包括llama-2。很高兴能更多地谈论我们的工作!

相关问题