GGML系列文件格式 ################ * 在傳統的 Deep Learning Model 開發中大多使用 PyTorch 來進行開發,但因為在部署時會面臨相依 Lirbrary 太多、版本管理的問題於才有了 GGML、GGMF、GGJT 等格式,而在開源社群不停的迭代後 GGUF 就誕生了。 * GGML 设计为与 Georgi Gerganov 创建的 Llama.CPP 库一起使用。 * https://github.com/ggerganov/ggml/ * GGML 是 llama.cpp 和 whisper.cpp 的底层技术,是一个基于 C 的机器学习张量库。 * GGML 是由 Georgi Gerganov 开发的用于机器学习的张量库。它是用 C/C++ 编写的,旨在快速、便携且易于嵌入,利用各种硬件加速系统,如 BLAS、CUDA、OpenCL 和 Metal。它支持量化推理,以减少内存占用并加快推理速度。 GGML 可跨各种平台无缝运行,包括 Mac、Windows、Linux、iOS、Android、Web 浏览器,甚至 Raspberry Pi。 GGUF ==== * GGUF 文件格式是一种用于 AI 模型的新的可扩展二进制格式,专为在 PyTorch 等框架中开发的模型而设计。它于 2023 年 8 月推出,专注于快速加载、灵活性和单文件便利性。 GGUF 文件格式与 LLaMA 和 Llama-2 AI 模型一起使用,并在 llama.cpp 上运行。 * GGUF 文件格式旨在易于使用,只需少量代码即可加载模型。不需要外部库,因为该文件包含完整的模型信息。 * 它是 GGML、GGMF 和 GGJT 文件格式的后继者,旨在通过包含加载模型所需的所有信息来确保明确性。它还被设计为可扩展的,以便可以将新功能添加到 GGML 中,而不会破坏与旧模型的兼容性。 * GGUF 的关键优势在于它支持在 CPU 上运行大型语言模型(LLM),同时也可以将某些层加载到 GPU 以提高速度。 GGML ==== * GGML 文件格式是, GGML张量库最初的文件格式,目的是為了有一個單文件(Single File Sharing)的格式並且易於在不同架構的 GPU 和 CPU 上可以 inference,但在後續的開發上遇到靈活性不足、相容性及難以維護的問題。 * 2023 年 8 月被 Georgi Gerganov 废弃,并创建了一个新的大模型文件格式 GGUF(GPT-Generated Unified Format)来取代 GGML 格式。 * GGML(Generic GShard Model Layout)是一种通用的模型布局格式,用于存储模型参数和元数据。它使用Protobuf进行序列化,并包含以下信息:: 模型架构 模型参数 训练配置 其他元数据 其他 ==== * GGMF(Generic GShard Model Format)是 GGML 的第一个版本。它使用 Protobuf 进行序列化 * GGJT(Generic GShard JIT)是 GGMF 的改进版本。它使用了一种自定义的二进制格式 * GGMF 是基础的形式,增加了版本控制,适用于需要考虑文件版本兼容性的场景。 * GGJT 则专注于性能优化,特别是在使用内存映射时的性能,但牺牲了与旧版本的兼容性。 相关链接 ======== * What is GGML: https://klu.ai/glossary/ggml * 官网: https://ggml.ai/ * Tensor library for machine learning: https://github.com/ggerganov/ggml