Press "Enter" to skip to content

哪种量化方法适合您?(GPTQ vs. GGUF vs. AWQ)

探索预量化的大型语言模型

哪种量化方法适合您?(GPTQ vs. GGUF vs. AWQ) 四海 第1张

在过去的一年中,我们见证了大型语言模型(LLM)的疯狂发展。新技术和模型的发布速度令人震惊!因此,我们有许多不同的标准和处理LLM的方式。

在本文中,我们将探讨一个关于通过几种(量化)标准加载本地LLM的主题。通过分片、量化和不同的保存和压缩策略,很难知道哪种方法适合你。

在这些示例中,我们将使用Zephyr 7B,这是Mistral 7B的微调变体,使用Direct Preference Optimization (DPO)进行训练。

🔥 提示: 在加载LLM的每个示例之后,建议重新启动您的笔记本以防止内存错误。加载多个LLM需要大量的RAM/VRAM。您可以通过删除模型并重置缓存来重置内存,如下所示:

# 删除以前创建的任何模型del model, tokenizer, pipe# 清空VRAM缓存import torchtorch.cuda.empty_cache()

您还可以通过Google Colab Notebook来跟随操作,以确保一切正常。

1. HuggingFace

加载LLM的最直接、最纯粹的方式是通过🤗 Transformers。HuggingFace已经创建了一套大量的软件包,让我们能够以令人惊讶的方式处理LLM!

我们将从主分支安装HuggingFace及其他依赖,以支持更新的模型:

# 为类似Mistral的模型安装最新HF transformers版本
pip install git+https://github.com/huggingface/transformers.git
pip install accelerate bitsandbytes xformers

安装完成后,我们可以使用下面的代码来轻松加载我们的LLM:

from torch import bfloat16
from transformers import pipeline

# 加载您的LLM而不使用任何压缩技巧
pipe = pipeline(
    "text-generation",
    model="HuggingFaceH4/zephyr-7b-beta",
    torch_dtype=bfloat16,
    device_map="auto"
)
Leave a Reply

Your email address will not be published. Required fields are marked *