oneflow-documentation icon indicating copy to clipboard operation
oneflow-documentation copied to clipboard

增加一篇 one_embedding 的 howto guide

Open doombeaker opened this issue 3 years ago • 3 comments
trafficstars

基于 https://github.com/Oneflow-Inc/OneCollections/blob/a67287b649b39fd2bc29a17afeefbd9d241e73b1/OneEmbedding/one_embedding_tutorials.md

写一篇 howto guide

大纲

  1. 简要说明 Embedding 现在算基操,非常简单代码展示下 flow.Embedding 的使用(创建 Embedding,查Embedding表)
  2. 过渡到OneEmbedding ,说实际工业需要更强大的 embedding,然后概述说明 OneEmbedding:和现有的内容差不多。需要注意:是否可以更精简,去掉与 howto 无关的部分(即无法操作感知的部分);以及:是否要调换顺序,使得概要的各个功能点的顺序,和后文中的正文介绍的顺序一致
  3. 使用 OneEmbedding 创建一个 Embedding 的示例。只需要展示最基本的功能(展示 make tables(设定表、行)、设定列、store_options 使用最普通的(GPU?)、查表(因为必需使用 Graph,可能还需要定义个极简的Graph))。然后说明下代码,哪里的代码设置了 embedding 的大小(行),哪里的代码设定了列(好像是动态扩容的不需要特别设置,这个根据实际情况调整),哪里是实例化 embedding ,哪里是查表。然后过渡到更细致更高级的功能
  4. 介绍OneEmbedding提供了三种存储选项,分别的意义。介绍如何做选择的依据(现有文章中有)。然后一个或多个具体的可以运行的代码例子,并对参数的设置做解释。最后说明更详细的使用参考,可查 API DOCS
  5. 动态扩容示例(即如何在运行时给 embedding table 插入特征,我在现有文章中还没看到)
  6. Embedding table 的存储和加载。配置可以运行的代码即可
  7. 实例进阶:以上的展示的词表并不大,现在以 DLRM 为例,展示一个更贴近工业实际的例子(现有文章中有相关代码,不过好像格式残缺了)

doombeaker avatar Apr 01 '22 13:04 doombeaker

关于第 5 点我不是很确定。用户做什么操作时,可能会导致 OneEmbedding Table 动态扩容呢?应该是插入新特征时,但是现有文章和 API DOCS 中我好像没看到相关的代码例子。

@guo-ran

doombeaker avatar Apr 01 '22 13:04 doombeaker

这个链接所提供的oneflow的DLRM例子网址已经失效,第七点-以 DLRM 为例,展示一个更贴近工业实际的例子-有现存的例子么

QiaolingChen00 avatar Apr 05 '22 10:04 QiaolingChen00

这个链接所提供的oneflow的DLRM例子网址已经失效,第七点-以 DLRM 为例,展示一个更贴近工业实际的例子-有现存的例子么

看了下,因为已经合并到 master 分支了,现在在这里: https://github.com/Oneflow-Inc/models/tree/main/RecommenderSystems/dlrm

doombeaker avatar Apr 06 '22 01:04 doombeaker