GGUF格式文件可能是未来大模型文件标准格式之一!HuggingFace宣布对GGUF增加更多的支持,可以直接查看大模型元数据!

HuggingFace宣布将加大对GGUF格式的大模型文件的支持。GGUF(GPT-Generated Unified Format)是一种高效存储和交换大模型预训练结果的二进制格式,由llama.cpp创始人Georgi Gerganov定义。HuggingFace的支持包括模型检索过滤、预览GGUF元数据和提供工具支持网站显示平台GGUF格式模型信息。这显示了开源社区对大模型的重要贡献和国外开源生态的互相融合。

当前的大模型的参数规模较大,数以千亿的参数导致了它们的预训练结果文件都在几十GB甚至是几百GB,这不仅导致其使用成本很高,在不同平台进行交换也非常困难。因此,大模型预训练结果文件的保存格式对于模型的使用和生态的发展来说极其重要。昨天HuggingFace官方宣布将推动GGUF格式的大模型文件在HuggingFace上的使用。

大模型预训练结果文件格式GGUF简介

HuggingFace宣布加大对GGUF格式文件的支持

HuggingFace模型检索支持按GGUF格式过滤

可以在HuggingFace平台上预览GGUF的元数据

HuggingFace提供工具支持网站显示平台GGUF格式模型信息

HuggingFace支持GGUF格式文件的总结和思考

大模型预训练结果文件格式GGUF简介

大语言模型的开发通常使用PyTorch等框架,其预训练结果通常也会保存为相应的二进制格式,如pt后缀的文件通常就是PyTorch框架保存的二进制预训练结果。

但是,大模型的存储一个很重要的问题是它的模型文件巨大,而模型的结构、参数等也会影响模型的推理效果和性能。为了让大模型更加高效的存储和交换,就有了不同格式的大模型文件。其中,GGUF就是非常重要的一种大模型文件格式。

GGUF文件全称是GPT-Generated Unified Format,是由Georgi Gerganov定义发布的一种大模型文件格式。Georgi Gerganov是著名开源项目llama.cpp的创始人。

GGUF就是一种二进制格式文件的规范,原始的大模型预训练结果经过转换后变成GGUF格式可以更快地被载入使用,也会消耗更低的资源。原因在于GGUF采用了多种技术来保存大模型预训练结果,包括采用紧凑的二进制编码格式、优化的数据结构、内存映射等。

下图展示了GGUF格式的具体情况:

GGUF格式文件可能是未来大模型文件标准格式之一!HuggingFace宣布对GGUF增加更多的支持,可以直接查看大模型元数据!

 

GGUF格式的前身是GGML,也是同一个作者开发的,但是GGML格式因为种种限制目前被放弃。关于GGUF格式的大模型文件大家可以参考此前DataLearnerAI做的详细说明:

GGUF格式的大模型文件是什么意思?如何使用?为什么有GGUF格式的大模型文件?GGUF大模型文件与GGML的差异是啥?地址:https://www.datalearner.com/blog/1051705718835586

HuggingFace宣布加大对GGUF格式文件的支持

HuggingFace是大模型开源领域当之无愧的第一平台。因此,它们对某种技术的支持也会极大得影响该技术的发展。

此前,HuggingFace推出过safetensors格式的大模型文件。专为安全高效地存储张量而设计。与PyTorch中使用的pickle格式不同,后者加载文件时可能会执行任意代码,从而带来安全风险,safetensors提供了一个更安全的选择。

可能是此前的设计过于关注pt文件的不安全性,safetensors没有关注性能和跨平台交换等方面。虽然safetensors也被很多厂商采用,但是在大模型高效序列化、数据压缩、量化等方面不足。而且它只保存了张量数据,没有任何关于模型的元数据信息。而GGUF格式因为良好的设计,通过各种优化手段实现了快速的模型加载,这对于需要频繁载入不同模型的场景尤为重要,同时将模型的元数据信息压缩到二进制文件中,对于跨平台操作和传输都非常有价值。因此,被很多开发者认可。

HuggingFace的工作人员称HF平台上GGUF格式的大模型文件爆发式增长且似乎没有慢下来。为此,他们决定对GGUF格式文件做更多的支持。主要包括:

HuggingFace模型检索支持按GGUF格式过滤

HuggingFace的模型检索支持按照GGUF格式过滤,大家可以通过https://huggingface.co/models?library=gguf 链接来筛选访问。

GGUF格式文件可能是未来大模型文件标准格式之一!HuggingFace宣布对GGUF增加更多的支持,可以直接查看大模型元数据!

 

可以看到,Google家开源的Gemma系列已经支持了GGUF格式文件了。

可以在HuggingFace平台上预览GGUF的元数据

可以直接在HF平台上对GGUF的元数据进行预览,包括模型的架构、具体参数等。下图是谷歌Gemma模型的一个实例:

GGUF格式文件可能是未来大模型文件标准格式之一!HuggingFace宣布对GGUF增加更多的支持,可以直接查看大模型元数据!

 

注意,该特性可能目前还在测试中,DataLearnerAI并未在平台上找到。

HuggingFace提供工具支持网站显示平台GGUF格式模型信息

HuggingFace开发了一个JavaScript脚本,可以用来解析远端的HuggingFace Hub上模型的信息,这意味着未来很多网站在宣传自己的模型的时候使用这个技术可以实时展示HuggingFace平台上模型的信息!

这些行动表明,HuggingFace认可GGUF的技术并积极推广支持这项技术。而GGUF的创建者、llama.cpp项目的开发者Georgi Gerganov则转发了HF这个信息并说明:

GGUF文件格式是一个很好的例子,展示了开源社区可以实现的酷炫事物。

HuggingFace支持GGUF格式文件的总结和思考

从HuggingFace积极支持GGUF格式文件的事情我们至少可以看到几个结果。一个是开源社区对大模型的贡献是令所有人都受益的且不可缺少的。即便是有着强大用户基础和开源经验的HuggingFace,在考虑到要在大模型文件上做点事情的时候也没有那么周全。safetensors的设计考虑了安全但却忽略了大模型的使用性能和跨平台交换等需求。

而另一个角度看,国外开源生态的互相融合和促进也是令人羡慕。且不说国产开源生态的贫瘠。换个角度说,如果国内大厂有了类似HF平台,还有可能引入支持开源的GGUF格式这种事情吗?大概率应该是继续演进safetensors,把开源特性“抄袭”过来而已。

你们觉得呢~

 

 

来源:DataLearner

0赞

好文章,需要你的鼓励

2024

03/18

17:04

分享

点赞