快速下载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邮箱),可以的话最好。

在这里插入图片描述
填邮箱密码,一步步来,我就不细讲了,会的都会,不会的…

在这里插入图片描述

4.激活hf账号

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

5.绑定gemma认证

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

在这里插入图片描述
点击进去会有个认证,点击认证并通过就行了。

6.获取下载token

主页->个人头像
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

注意: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两个工具。

在这里插入图片描述
这里不能再用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、其它的模型复刻这种模式就行了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/419531.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Ai生态开发】Spring AI上架,打造专属业务大模型,AI开发再也不是难事!

大家好 这里是苏泽 后端是工作 ai是兴趣 对于ai的产生我的立场是拥抱ai的 是希望拿他作为提升能力的工具 那么这一篇带大家来学习如何使用ai打造一个专属的业务大模型 需求 就是说假设现在有一个 商城系统 里面有查询订单的api和获取商品购买方式的api 用户只需要输入 “…

2024年2月24日~2024年3月1日周报(调整网络结构)

文章目录 一、前言二、实验情况2.1 结果展示2.2 灵感收集 三、小结 一、前言 上周学习了数学表达式、了解了DDNet的网络框架。   在本周&#xff0c;寻找改进网络框架与超参数的灵感&#xff0c;并跑代码查看效果。另外&#xff0c;完成了毕业设计开题报告任务。 二、实验情…

【javaEE-唠嗑局】如何用jconsole观察进程里的多线程情况

&#x1f4e2;编程环境&#xff1a;idea 如何用jconsole观察进程里的多线程情况 1. 打开jdk2. 打开jconsole3. 查看每个线程的情况 以下面这段代码为例&#xff1a;代码运行时&#xff0c;包括一个进程&#xff0c;该进程中有两个线程。 package thread; public class Demo1 …

无法调试MFC源码

VS无法调试MFC源码 起初 有时候就是这么无奈&#xff0c;MFC源码各种问题没有办法调试&#xff0c;可是又想看下代码如何调用&#xff0c;里面做了些什么&#xff0c;从哪儿调出&#xff0c;学习一下大神的思路什么的。整理一下有可能的原因。 检查生成代码设置 需要设置正…

十二、Nacos源码系列:Nacos配置中心原理(四)- RefreshEvent 事件处理

前面文章&#xff0c;我们说到回调监听器的方法中&#xff0c;主要就是发布了一个RefreshEvent事件&#xff0c;这个事件主要由 SpringCloud 相关类来处理。今天我们继续分析后续的流程。 RefreshEvent 事件会由 RefreshEventListener 来处理&#xff0c;该 listener 含有一个 …

【YOLO系列】YOLOv9论文超详细解读(翻译 +学习笔记)

前言 时隔一年&#xff0c;YOLOv8还没捂热&#xff0c;YOLO系列最新版本——YOLOv9 终于闪亮登场&#xff01; YOLOv9的一作和v7一样。v4也有他。 他于2017年获得台湾省National Central University计算机科学与信息工程博士学位&#xff0c;现在就职于该省Academia Sinica的…

计算机二级MySQL-错题、知识点合集04

计算机二级MySQL 第四章 索引 主键约束&#xff0c;不允许为空也不允许重复。 NOT NULL非空约束属于自定义完整约束 PRIMARY KEY 属于实体完整性约束 FOREIGN KEY外键约束 外键与其引用的主键应分别属于不同的表&#xff0c;可以属于同一个关系&#xff1b;一个关系中可以定…

【java 基础】闲话 ClassLoader 和 SPI (一)

文章目录 引子双亲委派模型你真的明白了吗&#xff1f; 双亲委派“不够用了”SPI机制 其他琐碎 引子 有别于 java 提供的 IO 模块&#xff0c;java 中的classloader主要是用来加载类的&#xff0c;当然除了加载类&#xff0c;也可以加载资源文件。 那么首先我们会问一个问题&…

光伏业务管理软件有哪些推荐?

光伏业务管理软件是用于光伏电站的设计、施工、运营和维护等各个环节的软件工具。以下是一些推荐的光伏业务管理软件&#xff1a; PVsyst 这是一款全球广泛使用的光伏系统设计软件&#xff0c;可以进行详细的系统设计&#xff0c;包括组件匹配、逆变器选择、系统布局等。 鹧…

电子信息行业数字化转型创新应用挑战赛火热进行中,速戳

由深圳市宝安区人民政府、中国信息通信研究院联合举办的“第七届工业互联网数据创新应用大赛——解决方案赛道&#xff1a;电子信息行业数字化转型创新应用挑战赛”火热进行中&#xff01;大赛报名时间截至2024年3月15日&#xff0c;并将于3月25日在深圳宝安进行线下决赛答辩。…

如何辨别GPT3还是GPT4?

辨别后台使用的是GPT3还是GPT4可以提问以下问题验证&#xff1a; 1.昨天的当天的明天是哪天&#xff1f; 2.树上有9只鸟&#xff0c;猎人射杀了一只&#xff0c;还剩下多少只&#xff1f; 3.为什么周树人要打鲁迅&#xff1f; GPT3回答&#xff1a; GPT4回答&#xff1a; 如…

全闪存加速信创数据库数仓一体机解决方案

立足行业&#xff0c;深度解读 在新的大数据生态中&#xff0c;传统数据库/数据仓库技术和产品成为大数据生态中的组成部分&#xff0c;对结构化数据的存储和计算进行支撑。 数据库&数据仓库一体机是高端、核心数据管理产品&#xff0c;在我国党政、银行、交通等领域广泛…

市场热点袭来,直接加仓可靠吗?九方智投洪帮主助投资者明确几大要点

消费电子近期再度走强&#xff0c;多企业均出现涨停。消费电子出现乐观局面&#xff0c;有投资者认为是因为目前市场需求旺盛&#xff0c;产业链正在积极拉货&#xff0c;持续加单&#xff0c;各类手机新机也在积极备货&#xff0c;消费电子库存低。面对市场情绪高涨&#xff0…

LabVIEW最佳传输系统设计

LabVIEW最佳传输系统设计 介绍了基于LabVIEW软件开发的最佳基带传输系统和最佳带通传输系统的设计。通过软件仿真实现了脉冲成形滤波器和匹配滤波器的设计&#xff0c;证明了系统在消除码间干扰和抗噪声方面的优异性能。此设计不仅激发了学生的学习兴趣&#xff0c;还有助于提…

AI智能分析网关V4车辆违停算法在园区场景中的应用及特点

随着城市化进程的加速&#xff0c;车辆违停问题愈发严重&#xff0c;给城市交通带来了极大的困扰。为了解决这一问题&#xff0c;AI技术逐渐被应用于车辆违停的检测中。AI检测算法在车辆违停方面的应用&#xff0c;主要是通过计算机视觉技术&#xff0c;对道路上的车辆进行实时…

nodejs配置环境变量后不生效(‘node‘ 不是内部或外部命令,也不是可运行的程序或批处理文件)

一、在我们安装Node.js后&#xff0c;有时候会遇到node命令不管用的情况&#xff0c;关键是在安装时候已经添加配置了环境变量&#xff0c;向下面这样 但是还是不管用&#xff0c;这是因为环境变量配置不正确&#xff0c;权重不够&#xff0c;或者是命令冲突导致&#xff0c;解…

人工智能驱动的自拍时代:短视频美颜SDK技术的发展趋势

在短视频自拍的过程中&#xff0c;美颜技术的应用已经成为了许多人的必备工具&#xff0c;其中短视频美颜SDK技术的发展更是推动了自拍时代的进步。 1.人工智能技术的崛起 传统的美颜功能主要是通过简单的图像处理和滤镜效果来实现&#xff0c;但是这种方法往往会导致照片失真…

【Java】UWB高精度工业定位系统项目源代码

目录 UWB技术原理 优势 1. 高精度&#xff1a; 2. 抗干扰能力强&#xff1a; 3. 定位范围广&#xff1a; 4. 实时性强&#xff1a; 应用前景 定位系统源码功能介绍 实时定位&#xff1a; 轨迹回放&#xff1a; 区域管理&#xff1a; 巡检管理: 数据可视化分析&…

【ArcPy】批量读取文件夹excel中XY并转为点shp

示例展示 代码 只读取excel中含有XY字段的文件&#xff0c;并将矢量命名为excel文件名称。 import os import pandas as pd import arcpy folder_path r"C:\Users\admin\Desktop\excelfile" extension"xlsx" files [file for file in os.listdir(folder…

Prometheus(二):NodeExporter和Grafana的安装和使用

目录 1 Node Exporter安装1.1 简介1.2 安装1.3 Prometheus收集node_exporter数据 2 安装Grafana2.1 安装2.2 使用1、创建数据源2、选择模板3、模板导入 2.3 grafana创建用户1、创建用户2、验证 总结 1 Node Exporter安装 1.1 简介 node exporter是Prometheus的收集数据的组件…