llama.cpp
llama.cpp - Qwen
llama.cpp 是一个C++库,用于简化LLM推理的设置。它使得在本地机器上运行Qwen成为可能。该库是一个纯C/C++实现,不依赖任何外部库,并且针对x86架构提供了AVX、AVX2和AVX512加速支持。此外,它还提供了2、3、4、5、6以及8位量化功能,以加快推理速度并减少内存占用。对于大于总VRAM容量的大规模模型,该库还支持CPU+GPU混合推理模式进行部分加速。本质上,llama.cpp的用途在于运行GGUF(由GPT生成的统一格式)模型。欲了解更多详情,请参阅官方GitHub仓库。以下我们将演示如何使用llama.cpp运行Qwen。
准备
这个示例适用于Linux或MacOS系统。第一步操作是: “克隆仓库并进入该目录:
git clone https://github.com/ggerganov/llama.cpp cd llama.cpp
然后运行 make
命令:
make
然后你就能使用 llama.cpp
运行GGUF文件。
运行Qwen的GGUF文件
我们在Hugging Face组织中提供了一系列GGUF模型,为了找到您需要的模型,您可以搜索仓库名称中包含 -GGUF
的部分。要下载所需的GGUF模型,请使用 huggingface-cli
(首先需要通过命令 pip install huggingface_hub
安装它):
huggingface-cli download <model_repo> <gguf_file> --local-dir <local_dir> --local-dir-use-symlinks False
比如:
huggingface-cli download Qwen/Qwen2-7B-Instruct-GGUF qwen2-7b-instruct-q5_k_m.gguf --local-dir . --local-dir-use-symlinks False
然后你可以用如下命令运行模型:
./main -m qwen2-7b-instruct-q5_k_m.gguf -n 512 --color -i -cml -f prompts/chat-with-qwen.txt
-n
指的是要生成的最大token数量。这里还有其他超参数供你选择,并且你可以运行
./main -h
以了解它们。
生成你的GGUF文件
我们在 quantization/llama.cpp 中介绍了创建和量化GGUF文件的方法。您可以参考该文档获取更多信息。
PPL评测
llama.cpp为我们提供了评估GGUF模型PPL性能的方法。为了实现这一点,你需要准备一个数据集,比如“wiki测试”。这里我们展示了一个运行测试的例子。
第一步,下载数据集:
wget https://s3.amazonaws.com/research.metamind.io/wikitext/wikitext-2-raw-v1.zip?ref=salesforce-research -O wikitext-2-raw-v1.zip unzip wikitext-2-raw-v1.zip
然后你可以用如下命令运行测试:
./perplexity -m models/7B/ggml-model-q4_0.gguf -f wiki.test.raw
输出如下所示
perplexity : calculating perplexity over 655 chunks 24.43 seconds per pass - ETA 4.45 hours [1]4.5970,[2]5.1807,[3]6.0382,...
稍等一段时间你将得到模型的PPL评测结果。
在LM Studio使用GGUF
如果你仍然觉得使用llama.cpp有困难,我建议你尝试一下 LM Studio 这个平台,它允许你搜索和运行本地的大规模语言模型。Qwen2已经正式成为LM Studio的一部分。祝你使用愉快!
总结
这个链接可能存在安全风险,为了保护您的设备和数据安全,请避免访问此链接。