news 2026/6/20 21:35:51

FRSM 训练实验报告

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FRSM 训练实验报告

硬件环境

项目规格
GPUNVIDIA RTX 4090D × 1 (22.15 GB VRAM)
CPUx86_64
RAM~32 GB
存储/mnt/scratch (tmpfs, 用于数据缓存)

运行对比总览

V1 (原版 FRSM)V6 (非 Fast)V6 Fast (200M)V6 Fast (417M) ⭐
模型文件frsm.pyfrsm_v6.pyfrsm_v6a_fast.pyfrsm_v6a_fast.py
架构原始 FRSM多尺度状态机 (逐 scale 循环)多尺度状态机 (einsum 并行)同左
d_model1904190419043000
参数量~180M~200M~200M~417M
num_scales444
batch_size40 (GRPO)404040
max_seq_len384384384384
训练模式GRPO (含 critic)纯 pretrain纯 pretrain纯 pretrain
训练步数27,700/317,5775,850+/396,97512,6006,450+/396,975
最佳 loss~2.97 (lm)~2.78~2.55 (平台)~2.75 (下降中)
速度 (tok/s)~7,080 (177×40)~5,360 (134×40)9,240~2,320 (58×40)
GPU 内存21.1 GB19.6 GB (含优化器)
epochs~0.26~0.03~0.06~0.03 (进行中)

详细记录

V1 — 原版 FRSM (GRPO 训练)

  • 文件:frsm.pytrain_pretrain.pytrain_grpo.py(含 critic loss)
  • 参数: d_model=1904, head=8, n_layer=12, 约 180M
  • 训练: GRPO, 含 lm_loss + crit_loss
  • 状态: step 27,700/317,577, loss=2.97 (lm) + 1.02 (crit), lm 已平台化
  • 速度: ~7,080 tok/s (177 raw × 40 batch)
  • 日志:train_out.txt(555 条记录)
  • 检查点:frsm_checkpoints/(2.4 GB)
  • 结论: 原始架构已瓶颈,lm loss 无法继续下降(~2.97 平台),转 V6 架构

V6 — 非 Fast 多尺度 (200M)

  • 文件:frsm_v6.pytrain_frsm_v6.py
  • 参数: d_model=1904, num_scales=4, ~200M
  • 改进: 多头尺度状态机 + 内容门控 + 门控 soft 更新
  • 状态: step 5,850/396,975, loss=2.78 (仍在下降)
  • 速度: ~5,360 tok/s (134 raw × 40 batch) —瓶颈: Python 逐 scale 循环
  • 日志:train_v6_out.txt(118 条记录)
  • 检查点:frsm_v6_checkpoints/(2.3 GB)
  • 问题: 4 个 scale 用 Python for 循环串行计算,GPU 利用率不足

V6 Fast (200M) — Einsum 并行化

  • 文件:frsm_v6a_fast.py(初始版)
  • 改进: 将所有 scale 权重合并为 (ns, d, 2d) 张量,用einsum一次计算全部 4 个 scale
  • 初始问题:batch_size=64OOM (21.1 GB)
  • 修复 1: batch_size 降为 40
  • 修复 2:_init_weights— stacked tensor 上用 kaiming_uniform 的 fan_in 计算错误(44x 偏小),改为逐 scale 单独 init
  • 修复 3:outputs.append+torch.cat→ 预分配torch.empty(B,T,vs),节省 ~1.7 GB
  • 状态: step 12,600, loss=2.55平台化— 200M 容量已耗尽
  • 速度: 9,240 tok/s(比 V6 非 Fast 快 72%)
  • 结论: 模型容量瓶颈,决定尝试 400M+

V6 Fast (417M) ⭐ 当前运行

  • 文件:frsm_v6a_fast.py(当前版)
  • 启动参数:--d_model 3000 --num_scales 4 --batch_size 40 --max_steps 396975 --lr 0.0005
  • 当前状态: step6,450/ 396,975, loss=2.75(持续下降中)
  • 速度: ~2,320 tok/s (d=3000 的 d² 缩放导致比 200M 慢 4×)
  • GPU 内存: 20.9 GB / 23.0 GB (91%) — 含模型 + 梯度 + AdamW 状态
  • GPU 温度: 54°C, 利用率: 100%
  • epoch 进度: ~3%
  • 预计 ETA: ~16 天完成 1 epoch
  • 关键修复:
    • TF32 NaN:torch.set_float32_matmul_precision('highest')— TF32 的 10-bit 尾数在 6000 维 einsum 内积中溢出,导致 NaN
    • 未初始化 bias:b_candgate_b1gate_b2未在_init_weights中初始化,torch.empty返回 garbage/NaN。修复: 显式nn.init.zeros_

内存分析(d=3000, bs=40)

组件大小
模型参数 (417M × 4B)1.67 GB
梯度 (417M × 4B)1.67 GB
AdamW 状态 (2 × 417M × 4B)3.34 GB
持久占用合计6.68 GB
前向激活 (batch 峰值)~3-4 GB
缓存分配器碎片~1-2 GB
实际峰值~20.9 GB

速度对比(d 缩放)

d_model参数量tok/s相对速度
1904~200M9,2401.00×
3000~417M2,3200.25×

速度下降约 4×,与 d² 缩放一致(注意力 + einsum 均为 O(d²))。

损失曲线

文件清单

文件角色大小
frsm.pyV1 模型定义
frsm_v6.pyV6 非 Fast 模型
frsm_v6a_fast.pyV6 Fast 模型(当前)9.0 KB
train_frsm_v6_fast.pyV6 Fast 训练脚本
train_out.txtV1 训练日志 (555 entries)
train_v6_out.txtV6 非 Fast 日志 (118 entries)
train_v6_fast_out.txtV6 Fast 417M 日志 (130 entries)
frsm_checkpoints/V1 检查点2.4 GB
frsm_v6_checkpoints/V6 非 Fast 检查点2.3 GB
frsm_v6_fast_checkpoints/V6 Fast 417M 检查点(当前)4.7 GB
/mnt/scratch/pretrain_t2t_mini.jsonl_cache_8470000_384_v2.pt数据集缓存~18 GB
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/20 21:33:09

p035基于python的豆瓣电影数据分析可视化系统2(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)

p035基于python的豆瓣电影数据分析可视化系统2(设计源文件万字报告讲解)(支持资料、图片参考_降重降ai) python3.7flaskmysql5.7vuespider 系统拥有管理员和用户两个角色,主要具备个人中心、电影管理、用户管理、系统管理等功能模块。 管理员…

作者头像 李华
网站建设 2026/6/20 21:31:17

JMeter响应时间图实战:告别平均值陷阱,精准定位性能瓶颈

1. 性能测试的“体检报告”:为什么平均值会骗人?如果你做过性能测试,或者看过测试报告,大概率会见过类似这样的结论:“系统平均响应时间为200ms,满足预期要求”。然后大家皆大欢喜,上线后却发现…

作者头像 李华
网站建设 2026/6/20 21:25:16

Cewl实战:从企业官网生成高针对性密码字典的渗透测试技术

1. 项目概述:从官网到字典的渗透测试思维在渗透测试的初期阶段,信息收集的深度和广度往往决定了后续攻击路径的成败。其中,针对特定目标的密码字典构建,是一项极具实战价值却又常被忽视的“精细活”。传统的字典库虽然庞大&#x…

作者头像 李华
网站建设 2026/6/20 21:19:03

GPT响应质量波动真相:资源调度、灰度发布与降级机制解析

1. 这不是你的错觉:6月下旬GPT响应质量集体下滑的实况复盘 最近三四天,也就是6月24号到27号之间,我刷了不下二十个技术群、七个AI开发者论坛,还有三个长期维护的用户反馈表单,发现一个高度一致的现象:大量真…

作者头像 李华
网站建设 2026/6/20 21:15:49

Codex Windows版实操指南:本地AI编程引擎部署与调优

1. 项目概述:这不是一份“新闻简报”,而是一份面向开发者的AI工具链实操备忘录看到标题里“2026年03月06日 AI 科技日报”这个时间戳,别急着划走——它不是一张过期的报纸,而是一个精准锚定当前技术演进节奏的坐标点。真正值得你花…

作者头像 李华