GGML 到 GGUF:语言模型文件格式的飞跃

火山方舟向量数据库智能语音交互

点击下方 卡片 ,关注“ 慢慢学AIGC ”

简介

由于对大型语言模型(LLM)的高需求,实施量化已成为其高效运行的关键。这种技术似乎以减少模型权重的精度为代价,从而节省内存并加速推理,但保留了大部分模型性能。最近在 8 位和 4 位量化技术方面的进展,使LLM能够部署在消费级硬件上。加上 Llama 模型和诸如 LoRA 和 QLoRA 等 参数高效微调方法 的推出,已催生了一个多样化的 本地 LLM 生态系统 ,现在可与 OpenAI 的 GPT-3.5 和 GPT-4 相媲美。

picture.image

在四种主要量化技术 NF4、GPTQ、GGML 和 GGUF 中,本文将帮助你了解并深入探讨 GGML 和 GGUF。前两种量化方法可参考前面文章《使用 GPTQ、AWQ 和 Bitsandbytes 进行模型量化》。

GGML 和 GGUF 代表了简化语言模型的关键一步。GGML 是一种早期尝试,旨在使模型可在常规计算机上运行,但存在局限性。GGML 是由 Georgi Gerganov(用"GG"代表)开发的面向机器学习的 C 语言库,提供了机器学习的基本组件。除了提供张量等基本元素外,它还引入了一种独特的二进制格式来分发 LLM。GGUF 于 2023 年 8 月 21 日推出,是一种后继格式,旨在解决 GGML 的缺陷。它的设计目标是清晰、可扩展和通用,从原型过渡到成熟、用户友好的解决方案。

关于 GGUF

GGUF 由 llama.cpp 团队推出,旨在取代不再支持的 GGML。与 GGML 相比,它提供了多项优势,包括改进的标记化、对特殊标记的支持以及可扩展性。GGUF 将更多关于模型的信息存储为元数据,使其成为面向未来的格式。它提高了性能,尤其是在使用新的特殊标记和自定义提示模板的模型上。

差异和偏好

GGML (优点和缺点):

优点:

    • 早期就尝试为 GPT 模型创建文件格式。
    • 方便在单个文件中共享模型。
    • 模型可在常规计算机上运行,适合更多人使用。

缺点:

    • 缺乏灵活性阻碍了添加额外的模型信息。
    • 出现了与新功能的兼容性问题。
    • 设置需要手动调整。

GGUF (改进和注意事项):

改进:

    • 类似于 GGML 的下一个版本,修复了其问题。
    • 可以轻松添加新功能,而不会影响旧模型。
    • 可用于不同模型,而不仅限于 llama.cpp。

需要注意的事项:

    • 旧模型切换到新格式可能需要一些时间。
    • 用户和开发人员需要适应新格式。

GGML 和 GGUF 哪个更好?当然是 GGUF 更好,因为它解决了 GGML 存在的问题。它更加灵活,可以无缝添加新功能,并且可以与不同的模型一起使用。

从 GGML 转换到 GGUF:

llama.cpp GitHub 仓库【1】提供了从 GGML 转换到 GGUF 的指导步骤,该工具位于 convert-llama-ggml-to-gguf.py。使用此工具可以轻松地将模型从 GGML 迁移到 GGUF。用户可以利用它来更新自己的模型,从而充分利用 GGUF 更好的特性和设计。这种切实可行的方法确保了用户的顺利过渡,符合 GGML 团队优先考虑用户便利性的承诺。

GGUF 在客户端和库中的支持:

截至 2023 年 8 月 25 日,各种客户端和库已经支持 GGUF:

    • llama.cpp
    • text-generation-webui
    • KoboldCpp
    • LoLLMS Web UI
    • ctransformers
    • llama-cpp-python
    • candle

此外,LM Studio 也在 2023 年 8 月 25 日更新以支持 GGUF。

picture.image

结论

总之,GGUF 的推出代表了语言模型文件格式的重大飞跃。其用户友好的特性、增强的标记化以及广泛的支持使其成为优于 GGML 的首选。提供了转换选项,并且越来越多的客户端和库支持 GGUF,凸显了社区热衷于采用 GGUF。这一进化必将为语言模型的持续发展做出贡献,使其更加高效,并为更广泛的用户群体所接受。

参考资料

【1】 llama.cpp 源码仓库: https://github.com/ggerganov/llama.cpp/blob/master/convert-llama-ggml-to-gguf.py 【2】使用 GPTQ、AWQ 和 Bitsandbytes 进行模型量化


点击下方 卡片 ,关注“ 慢慢学AIGC ”

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论