关于ModelScope

ModelScope社区成立于 2022 年 6 月,是一个模型开源社区及创新平台,由阿里巴巴达摩院,联合CCF开源发展委员会,共同作为项目发起方。

社区联合国内AI领域合作伙伴与高校机构,致力于通过开放的社区合作,构建深度学习相关的模型开源,并开源相关模型服务创新技术,推动模型应用生态的繁荣发展。

期待ModelScope会有不一样的表现。

与ModelScope类似的网站有

  • 国际 huggingface是较早将AI模型开源的网站,用户群体庞大,社区内有丰富的数据集、模型,文档详实。
  • 国内 百度飞桨是国内AI模型开源较好的网站,用户群体较大,更新活跃,但是文档质量。。。

目前ModelScope刚刚上线不久,模型和数据集都不怎么多


名词解释

ModelScope平台是以模型为中心的模型开源社区,与模型的使用相关,您需要先了解如下概念。

基础概念 定义
任务 任务(Task)指某一领域具体的应用,以用于完成特定场景的任务。例如图像分类、文本生成、语音识别等,您可根据任务的输入输出找到适合您的应用场景的任务类型,通过任务的筛选来查找您所需的模型。
模型 模型(Model)是指一个具体的模型实例,包括模型网络结构和相应参数。ModelScope平台提供丰富的模型信息供用户体验与使用。
模型库 模型库(Modelhub)是指对模型进行存储、版本管理和相关操作的模型服务,用户上传和共享的模型将存储至ModelScope的模型库中,同时用户也可在Model hub中创建属于自己的模型存储库,并沿用平台提供的模型库管理功能进行模型管理。
数据集 数据集(Dataset)是方便共享及访问的数据集合,可用于算法训练、测试、验证,通常以表格形式出现。按照模态可划分为文本、图像、音频、视频、多模态等。
数据集库 数据集库(Datasethub)用于集中管理数据,支持模型进行训练、预测等,使各类型数据具备易访问、易管理、易共享的特点。
ModelScope Library ModelScope Library是ModelScope平台自研的一套Python Library框架,通过调用特定的方法,用户可以只写短短的几行代码,就可以完成模型的推理、训练和评估等任务,也可以在此基础上快速进行二次开发,实现自己的创新想法。

一、模型探索

首先访问平台网址https://www.modelscope.cn/models, 您将看见平台上已有的所有公开模型,根据任务筛选或者关键词搜索可查找您感兴趣的模型。


二、环境准备

2.1 本地开发环境

如果您需要在本地运行模型,需要进行相应的环境安装准备,包括:

  • 安装python环境。支持python3,不支持python2,建议3.7版本及以上。我们推荐您使用Anaconda进行安装。
  • 安装深度学习框架。ModelScope Library目前支持Tensorflow,Pytorch两大深度学习框架进行模型训练、推理。您可根据模型所需的框架选择适合的框架进行安装。
  • 安装ModelScope Library。我们提供两种安装方式,您可选择适合的方式进行安装。
    • pip安装。ModelScope提供了根据不同领域的安装包,您可根据对应的模型选择所需的安装包。
    • 使用源码安装。
    • 更完整的安装信息参考:环境安装指南。

2.2 在线Notebook

若您觉得本地安装较为复杂, ModelScope平台也提供在线的运行环境,您可直接在Notebook中运行,Notebook中提供官方镜像无需自主进行环境安装,更加方便快捷,推荐大家使用!

注意:该功能需要您登录后使用,新用户注册ModelScope账号并完成阿里云账号绑定后即可获得免费算力资源,详情请参阅免费额度说明 。


三、2分钟跑通模型推理

若您准备好本地环境或者已经打开一个Notebook的预装环境实例,则根据下述代码可对该模型进行推理。 使用modelscope pipeline接口只需要两步,同样以上述中文分词模型(damo/nlp_structbert_word-segmentation_chinese-base)为例简单说明:

首先根据task实例化一个pipeline对象

from modelscope.pipelines import pipeline
word_segmentation = pipeline('word-segmentation',model='damo/nlp_structbert_word-segmentation_chinese-base')

输入数据,拿到结果

input_str = '今天天气不错,适合出去游玩'
print(word_segmentation(input_str))

Run

{'output': '今天 天气 不错 , 适合 出去 游玩'}

广而告之