本文介绍两种将大模型上传到魔塔社区的方法。

1.使用 ModelScope 的 Python SDK 进行上传

    首先,要在ModelScope上申请Python SDK访问令牌,具体申请步骤:

    进入访问令牌界面,点击"新建SDK/API令牌"。其次,在大模型所在的本地环境,查看是否安装了ModelScope相关的包

pip show modelscope

如果没有安装,那就执行

pip install modelscope

之后执行以下代码:

from modelscope.hub.api import HubApi
from modelscope.hub.constants import Licenses, ModelVisibility
import os

YOUR_ACCESS_TOKEN = 你申请的SDK访问令牌

api = HubApi()
api.login(YOUR_ACCESS_TOKEN)

username = 用户名
model_name = 模型名称
repo_id = f"{username}/{model_name}"

# 检查项目是否存在,如果不存在则创建
try:
    api.get_model(repo_id)
except Exception as e:
    print(f"项目不存在,创建新项目: {repo_id}")
    api.create_model(
        model_id=repo_id,
        visibility=ModelVisibility.PUBLIC,  # 或PRIVATE
        license='apache-2.0'
    )

# 使用upload_folder上传模型
api.upload_folder(
    repo_id=repo_id,
    folder_path= 将要上传的大模型的绝对路径,
    commit_message="Upload model"
)

create_model函数的参数说明:

字段名 必填 类型 描述
model_id str 模型ID
visibility int 模型的可见性,1-私有,5-公开,不填默认5
license str 模型的许可证,不填默认为Apache-2.0
chinese_name str 模型的中文名称,默认None

upload_folder函数的参数说明:

字段名 必填 类型 描述
repo_id str 模型ID,确保您的访问令牌具有上传至对应仓库的权限。
folder_path str 本地待上传文件夹的绝对路径
path_in_repo str 文件夹将被上传到的具体路径及设置的文件夹名称
commit_message str 此次上传提交所包含的更改信息
token str 有权限上传的用户token。前置已经登陆时,可缺省
repo_type str 仓库类型,不填默认为model
allow_patterns str 允许上传的文件类型模板,例如*.json, 默认为None
ignore_patterns str 上传时忽略的文件类型模板,例如*.log,默认为None
max_workers int 上传时开启的线程数量,默认为 min(8,os.cpu_count() + 4))
revision str 上传的分支,默认为"master"

   注意:几十MB 到 上百MB的大模型,可以考虑使用这个模式上传

2.通过git方式上传

  1.安装Git LFS ,支持上传大容量的文件

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs

# 初始化Git LFS(只需执行一次)
git lfs install

   2.如果没有配置git用户信息,那就执行以下代码:

git config --global user.name "your_username"
git config --global user.email "your_email@example.com"

3.登录魔塔社区,创建模型,具体操作步骤如下:

4.克隆模型的空仓库,到本地

git clone https://oauth2:YOUR_MODELSCOPE_GIT_TOKEN@www.modelscope.cn/your_user_name/your_model_name


# 进入模型目录
cd your_model_name

YOUR_MODELSCOPE_GIT_TOKEN,就是在魔塔社区 -》访问令牌 - 》Git访问令牌。如何创建Git访问令牌

5.添加大模型

 # 将本地大模型文件复制到当前目录
cp -r /path/to/your/local_model/* .

# (可选)添加.gitignore文件排除不必要的文件
echo "*.log" > .gitignore
echo "__pycache__/" >> .gitignore

6.使用 Git LFS 跟踪大文件

# 跟踪特定类型的大文件(根据模型文件类型调整)
git lfs track "*.bin"
git lfs track "*.pt"
git lfs track "*.ckpt"
git lfs track "*.safetensors"

# 提交.gitattributes文件(Git LFS配置)
git add .gitattributes

7.提交并推送代码

# 添加所有文件
git add .

# 提交更改
git commit -m "Upload large model"



# 推送代码(首次推送需要设置上游分支)
git push -u origin master  # 也可以制定已经创建好的分支

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐