LMDeploy 的量化和部署

LMDeploy 的量化和部署

文档:https://github.com/InternLM/tutorial/blob/vansin-patch-4/lmdeploy/lmdeploy.md
视频:https://www.bilibili.com/video/BV1iW4y1A77P

一、模型量化

大模型参数量很大,运行起来非常消耗显存和内存,模型的参数和计算过程中的kv是浮点数,如果在保证一定精度的下存储为低精度的浮点数或者整数,就可以减少调取参数的时间。主要有两种量化方法,KV Cache 量化和 **4bit Weight Only 量化(W4A16)

KV Cache 量化是指将逐 Token(Decoding)生成过程中的上下文 K 和 V 中间结果进行 INT8 量化(计算时再反量化),以降低生成过程中的显存占用。

4bit Weight 量化,将 FP16 的模型权重量化为 INT4,Kernel 计算时,访存量直接降为 FP16 模型的 1/4,大幅降低了访存成本。Weight Only 是指仅量化权重,数值计算依然采用 FP16(需要将 INT4 权重反量化)。

二、模型部署

模型需要在具体的运行环境中跑起来,才能对外提供推理服务,模型部署的过程涉及到模型的转换(针对运行环境进行格式转换),推理服务的部署(包括后端模型的运行启动、中间的接口暴露、前端的对话界面)。LMDeploy就是应用于模型部署的工具,基础架构如图:

LMDeploy(TurboMind) is a toolkit for compressing, deploying, and serving LLM.

LMDeploy 的量化和部署_第1张图片

你可能感兴趣的:(人工智能)