2022年3月,MindSpore易用性SIG成立后,很快吸引了不少开发者加入SIG群中进行交流。作为和开发者进行连接的桥梁,易用性SIG的目标是和开发者共同打造易学易用、灵活高效的AI框架,持续提升MindSpore易用性,助力开发者成功

通过易用性SIG,我们不仅倾听开发者的声音,为开发者提供帮助,也希望能和开发者一起围绕“MindSpore的学习与实践”这个主题,打造一些有趣的开源项目。

一、为什么发起这个开源项目(知识问答机器人)

在浏览了当前的一些MindSpore应用案例(如图片识别、房价预测等)后,我们认为这些案例简洁易懂,作为学习资源是非常合适的。但作为易用性Sig,我们不仅希望发起的项目是一个学习资源,更希望它能和易用性有点关系(能让开发者参与其中,也能帮助提升MindSpore易用性)。

在经历了数轮头脑风暴之后,我们想到 何不针对开发者经常反馈的MindSpore学习资料分散、问题答案寻找困难这个问题,基于MindSpore实现一个知识问答机器人,既帮助开发者学习/实践MindSpore,输出的成果还能让开发者更容易地使用MindSpore

1. 为开发者提供便捷的问题解答途径

开源两年以来,MindSpore的编程指南、API文档、教程、FAQ等学习资料已经积累了很多,面对这些学习资料,我们希望通过问答交互方式让用户快速、直接地获得答案。例如可以将机器人集成到IDE中,让用户“手”不出IDE,通过快捷键操作就可以获得答案。也可以将机器人集成在官网或者社媒中,让开发者直接提问获取答案。

2. 与开发者共同打造一套基于MindSpore全栈的学习教程

问答机器人可以作为MindSpore在NLP领域的一个教程。同时,在构造这个项目的过程中,我们会将MindSpore的全栈能力(MindInsight、MindArmour、MindSpore XAI、MindSpore Lite、MindSpore Dev Toolkit等)应用其中,并将AI工程(如MLOps、机器学习设计模式等)系统化地实践。该案例也会录制为训练营课程,在易用性SIG活动中持续推出。

注:MindSpore全栈包括MindSpore框架以及相关组件,如MindInsight、MindArmour、MindSpore XAI、MindSpore Lite、MindSpore Dev Toolkit等。


二、知识问答机器人能做什么

知识问答机器人接受用户提问、查询相关内容、引导开发者快速获取答案,并且可以集成到IDE、官网、微信公众号、Gitee、MindSpore掌中宝等平台,供开发者通过多种方式使用。

  1. 目前初步规划的功能

1) 直接检索答案

基于用户问题,直接提供答案(包括编程指南、API映射、算子、报错地图等)。

例如:开发者希望从PyTorch将代码迁移到MindSpore,需查询API映射关系:
· 用户:pytorch torch.chunk api 对应的MindSpore API是什么?
· 机器人:对应的接口为 mindspore.ops.split,详细地址为(https://mindspore.cn/docs/api/zh-CN/r1.6/api_python/ops/mindspore.ops.Split.html#mindspore.ops.Split)

2) 多轮对话交互获取答案

通过多轮交互,引导用户补充上下文,提供答案。

例如,某用户在安装MindSpore时遇到了问题:
· 用户:安装mindspore,提示“该版本不支持当前平台”
· 机器人:请输入您的操作系统
· 用户:macOS
· 机器人:请输入您的处理器类型(Intel/M1)
· 用户:M1
· 机器人:请输入您的python版本
· 用户:3.7
· 机器人:由于M1芯片不支持python 3.7版本,建议您在python 3.9.1版本上进行安装,安装命令是:pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.1/MindSpore/cpu/aarch64/mindspore-1.6.1-cp39-cp39-macosx_11_0_arm64.whl --trusted-host http://ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 逻辑模型与主要功能:

智能问答机器人逻辑模型

各模块功能大致如下:

1. 客户端:表示以REST方式发起请求的用户,可以包括IDE、MindSpore主页、公众号、Gitee Issue、MindSpore掌中宝等;

2. NLP服务:基于训练好的模型,如Bert,提供语义理解、内容生成、会话管理等能力;

3. 数据服务:提供模型版本存储、会话状态、知识图谱的数据管理能力;

4. 监控服务:提供基础的生产环境基础设施监控以及业务监控(推理准确率等)能力;


三、加入这个项目,你能收获什么

1. 全方位学习MindSpore全栈能力,包括但不限于

  • 使用MindSpore框架训练、使用ModelZoo预训练模型、使用MindInsight精度调优;
  • 使用XAI验证模型的可解释性、使用MindArmour验证模型的可靠性;
  • 使用Serving在云/端侧部署。模型的构建、发布会基于MLOps流水线(从0到1搭建);
  • ........

2. 提升在开源社区中的影响力
通过参与开源任务,提升在MindSpore开源社区的影响力,并有机会成为易用性SIG核心成员、MindSpore资深开发者(有证书哦),事迹也会记录到易用性SIG的荣誉殿堂......

3. 获得丰富的奖励:
项目中的各任务会根据难度大小,定义相应的积分,获得积分可兑换MindSpore的精美纪念品。


四、如何加入

我们对任务初步作了分解,点击如下表格的链接了解详情。
欢迎你参与一起实现,或者一起策划新的特性。当然,过程中遇到的任何技术问题,也可以一起探讨。

任务编号 分类 需求描述 任务地址
1 环境准备 提供开发者本地开发环境配置以及MLOps流水线的环境,交付件包括配置文件、相关文档;
1. 环境配置(MindSpore/Insight、IDE插件配置等); 2. 初始化代码仓3. MLOps基础流水线搭建
https://gitee.com/mindspore/community/issues/I50YLS
2 数据集 1. 提供FAQ的语料库
2. 提供Pytorch到MindSpore的Q&A语料库 3. 提供TensorFlow到MindSpore的Q&A语料库
https://gitee.com/mindspore/community/issues/I50YH6
3 模型 提供用于MindSpore官网的对话机器人模型,完成问题答案查询的任务,交付件包括:
1. 基于Bert的训练代码 2. 基于MindSpore官网文档的调优模型(云侧部署)3. 基于MindSpore文档的调优模型压缩版(端侧部署4. 基于Serving和Lite的 端云推理 5. 端到端的notebook文件(过程需应用相关的AI设计模式) 6. 应用XAI及MindArmour的过程总结 7. 应用MindInsight进行训练调优的过程总结
https://gitee.com/mindspore/community/issues/I50TPP
4 模型 提供用于MindSpore官网的对话机器人模型,完成多轮对话交互的任务,交付件包括:
1. 基于Bert的训练代码 2. 基于MindSpore官网文档的调优模型(云侧部署) 3. 基于MindSpore官网文档的调优模型压缩版(端侧部署) 4. 端云模型的推理代码(基于Serving和Lite)
https://gitee.com/mindspore/community/issues/I50YES
5 集成 IDE集成相关代码和文档 待模型ready后发布

最后,我们想把知识问答机器人的冠名权交给广大开发者,您可以填写问卷留下您喜欢的名称,后续社区会通过评选来确定最终名称。

期待和您一起来共同打造MindSpore社区的开源知识问答机器人!

更多精彩分享,欢迎访问和关注:https://www.zhihu.com/people/wldandan

【MindSpore易点通机器人-01】你也许见过很多知识问答机器人,但这个有点不一样相关推荐

  1. 【MindSpore易点通机器人-05】问答数据预处理及编码

    作者:王磊 更多精彩分享,欢迎访问和关注:https://www.zhihu.com/people/wldandan 在上一篇[MindSpore易点通机器人-04]MLOps 环境搭建过程,我们为大 ...

  2. 原来AI也可以如此简单!教你从0到1开发开源知识问答机器人

    摘要:使用华为云EI智能机器人技术,从0到1开发一款开源知识问答机器人. 前言 最近有幸参与了开源社开源问答机器人的知识库编写,碰巧看到华为云也有类似的智能机器人,抱着试一试的心态,我开始了EI智能机 ...

  3. 机器人对话常用语模板_原来AI也可以如此简单!教你从0到1开发开源知识问答机器人...

    摘要:使用华为云EI智能机器人技术,从0到1开发一款开源知识问答机器人. 前言 最近有幸参与了开源社开源问答机器人的知识库编写,碰巧看到华为云也有类似的智能机器人,抱着试一试的心态,我开始了EI智能机 ...

  4. 【MindSpore易点通】MindSpore实践图神经网络01开篇

    图 图是一种结构化数据类型,由节点(nodes)和边(edges)组成,同时图本身也可以作为数据点. 图是一种非欧几里得数据,这也意味着它们可以存在于3D中.与图像.文本和音频等其他数据类型不同,图数 ...

  5. 【MindSpore易点通】如何实现梯度不回传以及梯度回传后不更新权重功能

    背景信息 用户在使用深度学习网络结构执行开发任务时,难免会遇到一些代码上看上去很正常,而且代价函数也在不断减小,但是因为不知道的bug存在,使得我们得到的神经网络并不是最优解.为详细排查所遇问题,故在 ...

  6. 【MindSpore易点通·漫游世界】在Jetson Nano上安装MindSpore 1.6.0 CPU版

    尽管在官网,MindSpore没有CUDA10的aarch64版本.(注:当时时刻为2022年2月) 只有aarch的CPU版本: Python的版本也只有3.6.9.但是作为昇思开发者的张小白,仍然 ...

  7. 【MindSpore易点通】安装教程

    前言

  8. 【MindSpore易点通】在开发环境下如何使用MindInsight可视化Dump数据

    1.为什么要使用开发环境中MindInsight离线调试器? 在开发环境中使用MindInsight离线调试器可以方便地查看Dump数据,具有图码映射.自动格式转换等功能,帮助用户进行精度调优分析. ...

  9. 【MindSpore易点通】深度学习系列-那些介于模糊与清楚之间的一些概念

    之前小编就给大家提过正则化(超链接),其实还有很多定义大家是有点模糊又有点清楚的,今天好好带大家一起捋一遍~~ 1训练集.验证集.测试集 正确地配置训练.验证和测试数据集,会很大程度上帮助大家创建高效 ...

  10. 问答机器人2.0!文档问答产品科普

    在之前的文章里,我们测试过百度UNIT的图形化多轮对话编辑功能TaskFlow,今天我们将带大家体验UNIT和小i机器人最新的文档问答(document-based question answerin ...

最新文章

  1. 技术流 | 手把手教你用Python设计一个命令行界面
  2. 停课不停学,大型网课直播翻车现场合集,你别笑,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊哈...
  3. 平均14915元,2021 年 1 月程序员工资统计出炉
  4. 静态路由实验配置举例
  5. jenkins 命令行 CLI jenkins-cli.jar
  6. 查看 linux 硬件信息:内存、分区、系统、环境变量、防火墙、路由、端口监听、进程、CPU...
  7. Qt中Tcp通信的简单使用二
  8. 使人无条件相信你的5个策略
  9. 剑指offer面试题[32]:从1到n整数中1出现的次数
  10. Vue3.0的有优点有哪些?它比vue2快在哪?
  11. 常见SMTP发送失败原因列表
  12. 网易云音乐打卡听歌300首源码
  13. 零基础程序员如何自学编程?用这6种方法就够了!
  14. ie11不兼容 html编辑器,ewebeditor编辑器已经不能兼容IE11
  15. 什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!
  16. 蚂蚁管网参数化三维建模方案
  17. CodeForces1144 C - Two Shuffled Sequences
  18. 解决fatal: could not get a repository handle
  19. 210222课堂整理(异常捕获和正则)
  20. 查询至少具有两份工作员工的姓名和其公司名

热门文章

  1. IT经理人:提高团队工作效率的11个方法
  2. 小团队如何提高工作效率
  3. 信息可视化——走近人类命运共同体
  4. java枚举类的作用及其使用
  5. Deepfacelab 小白教程
  6. python图片添加文字
  7. iAd框架详细解析 —— ASM
  8. 移动端日历组件设计与实现
  9. python当中df的用法_Pydf替代“df”命令检查不同颜色的磁盘使用情况
  10. 4针串口线接法图_串口通信RS232的基本接法,原来这么简单,今天终于弄明白了...