使用transformers库下载huggingface模型时,会遇到网络无法访问网站的问题。因此,这里记录一种HuggingFace官方提供的命令行工具:huggingface-cli,实现快速的模型下载。
基础操作流程
- 安装huggingface_hub库
pip install -U huggingface_hub
- 设置环境变量(也可以写进环境变量~/.bashrc中)
Linux:
Windows:export HF_ENDPOINT=https://hf-mirror.com
$env:HF_ENDPOINT = "https://hf-mirror.com"
- 下载模型
以gpt-2为例(不需要申请):
注:可以添加–local-dir-use-symlinks False参数,禁用文件软链接huggingface-cli download --resume-download gpt2 --local-dir gpt2
下载需申请的模型
上面的基础流程是通用的,但是对于llama-2/3这样需要在HuggingFace官网申请下载资格的开源模型来说,就有额外的操作流程了。
首先,在HuggingFace中注册一个账号(我用的outlook或gmail),注册成功后在Access Token中创建一个你的账号专属token。
注意:创建的时候一定要选择write模式!!!不然仍然会出现访问权限报错。
以上步骤获得了token,然后需要申请llama的下载资格,在HuggingFace搜索llama-2,然后填写信息(注意country可以填写美国新加坡等),然后等待半小时到一小时审核通过。
得到token和模型下载资格之后,可以直接用以下的Python脚本来下载llama模型(推荐):
from huggingface_hub import snapshot_download
repo_id = "meta-llama/Llama-2-7b-hf" # 模型在huggingface上的名称
local_dir = "/path/to/Llama-2-7b-hf/" # 本地模型存储的地址
local_dir_use_symlinks = False # 本地模型使用文件保存,而非blob形式保存
token = "XXX" # 在HuggingFace上生成的access token
snapshot_download(
repo_id=repo_id,
local_dir=local_dir,
local_dir_use_symlinks=local_dir_use_symlinks,
token=token,
)
或者,直接在命令行中下载也可以(需先用token登录):
huggingface-cli login
huggingface-cli download --resume-download meta-llama/Llama-2-7b-hf --local-dir "/path/to/Llama-2-7b-hf/" --local_dir_use_symlinks False
参考资料
https://hf-mirror.com/
优雅地下载Hugging Face上的模型:以Llama2为例
如何优雅地下载huggingface上模型,以llama2模型下载为例