# data-training **Repository Path**: Uni-Create-Link/data-training ## Basic Information - **Project Name**: data-training - **Description**: synsight模型训练源码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-22 - **Last Updated**: 2026-09-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SynSight 模型训练侧归档(MODEL_RELATE) 高校内容风险分析平台 SynSight 的 M1~M5 五个模型的训练代码、标注/训练数据、prompt模板与schema文档归档。本仓库是训练侧的**代码与数据归档**,不含模型权重二进制(GGUF/pt等,体积以GB计,不适合进Git),也不是可独立运行的工程——推理侧消费这些模型产出的代码在另一个仓库(`new-clone`/SynSight主仓库的`pyservice/`)。 ## 现状 M1~M5 全部训练完成并已交付给推理侧使用,当前不再有主动开发计划,只在推理侧发现bug需要溯源到训练数据/训练脚本时才会回来动。 ## 模型编号对照 | 编号 | 模型 | 任务 | |---|---|---| | M1 | WhisperLoRAModel(whisper-small + LoRA) | ASR转写 + 情绪分类/强度回归 | | M2 | FrozenPannsAudioEventClassifier(PANNs Cnn14冻结backbone) | 音频事件分类 + 强度回归 | | M3 | FrozenClipSceneClassifier(CLIP ViT-B/32冻结backbone) | 场景分类 + 性别/年龄 | | M4 | SynSightFusionModel(融合Transformer) | 多模态融合,产出风险等级等7个分类头 | | M5 | Qwen2.5-7B(LoRA蒸馏微调) | 基于M1-M4结构化结果生成自然语言说明,不参与风险判定 | ## 目录说明 - `scripts/` —— M1-M4训练/推理脚本(`models.py`模型结构定义、`train_fusion.py`等训练入口、`infer_pipeline.py`推理入口),来自AutoDL训练机真机现场拉取 - `data-training/` —— M1-M4的标签空间定义(`label_maps.json`)与train/val/test数据集清单 - `training_m5/` —— M5各阶段(overview/evidence/window/audio_desc/subtopic)LoRA蒸馏训练数据 - `prompts/` —— M5各阶段调用的prompt模板,与`scripts/m5_prompt_render.py`同源 - `docs/` —— 字段对照表、推理输出schema、训练输入schema、标注实施规格等设计文档(`01`~`12`号文档) ## 关键结论备查(回答"风险等级怎么算出来的"这类问题) - risk_level是M4融合模型一个训练好的分类头输出(4分类:none/low/medium/high),走标准的 特征融合→全连接层→softmax→argmax 流程,权重由`train_fusion.py`中的交叉熵损失反向传播训练得到,不是规则引擎。 - 唯一一处对risk_level做后处理改写的规则:`campus_relevance`(M4自己另一个训练出的分类头判断的涉校相关性)为`indirect`/`none`时,给risk_level设上限(分别不超过medium/low),是输出一致性约束,不是替代模型判断。 - M4对video/audio特征是独立重新提取(不复用M2/M3的分类结果),只有text特征复用了M1的ASR转写文本内容;M1/M2/M3的时间点被用于M4的时间窗口切分。