GR00T源码深入解析






GR00T代码架构主要分为两部分,VLM和Flow matching两部分。其中VLM部分就是处理视觉语言模块,这部分较为清晰,基本就涉及一个接口脚本eagle_backbone.py脚本。eagle2_hg_model文件则是标准的hg模型文件,可以直接去hg上面搜eagle2就可以找到对应的模型文件。较为复杂部分就是Flow Matching部分,这部分涉及到理论知识较多,得先去看看扩散模型和Flow Matching,再去看代码会清楚一点。
VLM部分
VLM这块,GROOT用的是eagle模型。1. 主要位置:gr00t/model/backbone/
– eagle_backbone.py: VLM的封装和接口
– eagle2_hg_model/: 实际的Eagle VLM模型文件
Flow matching部分
关于这部分会涉及到比较多的理论知识,如果直接去看代码会比较晦涩难懂。所以建议先去看看相关的理论知识,一些公式,再去看代码理解会更快。网上搜搜深入解析Flow Matching技术,可以理解相关理论。Flow Matching的理论基础主要来源于概率论当中的Normalizing Flow。Normalizing Flow 是通过一系列可逆可微变换,把一个简单的概率分布映射为一个复杂目标分布的方法。我自己的理解就是:Normalizing Flow 就是一个概率分布可以经过有限次可逆变换变为另外一个概率分布。理解完NF,CNFs之后,再去看FM。FM的核心思想在于,通过确保模型预测的向量场与描述数据点实际运动的向量场之间的动态特性保持一致性,从而确保通过CNFs变换得到的最终概率分布与期望的目标分布相匹配。也就是Flow Matching计算loss的时候是直接计算两个场之间的loss,而非利用ODE大量计算去拟合。这样就节省的了计算复杂度。理论部分理解完,代码解析部分如图所示。#具身智能 #算法#GR00T部署 #机器人
VLM部分
VLM这块,GROOT用的是eagle模型。1. 主要位置:gr00t/model/backbone/
– eagle_backbone.py: VLM的封装和接口
– eagle2_hg_model/: 实际的Eagle VLM模型文件
Flow matching部分
关于这部分会涉及到比较多的理论知识,如果直接去看代码会比较晦涩难懂。所以建议先去看看相关的理论知识,一些公式,再去看代码理解会更快。网上搜搜深入解析Flow Matching技术,可以理解相关理论。Flow Matching的理论基础主要来源于概率论当中的Normalizing Flow。Normalizing Flow 是通过一系列可逆可微变换,把一个简单的概率分布映射为一个复杂目标分布的方法。我自己的理解就是:Normalizing Flow 就是一个概率分布可以经过有限次可逆变换变为另外一个概率分布。理解完NF,CNFs之后,再去看FM。FM的核心思想在于,通过确保模型预测的向量场与描述数据点实际运动的向量场之间的动态特性保持一致性,从而确保通过CNFs变换得到的最终概率分布与期望的目标分布相匹配。也就是Flow Matching计算loss的时候是直接计算两个场之间的loss,而非利用ODE大量计算去拟合。这样就节省的了计算复杂度。理论部分理解完,代码解析部分如图所示。#具身智能 #算法#GR00T部署 #机器人
夜雨聆风
