优雅的从HuggingFace下载模型

1. 下载全部文件

以下都以下载bloom模型为例

git lfs install
git lfs clone https://huggingface.co/bigscience/bloom-7b1

这种方式下载会显示下载的进度及网速,因此一般推荐使用这种方式下载。如果直接使用git clone https://huggingface.co/bigscience/bloom-7b1 方式来下载,不会显示任何下载信息。

2. 选择性下载

由于目前抱抱脸上的模型一般都包括多种类型,如safetensor .pt tensorflow 等格式,使用上述介绍的方式会将所有模型都下载下来,而在模型较大的情况下,会很费时间,并且其他格式的模型我们也用不到,因此可以通过以下方式只选择我们所需的文件下载

step1: 下载所有的小文件

git lfs install
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/bigscience/bloom-7b1

需要注意,GIT_LFS_SKIP_SMUDGE=1 和后面的 git clone 必须在同一行才能生效,表示不下载大文件(小文件、大文件的区分依据是有没有使用git lfs),如果确实想将两者分开,在shell中使用export GIT_LFS_SKIP_SMUDGE=1,然后在clone也可以。这里需要注意,如果我们使用了export GIT_LFS_SKIP_SMUDGE=1命令后,它会一直生效,那么下次使用方法1介绍的方式来下载也是只下载小文件,因此记得查看GIT_LFS_SKIP_SMUDGE的状态。

此时git会下载所有的小文件,比如 tokenizer.json ,但是对于git lfs存储的大文件,只会存储一个文本的pointer file(空目录)

step2: 手动pull需要的模型文件
这时候我们需要先进入到模型所在目录文件夹里,然后按如下格式下载所有以.bin结尾的模型文件,这里也可以直接写模型文件名。

cd bloom-7b1
git lfs pull --include="*.bin"

3. 使用镜像

国内目前huggingface使用体验很差,很多情况下都无法下载。如果你有请忽略本方法

在clone模型的时候,将链接中 huggingface.co 直接替换为域名 hf-mirror.com。使用浏览器或者 wget -ccurl -Laria2c 等命令行方式即可。下载需登录的模型需命令行添加 --header hf_*** 参数,其中hf_*** 是 access token,token 在 HF官网 获取。

4. 参考

Huggingface 镜像站
git lfs使用(huggingface下载大模型文件)

你可能感兴趣的:(Python,人工智能,huggingface)