Skip to content

Latest commit

 

History

History
100 lines (57 loc) · 5.7 KB

20220320_docs_eval_docs.md

File metadata and controls

100 lines (57 loc) · 5.7 KB

飞桨文档体验方案

领域 飞桨文档体验方案
提交作者 OneBeaker
提交时间 2022-03-20
版本号 V1.0
依赖飞桨版本 paddlepaddle-gpu==2.2
文件名 20220320_docs_eval_docs.md

一、概述

1、相关背景

飞桨框架于 2.0 做了大版本改动,如全面支持了动态图训练、更平滑过渡的动静转换等,针对这些功能,Paddle 也新增了对应的使用文档。

希望有人从用户角度关注文档的宏观组织。包括使用指南、应用实践、API 文档等层级的目录组织;以及使用指南内各个文档的内容组织,粒度大致到文档的标题即可。

2、功能目标

深度体验飞桨训练功能,并产出一份文档功能体验报告。主要关注文档的宏观组织,分析粒度大致在文档标题层次。

3、意义

从用户角度体验飞桨,发掘文档体系中可以改善的功能点。

二、飞桨现状

飞桨从 2.0.0 从 1.x 到 2.0 做了较大的功能更新。对应的文档,也随着做出了较大的改动。

飞桨的文档 显式遵循了 https://documentation.divio.com/ 所描述的文档体系。这与 MindSpore 类似。与 PyTorch 不同。这在用户体验上各有特色,给用户不同的感受。

在本次黑客松之前,未见有人发起对飞桨 2.0 之后的文档做充分分析并生成体验报告。

三、业内方案调研

国内外主流框架及其文档组织风格罗列如下:

  • TensorFlow:TF 文档 主要分为 learn、tutorial、guide、API 四个分类。
  • PyTorch:PyTorch 主要分为 tutorial 和 API 两个分类。
  • 飞桨: Paddle 主要分为 使用指南、应用实践、API 与 FAQ 四个分类。
  • OneFlow: OneFlow 主要包括了教程与 API 两个分类。
  • MindSpore: MindSpore 主要包括了教程、文档、API 三个分类。

四、对比分析

PyTorch 作为第一个将动态图模式发扬光大的深度学习框架,目前的文档生态最为丰富,积累了大量的官方、第三方的学习资料。

TensorFlow 最早方便地、较完备地实现了模型预研、训练到工业部署的问题,在此方面积累了丰富的基础组件和用户群体。不过在 API 设计方面,TensorFlow 由于各种原因导致的 API 功能重复、概念复杂,降低了用户体验感受,同时也间接影响到了文档结构的清晰。

其它的主流深度学习框架,都或多或少受到 TensorFlow 与 PyTorch 的影响。

总结而言,影响用户体验的文档、API 接口可以归为以下几个方面:

  • 文档的宏观组织是否合理,包括文档的层级结构、分类
  • 文档的行文风格是否适当,如文档之间概念是否一致,文档之间的交叉引用是否充分
  • 文档的内容,包括是否能清晰传达概念,是否有必备和充分的配套代码

五、设计思路与实现方案

本报告将预计基于以下几方面的体验形成文字:

  1. 假定用户是新手上路:用户简单了解 PyTorch 或者其它框架,但是还未接触过飞桨,对深度学习的了解也有限,他如何从飞桨文档官网上获取信息上手飞桨。
  2. 假定用户是初中级算法工程师:用户已经掌握深度学习的基础技能,现有利用 Paddle 搭建模型进行训练、部署等任务的需求,或者有迁移模型的需求。他如何依据飞桨文档官网上的信息,完成任务,并验证正确性。
  3. 假定用户是开源爱好者:当用户想自发地为飞桨的文档做贡献时,他如何依据飞桨公开的信息,获取到他能参加哪些活动,如何参与到飞桨的开源建设中来。
  4. 假定用户是专家级贡献者:用户有框架开发能力,或者有自定义框架、拓展框架功能(如自定义算子)的需求,他如何依据公开的信息,参与到飞桨的(定制)开发中。

报告形成的维度包括:

  • 文档的宏观组织:依据 https://documentation.divio.com/ 中的文档四象限理论,与其它主流框架做对比,讨论飞桨的文档组织的特点
  • 文档的完备性:与其它框架做对比,综合各个框架,看怎样是“完备”的信息,并讨论飞桨的完备度和特点
  • 文档的风格特点:在文档的不同分类之间做对比,分析和归纳不同类型的文档(如指南、实践、API 文档等)它们各自应有的结构特点及优势。并讨论现有的各类文档是否足够满足各自归属类别的结构特点、是否充分发挥了应有的优势
  • 结合其它用户体验良好的 AI 领域的有关库(如 HuggingFace)做对比分析

命名与参数设计

因为是报告形式,无 API 接口设计

六、测试和验收的考量

提交深度体验报告及相关代码(如果有)。具体考量标准和方式以飞桨 RFC 中讨论为准。

七、可行性分析和排期规划

对各主流深度学习框架已经有一定了解,需要进一步做细致的体验测试及分析。形成详细的报告文档。

预计整体的工作量在三周内可完成,不会晚于黑客松设定的验收 DDL。

八、影响面

名词解释

附件及参考资料