【LLM入门实践】简便快捷获取Hugging Face模型

前言

好久没有更新博客了,由于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_pretrainedwgetcurl如何设置认证 token,详见上面第一段提到的教程。

总结

好了,今天的分享就到这里,希望大家有用,永远不要让环境和高墙成了我们获取知识,成长的拦路虎。后续我会把这几月学习到的关于LLM相关的知识,整理成《LLM入门与实践》专栏,供大家参考。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

成都源聚达:开抖音店铺的成本用得了多少

在数字浪潮中,抖音不仅是年轻人的娱乐天地,也成为了新兴电商平台。不少创业者摩拳擦掌,想要在此开疆拓土。然而,开店并非空谈梦想,成本的投入是实现梦想的基石。那么,开设一家抖音店铺究竟需要多少成本呢?…

Adobe将类ChatGPT集成到PDF中

2月21日,全球多媒体巨头Adobe在官网宣布,推出生成式AI助手AI Assistant,并将其集成在Reader 和Acrobat 两款PDF阅读器中。 据悉,AI Assistant的功能与ChatGPT相似,可以基于PDF文档提供摘要、核心见解、基于文档内容&a…

合并3D线条模型怎样进行调整长度---模大狮模型网

在3D建模软件中合并3D线条模型后,要调整线条的长度可以通过以下步骤进行: 选择线条模型:首先,在3D建模软件中选择您要调整长度的线条模型。这通常涉及使用选择工具或者鼠标点击线条模型来进行选择。 使用拉伸工具:大多…

小程序--分包加载

分包加载是优化小程序加载速度的一种手段。 一、为什么进行分包 小程序限制单个包体积不超过2M; 分包可以优化小程序页面的加载速度。 二、启用/使用分包语法subPackages subPackages:下载app.json文件中 root:分包所在的目录 pages&#x…

Vue监听器(上)之组合式watch

1. 定义监听器 //要监视的属性被改变时触发 watch(要监视的属性, (更改后的心值, 更改前的旧值) > {具体操作}, );//监视对象为getter的时候 //表达式内任意响应式属性被改变时触发 watch(() > return表达式, (表达式的新值, 表达式的旧值) > {具体操作} );//数组中任…

Mysql 常用数据类型

数值型(整数)的基本使用 如何定义一个无符号的整数 数值型(bit)的使用 数值型(小数)的基本使用 字符串的基本使用 字符串使用细节 日期类型的基本使用

关于游戏报错提示x3daudio1_7.dll丢失怎么修复?多个实测有效方法分享

x3daudio1_7.dll 是一个与 Microsoft DirectX 相关的重要动态链接库(DLL)文件,它主要服务于Windows操作系统下的多媒体和游戏应用程序。 一、以下是关于 x3daudio1_7.dll 文件的详细介绍 名称与位置: 文件名:x3daud…

RISC-V指令集之RV32A

RISC-V指令集之RV32A 1 原子操作2 RV32A的指令 本文属于《 RISC-V指令集基础系列教程》之一,欢迎查看其它文章。 1 原子操作 RV32A是RISC-V规范定义的用于原子操作的指令集。 RV32A 用于同步的原子操作有两种: 原子内存操作(atomic memory …

c++ Qt 网络连接

1、基础概念 1.1 TCP/UDP TCP 是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、 数据无失序、数据无重复到达的通信) 适用情况: 1.SN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议 2、适合于对传输质量要求较…

JAVA学习笔记12

1.键盘输入语句 1.1 介绍 ​ *在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。 1.2 步骤 ​ 1.导入该类的所在包,java.util.* ​ 2.创建该类对象(声明变量) ​ 3.调用里面的功能 import java.…

Android之UI Automator框架源码分析(第九篇:UiDevice获取UiAutomation对象的过程分析)

前言 通过UiDevice的构造方法,UiDevice对象持有的几个对象一部分是在构造方法中创建的(初始化),它持有的每个对象都是分析的重点 备注:当前对象持有的对象,它的位置一般在实例变量创建时或者构造方法中&…

2024年老薛主机开工大吉活动:云服务器5折起,续费同价!

2024年老薛主机开工大吉活动开始了,香港/美国云服务器季付7折,半年付6折,年付5折,续费同价! 活动地址: 点此直达老薛主机官网 活动详情: 老薛主机2024开年促销活动,香港/美国云服…