赞
踩
如何在hugging face hub一键下载模型并将模型转换为gguf格式(支持自定义量化)
作者:申非
第一步:在【hugging face】网站上寻找到支持模型列表中的模型的 相对地址
如:
第二步:克隆llama.cpp并编译
make的安装使用可以看【在windows上安装make - 知乎 (zhihu.com)】。然后使用make编译【llama】
第三步:环境配置
进入本地【E:\llamaapp\llama.cpp】文件夹(llama.cpp文件夹),在当前环境下将【llama】依赖包安装好
pip install -r requirements.txt
并导入【huggingface_hub】
pip install huggingface_hub
如果C盘内存不充足,可以更换缓存地址,即添加系统变量
【HF_HUB_CACHE = ‘你自己设定的缓存地址’】
如:
第四步:在llama.app文件夹下,创建并运行【Hub_download.py】文件,下载模型
结合第一步的相对地址填入参数【model_addr】中
创建Hub_download.py文件代码内容如下:
(更新)目前需要加入login()用access tokens登录才可以获取模型下载权限。token获取可以参考:仓库申请报错:Cannot access gated repo for url https://huggingface.co/api-CSDN博客
-
-
- from huggingface_hub import snapshot_download
-
- from huggingface_hub import login
-
- #目前需要输入access token确认登陆
- login()
-
- #自行选择模型,自行修改下面参数(第一步的相对地址)
- model_addr = 'Qwen/Qwen1.5-1.8B-Chat'
-
- #提取模型库名和模型名称
- model_repo = model_addr.split('/')[0]
- model_name = model_addr.split('/')[1]
-
- # 下载模型
- snapshot_download(
- repo_id=f"{model_addr}",
-
- #去除tensorflow的模型,只下载pytorch模型
- ignore_patterns=["*.h5", "*.ot", "*.msgpack"],
-
- #模型存储地址
- local_dir=f"E:\\llamaapp\\llama.cpp\\models\\{model_repo}\\{model_name}",
- )
-
然后在llama.app文件夹的【cmd】下执行命令:
python Hub_download.py
如果有其他需求可以自行修改该上面Hub_download.py文件内容。(参考hub官方文档:Manage your Space (huggingface.co))
运行后会要求输入个人的access tokens,获取方式上文已提到。
运行结果:
期间由于网络问题可能会出现timed out,但会自动继续下载(只要网络良好)
出现这样是正常情况:
下载完成:
每次下载完,模型就存储在了models文件夹下
下载完成的话,缓存【modelcache】里面选中的文件就可以删除了(所有文件都可以删除)
第五步:完成模型的转换和量化,转换为【gguf】格式(支持部分大语言模型)
我当前需要转化的模型所在文件夹为【\models\microsoft\phi-2】
我尝试了采用convert.py文件失败,所以采用convert-hf-to-gguf.py,成功
命令为:
Python convert-hf-to-gguf.py .\models\microsoft\phi-2
出现以下一系列tensor转换,等待完成就成功了
接着在模型文件夹下可以看到【gguf】文件
第六步:量化(可跳过)
量化就是减少模型所占内存的大小,量化位数越少,模型占有内存越小,但相对可能模型表现会更差,所以建议在模型过大的时候可以适当采用。
在此我尝试使用,但是失败了,有的模型可能不支持量化操作
量化命令(【quantize + gguf文件地址 + 量化位数】),如:
【quantize .\models\microsoft\phi-2\ggml-model-f16.gguf q8_0】
可以先用【quantize + gguf文件地址】查看可以选择的量化程度:
我在这里选择6位量化【quantize .\models\microsoft\phi-2\ggml-model-f16.gguf Q6_K】,结果:
量化完成后,模型文件夹里面又有了一个量化后的模型文件:
第七步:运行模型推理
命令:
【main -m .\models\microsoft\phi-2\ggml-model-Q6_K.gguf --prompt "please introduce yourself" --n-predict 50】
结果:
另外,gguf格式可以直接放入lm studio进行页面问答
好的,能看到这里的小伙伴都是大牛了,我也是花了好长时间才跑成功的。再接再厉哦!!
参考文章:
大模型部署工具 llama.cpp – 陈少文的网站 (chenshaowen.com)
https://www.chenshaowen.com/blog/llama-cpp-that-is-a-llm-deployment-tool.html
如何优雅的下载huggingface-transformers模型 - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/475260268
windows 下跑一波 llama.cpp - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/686638968
在windows上安装make - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/630244738
Manage your Space (huggingface.co)
https://huggingface.co/docs/huggingface_hub/v0.22.0.rc0/guides/manage-spaces
使用 llama.cpp 在本地部署 AI 大模型的一次尝试 - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/682585600
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。