告别 Hugging Face 模型下载难题:掌握高效下载策略,畅享无缝开发体验
告别 Hugging Face 模型下载难题:掌握高效下载策略,畅享无缝开发体验
Huggingface 国内开源镜像:https://hf-mirror.com/
里面总结了很多下载的方法,下面进行一一讲解
方法一:网页下载
在模型主页的Files and Version
中中可以获取文件的下载链接。无需登录直接点击下载,还可以复制下载链接,用其他下载工具下载。
方法二:huggingface-cli(🔺)
详解地址:https://hf-mirror.com/docs/huggingface_hub/guides/download#download-from-the-cli
huggingface-cli
是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。
** 安装依赖**
创建项目的虚拟环境后,激活该环境并执行:
可以运行huggingface-cli download --h
命令来查看 download 功能的参数,如下图
设置环境变量
Linux
Windows Powershell
python
建议将上面这一行写入 ~/.bashrc
。
下载模型
以下载 Qwen/Qwen2-7B-Instruct 模型为例,模型地址:https://huggingface.co/Qwen/Qwen2-7B-Instruct,运行以下命令
可以添加 --local-dir-use-symlinks False
参数禁用文件软链接,这样下载路径下所见即所得
huggingface-cli download --resume-download --local-dir-use-symlinks False THUDM/glm-4-9b-chat --local-dir /www/algorithm/agent/glm-4-9b-chat
下载的挺快的 7B 大模型大概 7-8min 就下载完成
下载数据集
方法三:专用多线程下载器 hfd
常规工具如浏览器默认采用单线程下载,由于国内网络运营商线路质量、QoS 等因素有时候会很慢,多线程加速是一种有效、显著提高下载速度的方法。
经典多线程工具推荐两个:IDM、Aria2。 IDM 适用于 Windows、aria2 适用于 Linux。因此获取 URL 后,可以利用这些多线程工具来下载。以我的一次实测为例,单线程 700KB/s,IDM 8 线程 6MB/s。千兆宽带下,利用 IDM 能跑到 80MB/s+。
hfd 是基于 Git 和 aria2 实现的专用于 huggingface 下载的命令行脚本: hfd.sh(Gitst 链接)。hfd 相比 huggingface-cli ,鲁棒性更好,很少会有奇奇怪怪的报错,此外多线程控制力度也更细,可以设置线程数量。
具体步骤:
Step1:Git clone 项目仓库中 lfs 文件之外的所有文件,并自动获取 lfs 文件的 url;
Step2:利用 aria2 多线程下载文件。
hfd 是本站开发的 huggingface 专用下载工具,基于成熟工具 git+aria2
,可以做到稳定下载不断线。
下载 hfd
下载 Git LFS 下载 Git LFS 的最新版本。可以在 Git LFS 的官方网站上找到最新版本的下载链接。在 Ubuntu 系统上,可以使用以下命令下载 Git LFS:
设置环境变量
Linux
Windows Powershell
下载模型
模型网址:THUDM/glm-4-9b-chat,https://hf-mirror.com/THUDM/glm-4-9b-chat/tree/main
** 下载数据集**
如果没有安装 aria2,则可以默认用 wget:
完整命令格式:
方法四:使用环境变量(非侵入式)
非侵入式,能解决大部分情况。huggingface 工具链会获取HF_ENDPOINT
环境变量来确定下载文件所用的网址,所以可以使用通过设置变量来解决。
不过有些数据集有内置的下载脚本,那就需要手动改一下脚本内的地址来实现了。
常见问题:
Q1: 有些项目需要登录,如何下载?
A:部分 Gated Repo 需登录申请许可。为保障账号安全,本站不支持登录,需先前往 Hugging Face 官网登录、申请许可,在官网这里获取 Access Token 后回镜像站用命令行下载。
部分工具下载 Gated Repo 的方法:
huggingface-cli: 添加--token
参数
hfd: 添加--hf_username``--hf_token
参数
其余如from_pretrained
、wget
、curl
如何设置认证 token。
Q2:不推荐 Git clone 原因
此外官方还提供了 git clone repo_url 的方式下载,这种方法相当简单,然而却是最不推荐直接用的方法,缺点有二:
不支持断点续传,断了重头再来;
clone 会下载历史版本占用磁盘空间,即使没有历史版本,.git 文件夹大小也会存储一份当前版本模型的拷贝以及元信息,导致整个模型文件夹磁盘占用两倍以上,对于有些存在历史版本的模型,下载时间两倍以上,对于网络不够稳,磁盘不够大的用户,严重不推荐!
Q3:其他方法推荐(🔺)
可以去其他平台下载:
ollama
魔塔社区
网址:https://www.modelscope.cn/models
参考链接
https://hf-mirror.com/
https://blog.csdn.net/weixin_43196262/article/details/135268100
https://www.jianshu.com/p/86c4a45f0a18
https://zhuanlan.zhihu.com/p/663712983
版权声明: 本文为 InfoQ 作者【汀丶人工智能】的原创文章。
原文链接:【http://xie.infoq.cn/article/51039eaf9243c1201593bd9f8】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论