您的位置:首页 > 房产 > 家装 > 网站设计教程网站_互联网公司排名 百度_本周热点新闻事件_旺道seo怎么优化网站

网站设计教程网站_互联网公司排名 百度_本周热点新闻事件_旺道seo怎么优化网站

2024/10/5 20:27:57 来源:https://blog.csdn.net/marin1993/article/details/142486300  浏览:    关键词:网站设计教程网站_互联网公司排名 百度_本周热点新闻事件_旺道seo怎么优化网站
网站设计教程网站_互联网公司排名 百度_本周热点新闻事件_旺道seo怎么优化网站

本文以 Qwen2.5 为例,介绍如何使用 gguf-split 工具进行 GGUF 模型的分片和合并,以便更高效地管理和使用大型模型。

1. 背景

近期,通义千问发布了 Qwen2.5 版本,此次发布不仅包括了基础语言模型 Qwen2.5,还推出了专门针对编程的 Qwen2.5-Coder 和针对数学的 Qwen2.5-Math 模型。所有开放权重的模型均为稠密的、decoder-only 的语言模型,提供从 0.5B 到 72B 各种规模的版本。Qwen2.5 系列模型在多个方面表现出显著提升,包括知识储备、编程能力和数学能力。新模型在指令执行、长文本生成、结构化数据理解和生成结构化输出方面均有显著改进,支持多达 128K tokens 的输入和最多 8K tokens 的输出。此外,Qwen2.5 语言模型继续支持包括中文、英文、法文等在内的 29 种以上语言。

为了方便使用 llama.cpp 进行推理,官方提供了 GGUF 格式的模型文件。然而,由于 Qwen2.5 模型规模较大,单个 GGUF 文件可能会非常庞大,导致传输和存储困难。新的模型使用了分片和合并工具 gguf-split,可以将大型模型文件分割成多个较小的部分,便于传输和存储,然后在需要时将其合并回一个完整的文件。

在这里插入图片描述

在本文中,我们将以 Qwen2.5 为例,介绍如何使用 gguf-split 工具进行 GGUF 模型的分片和合并。

模型地址:Qwen2.5-7B-Instruct-GGUF

2. gguf-split

gguf-split 是一个专门用于处理大型模型文件的工具,特别是在分发和存储 GGUF 文件时。它可以将大型模型文件分割成多个较小的部分,便于传输和存储,然后在需要时将其合并回一个完整的文件。

那么,为什么需要 gguf-split 呢? 其实,对于像 Qwen2.5 这样的大型模型,直接下载和存储完整的模型文件可能会遇到以下问题:

  • 临时磁盘空间不足
  • 网络中断
  • 存储解决方案和文件系统对大文件支持不佳

通过使用 gguf-split,可以有效地解决这些问题,确保模型文件的稳定传输和存储。

3. 模型下载和工具准备

首先我们要完成分片模型的下载,你可以直接通过 web 界面下载,也可以使用 modelscope 库进行下载:

pip install -U modelscope

下载模型分片:

modelscope download --model=qwen/Qwen2.5-7B-Instruct-GGUF --include "qwen2.5-7b-instruct-q5_k_m*.gguf" --local_dir .

请添加图片描述

对于工具的准备,我们可以前往 llama.cpp GitHub 仓库 下载相应的二进制文件,或者自行编译源代码。对于 Windows 用户,建议下载使用 win-vulkan版本,下载完成后解压整个目录文件,我们就可以在当前目录打开命令行工具,使用以下命令查看 gguf-split 的帮助信息:

./llama-gguf-split.exe

其基本使用格式为 llama-gguf-split.exe [options] GGUF_IN GGUF_OUT,如:

./llama-gguf-split.exe --merge ../qwen2.5-7b-instruct-q5_k_m-00001-of-00002.gguf ../qwen2.5-7b-instruct-q5_k_m.gguf

即可将完成模型的合并,该命令需要提供第一个分片文件和合并后的模型文件名。在合并过程中,gguf-split 会自动检查分片文件的完整性,并在合并完成后输出合并后的模型文件。

请添加图片描述

4. 模型分割

除了合并,gguf-split 当然还支持将大型模型文件分割成多个较小的部分。这对于传输和存储大型模型文件非常有用。如下是一个分割模型的示例:

./llama-gguf-split.exe --split E:/gpt/models/causallm_14b.Q4_0.gguf allm-14b-Q4_0

这里使用了默认的分割配置,将模型文件分割成多个较小的部分。您可以通过 --split-max-tensors--split-max-size 参数指定分割策略,例如按张量数量或文件大小进行分割:

# 按张量数量分割
./llama-gguf-split.exe --split --split-max-tensors 256 causallm_14b.Q4_0.gguf allm-14b-Q4_0# 按文件大小分割
./llama-gguf-split.exe --split --split-max-size 48G causallm_14b.Q4_0.gguf allm-14b-Q4_0

这些分割文件都是有效的 GGUF 文件,可以直接在 Hugging Face 上进行可视化和管理。

5. 最后

通过使用 gguf-split,我们可以更高效地管理和使用 GGUF 格式模型,确保模型文件的稳定传输和存储。希望本文对您有所帮助。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com