Skip to content

增加一篇 one_embedding 的 howto guide #461

@doombeaker

Description

@doombeaker

基于 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 为例,展示一个更贴近工业实际的例子(现有文章中有相关代码,不过好像格式残缺了)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions