模型训练黑话
先写着,以后有空再整理
“冻结”的模型在训练时是只做 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的东西?(不确定)
- Method(方法) 定义:指的是解决问题的策略、算法或训练方法,是抽象的“做事方式”。
重点:强调“怎么做”。
示例:
优化方法:SGD(随机梯度下降)、Adam
训练技巧:数据增强、迁移学习
模型类型的方法论:监督学习、无监督学习、强化学习
理解:方法是理论和流程上的指导,不必具体到某个模型的参数或网络结构。
- Model(模型) 定义:是对某类问题的具体实现,是方法的具体化。
重点:强调“做什么”,即模型学到的函数或映射关系。
示例:
线性回归模型
ResNet50
GPT-4
理解:模型是一个具体的函数或程序,它有明确的输入和输出,也有可训练的参数。模型通常是在某个方法下被训练出来的。
- 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