国内的开源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,掩码,网 ...
随机推荐
- gitlab私有仓库搭建
1.Gitlab介绍 我们了解了git是以个人为中心,但是人人都得数据交互呀..python程序员每天都忙着进行py交易 交互数据的方式 使用github或者码云等公有代码仓库,托管代码的地方,谁都可 ...
- spring eureka服务注册配置,排查服务注册上来了,但是请求没有过来。检查是否服务注册配置错误
spring eureka服务注册配置,排查服务注册上来了,但是请求没有过来.检查是否服务注册配置错误 解决方法: 去掉该配置eureka.instance.hostname = client微服务的 ...
- python根据文件目录批量过滤空行
import shutil import os path = "E:\\in\\" #文件夹操作目录 path2 = "E:\\out\\" #文件夹输出目录 ...
- FeignClient接口格式
FeignClient接口格式报错信息:{"timestamp":1648015711758,"status":404,"error":&q ...
- uniapp ios推送 离线推送收不到消息
突然之间收不到离线推送消息了,角标也不显示了. 查了很长时间发现是ios的推送证书过期了. 我用的是appuploader登陆上以后在证书管理中新创建证书就可以了.
- MySQL常见的后端面试题,你会几道?
为什么分库分表 单表数据量过大,会出现慢查询,所以需要水平分表 可以把低频.高频的字段分开为多个表,低频的表作为附加表,且逻辑更加清晰,性能更优 随着系统的业务模块的增多,放到单库会增加其复杂度,逻辑 ...
- java并发和排序的简单例子(Runnable+TreeSet)
很多时候并发需要考虑线程安全,但也有很多时候和线程安全毛关系都没有,因为并发最大的作用是并行,线程安全仅仅是并发的一个子话题. 例如常常会用于并发运算,并发i/o. 下文是一个练习笔记. 运行环境:w ...
- C++类与对象详解
什么是类和对象 类和对象的概念 类是对象的抽象,对象是对客观事物的抽象. 用通俗的话来说: 类是类别的意思,是数据类型. 对象是类别下的具体事物. 也就是说: 类是数据类型,对象是变量. 比如: 水果 ...
- CF1523D Love-Hate
抽象化题意: 一共有 \(m\) 个元素,给定 \(n\) 个集合,每个集合的元素不超过 \(15\) 个,求出一个元素个数最多的集合 \(S\) 是至少 \(\lceil \dfrac{n}{2} ...
- 写给rust初学者的教程(三):闭包、智能指针、并发工具
这系列RUST教程一共三篇.这是最后一篇,介绍RUST语言的进阶概念.主要有闭包.智能指针.并发工具. 上一篇:写给rust初学者的教程(二):所有权.生存期 closure "闭包&quo ...