使用Ollama量化模型进行应用开发

Using Quantized Models with Ollama for Application Development

使用Ollama量化模型进行应用开发
图片由编辑提供

量化是一种常用于生产环境的机器学习模型的策略,特别是对于大型复杂模型。它通过降低模型参数(权重)的数值精度——通常从 32 位浮点数降低到 8 位整数等较低表示——来使其更加轻量化。量化模型的主要优势包括内存占用减少和推理速度加快。因此,量化已被证明在“压缩”大型语言模型(LLMs)方面非常有效,使其能够轻松地在资源受限的环境中部署,例如本地机器、移动设备或边缘服务器,而无需昂贵的计算资源。总而言之,量化能够优化 LLM 在现有硬件上的性能。

本文介绍了一种使用 Ollama 从 Hugging Face 模型库查找、加载和使用量化语言模型的无缝方法。Ollama 是一个构建在 llama.cpp 之上的应用程序,它提供了与 Hugging Face 上几乎所有模型轻松集成的能力。

使用 Ollama 运行量化的 Hugging Face 模型

首先,请确保您已在本地机器上安装了 Ollama。最简单的方法是从 官方网站 下载与您的操作系统兼容的 Ollama 版本。安装并运行后,您可以通过在浏览器中键入 https://:11434/ 来检查 Ollama 服务器。如果一切顺利,您可能会看到“Ollama is running”的提示。

接下来,让我们看看如何将 Hugging Face 模型(而非完整版本,而是量化版本)拉取到 Ollama 中并运行。有一个特定语法的命令行指令可以用于此操作。

让我们使用此语法加载特定模型——此具体示例前面带有“!”,因为它是在 Visual Studio Code 内的笔记本实例中运行的,否则您可以将其删除。

值得停下来详细解释和理解我们刚刚运行的命令中的每一个部分。

  • 我们使用 Ollama 运行了 Hugging Face 上托管的 **LLaMA 3.2 模型** 的量化版本。通过在浏览器中访问 hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF,您可以在 Hugging Face 网站上查看该模型的详细信息页面。任何名称中带有“instruct”的 LLM 都意味着它经过了微调,专门用于指令遵循的语言任务。
  • GGUF 格式(“GPT-Generated Unified Format”的缩写)使用了一个为本地机器推理优化的模型版本。
  • IQ3_M 是一种特定的 **量化方法**,与上述 GGUF 格式兼容。它的特点是在速度、压缩率和准确性之间寻求平衡。虽然并非所有模型都接受任何量化格式,但您可能想知道还有许多其他量化格式,例如 Q8_0(8 位整数量化,精度最高)、Q5_K(5 位分组量化,侧重于低内存使用)等。

量化模型成功运行后,就可以进行一些推理了。在 Python 中,一种简单的方法是使用 requests 库并定义一个辅助函数,该函数将用户提示和模型名称作为参数,然后向我们 Ollama 服务器上的模型发出请求以获取响应。请确保如果您的环境中尚未安装此库,请先 pip install requests

有了这个函数,如果之前的设置都正确无误,进行一些推理示例应该会很简单。

输出

您还可以超越简单的问答。何不尝试要求您本地运行的量化模型创建一个示例 Python 函数呢?

输出

虽然检查一个数字是否为素数当然不是一件容易或简单的事情,但该模型通过提供一个简化但有充分理由的响应,仅限于一些基本情况,成功地完成了这项繁重的任务。这可不赖!

总结

本文介绍了 Hugging Face 语言模型和 Ollama 应用程序,用于在本地集成和运行模型。具体来说,我们重点介绍了加载和运行流行语言模型的量化版本的流程,在此之前我们还解释了量化在使大型语言模型更容易在资源受限环境中运行方面的多种好处。

暂无评论。

发表回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。