当前位置:网站首页>【MindSpore易点通机器人-01】你也许见过很多知识问答机器人,但这个有点不一样
【MindSpore易点通机器人-01】你也许见过很多知识问答机器人,但这个有点不一样
2022-08-05 09:55:00 【昇思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后发布 |
最后,我们想把知识问答机器人的冠名权交给广大开发者,您可以填写问卷留下您喜欢的名称,后续社区会通过评选来确定最终名称。
期待和您一起来共同打造MindSpore社区的开源知识问答机器人!
更多精彩分享,欢迎访问和关注:https://www.zhihu.com/people/wldandan
边栏推荐
- MySQL使用聚合函数可以不搭配GROUP BY分组吗?
- 正则表达式replaceFirst()方法具有什么功能呢?
- Bias lock/light lock/heavy lock lock is healthier. How is locking and unlocking accomplished?
- Going to book tickets tomorrow, ready to go home~~
- js graphics operation one (compatible with pc, mobile terminal to achieve draggable attribute drag and drop effect)
- 开源一夏|OpenHarmony如何查询设备类型(eTS)
- 仿SBUS与串口数据固定转换
- Excuse me if you want to write data in mysql, with flink - connector - JDBC directly is ok, but I'm in the f
- 2.4G无线收发模块的应用
- 21 Days of Deep Learning - Convolutional Neural Networks (CNN): Weather Recognition (Day 5)
猜你喜欢
5.部署web项目到云服务器
Example of Noise Calculation for Amplifier OPA855
偏向锁/轻量锁/重级锁锁锁更健康,上锁解锁到底是怎么完成实现的
电竞、便捷、高效、安全,盘点OriginOS功能的关键词
皕杰报表的下拉框联动
NowCoderTOP35-40——持续更新ing
Custom filters and interceptors implement ThreadLocal thread closure
Dry goods!Generative Model Evaluation and Diagnosis
DFINITY 基金会创始人谈熊市沉浮,DeFi 项目该何去何从
Why do I recommend using smart async?
随机推荐
tensorflow.keras cannot introduce layers
Microservice Technology Stack
Seata source code analysis: initialization process of TM RM client
自定义过滤器和拦截器实现ThreadLocal线程封闭
2022-08-01 Review the basic binary tree and operations
深度学习21天——卷积神经网络(CNN):天气识别(第5天)
公众号如何运维?公众号运维专业团队
matcher中find,matches,lookingAt匹配字符串的不同之处说明
19. Server-side session technology Session
科普大佬说 | 港大黄凯斌老师带你解锁黑客帝国与6G的关系
eKuiper Newsletter 2022-07|v1.6.0:Flow 编排 + 更好用的 SQL,轻松表达业务逻辑
Egg framework usage (1)
PHP 操作mangoDb
语音社交软件开发——充分发挥其价值
Wei Dongshan Digital Photo Frame Project Learning (6) Transplantation of tslib
Is there a problem with writing this?How to synchronize data in sql-client
Handwriting Currying - toString Comprehension
Egg framework usage (2)
egg框架使用(二)
The technological achievements of Shanghai Konan were selected into the "2021 Shanghai Network Security Industry Innovation Research Achievement Catalog" by the Municipal Commission of Economy and Inf