资讯动态

InternVideo 蒸馏实践:如何把1B教师模型压缩为轻量S/B/L学生模型

发布时间:2026/10/4 5:03:02 来源:尧图企业网站定制
InternVideo 蒸馏实践如何把1B教师模型压缩为轻量S/B/L学生模型【免费下载链接】InternVideo[ECCV2024] Video Foundation Models Data for Multimodal Understanding项目地址: https://gitcode.com/OpenGVLab/InternVideoInternVideo 是 OpenGVLab 推出的视频基础模型与多模态理解数据项目。本文将带你掌握 InternVideo2 的模型蒸馏实践使用 1B 参数量的 InternVideo2 Stage2 教师模型通过中间特征对齐把知识迁移到 Small / Base / Large 三种轻量学生模型最终得到 S/14、B/14、L/14 蒸馏模型在 Kinetics 等分类任务上最高达到 90.4% Top-1 精度同时大幅降低推理成本。一、为什么需要蒸馏轻量视频模型的价值大型视频基础模型精度领先但部署成本高。InternVideo 系列通过知识蒸馏Knowledge Distillation把大模型学到的时空表征压缩进小模型参数量降低1B 教师 → 3 个规模递减的学生模型S/B/Lpatch size 均为 14推理更快小模型可直接用于移动端、边缘设备与低延迟服务精度损失可控得益于中间层特征对齐 注意力引导的 token 选择学生模型在 K710 上仍可达 86.2% Top-1L/14二、蒸馏方案核心思路像 MILAN 一样对齐中间特征InternVideo2 的蒸馏不是简单的输出对齐而是同时对齐中间层特征与最终池化特征这与 MILAN 的思路一致。整个训练流程可以概括为三步教师输出引导采样1B 教师模型InternVideo2 Stage2-1B对视频做前向同时输出中间层特征、最终特征与注意力分布注意力引导 token 选择利用教师注意力分数挑出最重要的 20% token 参与学生模型计算--mask_type attention、--mask_ratio 0.8相当于让学生只关注教师认为重要的区域双层特征对齐损失学生模型通过多个MLP_Decoder把自己的中间层特征映射到教师特征空间L2 归一化后计算余弦距离同时对齐最终的 AttentionPooling 特征。涉及的关键源码模块模块路径作用蒸馏训练入口run_distill.py参数解析、模型构建、DeepSpeed 启动学生模型定义internvideo2_distill.pyS/B/L 学生模型 Linear/MLP 解码器教师模型封装internvideo2_teacher.py1B/6B 教师模型加载与特征输出蒸馏训练引擎engine_for_distill.py注意力掩码生成与对齐损失计算蒸馏脚本scripts/distillation/S/B/L 三个一键启动脚本三、S / B / L 学生模型怎么选三个学生模型都继承自 ViT 结构仅在宽度、深度上不同定义见 internvideo2_distill.py模型embed_dim层数特点K710 Top-1S/1438412最轻量适合端侧部署79.6%B/1476812精度与速度平衡83.5%L/14102424精度最接近大模型86.2%以上为仅预训练结果若在 K710 上继续微调L/14 可达90.4%K400 微调后数据见 MODEL_ZOO.md。四、一键启动蒸馏训练环境安装请参考 INSTALL.md数据准备见 DATASET.md。安装完成后只需运行对应的蒸馏脚本bash ./scripts/distillation/S14_dist_1B_stage2.sh # 蒸馏 Small 模型 bash ./scripts/distillation/B14_dist_1B_stage2.sh # 蒸馏 Base 模型 bash ./scripts/distillation/L14_dist_1B_stage2.sh # 蒸馏 Large 模型以 B14_dist_1B_stage2.sh 为例核心参数一目了然参数示例值含义--modeldistill_internvideo2_base_patch14_224学生模型规格S/B/L 对应不同脚本--clip_teacherteacher_internvideo2_stage2_1B指定 1B Stage2 教师模型--mask_type/--mask_ratioattention/0.8按教师注意力保留 20% token--clip_teacher_embed_dim1408教师中间层特征维度--clip_teacher_final_dim768教师最终特征维度0 表示不蒸馏最终特征--clip_return_layer6对齐的教师中间层数量--clip_student_decoderMLP_Decoder学生侧解码器官方推荐 MLP 对齐效果更好--num_frames/--num_segments8/8稀疏采样 8 帧--sampling_rate 1--enable_deepspeed/--bf16开启DeepSpeed ZeRO-1 BF16 混合精度--epochs101与预训练保持一致的超参风格官方提示蒸馏训练沿用与预训练相同的设置但把解码器换成MLP_Decoder以获得更好的特征对齐效果。五、训练中的实用技巧显存紧张时开启--use_checkpoint并调整--checkpoint_num用激活重计算换显存断点续训训练过程中会自动保存latest检查点--save_ckpt_freq可设大一些观察指标日志中分别记录loss_clip_middle中间层对齐损失与loss_clip_final最终特征对齐损失两者都应平稳下降教师加载机制run_distill.py 通过注册表安全加载教师模型支持 1B 与 6B 教师可按需替换。六、蒸馏后怎么用蒸馏得到的 S/14、B/14、L/14 模型可以直接进入微调流程。以 K400 全量微调为例脚本位于 scripts/finetuning/full_tuning/k400/ 目录微调后 L/14 在 Kinetics-400 上达到90.4% Top-1。七、总结InternVideo 的蒸馏实践展示了视频基础模型以大带小的完整路径✅ 用InternVideo2 Stage2-1B作为教师输出中间特征、最终特征与注意力✅ 用注意力引导 token 选择降低学生模型计算量✅ 用MLP_Decoder 双层对齐损失把知识稳定注入 S/B/L 学生模型✅ 最终得到精度接近大模型、部署友好的轻量视频模型。跟着 README.md 中的 Distillation 章节配合本文的参数讲解你也能在几天内复现出一套属于自己的轻量视频理解模型。【免费下载链接】InternVideo[ECCV2024] Video Foundation Models Data for Multimodal Understanding项目地址: https://gitcode.com/OpenGVLab/InternVideo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑