模型训练黑话

先写着,以后有空再整理

“冻结”的模型在训练时是只做 forward,不做 backward。= 只做推理,不参与训练

对齐?

checkpoint:保存模型

embedding层是干啥的?干了一些得到task的工作?把 图像嵌入、语言嵌入、状态嵌入 拼接成一整段前缀序列,并且同时构造:

pad_masks:标记哪些 token 是“真实的” (1) 哪些是 padding (0);

att_masks:标记这个 token 属于哪一类域(0=图像/语言,1=状态/动作),以便后面 make_att_2d_masks 限制注意力连接。

概括之后,构造条件输入序列

设备

TOPS (Tera Operations Per Second) = 每秒可执行的万亿次整数运算数量。

Tensor Core 是 NVIDIA 从 Volta 架构开始引入的 专门加速矩阵运算的单元,对深度学习的训练和推理特别重要。

它们可以一次性处理 矩阵乘法 + 累加 (MAC) 运算,这是神经网络计算的核心操作。

对 AI 推理和训练,Tensor Core 的作用比普通 CUDA 核心更大。

目标

拟合和泛化这两个概念有什么联系吗?

fitting and generalization

1. 拟合(fitting)

  • 指模型在训练数据上的表现。

  • 如果模型能很好地“拟合”训练集,说明它学到了训练数据中的规律。

  • 拟合的程度常用训练误差来衡量。

    - 欠拟合(underfitting):模型太简单,训练集都学不好。

    - 过拟合(overfitting):模型太复杂,把训练集里的噪声或偶然性也“背”下来。

2. 泛化(generalization)

  • 指模型在未见过的新数据上的表现。

  • 泛化能力强的模型,不仅训练集学得好,在测试集或现实数据上也能保持较低误差。

3. 两者的关系

  • 拟合是前提,泛化是目标

    - 如果模型连训练集都拟合不好(欠拟合),就更不可能泛化好。

    - 但模型拟合得“过头”(过拟合),就会牺牲泛化能力。

  • 所以两者之间存在一个平衡点:

    - 适度拟合 → 泛化效果最佳。

    - 欠拟合/过拟合都会导致泛化能力下降。

vla其实不太好有拟合的表现吧,真的会有吗

方法/框架/模型这些看起来比较相似的词: 模型和框架:不一定是一个东西,虽然很多的名字一样,模型更倾向于训练出来的off-the-shelf的东西?(不确定)

  1. Method(方法) 定义:指的是解决问题的策略、算法或训练方法,是抽象的“做事方式”。

重点:强调“怎么做”。

示例:

优化方法:SGD(随机梯度下降)、Adam

训练技巧:数据增强、迁移学习

模型类型的方法论:监督学习、无监督学习、强化学习

理解:方法是理论和流程上的指导,不必具体到某个模型的参数或网络结构。

  1. Model(模型) 定义:是对某类问题的具体实现,是方法的具体化。

重点:强调“做什么”,即模型学到的函数或映射关系。

示例:

线性回归模型

ResNet50

GPT-4

理解:模型是一个具体的函数或程序,它有明确的输入和输出,也有可训练的参数。模型通常是在某个方法下被训练出来的。

  1. Architecture(架构/结构) 定义:指模型内部的设计或组织方式,即神经网络各个部分如何连接、如何组织。

重点:强调“内部结构怎么设计”。

示例:

CNN(卷积神经网络)架构

Transformer 架构

LSTM 架构

理解:架构描述模型“长什么样”,但不涉及训练细节。一个架构可以用不同方法训练得到不同模型。

架构不是“更高级的概念”,而是比方法更具体一些,但比模型抽象,因为模型还包含训练后的参数。

非结构化环境unstructured settings - 环境不固定:物体位置、场景布局随时变化。 - 规则不明确:没有严格的操作流程或约束。 - 任务多样:机器人可能需要完成不同类型的任务,不是单一重复动作。

Prefix token 和 Context token没懂,也没有搜到什么详细解释的

搜到prefix tuning,找不到,发邮件问一下,希望能有结果

在语言模型或 Transformer 系统里,“token” 是模型处理信息的基本单位(可以是单词、子词,甚至是向量化的状态表示)。 #### Prefix token

  • 作用:作为固定的“引导信息”或“任务提示”,模型在生成动作前就已经看到。

  • 特点

    • 通常是静态的,在生成序列过程中不会变化。

    • 类似于给模型预设一个任务或背景。例如:

      • 指定“请把物体抓起来”的指令向量。

      • 编码机器人任务参数或初始状态。 在 Transformer 中,这些 token 会在输入序列开头,帮助模型理解整个任务。

  • 因为 Transformer 的自注意力机制允许每个生成位置访问序列中之前的所有 token,包括 prefix。

  • 所以即便你在时间步 t 生成第 5 个动作,prefix token 仍然在输入序列开头,模型可以参考。 #### Context token

  • 作用:提供模型需要随时参考的可变信息,通常是场景、历史动作或图像特征。

  • 特点

    • 可以是动态变化的,随着时间步更新。

    • 让模型感知当前状态或环境信息。 模型每一步生成动作时都会看到这些 token。

换句话说,它们的本质区别是信息类型和功能

  • prefix = “我要做什么”(任务目标)
  • context = “我现在在哪/看到了什么”(状态信息)

没有严格区分固定/动态

那为什么要分两种token???

怎样写综述:在一个大领域(如 autoregression-based 模型)里,怎么设计一套合理的分类框架,让各种方法都有逻辑地被归纳进去

从研究的核心动机、目标、方法路径、约束条件出发,提炼出“几条研究主线”。一般来说,分类维度可从以下四个层次抽象出来:

层次 问的问题 典型分类维度
1️⃣ 目标导向 (What for) 研究的终极目标是什么? 泛化、推理、效率、鲁棒性、安全性等
2️⃣ 方法机制 (How) 技术路线怎么实现目标? 自回归 / Diffusion / 强化学习 / 模块化 等
3️⃣ 数据与输入 (On what) 模型依赖什么输入或数据结构? 视觉语言融合、模态对齐、轨迹标注、模拟器数据 等
4️⃣ 结构与推理层次 (At what level) 作用于哪个智能层次? 感知层、语义规划层、控制层、元学习层 等

自回归需要做到tokenize inputs