文章目录
- 一. git lfs使用(huggingface下载大模型文件)
- 1. 安装
- 2. 下载HuggingFace文件
- 2.1 首先通过git下载小文件
- 2.2 手动pull需要的大文件
- 3. 另外一种方式:下载HuggingFace全部文件(包括大小文件)
- 4. git lfs 下载中断了,继续下载的命令
- 4. 参考链接
一. git lfs使用(huggingface下载大模型文件)
Git LFS:(Large File Storage,解决git大文件存储问题)把音乐、图片、视频等指定的任意文件存在 Git 仓库之外,而在 Git 仓库中用一个占用空间 1KB 不到的文本指针来代替文件的存在,通过把大文件存储在 Git 仓库之外,可以减小 Git 仓库本身的体积,使克隆 Git 仓库的速度加快,也使得 Git 不会因为仓库中充满大文件而损失性能。
1. 安装
Linux安装步骤:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bashsudo apt-get install git-lfsgit lfs install
windows安装:
git lfs install
2. 下载HuggingFace文件
最近在看BLOOM,但是Huggingface的仓库里除了我想要的pytoch_model_xxxxx.bin,放了一些别的格式的checkpoints,全部下载的话太大了,而且很慢很慢
2.1 首先通过git下载小文件
git lfs installGIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/bigscience/bloom-7b1
需要注意,GIT_LFS_SKIP_SMUDGE=1和后面的git clone必须在同一行才能生效,表示不下载大文件(小文件、大文件的区分依据是有没有使用git lfs)。
此时git会下载所有的小文件,比如tokenizer.json ,但是对于git lfs存储的大文件,只会存储一个文本的pointer file.
2.2 手动pull需要的大文件
由于我只需要仓库里的pytorch_model-00001-of-00002.bin和pytorch_model-00002-of-00002.bin ,所以可以这样写:
注意:此处需要进入到下载的文件夹中:
cd bloom-7b1git lfs pull --include="*.bin"
此时*.bin会匹配这两个文件,然后等着他下载完毕就可以了。
如果你只想要单个文件,写文件名就可以。
3. 另外一种方式:下载HuggingFace全部文件(包括大小文件)
命令:
git lfs installgit clone https://huggingface.co/bigscience/bloom-7b1
好像使用这个方式下载大文件没有什么进度(但是确实正在下载,只不过要等全部下载下来后,文件才能看到)
另外一种方式命令(大小文件的进度以及下载速度都能看到):
git lfs installgit lfs clone https://huggingface.co/bigscience/bloom-7b1
4. git lfs 下载中断了,继续下载的命令
git lfs fetch
参考:
# 1. 安装完成后,首先先初始化;如果有反馈,一般表示初始化成功git lfs install# 2. 如果刚刚下载的那个项目没啥更改,重新下一遍,不算麻烦事(因为下载大文件,一般会比较慢)git lfs clone https://github.com/AABBBCC/aaa.git# 在下载的过程中,你也可以查看一下,你刚刚无法解析的那个pkl大文件,是不是在这个项目中,(进入项目目录)使用如下指令:cd aaagit lfs track# 3. 如果不想重新下载整个项目,可以使用如下命令,单独下载需要使用lfs下载的大文件。git lfs fetchgit lfs checkout#(备选:git lfs pull),不建议
4. 参考链接
- 如何优雅的下载huggingface-transformers模型
- 如何从Huggingface仓库中选择性地下载文件 / Git LFS的pull --include用法
- git-lfs使用笔记
- 使用Git LFS使用下载Huggingface的预训练模型到本地
- git lfs:Github 中大文件被这样上传和下载
- git lfs:Github 中大文件被这样上传和下载