QuIP#: 最新SOTA 2bit量化方法,让你的3090轻松跑70b大模型

人工智能与算法推荐算法大数据

        
          
Repository: https://github.com/Cornell-RelaxML/quip-sharp  
  
Blog post: https://cornell-relaxml.github.io/quip-sharp/  

      

picture.image

相关pr已经合到text-generation-webui里面了picture.image

网友测试效果非常好

picture.image

ModelQuIP PPLQuIP sizeQ2_K* PPLQ2_K* sizeQ2_K PPLQ2_K size
LLaMA-2-7B8.2012.15 GB6.7662.03 GB6.0252.23 GB
LLaMA-2-13B6.0033.83 GB5.5233.86 GB5.1524.26 GB
LLaMA-2-70B4.15618.2 GB3.91520.3 GB3.67122.9 GB
LLaMA-1-7B8.1462.15 GB7.1142.03 GB6.3552.23 GB
LLaMA-1-13B6.3533.83 GB5.8463.86 GB5.3714.26 GB
LLaMA-1-30B5.3118.89 GB4.8279.54 GB4.48910.55 GB

安装

The installation is currently manual, but later I will add it to the one-click installer.

clone & install


        
          
git clone 'https://github.com/Cornell-RelaxML/quip-sharp' repositories/quip-sharp  
cd repositories/quip-sharp/quiptools  
python setup.py install  
cd ../../..  

      

需要有c++编译器 (g++), 装好了nvcc

安装依赖包


        
          
pip install fast-hadamard-transform glog==0.3.1 primefac==2.0.12  

      

下载模型


        
          
python download-model.py relaxml/Llama-2-70b-E8P-2Bit  
python download-model.py oobabooga/llama-tokenizer  

      

可以启动了


        
          
python server.py --model relaxml_Llama-2-70b-E8P-2Bit --loader 'QuIP#'  

      

用llama.cpp的小伙伴可以看下面地址


        
          
https://github.com/ggerganov/llama.cpp/discussions/4327  

      
非llama结构怎么办?

作者目前提供了所有的llama版本的量化模型,在官方仓库提供了量化后的脚本。

对于非llama结构的模型,在官方仓库里。目前,hessian_offline_llama.py、quantize_llama.py和hfize_llama.py是针对Llama架构编写的。然而,它们唯一的“特殊”之处在于识别需要量化的相关nn.Linear层(q/k/v/o/up/gate/down),注入Hessian hooks并对其进行量化。如果您想量化非Llama架构的模型,您需要找到相关的nn.Linear文件并创建自己的hessian_offline/quantize/hfize文件。这应该很简单,如果遇到任何问题,可以随时在GitHub上提交issue。您还需要将HF源代码中的modeling_.py复制到models/文件夹中,并将相关的nn.Linear层替换为QuantizedLinear层(参见models/llama.py的实现方式)。我们当前的quantize_llama.py实现将q/k/v层和up/gate层进行了融合,以提高速度,因为它们共享相同的Hessians。然而,这不是必需的,您也可以单独量化这些层。

最后,周末快乐,不写原理了,感兴趣的可以从上面提供的链接去看

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎大规模机器学习平台架构设计与应用实践
围绕数据加速、模型分布式训练框架建设、大规模异构集群调度、模型开发过程标准化等AI工程化实践,全面分享如何以开发者的极致体验为核心,进行机器学习平台的设计与实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论