在下载Huggingface和ModelScope上面的大语言预训练模型的时候,经常会因为网页无法访问或者文件太大无法下载的情况,是大家常常比较苦恼的事情,下面给出用Git下载模型到本地的方法,可以轻松解决上述问题。
目录
一、下载和安装Git
二、Git的使用
2.1 初始化git 本地仓库
2.2 安装git-lfs
三、下载models文件
3.1 下载HuggingFace文件
3.2 下载魔塔社区模型文件
一、下载和安装Git
下载链接:Git - Downloads (git-scm.com)
我本地是win64系统,所以直接选择Windows——64bit
下载到本地直接默认下一步一直安装完成。
二、Git的使用
在本地建一个文件夹(我在E盘建了一个新文件夹,命名为Git_data),然后该文件夹右键选择Open Git Bash here
2.1 初始化git 本地仓库
在本地文件自己指定位置,通过执行 git init 命令在本地初始化一个本地仓库,执行该命令后会在本地初始化一个 没有任何文件的空仓库。
输入:
git init
注:.git文件(本地仓库)是隐藏需要手动设置才能看到.git文件夹
2.2 安装git-lfs
git lfs install
如下所示:
三、下载models文件
3.1 下载HuggingFace文件
Huggingface的仓库里除了我想要的pytoch_model_xxxxx.bin,放了一些别的格式的checkpoints,全部下载的话太大了,而且很慢很慢
(1)首先通过git下载小文件
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)。
此时git会下载所有的小文件,比如tokenizer.json ,但是对于git lfs存储的大文件,只会存储一个文本的pointer file.
(2)手动pull需要的大文件
由于我只需要仓库里的pytorch_model-00001-of-00002.bin和pytorch_model-00002-of-00002.bin ,所以可以这样写:
注意:此处需要进入到下载的文件夹中:
cd bloom-7b1
git lfs pull --include="*.bin"
此时*.bin会匹配这两个文件,然后等着他下载完毕就可以了。
如果你只想要单个文件,写文件名就可以。
(3)另外一种方式:下载HuggingFace全部文件(包括大小文件)
git lfs install
git clone https://huggingface.co/bigscience/bloom-7b1
好像使用这个方式下载大文件没有什么进度(但是确实正在下载,只不过要等全部下载下来后,文件才能看到)
另外一种方式命令(大小文件的进度以及下载速度都能看到):
git lfs install
git lfs clone https://huggingface.co/bigscience/bloom-7b1
3.2 下载魔塔社区模型文件
网址链接:模型库首页 · 魔搭社区 (modelscope.cn)
如下载 “通义千问-14B-Chat-Int4”
在Git中输入以下内容:
注意:要去掉网址链接中的models和尾部的files
git clone https://www.modelscope.cn/qwen/Qwen-14B-Chat-Int4.git
或者输入:
git lfs clone https://www.modelscope.cn/qwen/Qwen-14B-Chat-Int4.git
出现上述结果则完成下载模型到本地。