开发者学堂课程【模型社区实战课程:ModelScope 社区介绍和操作入门】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1199/detail/18144
ModelScope 社区介绍和操作入门
M6探索浩瀚世界的更智能算法
人工智能的快速进步引人关注,由于欠缺类推理能力,通往下一代通用人工智能的道路仍然漫长。
包含千亿以上参数,具备类推理能力的大规模预训练模型收到关注。大模型研发难度很大,训练成本高昂,落地经验稀少,中文世界缺少大规模数据集作为支撑。解决此类问题的基础上,达摩院开发出一个中文世界第一个十万亿级参数的多模态预训练模型M6。达摩院科学家首次建立了一个庞大的中文数据集,包含65TB的图片和4.8TB的文本,将图像分割为小块后在特征提取器中生成了特征,为训练大模型奠定了基础。训练中M6与阿里云的系统和硬件团队进行了紧密的配合,用阿里内部的并行训练架构 Whale,通过改进专家混合网络提升了专家网络的承载容量,通过一系列技术提升了模型的学习速度。演进到十亿参数的过程中,算法层面使用了 Share-Delink的训练方法,将训练收敛速度大幅提升,成功解决了几个关键问题。
M6只用512张 GPU 卡,效率较之前的大模型大幅提高,M6建立了中文世界里最强的多模态能力,将文字生成图像大小从256*256提升到了1024*1024。M6找到了应用场景,可以回答金融、电商和设计领域的专业问题,能快速设计服务以支持弹性生产,能根据描述设计个性化汽车,能根据风格要求提出房屋装修方案。未来将继续提升M6的精度,探索用M6解决更多前沿和实际问题,推动技术落地。
目录
一、训练营课程简介
二、ModelScope社区简介
三、开发者实战演练
一、训练营课程简介
01.训练营面向的同学
本次训练营是初阶的训练营,主要面向计算机学院本科和硕士研究生同学、已经工作的软件开发工程师、对人工智能感兴趣的同学、电子学科对人工智能感兴趣的同学。
02.本次训练营主要的能力要求
之前人工智能课程需要坚实的数学基础或深度学习框架前提的了解,本次训练营只需了解 python 语言知识的基础,历史有 python 编程的经验。建议了解人工智能的导论,人工智能过去在哪些领域可以完成什么任务,深度学习初阶的知识。
1,具备 Python 语言知识基础,或有 Python编程经验。
2,建议了解一些人工智能导论,深度学习相关的初阶知识。
3,本次初阶课程不需要提前学习深度学习框架如 TensorFlow 或者 Pytorch 之类的知识。
4,本次初阶课程不需要线性代数,统计学原理等基础数学的先验知识。
03.需要提前准备的环境
在线开发环境:
ModelScope 社区提供线上开发环境 Notebook,免费的 CPU 资源+16个小时的GPU资源,无需额外准备搭建环境。
演示在 ModelScope 社区上,用 ModelScope Notebook 快速体验模型。
有本地开发环境,可以提前在本机安装部署 ModelScope 开发环境,下周有实战、写代码、代码演示的过程,安装可在快速安装文档了解具体的安装步骤以及环境配置的方式。
04.训练营课程设计
第一个课时介绍社区介绍和操作入门,课程介绍、社区整体介绍、社区快速实践。第二课时 python library 实战,充分学习通过 pipeline推理实现模型服务、充分学习模型调优和评测、尝试做一个贡献者。四个课时分为多模态大模型实战、自然语言处理实战、智能语音交互实战、计算机视觉实战。
每个同学建议训练营时间分配,50%时间用于课程学习,40%时间用于实践在网站上操作,10%时间用于课程总结,训练营课程总结中反馈课程报告,课程是重视实践和课后实践操作的课程。
05.学习收获
希望通过本次课程可以有如下的收获:
1,对于开源软件的开发方法、开发过程和支持技术有深入的了解
2,对于如何将人工智能抽象方法和理论知识结合到工程中有更好的锻炼和实践
3,通过学习社区的 Python Library,可以通过PythonLibrar 玩转模型推理,模型训练和模型评测等内容。
4,通过学习当下最热的跨模态大模型和各种领域模态的模型,了解各个领域人工智能的应用场景,通过在线开发平台,自己搭建人工智能小应用。
5,欢迎同学发挥聪明才智,创新出独特的AI小应用,分享 notebook
到群里,可做贡献模型和数据集工作,有小礼物相送。
06ModelScope 模型开源社区名词定义
ModelScope 平台以模型为中心的模型开源社区,与模型的使用相关,需要了解以下概念。
任务(Task)指某一领域具体的人工智能应用,以用于完成特定场景的任务。例如图像分类、文本生成、语音识别等都可称为 Task,可根据任务的输入输出找到适合的应用场景和任务分类,通过任务的筛选来查找所需的模型。
模型是指一个具体的模型实例,是模型文件。包括模型网络结构和相应参数,ModelScope模型开源平台提供丰富的模型信息供体验和使用。
模型库(Modelhub)是指对模型进行存储、版本管理和相关操作的模型服务,用户上传和共享的模型将存储至模型库 ModelScope 的模型库中。
数据集(Dataset)是方便共享及访问的数据集合,可用于算法训练、测试、验证,通常以表格形式出现。按照模态数据集可划分为文本、图像、音频、视频、多模态等数据集。
数据集库(Datahub)用于集中管理数据的数据库工具
ModelScope Library 是ModelScope平台自研的一套Python Library
框架,通过调用特定的方法,用户可以只写短短几行代码实现模型的推理、训练和评估等一站式任务,通过基数对模型进行二次开发,实现自己的创新想法。
二、ModelScope 社区简介
01AI开发者们的一些困难
1.想学习AI者众多
开始 ModelScope 社区时,做社区前充分了解目前AI开发者的困难,每天日均通过百度、CSBN 搜索安装 TensorFlow 和安装 Python 此类AI初学者的检索词很多,想学习AI的人很多。很多同学安装即放弃,从开始安装后下一步不知道怎么做。
2.环境搭建困难
市面上的 TensorFlow、国产深度学习的框架,复现一个论文单搭建环境都需要很久,不同框架的模型效果对比困难,体现在模型复现难,效率低。
3.理论与实战断层
学习人工智能理论计算机学科的学生,课堂上缺乏实践,缺少好用的实战工具。把天马行空的理论知识落到真实可触达的模型应用上,理论和实战上有断层。
4.数据获取&处理困难
平时写论文工作时,数据的获取和处理比较困难,获取公开的数据集耗时慢,比较占用存储空间。
5.模型开源平台缺乏
国家目前没有好的模型开源平台,同学自己写的论文和创新模型没有好的地方进行分享,平台希望吸引众多模型开发者分享自己创新的模型。
02ModelScope模型开源社区介绍
整个愿景希望覆盖广域的开发者,目前开发者学习AI的门槛很高,希望通过平台降低开发者学习AI的门槛,成为广大开发者学习实践人工智能主要的社区平台。
面向的开发者分为几类,第一类初阶的开发者,课程主要面向的对象,同学有1-5年的开发经验,相信人工智能是未来,对于如何学习人工智能比较迷茫。
应用开发者也可以学习课程,应用开发者大部分是软件工程师,日常工作发现人工智能越来越渗透到企业的应用中。更好的了解人工智能为企业千人千面的需求提供服务,应用开发者可学习网站用于日常工作中。
开源的工作者、领袖是社区的贡献者,AI资深领域的专家,潜在的技术伙伴,可在社区持续贡献,共建生态繁荣。
意见领袖,通过社区孵化出AI社区领袖,可通过分享模型,发表演讲,通过开发者的方式吸引自己的粉丝,成为社区的意见领袖。
ModelScope 平台提供一站式模型服务,从底层看目前服务是达摩院提供的模型,包括预热视频达摩院的多模态大模型,包含达摩院在NLP 领域、计算机视觉领域、智能语言交互领域做的行业 SOTA 模型。积极的吸引行业内开源的合作伙伴,开源公开模型贡献到社区里,成为社区开源的模型。
社区模型提供一站式模型服务,通过开源开发的框架、开源的模型库、开源的数据集、在线开发平台、针对开发者的文档和教程、开发者社区的工具,为开发者提供一站式模型服务,包含模型管理、解锁、下载、调优、训练、推理、模型部署、模型应用。
03ModelScope为社区开发者提供一站式模型服务
社区开发者、模型使用者的角度,用户进入官网,进入模型库中可看到各类模型卡片,模型卡片更像模型集的形式,可以选择自己感兴趣的模型。进入模型后进入到 Demo 体验环节,通过可视化交互的方式,快速理解模型的使用和模型的输入和输出,进入模型文件后可看到模型具体的模型文件。
环境安装主要支持云上 Notebook 免安装,在 Notebook 上不必纠结本地环境的配置,Notebook 上预安装 ModelScope 的官方镜像,可直接通过示例代码快速跑起模型。有本地环境或想探索更多的同学,可在本地的环境支持快捷的安装。
模型推理验证,可对一行代码实现推理,可通过 Library、python SDK、Git方式下载模型。
模型训练和调优提供丰富的 GPU 资源,GPU 资源可结合模型的数据集以及用户自己的数据集做模型的训练、调优、可视化的评测。认为模型用的好,未来支持云端本地化以及设备端的部署。
04ModelScope为社区贡献者提供灵活便利的生产服务
为社区贡献者提供更好的数据集管理开发者工具,针对个人的社区贡献者和组织社区贡献者,可通过模型管理和数据集管理 SDK 提供Model 和 Datahub 血缘关系管理,通过组织的方式多人协同管理模型,保障组织沉淀的模型可以日常迭代,全生命周期的管理。提供创意工坊应用,可以自己的模型做成好玩的小应用,让非开发者轻易的体验模型,发现模型潜藏的美的东西。社区互动中提供日常的支持,参与社区互动中,通过收获交流反馈与个人成长。
初阶课程不会讲特别多的社区贡献者的内容,主要是使用者和开发者的维度做培训。
05ModelScope Library功能介绍
模型很多是算法工程师或科学家通过自己坚实的数学知识做的科学模型,普通人或开发者觉得模型比较遥远,把模型变成可视化和触手可及的存在,python Library 提供整套的能力。可覆盖 NLP、CV、Audio、多模态等全模深度学习任务,不同的模型之前同学精专于a、b、c领域,Library 打通所有领域,不必纠结装不同的环境适配不同的领域模型。
提供简单 python Library 非常轻量化,集成可开发。向下兼容 Pytorc
h、Tensorflow 等一系列深度学习的框架。在线深度学习的开发环境Notebook,无需安装CV等系列模型依赖的 Library,可快速跑通模型。可称为 ModelScope Library 是非常好的开发者工具,可让只懂 py
thon 的同学玩转模型。Python Library 可支持一行代码实现模型推理,十几行代码实现对预训练模型的调优训练,方便开发者构建自己的专属模型。
模型库可理解为模型超市,超市里可通过简单的搜索方式或左侧相同类目栏方式可快速找到适合自己的预训练模型。社区提供200以上的行业领先的 SOTA 模型,提供丰富的在线 DEMO,不是开发者也可通过在线 DEMO 快速体验模型的input 和 output 是什么,快速认准模型是否是自己想要的,快速评测模型,从初步的数据集能否满足需求。ModelHub过程中可提供模型版本管理与血缘关系的管理,轻松托管代码,模型库中目前达摩院大模型,千亿的大模型的核心模型举证都上线到 ModelHub 里。
06数据集功能介绍
体验模型时更加顺畅,日常遇到一些问题,提供模型,用户用模型时发现模型在通用领域里效果好,在垂直行业领域效果不是很好。提供数据集更多是让用户可以学习通过行业数据集,对模型进行调优和评测,实现模型到产业应用的最后一公里,通过数据集实现模型落到企业千人千面的使用。数据集搭配 python library 的模型评测是必不可少的能力,数据集提供比较好的标签管理工具,数据集预处理工具。通过 DatasetHub 把数据集和模型链接到一起做血缘关系管理和全生命周期管理,数据集可快速链接 Notebook 的开发环境,一键导入代码,0门槛体验数据集,网页上可对数据集进行预览,预览的数据集是所见即所得的数据集,可通过数据集的预览格式判断数据集是否适合自己使用。
07ModelScope社区能力优势
千亿参数大模型的全面开放,200多模型的全域开源。通过 python library 一行代码轻松实现模型推理,10行代码实现模型 fineturne,让模型服务不再遥不可及,快速体验。
三、开发者实战演练
实战演练一,社区网站体验
出去玩拍照片摄影能力差,之前拍照不好靠PS,实战演练体验拍图片不好,靠AI的方式,比PS更快更好玩转照片的优化、还原卡通化场景,成为朋友圈最亮的照片。
实战演练社区网站体验
进入 ModelScope 社区,可看到社区主页,社区主页进入快速开始。针对新手有一整套快速开始的过程
进入模型探索过程,左侧有模型的标签,可通过模型的标签快速的定位到玩什么模型。
文档中的模型来自非常受欢迎的模型达摩卡通化模型,达摩卡通化模型有论文的net,想复现论文,深层学习原理的同学,可通过论文界面,论文学习。
小视频展示模型可做什么事情,模型的描述、使用方式、使用的场景,比如艺术创作、社交娱乐、隐私保护都可以模型卡通化的方式实现好玩的应用。
在ModelScope框架里通过代码示例
import cv2
from modelscope.outputs import utputKeys
from modelscopepipelines import pipeline
from modelscopeutils.constant import Tasks
img_cartoon=pipeline(Tasks.image_portrait_stylization,
model='damo/cv_unet_person-image-carton_compond-models’)
result=img_cartoon(input.png)
cv2.imwrite('result.png,result[OutputKeys.UTPUT_IMG]) print('finished!')
讲述模型的局限性性,可能的偏差,包括低分辨率,小样本数据涵盖场景有限。
模型的在线体验,进入模型里,在右侧实验室界面可体验模型。准备好看的照片,执行测试,测试后测试的结果很好。测试结果可看到卡通化效果不错。
可看到图片JsonOutput
卡通化的模型,针对模型卡通化的场景有5个模型。
进入卡通化3D模型,看3D卡通化模型可实现什么。3D模型只有视频介绍,没有接入到在线体验流程。
可打开 notebook,通过几行代码的方式可实现。复制代码示例,进入 notebook 里。打开 notebook,查看 notebook 可进入页面。
粘贴示例代码后可找自己喜欢的图片,打开图片,获取图片的链接,通过 copy path 的方式获取图片的路径
图片路径里可试3D路径出来的结果
import cv2
from modelscope.outputs import utputKeys
from modelscopepipelines import pipeline
from modelscopeutils.constant import Tasks
img_cartoon=pipeline(Tasks.image_portrait_stylization,
model='damo/cv_unet_person-image-carton_compond-models’)
result=img_cartoon(input.png)
cv2.imwrite('friends3d.JPG,result[OutputKeys.UTPUT_IMG]) print('finished!')
运行示例代码,看是否可以直接在环境里通过几行代码实现能力,代码里可实现能力。
3D实现的方式与日本动漫的卡通化稍有不同,更像迪士尼动画片。
达摩卡通化场景如上,课程不会把所有卡通化示例做体验,可在下线体验日式卡通化场景、3D场景、手绘场景、素描场景、艺术化场景分别可生成什么图片,哪个是最喜欢的卡通化风格,针对计算机视觉的体验。
通过 notebook 搭建体验 net 场景、语音场景,搭建小应用,整个过程来自阿里云开发者写过的文章,文章中的代码可直接复制实现。看语音怎样实现,复制粘贴代码。
from modelscope pipelines import pipeline
from modelscope.utils.constant import Tasks
Inference_16k_pipline=pipeline(
task=Tasks.auto_speech_recognition,
model=damo/speech_paraformer_asrnat-zh-cn-16k-common-vocab8358-tensorflowl')
rec_result=inference_16k_pipline(audio_in=xigua2.wav)
print(rec_result)
进入模型,模型是中文通用语音识别的模型。
有模型的文件,可获取文件的路径。
from modelscope pipelines import pipeline
from modelscope.utils.constant import Tasks
Inference_16k_pipline=pipeline(
task=Tasks.auto_speech_recognition,
model=damo/speech_paraformer_asrnat-zh-cn-16k-common-vocab8358-tensorflowl')
rec_result=inference_16k_pipline(audio_in=asr_example.wav)
print(rec_result)
跑模型,跑完模型后 example 出来的文本是“每一天都要快乐哦”文本。
怎样用 notebook 快速体验中文通用语言识别如上,识别语语音后快速的看说话的人开不开心,可通过情感分析小应用看说话的人开不开心,复制代码。
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
semantic_cls = pipeline(Tasks.sentiment_classification, 'damo/nip
_structbert_sentin
semantic_cls(input=rec_result["text"]) #
注意,此是上一步语音识别的结果
把上段代码获得的结果语音识别,判断人是否开心。
“每一天都要哦”开心从文本的分析负面的概率是10%,正面的概率是90%,此句话是正面开心的话,语音识别和中文情感识别应用。
通过几行代码可体会到平台上如何快速实现计算机视觉的模型体验,语音识别模型的体验,自然语言理解体验,意识到 python library 非常强大,强大 library 隐藏模型框架,模型模态要求,可任意玩转各个模态的模型。
玩模型社区的同时想搭建生活中可应用的小应用,分享给小伙伴,搭建小应用用到开源的搭建工具 gradio,把实例形成网页小应用的工具。
在社区安装 gradio
Pip install gradio
安装后把语音识别小应用、推理、文字识别的应用再次识别。
复制粘贴代码
import gradio as gr
asr=pipeline(
task=Tasks.auto speech_recognition,
model=damo/speech_paraformer_asr_nat-zh-cn-16k-common-vocab8358-tensorflowl)
classifier=pipeline(Tasks.sentiment_classification,damo/nlp_structbert_sentiment-classification_chinese-base)
def speech_to_text(speech):
text= asr(speech)["text"]
return text
def text_to_sentiment(text):
return classifier(text)
demo_gr.blocks()
with demo:
audio_file = gr.Audio(type="filepath")
text=gr.Textbox() label=gr.Textbox()
b1=gr.Button("Recognize Speech")
b2=gr.Button("Classify Sentiment")
b1.click(speech_to_text,inputs-audio_file,outputs=text)
b2.click(text_to_sentiment,inputs=text,outputs=text)
demo.launch(share=”ture”)
进入搭建web的小应用
可登录 gradio,web ui可复制给同学,通过 ModelScope 社区搭建好玩的小应用。可体验上传的语音,上传后点击语音识别的按钮,可快速把语音文件识别成每一天都要快乐哦文本。
对文本进行文本分析,可看到文本分析的结果,是正面的文字信息,可快速获取语音里说话的人说话的心情。
应用通过模型社区快速搭建应用场景,应用场景可用于多种应用场景,可接到用户的客服电话,客服电话分析客服的语言快速定位用户夸奖产品或投诉产品,用于新闻语音识别,日常对话语音识别实现对话语音识别会议纪要的场景,判断整个语音中表达的正面或负面的情感,用模型社区快速搭建 web ui 小应用,小应用可分享给同学、做课后作业、毕业设计。
课后可查看怎样使用 python library 快速实现机器学习的小应用,仔细研究代码。代码中复杂点,怎样通过 gradio 快速 get 到文件的path,通过怎样的容器做,需要同学课后查看、体验社区,把答案找到。
学习社区的模型库,对模型进行调优和评测时用到数据集板块,平台上有多种模型,课后可查看模型的用处,通过模型搭建自己的小应用。模型可快速搭建文字自识别的应用,可快速搭建对话机器人,可识别文本、语音、图像,都是模型社区好玩的彩带。模型库希望在训练时光更好了解达摩院科学家的模型,把复杂的数学公式变成好玩实用的小应用。
答疑
社区模型的优势,与 gethap 的区别。
通过 gradio 创建的模型不一定来源于 ModelScope,gradio 是开源把推理实例转化为可视化的 web ui 的工具,不一定要来源于 Mo
delScpe。
社区模型的优势,社区模型很丰富,开源200多模型都是行业SOTA模型,可看相关论文和数据集评测的结果,现在提供模型包括千亿模型的大模型,都是非常优秀的模型。模型用于日常,卡通化模型非常好玩好用,模型是社区独家的模型,达摩院做很久的沉淀。
与 gethap 的区别,gethap 可下载模型代码,使用模型。社区上可通过在线的开发环境,通过好用的 python library 开发者工具无视模型的模态,模型底层依赖的框架一系列原因,可快速体验模型。不能说模型一定比 gethap 上的好,保证在社区使用模型的易用性和使用的时间远远优于 gethap 上下载模型,自己搭建环境,通过模型说明使用。
模型中相关TTS模型
可直接看在社区上已经有语音合成的模型,在好的评测,拟人度达到4.5以上好的基于TTS模型全面上线,针对不同的发音人、性别、语种都开放对应TTS模型,模型比较丰富,欢迎在线下体验TTS应用。
直播课程后续在哪里深入学习,跟进操作,后续的课程有哪些。
直播课程后续可在阿里云官方网站、阿里开发社区、开发者联盟群里都可看到视频回放,回放剪辑的视频上线到开发者社区,可在开发者社区、官网学习。
后面有六节课程,共有六个课时,每个课时一小时的时间,下节课深入讲解 Python library 如何使用,模型如何推理、调优、评测,后面四节课基于达摩院多模态大模型、语音语义、视觉四个模块,分别详细讲解各个模块的模型,挑选好的示例,查看如何使用。