此外,从去年11月中旬开始,我在 OneFlow 五个月的实习告一段落,在文末,我对这段时间的工作和收获做了简单总结。
首先,Global Tensor 的 Placement 属性可以指定该 Tensor 存放在哪个物理设备上。我们重点看下 SBP 的设计,它完成了全局张量和相应的局部张量之间映射的数学抽象。
对于一个 Global Tensor,我们可以任意设置它的 SBP。但是,对于有输入、输出数据的 Ops,不允许随意设置它的输入、输出的 SBP 属性。因为随意设置 Ops 的输入输出 SBP 属性,可能不符合全局视角下算子的运算法则,所以 SBP Signature 的概念被提出。
以上介绍的是 1D SBP,为了兼容更复杂的分布式训练场景,OneFlow 也提供了 2D SBP。我们简单来看下区别,首先是 Placement 配置的区别:
对于 SBP Signature,同样也有 2D 的版本,在 1D 的基础上,在两个维度上分别独立推导,做矩阵乘。
基于上面两节的内容看下代码,其中有典型的 to_global 方法使用,这部分内容也对应 OneFlow 论文的3.4节。
此时,上一层的输出与下一层的输入,它们的 SBP 并不一致,这是不允许的。所以,基于Boxing 机制,我们使用to_global方法将split(0)转换为broadcast,也就是代码参数中的sbp=y0_sbp。
基于上面的内容,其实 Global Tensor 的概念就更清晰了,在 OneFlow 的设计中,它就是为了能够满足 Global View(全局一致性视角)所需抽象的一种特殊 Tensor。
上面简单介绍了下我对 Global Tensor 的理解,在这一部分总结下我的实习工作和收获:
Hugging News #0626: 音频课程更新、在线体验 baichuan-7B 模型
RheaTrace v2.0.0 发布,高性能 Android trace 工具
Spring Shell 2.1.11、3.0.6 和 3.1.2 发布
Docker 收购 Mutagen,提升 Docker Desktop 性能和灵活性
聚焦 5 大技术领域,腾讯 2023 年度犀牛鸟开源人才培养计划启动报名
Gitee 推荐 基于 ChatGPT 实现的微信小程序 ChatGPT-MP
avue v2.10.15 已经发布,基于 Element 的前端框架
JetBrains IDE 集成 LLM —— AI 助手 (AI Assistant) 上线
假期充电,用阿里云 Serverless K8s + AIGC 搭建私人代码助理
直播|SeaTunnel 与 StarRocks 生态融合--让大数据处理回归「简单」
大量远程职位、不限城市|Hugging Face 2023 实习生招募,只等你来!
什么是 LuaJIT?为什么 Apache APISIX 选择了 LuaJIT?
【AI 简报 202305269期】谨防AI诈骗!避免AI合成歌手的使用不侵犯个人知识产权
直播预告|StoneDB 源码解读:server 模块流程及源码介绍 —— 通信连接和指令处理
2023 STM32中国峰会,RT-Thread在生态系统与开发者社区分论坛等你!
新年新气象,宋少华老师与您相约Postgres.Live线上系列沙龙第三期
英飞凌联合 RT-Thread 发布 PSoC™ 62 with CAPSENSE ™ evaluation kit开发板
CubeFS在大数据和机器学习的探索和实践丨ArchSummit峰会实录
【AI简报第20230210期】 ChatGPT爆火背后、为AIoT和边缘侧AI喂算力的RISC-V
打通 Apache Pulsar 与 Envoy,构建高效游戏 OTO 营销平台实践
LFX Mentorship 2023年第一期实习开启:构建云计算的未来基石
直播倒计时 Unity 游戏开发:通过 RiderFlow 设计和管理场景
首汽约车驶向极速统一之路!出行平台如何基于StarRocks构建实时数仓?
社区供稿 NLG专委会真知主题讲坛(GenTalk第7期)--大模型预训练和微调技术及心得
一款功能强大的 Cocos Creator 富文本插件!更炫的效果,更少的开销!
兔年首播!Openpie吴疆老师与您相约Postgres.Live线上系列沙龙第四期
PingCAP 黄东旭万字长文剖析数据库发展新趋势:脱离应用开发者的数据库,不会成功
Vue DevUI v1.4 版本发布:从体验、效率、质量三个方面做了全方位的优化
下一篇:科普盘点]安信10主管【百科-智库百科】 - O9bMAKb8的个人空间 - OSCHINA