• 使用Git下载大语言模型


    在下载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下载小文件

    1. git lfs install
    2. 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 ,所以可以这样写:

    注意:此处需要进入到下载的文件夹中

    1. cd bloom-7b1
    2. git lfs pull --include="*.bin"


    此时*.bin会匹配这两个文件,然后等着他下载完毕就可以了。 

    如果你只想要单个文件,写文件名就可以。

    (3)另外一种方式:下载HuggingFace全部文件(包括大小文件)
     

    1. git lfs install
    2. git clone https://huggingface.co/bigscience/bloom-7b1


    好像使用这个方式下载大文件没有什么进度(但是确实正在下载,只不过要等全部下载下来后,文件才能看到)

    另外一种方式命令(大小文件的进度以及下载速度都能看到):

    1. git lfs install
    2. 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

    出现上述结果则完成下载模型到本地。

     

  • 相关阅读:
    浅谈基于敏捷开发交付应对突发项目
    SQL笔记——数据库恢复技术
    《Maven入门基础》
    【博学谷学习记录】超强总结,用心分享|架构师-手写rpc
    Kafka大白话(●二●)
    前端三剑客第一剑—Html基础标签讲解
    Linux权限
    MVCC之RC、RR隔离级别下可见性的分析
    DJ11 8086系列处理器(第二节课)
    Golang 新手可能踩的坑
  • 原文地址:https://blog.csdn.net/weixin_43734080/article/details/133348287