• HuggingFace 国内下载 阿里云盘下载速度20MB/s


    效果展示

    Huggingface被屏蔽了,根本下载不了。

    阿里云盘下载速度最高可达20MB/s,平均17MB/s左右。【注意:这是会员的速度,阿里云盘的会员可以通过签到白嫖】

    其实百度网盘应该也是可以的,但是百度网盘限速啊!
    阿里云盘现在每天签到都可以领取一天的会员。感谢🙏阿里巴巴

    国内使用阿里云盘下载完成一个26G的模型权重,只花了半个小时
    在这里插入图片描述

    思路

    其实阿里云盘、百度云盘等,肯定都存储过了Huggingface 的模型参数。
    我们的解决思路就是在阿里云盘上,存储上对应的模型权重,然后直接使用阿里云盘进行下载。海外服务器通常是linux系统,所以需要使用阿里云盘API。
    请添加图片描述

    阿里云盘API工具 aligo

    点击查看Aligo github
    方便在linux服务器上使用,只需要填入一个刷新的token就可以了。

    安装aligo

    pip install aligo
    
    • 1

    aligo教程

    请读者自行浏览

    实战

    1. chrome抓包 获得refresh_token
      在这里插入图片描述
    import aligo
    from aligo import Aligo
    refresh_token = "抓包拿到的refresh_token"
    ali = Aligo(refresh_token=refresh_token)
    
    • 1
    • 2
    • 3
    • 4

    查看你的用户信息,就知道是否登录成功了

    print(ali.get_user())
    
    • 1

    保存模型到阿里云盘

    前提:你要有海外的云服务器(colab、亚马逊、甲骨文等),海外服务器先下载模型,使用阿里云盘的API工具(比如:aligo等),把模型权重上传到阿里云盘中。

    模型参数上传到阿里云盘会非常快,文件秒传,耗时半分钟左右。因为这些权重文件在阿里云盘中已经有了。

    文件秒传:
    文件上传时,首先会在本地计算文件的md5和字节数。服务器根据(md5,字节数)区分用户上传的文件是否已经在服务器中。如果用户上传的文件已经在服务器中了,那么用户就不需要重新上传一遍了。这就是我们发现有时候向云盘上传大型文件会特别快的原因。

    海外服务器下载模型

    装包

    大模型(LLM)的下载方式,仅供参考
    在jupyter(.ipynb文件),装如下几个包

    !pip install transformers \
    	fairscale \
    	fire \
    	sentencepiece \
    	accelerate \
    	bitsandbytes
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    import torch
    from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer
    
    model_path = "LinkSoul/Chinese-Llama-2-7b-4bit"
    
    tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False)
    if model_path.endswith("4bit"):
        model = AutoModelForCausalLM.from_pretrained(
                model_path,
                load_in_4bit=True,
                torch_dtype=torch.float16,
                device_map='auto'
            )
    else:
        model = AutoModelForCausalLM.from_pretrained(model_path).half().cuda()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述
    在运行上述代码的时候,最好有GPU,不然会报错。

    不用GPU的代码如下,这需要你有20G左右的RAM

        model = AutoModelForCausalLM.from_pretrained(
                model_path
            )
    
    • 1
    • 2
    • 3

    如果上述报错解决不了,也没有关系。那么就只纯粹下载模型权重即可:

    • git lfs install
    • git clone xxx.git

    aligo的上传代码

    remote_folder = ali.get_folder_by_path('xxx/阿里云盘文件保存路径')
    ali.upload_folder(
    	'/content/Chinese-Llama-2-7b', # 海外服务器云文件
    	parent_file_id=remote_folder.file_id
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5

    国内下载

    在linux服务器上,使用阿里云盘的API,下载模型权重

    
    # 阿里云盘上的文件夹路径
    file = ali.get_folder_by_path('xxx/models--LinkSoul--Chinese-Llama-2-7b-4bit')
    # 阿里云盘上的文件路径
    # file = ali.get_folder_by_path('xxx/data.json')
    
    local_folder = '本地文件夹路径'
    if file.type == 'file':
        ali.download_file(file=file, local_folder=local_folder)
    else:
        ali.download_folder(folder_file_id=file.file_id, local_folder=local_folder)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    镜像站下载

    https://hf-mirror.com

    modelscope 魔塔社区

    阿里云PAI,云服务器使用这个下载速度非常快。应该是直接从阿里云拷贝过来的。
    在这里插入图片描述

    其他方式

    • 使用Docker和百度网盘的可以查看这个github项目 点击查看

    直说吧,我不会Docker,如果你有这方面的教程,欢迎你分享给我。

  • 相关阅读:
    Flutter For Web实践
    无限 debugger 能劝退 Spider Engineer 吗?原来我还没入门!
    我的前端成长之路:中医药大学毕业的业务女前端修炼之路
    【Git】一起来了解一下版本控制系统吧
    linux tcp 半连接队列和全连接队列
    谷歌浏览器F12有报错,但控制台看不到具体报错信息
    Badboy录制jmeter性能测试脚本
    C++Qt开发——操作MySQL数据库
    MySQL常用命令(DQL)
    22-08-29 西安 JUC(02)线程安全集合类、 juc强大的辅助类
  • 原文地址:https://blog.csdn.net/sjxgghg/article/details/134035156