通过量化实现高效微调:QLoRA
GGML/GGUF如果您曾经在本地机器上使用 llama.cpp、Ollama 或 LMStudio 等框架测试过较小的模型,那么您几乎肯定会遇到 GGML 和 GGUF 格式。
GGML 是 Georgi Gerganov 编写的 C 库的名称,该库可生成针对 CPU 优化的二进制文件。二进制文件格式 GGUF 是 GGML 格式的后继者。
该库采用基于块的方法,并采用自己的系统进一步量化量化缩放因子,称为 k-quant 系统。
到目前为止,这些技术主要集中在采用预训练模型并压缩 哥伦比亚电报数据 参数以提高推理效率。但是当我们想要针对特定任务微调模型时该怎么办呢?
最近已经提出了许多有效的微调算法,您可以阅读本系列的第一部分以获得概述。
LoRA 等技术会保持原始权重不变,并添加一小组可训练的权重(通常称为适配器)以在微调期间进行训练。通过加载基础模型的量化版本,这些技术还可以从量化中受益。
QLoRA 将参数量化到 4 位,并将缩放因子的双重量化到 8 位。虽然这可以在没有微调的情况下使用,但他们还证明,这个 4 位量化版本可以取代 16 位基础模型,LoRa 可用于在 16 位微调新参数。
这使得对 65B 参数模型进行微调所需的内存从约 780GB 降低到 <48GB,从而可以在单个 GPU 机器上实现。QLoRA 已集成到Hugging Face中。
QLoRA 使用基础变压器模型的 4 位量化,进一步提高 LoRA 进行微调的效率
頁:
[1]