当前位置: 首页>移动开发>正文

快速下载Huggingface的大语言模型

文章目录

  • 前言
  • 一、Huggingface是什么?
  • 二、基于官方huggingface-cli下载(基础,断线风险)
    • 1.安装hf下载环境
    • 2.配置环境变量
    • 3.注册hf账号
    • 4.激活hf账号
    • 5.绑定gemma认证
    • 6.获取下载token
    • 7.开始下载
  • 三、基于hfd.sh下载(建议,不易断线)
    • 1.下载工具
    • 2.赋予权限
    • 3.设置环境变量
    • 4.开始下载
      • 1.Linux系统
      • 2.Windows系统
  • 总结

前言

最近在研究大语言模型,找到了一个不用科学上网就能下载Huggingface的模型的方法。当然,科学上网也支持。


一、Huggingface是什么?

研究大模型的人都知道Huggingface是什么,是一个开源的LLM收录网站,在这里你不仅能下载到各种开源的大模型,还能下载到各种开源的数据集训练自己的LLM。

为了方便书写以下简称Huggingface为hf

二、基于官方huggingface-cli下载(基础,断线风险)

以前hf下载模型是不需要登录的,现在需要注册账号了,有些特殊的模型还需要额外的认证,比如最近开源的google的gemma。今天就围绕着gemma来讲解怎么下载hf上的模型。

因为gemma需要额外认证,所以应该能覆盖大部分hf的情形。其它的模型也可能需要绑定额外认证,这里不专门论述。

1.安装hf下载环境

需要安装hf的下载工具,这里建议使用conda环境即可。

conda create -n hf python=3.9
conda activate hf
pip install -U huggingface_hub

2.配置环境变量

理论上MacOS是继承自Unix,应该和Linux是一样的环境变量。

Linux

export HF_ENDPOINT=https://hf-mirror.com

Windows

$env:HF_ENDPOINT = "https://hf-mirror.com"

3.注册hf账号

这一步是必须的,因为后面gemma需要token才能下载,其它模型可能也要token,我没有一个个试。

这一步可能需要科学上网
Huggingface官网

准备一个live或gmail的邮箱,QQ我没有试(有些外站不支持QQ邮箱),可以的话最好。

快速下载Huggingface的大语言模型,在这里插入图片描述,第1张
填邮箱密码,一步步来,我就不细讲了,会的都会,不会的…

快速下载Huggingface的大语言模型,在这里插入图片描述,第2张

4.激活hf账号

基于上面注册成功后,这个时候还不能使用账号。hf会给你注册邮箱发送一份验证邮件,你点击链接激活账号就可以正常使用了。

5.绑定gemma认证

主页找到Models->google/gemma-7b

快速下载Huggingface的大语言模型,在这里插入图片描述,第3张
点击进去会有个认证,点击认证并通过就行了。

6.获取下载token

主页->个人头像
快速下载Huggingface的大语言模型,在这里插入图片描述,第4张

快速下载Huggingface的大语言模型,在这里插入图片描述,第5张
快速下载Huggingface的大语言模型,在这里插入图片描述,第6张

7.开始下载

这里要使用上面的token,使用上面安装的工具。

huggingface-cli download --token <你刚才复制的token> --resume-download google/gemma-7b --local-dir gemma-7b

等待下载完成就行了。

这个模式也有个缺点,有时候会不稳定,无法实现无人看守。但也没关系,重试就行了,会自动断点续传!

三、基于hfd.sh下载(建议,不易断线)

上面的huggingface-cli有个缺点,有时候会断线,不能完全保证无人坚守。hfd.sh方法我测试没遇到过中断的情况。

1.下载工具

wget https://hf-mirror.com/hfd/hfd.sh

2.赋予权限

chmod a+x hfd.sh

3.设置环境变量

Linux
export HF_ENDPOINT=https://hf-mirror.com
Windows
$env:HF_ENDPOINT = "https://hf-mirror.com"

如果在Shell配置,每打开一个新Shell都要执行下环境变量,你可以配置在系统变量或用户变量里,优先建议用户环境变量,防止配置错误对系统造成破坏。具体方法:

Linux系统

添加用户环境变量(不需要sudo权限)
sed -i '$aexport HF_ENDPOINT=https://hf-mirror.com' ~/.bashrc
source ~/.bashrc

添加系统环境变量(需要sudo权限,`谨慎选择`sed -i '$aexport HF_ENDPOINT=https://hf-mirror.com' /etc/profile
source /etc/profile

Windows系统
我的电脑->右键属性->高级系统设置->环境变量,上面是用户变量,下面是系统变量,依然是建议添加用户变量。左边是变量名,右边是变量值。

快速下载Huggingface的大语言模型,在这里插入图片描述,第7张
快速下载Huggingface的大语言模型,在这里插入图片描述,第8张

注意:Windows系统添加完环境变量必须打开一个新的Shell才能读取新的变量!

4.开始下载

1.Linux系统

依然是先注册账户,拿到token。这里以chatglm3-6b为模板介绍下载方法:

./hfd.sh THUDM/chatglm3-6b --hf_username <你的huggingface账户名> --hf_token <你的token> --tool aria2c -x 4

--tool:可以选wgetaria2c两种,建议选aria2c
-x:指定的线程数,依据自身带宽和机器性能决策,我这里限带宽,测不出来实际差别

wget下载工具是Linux系统自带的,aria2c一般都不会预装。

安装aria2c

sudo apt update
sudo apt install aria2

2.Windows系统

hfd.sh是基于Linux系统编写的脚本,Windows系统无法直接运行,这里有个替代方法可以在Windows上运行,那就是安装Cygwin,使用Cygwin安装aria2wget两个工具。

快速下载Huggingface的大语言模型,在这里插入图片描述,第9张
这里不能再用Windows的环境变量了,Cygwin是在Windows上模拟的Linux环境,Windows的环境变量在Cygwin不生效。还是需要导出Linux的环境变量:

导出环境变量
export HF_ENDPOINT=https://hf-mirror.com

开始下载
./hfd.sh THUDM/chatglm3-6b --hf_username <你的huggingface账户名> --hf_token <你的token> --tool aria2c -x 4

--tool:可以选wgetaria2c两种,建议选aria2c
-x:指定的线程数,依据自身带宽和机器性能决策,我这里限带宽,测不出来实际差别

aria2和wget都不是Cygwin预装的,需要手动添加!

这种方法适合那种需要在Windows上开发,又不想使用huggingface-cli的用户(断线困扰)。如果你是C或C++开发者,那么你的电脑应该是有Cygwin的,如果没有的话,这个方法对你来说就有点折腾了。依据个人需要来选择吧。


总结

1、总体来说还是方便的,不科学上网也能下载。
2、其它的模型复刻这种模式就行了。


https://www.xamrdz.com/mobile/4g71849015.html

相关文章: