阿里云ModelScope 是一个“模型即服务”(MaaS)平台

news2024/9/20 9:45:16

在这里插入图片描述
在这里插入图片描述

简介

项目地址:https://github.com/modelscope/modelscope/tree/master

ModelScope 是一个“模型即服务”(MaaS)平台,旨在汇集来自AI社区的最先进的机器学习模型,并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的API设计执行推理、训练和评估,从而促进跨不同AI领域的最先进模型的统一体验。

ModelScope Library为模型贡献者提供了必要的分层API,以便将来自 CV、NLP、语音、多模态以及科学计算的模型集成到ModelScope生态系统中。所有这些不同模型的实现都以一种简单统一访问的方式进行封装,用户只需几行代码即可完成模型推理、微调和评估。同时,灵活的模块化设计使得在必要时也可以自定义模型训练推理过程中的不同组件。

除了包含各种模型的实现之外,ModelScope Library还支持与ModelScope后端服务进行必要的交互,特别是与Model-Hub和Dataset-Hub的交互。这种交互促进了模型和数据集的管理在后台无缝执行,包括模型数据集查询、版本控制、缓存管理等。

部分模型和在线体验

ModelScope开源了数百个(当前700+)模型,涵盖自然语言处理、计算机视觉、语音、多模态、科学计算等,其中包含数百个SOTA模型。用户可以进入ModelScope网站(modelscope.cn)的模型中心零门槛在线体验,或者Notebook方式体验模型。



示例如下:

自然语言处理:

  • GPT-3预训练生成模型-中文-2.7B

  • 元语功能型对话大模型

  • 孟子T5预训练生成模型-中文-base

  • CSANMT连续语义增强机器翻译-英中-通用领域-large

  • RaNER命名实体识别-中文-新闻领域-base

  • BAStructBERT分词-中文-新闻领域-base

  • 二郎神-RoBERTa-330M-情感分类

  • SPACE-T表格问答预训练模型-中文-通用领域-base

多模态:

  • CLIP模型-中文-通用领域-base

  • OFA预训练模型-中文-通用领域-base

  • 太乙-Stable-Diffusion-1B-中文-v0.1

  • mPLUG视觉问答模型-英文-large

计算机视觉:

  • ControlNet可控图像生成

  • DAMOYOLO-高性能通用检测模型-S

  • DCT-Net人像卡通化

  • 读光-文字识别-行识别模型-中英-通用领域

  • 人体检测-通用-Base

  • RetinaFace人脸检测关键点模型

  • BSHM人像抠图

  • 图像分割-商品展示图场景的商品分割-电商领域

  • 万物识别-中文-通用领域

语音:

  • Paraformer语音识别-中文-通用-16k-离线-large-pytorch

  • 语音合成-中文-多情感领域-16k-多发音人

  • CTC语音唤醒-移动端-单麦-16k-小云小云

  • WeNet-U2pp_Conformer-语音识别-中文-16k-实时

  • FRCRN语音降噪-单麦-16k

  • DFSMN回声消除-单麦单参考-16k

科学计算:

  • Uni-Fold-Monomer 开源的蛋白质单体结构预测模型

  • Uni-Fold-Multimer 开源的蛋白质复合物结构预测模型

快速上手

我们针对不同任务提供了统一的使用接口, 使用pipeline进行模型推理、使用Trainer进行微调和评估。

对于任意类型输入(图像、文本、音频、视频…)的任何任务,只需3行代码即可加载模型并获得推理结果,如下所示:

>>> from modelscope.pipelines import pipeline
>>> word_segmentation = pipeline('word-segmentation',model='damo/nlp_structbert_word-segmentation_chinese-base')
>>> word_segmentation('今天天气不错,适合出去游玩')
{'output': '今天 天气 不错 , 适合 出去 游玩'}
>>> import cv2
>>> from modelscope.pipelines import pipeline

>>> portrait_matting = pipeline('portrait-matting')
>>> result = portrait_matting('https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/image_matting.png')
>>> cv2.imwrite('result.png', result['output_img'])

对于微调和评估模型, 你需要通过十多行代码构建dataset和trainer,调用trainer.train()trainer.evaluate()即可。

例如我们利用gpt3 1.3B的模型,加载是诗歌数据集进行finetune,可以完成古诗生成模型的训练。

>>> from modelscope.metainfo import Trainers
>>> from modelscope.msdatasets import MsDataset
>>> from modelscope.trainers import build_trainer

>>> train_dataset = MsDataset.load('chinese-poetry-collection', split='train'). remap_columns({'text1': 'src_txt'})
>>> eval_dataset = MsDataset.load('chinese-poetry-collection', split='test').remap_columns({'text1': 'src_txt'})
>>> max_epochs = 10
>>> tmp_dir = './gpt3_poetry'

>>> kwargs = dict(
     model='damo/nlp_gpt3_text-generation_1.3B',
     train_dataset=train_dataset,
     eval_dataset=eval_dataset,
     max_epochs=max_epochs,
     work_dir=tmp_dir)

>>> trainer = build_trainer(name=Trainers.gpt3_trainer, default_args=kwargs)
>>> trainer.train()

为什么要用ModelScope library

  1. 针对不同任务、不同模型抽象了统一简洁的用户接口,3行代码完成推理,10行代码完成模型训练,方便用户使用ModelScope社区中多个领域的不同模型,开箱即用,便于AI入门和教学。

  2. 构造以模型为中心的开发应用体验,支持模型训练、推理、导出部署,方便用户基于ModelScope Library构建自己的MLOps.

  3. 针对模型推理、训练流程,进行了模块化的设计,并提供了丰富的功能模块实现,方便用户定制化开发来自定义自己的推理、训练等过程。

  4. 针对分布式模型训练,尤其是大模型,提供了丰富的训练策略支持,包括数据并行、模型并行、混合并行等。

安装

镜像

ModelScope Library目前支持tensorflow,pytorch深度学习框架进行模型训练、推理, 在Python 3.7+, Pytorch 1.8+, Tensorflow1.15/Tensorflow2.0+测试可运行。

为了让大家能直接用上ModelScope平台上的所有模型,无需配置环境,ModelScope提供了官方镜像,方便有需要的开发者获取。地址如下:

CPU镜像

# py37
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-py37-torch1.11.0-tf1.15.5-1.6.1

# py38
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-py38-torch1.11.0-tf1.15.5-1.6.1

GPU镜像

# py37
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.3.0-py37-torch1.11.0-tf1.15.5-1.6.1

# py38
registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.3.0-py38-torch1.11.0-tf1.15.5-1.6.1

搭建本地Python环境

你也可以使用pip和conda搭建本地python环境,我们推荐使用Anaconda,安装完成后,执行如下命令为modelscope library创建对应的python环境:

conda create -n modelscope python=3.7
conda activate modelscope

接下来根据所需使用的模型依赖安装底层计算框架

  • 安装Pytorch 文档链接
  • 安装tensorflow 文档链接

安装完前置依赖,你可以按照如下方式安装ModelScope Library。

ModelScope Libarary由核心框架,以及不同领域模型的对接组件组成。如果只需要ModelScope模型和数据集访问等基础能力,可以只安装ModelScope的核心框架:

pip install modelscope

如仅需体验多模态领域的模型,可执行如下命令安装领域依赖:

pip install modelscope[multi-modal]

如仅需体验NLP领域模型,可执行如下命令安装领域依赖(因部分依赖由ModelScope独立host,所以需要使用"-f"参数):

pip install modelscope[nlp] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

If you want to use cv models:

pip install modelscope[cv] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

如仅需体验语音领域模型,可执行如下命令安装领域依赖(因部分依赖由ModelScope独立host,所以需要使用"-f"参数):

pip install modelscope[audio] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

注意:当前大部分语音模型需要在Linux环境上使用,并且推荐使用python3.7 + tensorflow 1.x的组合。

如仅需体验科学计算领域模型,可执行如下命令安装领域依赖(因部分依赖由ModelScope独立host,所以需要使用"-f"参数):

pip install modelscope[science] -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

:

  1. 目前部分语音相关的模型仅支持 python3.7,tensorflow1.15.4的Linux环境使用。 其他绝大部分模型可以在windows、mac(x86)上安装使用。.

  2. 语音领域中一部分模型使用了三方库SoundFile进行wav文件处理,在Linux系统上用户需要手动安装SoundFile的底层依赖库libsndfile,在Windows和MacOS上会自动安装不需要用户操作。详细信息可参考SoundFile 官网。以Ubuntu系统为例,用户需要执行如下命令:

    sudo apt-get update
    sudo apt-get install libsndfile1
    
  3. CV领域的少数模型,需要安装mmcv-full, 如果运行过程中提示缺少mmcv,请参考mmcv安装手册进行安装。 这里提供一个最简版的mmcv-full安装步骤,但是要达到最优的mmcv-full的安装效果(包括对于cuda版本的兼容),请根据自己的实际机器环境,以mmcv官方安装手册为准。

    pip uninstall mmcv # if you have installed mmcv, uninstall it
    pip install -U openmim
    mim install mmcv-full
    

更多教程

除了上述内容,我们还提供如下信息:

  • 更加详细的安装文档
  • 任务的介绍
  • 模型推理
  • 模型微调
  • 数据预处理
  • 模型评估
  • 贡献模型到ModelScope

License

本项目使用Apache License (Version 2.0).

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1080952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sap 一次性供应商 供应商账户组 临时供应商 <转载>

原文链接:https://blog.csdn.net/xianshengsun/article/details/132620593 sap中有一次性供应商这个名词,一次性供应商和非一次性供应商又有什么区别呢? 有如何区分一次性供应商和非一次性供应商呢? 1 区分一次性供应商和非一次性…

狄拉克函数及其性质

狄拉克函数及其性质 狄拉克函数 近似处理 逼近近似 积分近似 狄拉克函数的性质 狄拉克函数的Hermite展开

【C++】【自用】STL六大组件:算法

文章目录 🔺sortstable_sort🔺reverse🔺swap🔺find🔺max/min🔺next_permutation/prev_permutation 全排列binary_searchlower_bound/upper_bound 求下界和上界set_union/set_intersection/set_difference 求…

结构体课程自我理解

目录 1. 结构体类型的声明 1.2特殊的声明方法 1.3结构体的自引用 1.4 typedef 对结构体命名 2. 结构体变量的创建和初始化 3. 结构成员访问操作符 4. 结构体内存对⻬ 4.1下面给大伙4个练习题,有自我解析 4.2为什么存在内存对齐 4.3修改默认对齐数 5. …

Centos中利用自带的定时器Crontab_实现mysql数据库自动备份_linux中mysql自动备份脚本---Linux运维工作笔记056

这个经常需要,怕出问题因而需要经常备份数据库,可以利用centos自带的定时器,配合脚本实现自动备份. 1.首先查看一下,这个crontab服务有没有打开: 执行:ntsysv 可以看到已经开机自启动了. 注意这个操作界面,用鼠标不行,需要用,tab按键,直接tab到确定,或取消,然后按回车回到命…

如何下不可选中的文章

背景: 看到了一篇比较有用的微信公众号文章(这个文章应该是跳转到了公众号外的网站的 url 了),想留档,但是手机选中不了。但是这个事情作为程序员,怎么能束手呢。 操作: 1、将微信公众号链接在…

Copa:无需重建镜像,直接修补容器漏洞

关注【云原生百宝箱】公众号,与你一起探讨应用迁移,GitOps,二次开发,解决方案,CNCF生态。 copa 是一个使用 Go 编写的 CLI 工具,基于 buildkit,可以根据像 Trivy 这样的流行工具的漏洞扫描结果直…

LeetCode-343-整数拆分

题目描述: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 题目链接: LeetCode-343-整数拆分 解题思路: 还是根据动规五…

Centos (含Rocky-Linux) VSFTPD 简单设置

本文并非深入讨论vsftp配置的文章,仅以能连通为目的,适合那些临时需要上传点东西到服务器的场景。 一、安装 dnf -y updatednf -y install vsftpdsystemctl start vsftpdsystemctl enable vsftpd二、防火墙 开放21端口: firewall-cmd --zo…

利用正则表达式进行数据采集和处理

目录 一、正则表达式的概述 二、正则表达式在数据采集中的运用 1、匹配和提取数据 2、数据清洗 3、数据验证 三、Python中的re模块介绍 1、re.match()方法 2、re.search()方法 总结 正则表达式是一种强大的文本处理工具,它可以用于模式匹配、提取、替换等操…

Android 自定义横向时间轴

示例&#xff1a; 一、添加依赖 dependencies {******//添加RecyclerView的依赖包implementation androidx.recyclerview:recyclerview:1.2.1 } 二、页面代码 activity_main.xml: <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmln…

大语言模型迎来重大突破!找到解释神经网络行为方法

前不久&#xff0c;获得亚马逊40亿美元投资的ChatGPT主要竞争对手Anthropic在官网公布了一篇名为《朝向单义性&#xff1a;通过词典学习分解语言模型》的论文&#xff0c;公布了解释经网络行为的方法。 由于神经网络是基于海量数据训练而成&#xff0c;其开发的AI模型可以生成…

Virtual Box + Vagrant 快速搭建 Linux 虚拟开发环境

Virtual Box Vagrant 快速搭建 Linux 虚拟开发环境 1、根据自己所使用的操作系统平台&#xff0c;选择下载对应的虚拟机客户端软件 Virtual Box 并进行安装&#xff0c;这里选择的是 Virtual Box 7.0.10 Windows hosts 平台安装包。 选择安装目录为其他盘&#xff0c;避免默认…

【C++】STL总结:理解六大核心组件、各个组件主要功能

文章目录 六大核心组件的关联性1.容器2.迭代器3.算法4. 仿函数 / 函数对象5. 适配器 / 包装器6. 空间配置器 六大核心组件的关联性 1.容器 &#x1f517;&#x1f449;点击跳转 2.迭代器 &#x1f517;&#x1f449;点击跳转 3.算法 &#x1f517;&#x1f449;点击跳转 …

安科瑞消防设备电源监控系统在城市建筑中的应用

安科瑞 崔丽洁 摘要&#xff1a;2021年十四五规划里&#xff0c;也都有写到关于绿色循环经济的议题。在这样一个背景下&#xff0c;建筑行业也需要为实现“双碳”目标作出改变&#xff0c;建筑行业飞速发展&#xff0c;大量高层建筑拔地而起&#xff0c;在为了响应国家对于建筑…

生态共建 | 7-9月,YashanDB与13款产品完成兼容互认证

7-9月&#xff0c;深圳计算科学研究院崖山数据库系统YashanDB与柏科数据技术&#xff08;深圳&#xff09;股份有限公司、深圳钛铂数据有限公司、华润数字科技有限公司、武汉中地数码科技有限公司、龙芯中科技术股份有限公司、华瑞指数云科技&#xff08;深圳&#xff09;有限公…

LeetCode-199-二叉树的右视图

题目描述&#xff1a; 题目链接&#xff1a;LeetCode-199-二叉树的右视图 解题思路&#xff1a; 在 102 的基础之上进行改进&#xff0c;一维数组每次只保存 size1 时候的值 代码实现&#xff1a; class Solution {public List<Integer> rightSideView(TreeNode root) {i…

【算法-动态规划】斐波那契第 n 项

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

网络初识(JAVA EE)

文章目录 一、网络发展史二、网络通信基础三、协议分层四、封装和分用 一、网络发展史 独立模式&#xff1a;计算机之间相互独立&#xff0c;每个终端都各自持有客户数据&#xff0c;且当处理一个业务时&#xff0c;按照业务流程进行 网络互连&#xff1a;将多台计算机连接在一…

ELK集群 日志中心集群、kafka、logstash

ES&#xff1a;用来日志存储 Logstash:用来日志的搜集&#xff0c;进行日志格式转换并且传送给别人&#xff08;转发&#xff09; Kibana:主要用于日志的展示和分析 kafka Filebeat:搜集文件数据 es-1 本地解析 vi /etc/hosts scp /etc/hosts es-2:/etc/hosts scp /etc…