搞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

参考:

  1. Git LFS 安装及使用
  2. Git LFS Install详解

国内的开源AI模型共享网站(AI模型的GitHub)—— modeldscope —— 对标外网的“huggingface”,modelscope好用吗?的更多相关文章

  1. 24款WordPress网站AI插件大盘点

    ------------恢复内容开始------------ 你想把AI(人工智能)技术和机器学习技术添加到自己的WordPress网站吗?本文中,我会分享24个利用AI技术和机器学习技术的WordP ...

  2. 【AI测试】人工智能 (AI) 测试--开篇

    人工智能测试 什么是人工智能,人工智能是怎么测试的.可能是大家一开始最想了解的.大家看图中关于人工智能的定义.通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务:比如看懂照片,听懂说话,思考等等 ...

  3. ATC:一个能将主流开源框架模型转换为昇腾模型的神奇工具

    摘要:本文介绍了昇腾CANN提供的模型转换工具ATC,介绍了其功能.架构,并以具体样例介绍了该工具的基本使用方法以及常用设置. 本文分享自华为云社区<使用ATC工具将主流开源框架模型转换为昇腾模 ...

  4. 国内2大Git代码托管网站

    可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS社区.GitHub真正迷人的是它的创新能力与Geek精神,这些都是无法模仿的. ...

  5. keras入门(三)搭建CNN模型破解网站验证码

    项目介绍   在文章CNN大战验证码中,我们利用TensorFlow搭建了简单的CNN模型来破解某个网站的验证码.验证码如下: 在本文中,我们将会用Keras来搭建一个稍微复杂的CNN模型来破解以上的 ...

  6. 基于Jforum开源项目的论坛网站

    基于Jforum开源项目的论坛网站 开发原因: 刚完成了以wordpress及其插件simple-press为基础的论坛网站,因为一直从事java方面开发, 所以尝试一下使用java开源项目Jforu ...

  7. 开源小程序CMS网站, JeeWx-App-CMS 1.1 版本升级发布,持续更新!

    JeeWx-App-CMS开源小程序CMS网站,持续更新ing~ JeeWx-App-CMS 是jeewx开发的小程序网站开源项目,基于小程序wepy语言,具备cms网站的基本功能,能够打造简单易用的 ...

  8. 为什么国内的好多具备 HTTPS 的网站却没有使用 HTTPS 重定向功能

    为什么国内的好多具备 HTTPS 的网站却没有使用 HTTPS 重定向功能 HTTPS 重定向 good demos ️ HTTPS http://www.xgqfrms.xyz/ https://w ...

  9. eventloop & actor模式 & Java线程模型演进 & Netty线程模型 总结

    eventloop的基本概念可以参考:http://www.ruanyifeng.com/blog/2013/10/event_loop.html Eventloop指的是独立于主线程的一条线程,专门 ...

  10. IIS 发布网站到外网

    前段时间做了一个项目在局域网中测试后要发布到外网上,一时间不知怎么搞,以为直接在IIS中修改发布时的IP就可以了,但是不可行,经过摸索终于成功发布到外网,下面是具体步骤. 前期准备:公网IP,掩码,网 ...

随机推荐

  1. == 和 equals 的区别是什么

    == : 它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不是同一个对象.(基本数据类型 == 比较的是值,引用数据类型 == 比较的是内存地址) equals() : 它的作用也是判断两个 ...

  2. 什么是 MyBatis 的接口绑定,有什么好处?

    接口映射就是在 MyBatis 中任意定义接口,然后把接口里面的方法和 SQL 语句绑定,我们直接调用接口方法就可以,这样比起原来了 SqlSession 提供的方法我们可以有更加灵活的选择和设置.

  3. CloseableHttpClient设置超时时间demo 未设置默认是2分钟

    # CloseableHttpClient设置超时时间demo 未设置默认是2分钟 import org.apache.http.HttpHeaders; import org.apache.http ...

  4. cdh版本 livy部署

    1.livy部署主要就是依赖spark_home的环境变量 如何找到spark_home在哪 locate spark-shell locate是个linux找文件的命令,直接找到该目录

  5. Prometheus监控系统(二)Prometheus部署与使用

    1. Prometheus安装 官网:https://prometheus.io/ 下载地址:https://prometheus.io/download/ Prometheus基于Golang编写, ...

  6. zip-zip(子函数调用)

    题目 监听服务器端口,得到题目如下: 源码解析 主函数 主函数中是题目界面的逻辑,对应于用户的选择做出相应的操作,其中需要注意的是选项2,解压操作需要获得root权限(uid==0). 选项1,2:文 ...

  7. python3 安装pymssql失败 pip3 install pymssql

    python3 安装pymssql失败 报错信息: AttributeError: module 'platform' has no attribute 'linux_distribution' 解决 ...

  8. 开源一个常用的树目录和下拉树js组件

    我写的一个常用的树目录组件,需要jquery和font-awesome支持,对于想使用自定义图标的可以重定义 fa样式即可,或者直接更换源码的样式名称. 下载地址:https://github.com ...

  9. Redis缓存满了,如何存放数据?缓存淘汰策略

    我们的redis使用的是内存空间来存储数据的,但是内存空间毕竟有限,随着我们存储数据的不断增长,当超过了我们的内存大小时,即在redis中设置的缓存大小(maxmeory 4GB),redis会怎么处 ...

  10. 面试官:Dubbo一次RPC请求经历哪些环节?

    大家好,我是三友~~ 今天继续探秘系列,扒一扒一次RPC请求在Dubbo中经历的核心流程. 本文是基于Dubbo3.x版本进行讲解 一个简单的Demo 这里还是老样子,为了保证文章的完整性和连贯性,方 ...