ITADN

[OCR Phase3] 实现模型量化和压缩优化

#2377Openmessere1 创建于 2026-01-06
M
messere1commented
## 任务描述 实现 VLM 模型的量化和压缩技术,降低推理时的显存占用和计算开销,提升推理速度。 **关联主 Issue**: #2348 Phase 3: 模型微调与优化 ## 任务目标 - [ ] 实现 FP16 半精度推理支持 - [ ] 实现 INT8 量化推理(使用 bitsandbytes 或 GPTQ) - [ ] 实现 INT4 量化推理(可选,用于极致压缩) - [ ] 支持量化配置的动态切换(环境变量或 API 参数) - [ ] 提供量化模型性能对比报告(速度、显存、精度) ## 技术方案 ### 1. FP16 半精度推理 - 在模型加载时指定 `torch_dtype=torch.float16` - 适配 NPU/GPU 设备的半精度支持 - 验证精度损失在可接受范围内(< 1%) ### 2. INT8 量化 - 使用 bitsandbytes 实现 8-bit 量化 - 支持动态量化(post-training quantization) - 保存量化配置到 config 文件 ### 3. INT4 量化(可选) - 使用 GPTQ 或 GGUF 格式 - 适用于资源极度受限场景 - 需要评估精度损失是否可接受 ### 4. 配置管理 - 添加环境变量:`OCR_QUANTIZATION_MODE` (fp16/int8/int4/none) - 添加 API 参数:`quantization` 字段 - 在 `settings.py` 中添加量化配置项 ## 测试要求 ### 单元测试 - [ ] 测试 FP16 模型加载和推理 - [ ] 测试 INT8 模型加载和推理 - [ ] 测试量化配置切换功能 - [ ] 测试不同量化模式的结果一致性 ### 性能测试 - [ ] 对比不同量化模式的推理速度(FP32/FP16/INT8) - [ ] 对比不同量化模式的显存占用 - [ ] 验证 OCR 精度损失 < 2%(使用标准数据集) ### 基准测试数据集 - ICDAR 2015(场景文本识别) - SROIE(发票识别) - 自定义业务数据集(营业执照、身份证等) ## 验收标准 - ✅ FP16 推理速度提升 30-50%,精度损失 < 0.5% - ✅ INT8 推理速度提升 50-70%,精度损失 < 2% - ✅ 显存占用降低 50% 以上(INT8) - ✅ 支持配置动态切换,无需重启服务 - ✅ 提供完整的性能对比文档和测试报告 ## 依赖项 - bitsandbytes (INT8/INT4 量化) - torch >= 2.0 (原生量化支持) - transformers >= 4.37.0 (量化模型加载) ## 优先级 **P0** - 核心功能,直接影响推理性能和成本 ## 预计工时 3-5 天
0 条评论