Q8-Chat:在 Intel Xeon CPU 上实现高效生成式 AI
Hugging Face 和 Intel 已经展示,使用 SmoothQuant 进行 8 位量化可以让大语言模型(LLM)在 Intel Xeon CPU 上高效运行,将模型大小约缩小 2 倍,并显著降低推理延迟,同时不影响模型质量。
使用 SmoothQuant 克服 LLM 量化挑战
标准的量化技术常常在 LLM 上失效,因为这些模型在所有层和 token 的特定激活通道中会出现大幅度的异常值。当激活按 token 进行量化时,这些异常值通常导致数值被截断或低幅度激活下溢,这两者都会显著降低模型准确性。
SmoothQuant 通过对权重和激活共同进行数学变换来解决该问题。该过程通过提升权重的比例,降低激活中异常值与非异常值的比例,使 Transformer 层变得“量化友好”。这使得 8 位整数(INT8)量化成为可能,用更快的整数算术取代复杂的 16 位浮点(FP16/BF16)运算。
性能与精度基准
Intel 将 SmoothQuant-O3 应用于多种 LLM,包括 OPT(2.7B 和 6.7B)、LLaMA(7B)、Alpaca(7B)、Vicuna(7B)、BloomZ(7.1B)以及 MPT-7B-chat。结果表明,8 位量化能够保持或提升模型性能:
- OPT 模型: 这些模型被认定为 SmoothQuant 的极佳候选。模型大小约缩小 ~2 倍,大多数基准测试显示性能提升,少数仅有轻微的惩罚。
- LLaMA 7B 和 BloomZ 7.1B: 这些模型被压缩约 ~2 倍,约一半的任务指标有所提升。仅有一个任务出现了超过 3% 的相对下降。
硬件实现与 Q8-Chat
通过将 8 位量化与第 4 代 Intel Xeon(Sapphire Rapids)硬件相结合,实现了在 CPU 上高效部署 LLM。
Q8-Chat 是在 Hugging Face Spaces 上托管的演示,提供类似 ChatGPT 的体验,运行在单插槽、32 核心、批大小为 1 的 Intel Sapphire Rapids CPU 上。该配置展示了在 CPU 平台上也能实现高质量的聊天体验,为组织提供比仅依赖高端 GPU 或复杂 AI 加速器更大的 IT 灵活性和更佳的性价比。
与 Hugging Face 生态系统的集成
为简化这些技术的采用,Hugging Face 正通过 Intel Neural Compressor 将这些量化方法集成到 Optimum Intel 库中。此集成旨在让开发者以最少的代码复现这些效率提升。