GGML 文件

llama.cpp 中,GGML 文件是一种特殊的模型文件格式。这种文件格式被设计用来存储和加载语言模型,如 LLaMAAlpaca 等。

GGML 文件的作用

GGML 文件的主要作用是存储训练好的语言模型,以便在 llama.cpp 中进行加载和使用。这些文件通常包含模型的权重和其他必要的元数据。

量化

GGML 文件可以存储不同的量化级别的模型。例如,你可能会看到像 "q4_0" 这样的标签在文件名中,这表示模型的权重被量化为 4 位的整数。

原始 llama.cpp 量化方法:q4_0, q4_1, q5_0, q5_1, q8_0

我使用 llama.cpp 的旧版本对这些'原始'量化方法进行了量化,以便它们与 5月19日提交的 2d5db48 版本的 llama.cpp 保持兼容。

它们应该与所有使用 llama.cpp 的当前 UI 和库兼容,比如在这个 README 的顶部列出的那些。

新的 k-量化方法:q2_K, q3_K_S, q3_K_M, q3_K_L, q4_K_S, q4_K_M, q5_K_S, q6_K

这些新的量化方法只与 6月6日提交的 2d43387 版本的 llama.cpp 兼容。

它们将不会与 koboldcpp、text-generation-ui 和其他 UI 及库兼容。预计在接下来的几天内会提供支持。

新的 k-量化方法解释

可用的新方法包括:

请参考下面的提供文件表格,查看哪些文件使用哪种方法,以及如何使用。

新的 k-量化方法是 llama.cpp 中引入的一种新的模型权重量化技术。这些方法的主要目标是通过减少模型权重的精度来减小模型的大小和运行需求,同时尽量保持模型的性能。

理解

这些新的量化方法主要包括 GGML_TYPE_Q2_K、GGML_TYPE_Q3_K、GGML_TYPE_Q4_K、GGML_TYPE_Q5_K、GGML_TYPE_Q6_K 和 GGML_TYPE_Q8_K。每种方法都有其特定的量化级别和超级块结构。

每种方法的名称中的数字(例如,Q2、Q3、Q4 等)表示模型权重被量化为的位数。例如,Q2 表示模型权重被量化为 2 位的整数。

每种方法的名称中的 "_K" 表示这是一种 k-量化方法,这是 llama.cpp 中的一种新的量化技术。

这些新的 k-量化方法只与特定版本的 llama.cpp 兼容,因此在使用这些方法时,需要确保你的 llama.cpp 版本与这些方法兼容。


本文作者:Maeiee

本文链接:GGML 文件

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!