工程实践100道 · 第一篇:模型上线与部署25道
工程实践100道 · 第一篇模型上线与部署25道本篇覆盖机器学习模型从训练到上线的全流程详解模型部署、在线服务、效果监控等面试常考点。1. 模型上线的基本流程是什么白话答案模型上线流程模型训练离线数据训练模型模型评估离线指标验证效果模型导出保存为可部署格式SavedModel/ONNX/PMML模型部署推送到模型服务灰度发布小流量验证全量上线效果稳定后全量面试官可能的追问模型上线需要考虑哪些风险如何回滚失败的模型2. 模型文件格式有哪些各有什么优缺点白话答案格式优点缺点PyTorch (.pt)Python原生灵活大推理慢TensorFlow (SavedModel)生态完整笨重ONNX跨框架推理快算子支持有限PMML通用平台无关不支持深度学习TensorFlow Lite移动端友好不支持复杂模型面试官可能的追问如何选择模型格式ONNX如何保证算子兼容性3. 介绍一下模型服务框架白话答案常用的模型服务框架TensorFlow ServingTF官方支持多版本、热更新Triton Inference ServerNVIDIA支持多框架、动态 batchingTorchServePyTorch官方KServeKubernetes上的模型服务BentoML一键部署跨框架面试官可能的追问如何选择模型服务框架框架选型需要考虑哪些因素4. 什么是模型热更新如何实现白话答案模型热更新是不停止服务的情况下更新模型版本管理多个模型版本并存流量切换通过配置切换版本灰度发布先切换小比例流量回滚机制效果不佳快速回滚TensorFlow Serving天然支持热更新把新模型放到模型目录自动加载。面试官可能的追问热更新如何保证模型一致性如何处理推理结果不一致5. 模型服务如何做性能优化白话答案模型优化量化、剪枝、蒸馏推理优化TensorRT、ONNX Runtime服务优化异步推理、批量推理硬件优化GPU加速、专用芯片代码示例 - 批量推理importnumpyasnpdefbatch_predict(model,inputs,batch_size32):批量推理优化results[]foriinrange(0,len(inputs),batch_size):batchinputs[i:ibatch_size]predmodel.predict(batch)results.append(pred)returnnp.concatenate(results)面试官可能的追问量化对模型效果的影响GPU推理和CPU推理如何选择6. 介绍一下模型量化白话答案模型量化是把FP32转成INT8/FP16减少模型体积和加速推理训练后量化PTQ直接量化无需重训练量化感知训练QAT训练中模拟量化效果更好量化方法线性量化、非线性量化、对称/非对称。面试官可能的追问量化如何保证效果不下降哪些层不适合量化7. 模型蒸馏的原理和流程是什么白话答案知识蒸馏是用大模型Teacher指导小模型Student训练Teacher用全部数据训练大模型生成Soft LabelTeacher输出的概率分布训练Student同时学习hard label和soft labelLoss α * HardLoss (1-α) * KL(Student || Teacher)面试官可能的追问如何选择Teacher模型蒸馏和压缩的区别8. 模型剪枝的原理是什么白话答案模型剪枝是删除不重要的参数结构化剪枝删除卷积核/神经元非结构化剪枝删除单个参数重要性评估基于权重/梯度/激活剪枝后需要微调恢复效果。面试官可能的追问剪枝后模型如何部署如何选择剪枝比例9. 在线推理和离线推理的区别是什么白话答案对比项在线推理离线推理延迟毫秒级分钟/小时级QPS高并发低并发资源实时申请批量使用优化重点优化延迟重点优化吞吐在线推理需要低延迟100ms、高可用、可扩展。面试官可能的追问在线推理如何做降级离线模型如何用于在线预测10. 如何设计模型服务的API白话答案输入格式JSON/ProtoBuf输出格式JSON/ProtoBuf接口设计RESTful / gRPC错误处理错误码错误信息版本控制URL或Header中指定版本示例请求{user_id:12345,features:{age:25,gender:male,history:[101,102,103]},model_version:v2}面试官可能的追问API设计需要注意哪些安全问题如何做API版本兼容11. 模型服务如何做A/B测试白话答案流量分桶随机把用户分成A/B组模型部署A组用旧模型B组用新模型效果对比对比关键指标统计检验T检验确认显著性面试官可能的追问A/B测试需要多少流量如何避免选择偏差12. 介绍一下模型监控的指标白话答案业务指标CTR、CVR、GMV模型指标AUC、LogLoss服务指标QPS、延迟、错误率数据指标特征分布、样本分布监控工具Prometheus Grafana。面试官可能的追问模型效果下跌如何定位监控告警阈值如何设置13. 模型服务如何做降级白话答案超时降级超时返回默认结果异常降级异常返回缓存结果熔断降级连续失败停止调用兜底策略简单规则/历史平均面试官可能的追问降级策略如何选择降级后如何恢复14. 特征工程如何在线处理白话答案实时特征Flink流式计算特征缓存Redis缓存热点特征特征服务统一特征读取接口特征一致性离线特征和在线特征同口径面试官可能的追问实时特征如何保证延迟特征计算如何做容错15. 模型服务如何做负载均衡白话答案服务端负载均衡Nginx/Envoy客户端负载均衡Client侧选择金丝雀发布小比例流量验证一致性哈希相同用户路由到相同节点面试官可能的追问负载均衡策略如何选择如何处理节点故障16. 介绍一下ONNX Runtime白话答案ONNX Runtime是微软的跨框架推理引擎支持格式ONNX模型性能优化Graph优化、算子融合硬件加速CPU/GPU/Edge多语言Python/C/C#/Java推理速度通常比原生框架快1.5-3倍。面试官可能的追问ONNX Runtime和TensorRT的区别ONNX模型如何优化17. 模型如何做边缘部署白话答案模型压缩量化、剪枝、蒸馏轻量框架TensorFlow Lite、NCNN、MNN硬件选择CPU/GPU/NPU端侧推理移动端/IoT设备面试官可能的追问边缘部署的挑战是什么如何保证端侧模型安全18. 什么是TensorRT有什么优势白话答案TensorRT是NVIDIA的推理优化引擎算子融合卷积BN激活融合精度优化FP16/INT8量化内核优化GPU深度优化动态形状支持变长输入推理速度比TensorFlow快3-10倍。面试官可能的追问TensorRT如何保证精度TensorRT支持哪些模型19. 模型服务如何做压力测试白话答案工具Locust、JMeter、wrk指标QPS、延迟、错误率场景单接口、混合场景报告生成压测报告压测目标确定最大吞吐、发现性能瓶颈。面试官可能的追问压测环境如何搭建压测结果如何分析20. 介绍一下模型版本管理白话答案版本命名语义化版本v1.0.0模型存储模型仓库MLflow、ModelDB元数据训练数据、参数、指标回滚支持快速回滚面试官可能的追问模型版本如何追溯模型生命周期如何管理21. 如何保证模型推理的一致性白话答案模型一致离线训练在线推理特征一致离线特征在线特征数据一致样本对齐版本管理统一的模型版本面试官可能的追问如何发现不一致问题不一致如何修复22. 模型服务如何做安全防护白话答案访问控制认证、授权限流保护防止DDoS输入校验防止异常输入模型保护防止模型泄露面试官可能的追问模型如何防止被逆向API安全如何设计23. 介绍一下模型服务的高可用架构白话答案多副本多个模型服务实例负载均衡流量分发健康检查自动摘除异常节点自动扩缩容根据负载调整多机房容灾主备机房面试官可能的追问高可用如何测试故障恢复时间如何优化24. 模型如何做增量更新白话答案增量数据只使用新数据增量训练在旧模型基础上训练热启动用旧模型参数初始化灰度发布小流量验证面试官可能的追问增量更新和全量更新哪个好如何判断增量更新效果25. 模型上线后需要关注哪些指标白话答案模型指标AUC、LogLoss是否稳定服务指标延迟、错误率是否正常业务指标CTR、CVR是否提升数据指标特征分布是否漂移监控告警发现异常及时处理。面试官可能的追问如何做模型效果的长期监控模型衰减如何处理 本篇小结本篇覆盖了模型上线与部署的核心知识点主题核心概念模型格式SavedModel、ONNX、PMML服务框架TensorFlow Serving、Triton性能优化量化、剪枝、蒸馏监控运维降级、告警、A/B测试工程实践边缘部署、压力测试
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2476967.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!