Meta-Llama-3.1-70B-Instruct-FP8-KV项目介绍
项目背景
Meta-Llama-3.1-70B-Instruct-FP8-KV是一个由Meta-Llama团队基于Meta-Llama-3.1-70B-Instruct模型开发的量化模型。该模型使用了一种称为Quark的量化技术,通过引用Pile数据集中的校准样本进行模型的量化。
量化策略
在模型的量化过程中,所有的线性层(不包括“lm_head”)都被量化处理。对于权重、激活和KV缓存,均采用了一种称为FP8对称每张量的量化策略。这种方法旨在减少模型的计算负担,从而提高推理效率。
快速开始
要开始使用Meta-Llama-3.1-70B-Instruct-FP8-KV,用户需要首先下载并安装Quark工具。以下是快速量化的步骤:
- 下载并安装Quark。
- 在命令行中运行量化脚本:
- 对于单个GPU,可以使用以下命令:
export MODEL_DIR = [local model checkpoint folder] or meta-llama/Meta-Llama-3.1-70B-Instruct python3 quantize_quark.py \ --model_dir $MODEL_DIR \ --output_dir Meta-Llama-3.1-70B-Instruct-FP8-KV \ --quant_scheme w_fp8_a_fp8 \ --kv_cache_dtype fp8 \ --num_calib_data 128 \ --model_export quark_safetensors \ --no_weight_matrix_merge
- 如果模型尺寸过大而无法在单个GPU上运行,则使用多GPU:
python3 quantize_quark.py \ --model_dir $MODEL_DIR \ --output_dir Meta-Llama-3.1-70B-Instruct-FP8-KV \ --quant_scheme w_fp8_a_fp8 \ --kv_cache_dtype fp8 \ --num_calib_data 128 \ --model_export quark_safetensors \ --no_weight_matrix_merge \ --multi_gpu
- 对于单个GPU,可以使用以下命令:
部署
Quark工具提供了自己的导出格式,允许FP8量化模型通过vLLM后端有效地进行部署,确保了与vLLM的兼容性。
评估
Quark采用了perplexity(困惑度,PPL)作为量化前后模型准确性变化的评估指标。具体的PPL计算算法可以在quantize_quark.py中找到。需要注意的是,量化评估结果是在伪量化模式下进行的,可能与实际量化推理的准确性稍有不同,仅供参考。
评估得分
基准测试 | Meta-Llama-3.1-70B-Instruct | Meta-Llama-3.1-70B-Instruct-FP8-KV(本模型) |
---|---|---|
困惑度-wikitext2 | 3.7797 | 3.8561 |
许可信息
本项目的修改版权归Advanced Micro Devices, Inc.所有,使用Apache许可证2.0版本发布。有关更多详细信息,请访问许可证链接:https://www.apache.org/licenses/LICENSE-2.0。