当前位置: 首页 > news >正文

【通义千问】大模型Qwen GitHub开源工程学习笔记(4)-- 模型的量化与离线部署

摘要:

量化方案基于AutoGPTQ,提供了Int4量化模型,其中包括Qwen-7B-Chat和Qwen-14B-Chat。更新承诺在模型评估效果几乎没有损失的情况下,降低存储要求并提高推理速度。量化是指将模型权重和激活的精度降低以节省存储空间并提高推理速度的过程。AutoGPTQ是一种专有量化工具。Int4是指4位整数量化,与传统的8位量化相比,可以进一步减少存储要求。

如何使用Int4量化模型

在开始使用前,请先保证满足要求(如torch 2.0及以上,transformers版本为4.32.0及以上,等等),并安装所需安装包:

pip install auto-gptq optimum

 【Auto-GPT 】

AutoGPTQ将能够作为一个可扩展、灵活的量化后端,支持所有类似GPTQ的方法,并自动量化由Pytorch编写的LLM。说白了就是让模型能够轻量化。

┏ (゜ω゜)=👉传送门==>GitHub - PanQiWei/AutoGPTQ: An easy-to-use LLMs quantization package with user-friendly apis, based on GPTQ algorithm.

 https://huggingface.co/blog/zh/gptq-integration

问题:ModuleNotFoundError: No module named 'optimum.gptq'的处理方法

在python环境下使用如下代码,查看是否安装这个模块

import pkg_resourcestry:pkg_resources.get_distribution('optimum')print('optimum is installed.')# Check if gptq is installed under optimumtry:pkg_resources.get_distribution('optimum.gptq')print('gptq is installed under optimum.')except pkg_resources.DistributionNotFound:print('gptq is not installed under optimum.')
except pkg_resources.DistributionNotFound:print('optimum is not installed.')

我这里返回了

optimum is installed.
gptq is not installed under optimum.

看来,我是安装了【optimum】这个模块,但是下面的【gptq】没有安装

通过pip list指令,我也找到所装的optimum版本

 Optimum 是 Transformers 的扩展,它提供了一组性能优化工具,可以在目标硬件上以最高效率训练和运行模型。

【解决方法】 

删除,从Git上clone下(clone地址==>https://github.com/huggingface/optimum),再安装optimum。这次通过在clone的本地路径下,通过指令【python setup.py install】去安装。发现optimum文件夹下有了gptq这个模块

 离线运行一下量化后的模型

首先还是将模型文件下载到本地,用YOURPATH去保存你的模型文件所在的相对路径。

from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfigYOURPATH = 'models/Qwen-7B-Chat-Int'
# name = 'Qwen/Qwen-7B-Chat-Int'
tokenizer = AutoTokenizer.from_pretrained(YOURPATH, local_files_only=True,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(YOURPATH, local_files_only=True, device_map="auto", trust_remote_code=True).eval()
http://www.lryc.cn/news/194946.html

相关文章:

  • 2022最新版-李宏毅机器学习深度学习课程-P23 为什么用了验证集结果还是过拟合
  • Spring Cloud Alibaba—Sentinel 控制台安装
  • 基于动物迁徙优化的BP神经网络(分类应用) - 附代码
  • 一键搞定!黑群晖虚拟机+内网穿透实现校园公网访问攻略!
  • 【C语言】——通讯录(静态-动态增长-文件储存)
  • win10安装nginx及简单使用(命令)
  • 【农业生产系统模型】基于R语言APSIM模型进阶应用与参数优化、批量模拟实践技术
  • 金融数学方法:梯度下降法
  • 1031 查验身份证
  • 如何共享 Android 不同模块的构建配置
  • atlas运维中遇到的问题
  • 06-React的路由
  • 虹科方案 | 加州理工学院利用HK-TrueNAS开展地震研究
  • 宝塔面板部署express以及MySql项目
  • 联盟链学习笔记-网络的创建
  • System.Drawing.Common.Bitmap跨平台的替代方案
  • 深入理解 Java 泛型
  • 【基础篇】七、Flink核心概念
  • 06-Scala面向对象
  • 【设计模式】单例模式、“多例模式”的实现以及对单例的一些思考
  • idea 2022 一个工作空间下导入git项目 后 无法导入第二个git项目
  • 泛在电力物联网的关键技术与未来发展策略-安科瑞黄安南
  • iWall:支持自定义的Mac动态壁纸软件
  • 【Docker 内核详解】namespace 资源隔离(四):Mount namespace Network namespace
  • STM32简介
  • Yum安装JDK11
  • [HNCTF 2022 WEEK2]ez_ssrf题目解析
  • OpenFOAM: twoPhaseEulerFoam解读
  • ffmpeg跨平台arm编译-ubuntu
  • Vue 网络处理 - axios 异步请求的使用,请求响应拦截器