首先,先跟各位小伙伴说一句 Sorry 。上一篇文章《【AIGC】本地部署通义千问 1.5 (PyTorch)》并没有考虑企业成本问题,虽然代码可以跑通,但是中小型企业想通过该代码实现项目落地还是比较困难的。为此,本文将采用 GGUF 预量化大模型结合 Ollama 对代码进行修改,给小伙伴们演示如何逐步实现非 GPU 资源的本地整合方案。
题外话:其实在上一篇文章发布之后我就已经意识到,大伙儿最大的问题并不是如何将人工智能集成到项目,而是在有限“资源”的情况下要如何将“人工智能+”落地。坦白说现在很多中小型企业为了“求生存”也是苦苦支撑着,要想申请资源去做研发几乎不太可能(不缩减资源就算好的了)。在这种情况下,如何利用好手头的资源是关键… 过往 toB、toG、toC 等项目一般都会选用 CPU 算力为主的服务器。在实际运营后发现,长时间耗尽服务器资源的情况其实很少,那么如何利用好闲置的服务器资源将是突破的关键,而 GGUF 预量化大模型让我看到了希望。
先说明一下什么是 GGUF ?
GGUF(GPT-Generated Unified Format)是一种大模型文件格式,由著名开源项目 llama.cpp 创始人 Georgi Gerganov 提出并定义,是一种针对大规模机器学习模型设计的二进制格式文件规范,主要用于高效存储和交换大模型的预训练结果。GGUF 的主要优势在于,它能够将原始的大模型预训练结果经过特定优化后转换成这种格式,从而可以更快地被载入使用,并消耗更低的资源。最最最关键的一点是,允许用户使用 CPU 来运行 LLM。
那么废话不多说了,我们直接开始吧。
还是老规矩选用 Qwen 大模型,先找到“合适”的 Qwen 版本,这里由于我电脑使用的是一台老 Mac 了,选用 14B 的模型就好。有条件的小伙伴可以选择 32B 或者 70B 的,如下图:
找到对应版本后就可以通过 huggingface-cli 进行下载了,如下图:
(base) yuanzhenhui@MacBook-Pro ~ % huggingface-cli download --resume-download Qwen/Qwen1.5-14B-Chat-GGUF qwen1_5-14b-chat-q4_k_m.gguf --local-dir-use-symlinks False
Consider using `hf_transfer` for faster downloads. This solution comes with some limitations. See https://huggingface.co/docs/huggingface_hub/hf_transfer for more details.
downloading https://hf-mirror.com/Qwen/Qwen1.5-14B-Chat-GGUF/resolve/main/qwen1_5-14b-chat-q4_k_m.gguf to /Users/yuanzhenhui/.cache/huggingface/hub/models--Qwen--Qwen1.5-14B-Chat-GGUF/blobs/46fbff2797c39c2d6aa555db0b0b4fe3f41b712a9b45266e438aa9a5047c0563.incomplete
qwen1_5-14b-chat-q4_k_m.gguf: 100%|████████████████████████████████████████████