使用 LM Studio 或 Ollama 等工具在本地运行大型语言模型(LLM)有许多优点,包括隐私、成本低和离线可用性。不过,这些模型可能是资源密集型的,需要适当优化才能高效运行。
在本文中,我们将指导您优化设置,在这种情况下,我们将使用 LM Studio,其友好的用户界面和简便的安装使事情变得更容易一些。我们将介绍模型选择和一些性能调整,帮助您充分利用 LLM 设置。
我假设您已安装 LM Studio;否则,请查看我们的文章:如何使用 LM Studio 在本地计算机上运行 LLM。
安装并在计算机上运行 LLM 后,我们就可以开始了:
选择正确的模型
选择正确的大型语言模型(LLM)对于获得高效、准确的结果非常重要。就像为工作选择合适的工具一样,不同的 LLM 更适合不同的任务。
在选择模型时,我们可以注意以下几点:
1. 模型参数
将参数视为 LLM 内部的“knobs”和“dials”,在训练过程中进行调整。它们决定了模型理解和生成文本的方式。
参数的数量通常用来描述模型的“size”。你通常会看到模型被称为 2B(20 亿个参数)、7B(70 亿个参数)、14B 等。
Ollama 中的模型参数选择
参数越多的模型学习语言中复杂模式和关系的能力越强,但通常也需要更多的内存和处理能力才能高效运行。
以下是根据系统资源选择模型时可以采取的一些实用方法:
资源水平 | RAM | 推荐模型 |
---|---|---|
有限资源 | 小于 8GB | 小型模型(如 4B 或更小) |
中等资源 | 8GB – 16GB | 中等模型(如 7B 至 13B 参数) |
充足资源 | 16GB 以上+独立显卡 | 较大模型(如 30B 参数及以上) |
没什么概念?也无所谓,如下图所示,LM Studio 会根据系统资源自动突出显示最合适的模型,您只需选择即可。
2. 模型特征
拥有数十亿参数的模型固然重要,但它并不是性能或资源需求的唯一决定因素。不同的模型设计有不同的架构和训练数据,这对它们的能力有很大影响。
如果您需要一个用于通用任务的模型,以下模型可能是不错的选择:
如果您专注于编码,那么专注于编码的模型会更合适,例如
如果您需要处理图像,则应使用具有多模态功能的 LLM,如
最适合您的模型取决于您的具体使用情况和要求。如果您不确定,可以先使用通用模型,然后根据需要进行调整。
3. 量化模型
优化 LLM 设置的另一种方法是使用量化模型。
想象一下,你有一大堆照片,而每张照片都占据了硬盘的大量空间。量化就像是压缩这些照片以节省空间。你可能会损失一点点图像质量,但却获得了大量额外的可用空间。
量化级别通常用表示每个值的比特数来描述。较低的位值,如从 8 位变为 4 位,会带来更高的压缩率,从而降低内存使用率。
在LM Studio 中,您可以找到一些量化模型,如 Llama 3.3 和 Hermes 3。
您可以找到这些模型的多个下载选项。
如上图所示,4 位量化的量化模型(标有 Q4_K_M
)比 8 位版本(标有 Q8_0
)小 1 GB 以上。
如果遇到内存问题,可以考虑使用量化模型来减少内存使用量。
性能调整
LM Studio 提供多种设置,让您可以微调所选模型的性能。
通过这些设置,您可以控制模型如何使用计算机资源和生成文本,从而优化速度、内存使用或特定任务要求。
您可以在每个下载模型的“My Models”部分找到这些设置。
让我们来探讨一些关键选项:
上下文长度(Context Length)
这一设置决定了模型在生成应答时“记忆”了多少之前的对话内容。较长的上下文长度可以让模型在较长时间的交流中保持一致性,但需要更多内存。
如果您的任务较短或内存有限,缩短上下文长度可以提高性能。
GPU卸载(GPU Offload)
此设置可让您利用 GPU 的强大功能来加速推理。如果你有专用的显卡,启用 GPU offload 可以显著提高性能。
CPU线程池大小(CPU Thread Pool Size)
该设置决定了有多少个 CPU 内核可用于处理。增加线程池大小可以提高性能,尤其是在多核处理器上。
您可以尝试找出适合您系统的最佳配置。
K缓存/V缓存量化类型(K Cache/V Cache Quantization Type)
这些设置决定了模型的键和值缓存的量化方式。与模型量化类似,缓存量化可减少内存使用量,但可能会对准确性造成轻微影响。
您可以尝试使用不同的量化级别,以找到性能和准确性之间的最佳平衡点。
限制响应长度(Limit Response Length)
此设置可控制模型在单个响应中生成的最大标记数(大致相当于单词或子单词单位)。它直接影响性能,主要体现在处理时间和资源使用方面。
限制响应长度的主要代价是,如果超过指定的限制,模型的响应可能会被截断或不完整。如果您需要详细或全面的回答,这可能会造成问题。
小结
在本地运行大型语言模型为各种任务提供了强大的工具,从文本生成到回答问题,甚至是协助编码。
然而,在资源有限的情况下,通过仔细选择模型和调整性能来优化 LLM 设置至关重要。通过选择合适的模型并微调其设置,可以确保在系统上高效运行。
评论留言