国内的开源AI模型共享网站(AI模型的GitHub)—— modeldscope —— 对标外网的“huggingface”,modelscope好用吗?
搞AI的应该都是知道huggingface是啥的,这里不过多介绍,简单的来说就是AI模型的Github,之所以这么说是因为计算机的项目往往都是代码文件,所有计算机项目的Github只需要上传项目的代码文件即可,而AI项目则与传统的计算机project不同,是在代码文件之外还需要有有神经网络的模型文件。
不同于项目的代码文件只有几个KB或几个MB的大小,AI的神经网络模型权重往往都是几百MB或者几个GB的大小,虽然一直有人把模型权重进行网络共享,但是往往都是使用网络云盘的方式来实现,基本采用了项目代码和权重文件分开的方式,而且由于神经网络权重往往需要较大的存储空间(几百MB甚至几个GB),因此更多的人不选择公开神经网络权重的方式而只公开项目代码。虽然只公开项目代码的开源形式是最为广泛的,但是由于神经网络项目往往具有较大的随机性,也就是说能获得好用的权重往往是一个随机的事情,即使参数炼丹搞的再好也是需要运气加成的,而且往往一个神经网络项目的权重训练需要较长的运行时间和计算资源的消耗,这里比较有名的就是OpenAI的ChatGPT了,为了训练20个G的权重用了近万台服务器和显卡,训练上半年甚至一年时间,其花销是极为巨大的,也正是因此开源神经网络项目的神经网络权重一直是行业痛点。
世界上第一个选择为众多神经网络项目建立一个权重共享的网站的是美国的huggingface,但是由于中美贸易战的问题我们国家是无法直接访问该网站的,这也是美国政府为了打压中国科技发展的一个举措,为此在国内我们的AI领域的researcher就需要采用其它方式来访问huggingface网站了,来绕过美国政府对我们的封锁。
为了构建国内的AI模型分享网站,也是为了对标美国的huggingface,华为推出了mindspore的分享网站,虽然设立目标是转为mindspore框架的,但是其实也没有一定的限制,因此也可以作为不限制AI计算框架的权重分享网站(前几年刚创建时对上传分享者有着较强的资格限制,比如上传者必须有公网IP等,因此多年来再也没有选择支持过mindspore社区,不过据说最近华为的mindspore社区有了较大改善,不过这也是后话了);虽然华为推出了mindspore的神经网络权重分享网站,但是有些不温不火,不过最近阿里公司也是在大语言模型火爆AI领域的大背景下选择跟进,推出了对标huggingface的modelscope,当然阿里的modelscope在功能上有极小一部分和华为的mindspore重叠,但是也有一些独立的服务和功能,比如是把modelscope独立为一个网站来运营,并且只做神经网络权重分享,因此和华为的mindspore还是有一定的差异性的,而且和美国的huggingface也更为相近。
在modelscope上创建模型分享项目还是比较容易操作的,我这里也是创建了一个测试用处的Demo:
链接:
https://www.modelscope.cn/models/devilmaycry812839668/devil/summary

可以说,在modelscope上创建项目还是比较简单的,很容易操作,难点是如何为这个项目上传文件和下载文件。
首先要知道,在modelscope上的项目是分为私有项目和公开项目两种的,下载私有项目是需要使用秘钥字符串的,我们可以在项目的页面上找到秘钥的字符串(token):

在下载私有项目,或者推送更改(不区分私有项目还是共有项目)都需要将这个秘钥字符串作为密码进行输入验证的。因为modelscope资源的下载和上传可以通过sdk和git两种方式的,因此也就有下面两种方式的秘钥输入方式。
通过验证秘钥的方式通过git方式下载项目:

上传神经网络模型参数,git方式上传LFS文件:
点击查看代码
git lfs track "*.psd" // 指定要追踪的大文件类型
git add .gitattributes // 将.gitattributes添加到版本控制中
git add file.psd
git commit -m "Add a LFS file"
git push origin master
下载神经网络模型参数,检出LFS文件:
点击查看代码
git clone https://github.com/user/repository.git
cd repository
git lfs install
git lfs pull
不过亲测了一下,这个使用git lfs方式下载文件的速度是极慢的,几个几百MB的模型参数也需要较长的时间:

通过git lfs方式上传模型参数文件还是比较快捷的,但是使用git lfs下载模型参数则是较慢的,甚至可以说基本不可行的。
参考:
https://www.modelscope.cn/docs/%E6%A8%A1%E5%9E%8B%E7%9A%84%E4%B8%8A%E4%BC%A0
Ubuntu安装git lfs(git的大文件支持):
sudo apt-get update
sudo apt-get install git-lfs --fix-missing
参考:
国内的开源AI模型共享网站(AI模型的GitHub)—— modeldscope —— 对标外网的“huggingface”,modelscope好用吗?的更多相关文章
- 24款WordPress网站AI插件大盘点
------------恢复内容开始------------ 你想把AI(人工智能)技术和机器学习技术添加到自己的WordPress网站吗?本文中,我会分享24个利用AI技术和机器学习技术的WordP ...
- 【AI测试】人工智能 (AI) 测试--开篇
人工智能测试 什么是人工智能,人工智能是怎么测试的.可能是大家一开始最想了解的.大家看图中关于人工智能的定义.通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务:比如看懂照片,听懂说话,思考等等 ...
- ATC:一个能将主流开源框架模型转换为昇腾模型的神奇工具
摘要:本文介绍了昇腾CANN提供的模型转换工具ATC,介绍了其功能.架构,并以具体样例介绍了该工具的基本使用方法以及常用设置. 本文分享自华为云社区<使用ATC工具将主流开源框架模型转换为昇腾模 ...
- 国内2大Git代码托管网站
可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...
- keras入门(三)搭建CNN模型破解网站验证码
项目介绍 在文章CNN大战验证码中,我们利用TensorFlow搭建了简单的CNN模型来破解某个网站的验证码.验证码如下: 在本文中,我们将会用Keras来搭建一个稍微复杂的CNN模型来破解以上的 ...
- 基于Jforum开源项目的论坛网站
基于Jforum开源项目的论坛网站 开发原因: 刚完成了以wordpress及其插件simple-press为基础的论坛网站,因为一直从事java方面开发, 所以尝试一下使用java开源项目Jforu ...
- 开源小程序CMS网站, JeeWx-App-CMS 1.1 版本升级发布,持续更新!
JeeWx-App-CMS开源小程序CMS网站,持续更新ing~ JeeWx-App-CMS 是jeewx开发的小程序网站开源项目,基于小程序wepy语言,具备cms网站的基本功能,能够打造简单易用的 ...
- 为什么国内的好多具备 HTTPS 的网站却没有使用 HTTPS 重定向功能
为什么国内的好多具备 HTTPS 的网站却没有使用 HTTPS 重定向功能 HTTPS 重定向 good demos ️ HTTPS http://www.xgqfrms.xyz/ https://w ...
- eventloop & actor模式 & Java线程模型演进 & Netty线程模型 总结
eventloop的基本概念可以参考:http://www.ruanyifeng.com/blog/2013/10/event_loop.html Eventloop指的是独立于主线程的一条线程,专门 ...
- IIS 发布网站到外网
前段时间做了一个项目在局域网中测试后要发布到外网上,一时间不知怎么搞,以为直接在IIS中修改发布时的IP就可以了,但是不可行,经过摸索终于成功发布到外网,下面是具体步骤. 前期准备:公网IP,掩码,网 ...
随机推荐
- 在线RSA公私钥PKCS格式互转工具
在线公私钥PKCS格式转换,支持公钥PKCS1与PKCS8格式之间相互转换,私钥PKCS1与PKCS8格式之间相互转换:PKCS1定义RSA公开密钥算法加密和签名机制,PKCS8描述私有密钥信息格式, ...
- 支付宝APP支付 订单已付款成功,请勿重复提交 和 微信H5支付 INVALID_REQUEST 201 商户订单号重复
支付宝APP支付 返回请求给前端SDK 提示报错"订单已付款成功,请勿重复提交" 产生原因:存在商家订单号已经支付成功,重复再次请求的情况.每一笔的支付项目商家订单号是唯一的,如果 ...
- Docker中部署单机Redis详细教程
1.拉取Redis镜像 # 拉取redis镜像,不指定版本则默认是最新版本 docker pull redis 2.查看镜像 # 列出本地镜像 docker images 3.准备配置文件路径 # 创 ...
- 掌握 Nuxt 3 中的状态管理:实践指南
title: 掌握 Nuxt 3 中的状态管理:实践指南 date: 2024/6/22 updated: 2024/6/22 author: cmdragon excerpt: 摘要:该文指南详述了 ...
- Abp vNext 模块化系统简单介绍
怎么使用模块1. 建立模块直接的依赖关系,可以通过DependsOnAttribute特性来确定依赖关系2. 先配置模块,实现为模块填充数据和功能设置.3. 使用模块提供的功能接口 怎么定义模块1. ...
- 使用Swig转换C++到别的编程语言
项目github地址: aoce 设定aoce能分别与UE4/Unity3D/android demo对接,就这三来看,分别是C++/C#/java三种语言. C++导出给别的语言使用,一般来说,分为 ...
- js脚本化css
脚本化CSS 我们刚讲过如何获取和设置行内样式的值,但是我们开发不会所有样式都写在行内,同时js没法获取内嵌样式表和外部样式表中的值. 事实上DOM提供了可靠的API,得到计算后的样式. 1. 获取计 ...
- 6.Class 与 Style 绑定
操作元素的 class 列表和内联样式是数据绑定的一个常见需求. 因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可. 不过,字符串拼接麻烦且易错.因此,在 ...
- 小产品,快变现,Solo社区共建者 James 专访
采访人:徐小夕. 本次受邀采访的嘉宾是Solo社区计划负责人&Solo社区联合创建者 James Pan(老潘). 专访内容 1. Solo社区创建的背景 随着国内软件市场内卷加剧,加上大环境 ...
- 解决方案 | cad选择集找出包含特定字符串的多行文本
代码如下: 1 # 选择文本中出现特定单词的多行文字 2 # 下面的代码将选择条件定义为文本字符串中出现"The"的任意选项.此示例还演示了选择方法的用法:MtextSelectB ...