当前位置:网站首页>【MindSpore Easy-Diantong Robot-01】You may have seen many knowledge quiz robots, but this one is a bit different
【MindSpore Easy-Diantong Robot-01】You may have seen many knowledge quiz robots, but this one is a bit different
2022-08-05 10:01:00 【Ascension MindSpore】

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) 直接检索答案
基于用户问题,直接提供答案(包括编程指南、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后发布 |
最后,我们想把知识问答机器人的冠名权交给广大开发者,您可以填写问卷留下您喜欢的名称,后续社区会通过评选来确定最终名称.
Looking forward to working with you to build togetherMindSporeThe community's open source knowledge question answering bot!
更多精彩分享,Welcome to visit and follow:https://www.zhihu.com/people/wldandan
边栏推荐
- The difference between find, matches, lookingAt matching strings in matcher
- MySQL advanced (twenty-seven) database index principle
- 告白数字化转型时代:麦聪软件以最简单的方式让企业把数据用起来
- 干货!生成模型的评价与诊断
- Why are RELTABLESPACE values 0 for many tables displayed in sys_class?
- js graphics operation one (compatible with pc, mobile terminal to achieve draggable attribute drag and drop effect)
- Happens-before rules for threads
- three.js调试工具dat.gui使用
- Seata source code analysis: initialization process of TM RM client
- Imitation SBUS fixed with serial data conversion
猜你喜欢

Open Source Summer | How OpenHarmony Query Device Type (eTS)

欧盟 | 地平线 2020 ENSEMBLE:D2.13 SOTIF Safety Concept(上)

【zeno】为zeno增加子模块/新节点的最小化的例子

一文道清什么是SPL

seata源码解析:TM RM 客户端的初始化过程

CPU的亲缘性affinity

Pytorch深度学习快速入门教程 -- 土堆教程笔记(三)

科普大佬说 | 港大黄凯斌老师带你解锁黑客帝国与6G的关系

JS逆向入门学习之回收商网,手机号码简易加密解析

还在找网盘资源吗?快点收藏如下几个值得收藏的网盘资源搜索神器吧!
随机推荐
HStreamDB Newsletter 2022-07|分区模型优化、数据集成框架进一步完善
Development common manual link sharing
PHP operation mangoDb
[Unity] [UGUI] [Display text on the screen]
Jenkins使用手册(2) —— 软件配置
How to realize the short press and long press detection of the button?
Jenkins manual (2) - software configuration
自定义过滤器和拦截器实现ThreadLocal线程封闭
蚁剑webshell动态加密连接分析与实践
Pytorch深度学习快速入门教程 -- 土堆教程笔记(三)
首次去中心化抢劫?近2亿美元损失:跨链桥Nomad 被攻击事件分析
Two-table query average grouping in sql server
Tanabata romantic date without overtime, RPA robot helps you get the job done
长达四年的减肥记录
The Seven Weapons of Programmers
技术干货 | 基于 MindSpore 实现图像分割之豪斯多夫距离
无题十四
2022.8.3
NowCoderTOP35-40 - continuous update ing
百年北欧奢华家电品牌ASKO智能三温区酒柜臻献七夕,共品珍馐爱意