前言
好久没有更新博客了,由于AI 大模型技术经过2023年的狂飙,2024年迎来大量的应用的落地,作为一个技术人,我也对此有了浓厚的兴趣,买了很多本书,然后试图找到一个学习大模型的速成模式,遗憾的是,这个领域和基本的编程语言学习还有着一定的差异,首先在入门的一些基础概念理解上就有一定的壁垒,接下来对一些工具的使用以及原理,参数的一些实践和尝试。需要琢磨和理解才能进行。这其中对于transformer
的使用,遇到了一些小的问题,比如从Hugging Face
上下载模型特别慢,大大消耗了初学者的耐心。所以通过各种尝试,找到了目前感觉还算可以的hf镜像网站,今天给大家推荐一个镜像网站。不能让环境成为我们的拦路虎。
transformer和Hugging Face
Hugging Face为transformer工具提供NLP工具和模型的共享平台, 为开发者提供了使用和部署预训练Transformer模型的便利性。使开发者能够轻松地使用和部署各种预训练的Transformer模型,如BERT、GPT、RoBERTa等。但是Hugging Face的地址位于国外,在国内访问速度简直太慢了。所以接来下我们就使用镜像网站。类似于pip的镜像源,我们一般使用国内的进行加速。
如何使用Hugging Face镜像站🌟
我们国内的公益组织提供了一个域名 hf-mirror.com,用于镜像 huggingface.co 域名。作为一个公益项目,致力于帮助国内AI开发者快速、稳定的下载模型、数据集。
再次感谢@padeoe
更多详细用法请看 《这篇教程》 。
方法一:网页下载
在本站搜索,并在模型主页的Files and Version
中下载文件。
方法二:huggingface-cli
huggingface-cli
是 Hugging Face 官方提供的命令行工具,自带完善的下载功能。
1. 安装依赖
pip install -U huggingface_hubCopy
2. 设置环境变量
Linux
export HF_ENDPOINT=https://hf-mirror.comCopy
Windows Powershell
$env:HF_ENDPOINT = "https://hf-mirror.com"Copy
建议将上面这一行写入 ~/.bashrc
。
3.1 下载模型
huggingface-cli download --resume-download gpt2 --local-dir gpt2Copy
3.2 下载数据集
huggingface-cli download --repo-type dataset --resume-download wikitext --local-dir wikitextCopy
可以添加 --local-dir-use-symlinks False
参数禁用文件软链接,这样下载路径下所见即所得,详细解释请见上面提到的教程。
方法三:使用 hfd
hfd 是本站开发的 huggingface 专用下载工具,基于成熟工具 git+aria2
,可以做到稳定下载不断线。
1. 下载hfd
wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.shCopy
2. 设置环境变量
Linux
export HF_ENDPOINT=https://hf-mirror.comCopy
Windows Powershell
$env:HF_ENDPOINT = "https://hf-mirror.com"Copy
3.1 下载模型
./hfd.sh gpt2 --tool aria2c -x 4Copy
3.2 下载数据集
./hfd.sh wikitext --repo-type dataset --tool aria2c -x 4Copy
方法四:使用环境变量(非侵入式)
非侵入式,能解决大部分情况。huggingface 工具链会获取HF_ENDPOINT
环境变量来确定下载文件所用的网址,所以可以使用通过设置变量来解决。
HF_ENDPOINT=https://hf-mirror.com python your_script.pyCopy
不过有些数据集有内置的下载脚本,那就需要手动改一下脚本内的地址来实现了。
常见问题
Q: 有些项目需要登录,如何下载?
A:部分 Gated Repo 需登录申请许可。为保障账号安全,本站不支持登录,需先前往 Hugging Face 官网登录、申请许可,在官网这里获取 Access Token 后回镜像站用命令行下载。
部分工具下载 Gated Repo 的方法:
huggingface-cli: 添加--token
参数
huggingface-cli download --token hf_*** --resume-download meta-llama/Llama-2-7b-hf --local-dir Llama-2-7b-hfCopy
hfd: 添加--hf_username``--hf_token
参数
hfd meta-llama/Llama-2-7b --hf_username YOUR_HF_USERNAME --hf_token hf_***Copy
其余如from_pretrained
、wget
、curl
如何设置认证 token,详见上面第一段提到的教程。
总结
好了,今天的分享就到这里,希望大家有用,永远不要让环境和高墙成了我们获取知识,成长的拦路虎。后续我会把这几月学习到的关于LLM相关的知识,整理成《LLM入门与实践》专栏,供大家参考。