深度学习与大模型 习题及答案 第9章-大模型的部署与应用-课后习题_第1页
深度学习与大模型 习题及答案 第9章-大模型的部署与应用-课后习题_第2页
深度学习与大模型 习题及答案 第9章-大模型的部署与应用-课后习题_第3页
深度学习与大模型 习题及答案 第9章-大模型的部署与应用-课后习题_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章大模型的部署与应用一、问答题

1.简述大模型的几种部署方式。答:大模型主流部署方式有这些:一是公有云部署,即开即用成本低,适合中小微企业;二是私有云部署,保障数据安全,适配金融、医疗等强监管行业;三是混合云部署,兼顾隐私与成本,适配复杂业务的大企业;四是边缘与设备端部署,延迟低,适配智能交通等实时场景;五是本地容器化部署,易迁移,适配有自建机房的企业。

简述大模型调优方法。答:大模型调优核心围绕“适配任务、提升性能”,主流方法包括:微调类:全量微调更新所有参数(性能优但算力要求高)、参数高效微调(LoRA、QLoRA、Adapter等,仅训练部分参数,低算力适配);数据层面:清洗高质量数据、构建任务专属数据集、数据增强(文本重写、同义替换),提升数据与任务的匹配度;训练策略:调整学习率、批量大小,使用梯度裁剪、学习率调度器,加入早停机制避免过拟合;模型层面:模型量化(INT8/INT4)、剪枝压缩,平衡性能与部署效率;提示工程:通过Prompt设计、Few-Shot/Zero-Shot引导,低成本提升任务适配性。

3.简述知识库和本地知识库的区别。答:知识库与本地知识库的核心区别聚焦存储位置、访问方式、数据安全及适用场景,具体如下:知识库是广义概念,通常指云端集中存储的结构化/非结构化知识集合(如企业云知识库、公共知识平台),支持多用户远程访问、实时协同更新,依赖网络环境,运维由服务商或IT团队负责,适合跨地域团队共享通用知识,但数据隐私依赖第三方安全保障;本地知识库特指部署在本地服务器、私有云或终端设备的知识存储系统,数据物理隔离,不依赖公网即可访问,用户可自主掌控数据权限与运维,隐私性、安全性更强,响应速度更快,但需自行承担硬件成本、部署维护工作,适合金融、医疗等强监管行业或对数据隐私要求极高的场景,也适配离线使用需求。二、实践题

导出一个任选的开源模型文件并导出ONNX格式。要求:基于PyTorch框架实现对开源模型文件的ONNX文件导出。答:以经典的ResNet18(TorchVision开源模型)为例,完整实现PyTorch模型到ONNX格式的导出,并包含验证环节。1、代码实现importtorchimporttorchvision.modelsasmodelsimportonnximportonnxruntimeasortimportnumpyasnpdefexport_pytorch_model_to_onnx(model,dummy_input,onnx_save_path="resnet18.onnx",input_name="input_image",output_name="class_scores",dynamic_axes=None,opset_version=12):"""将PyTorch模型导出为ONNX格式参数:model:PyTorch模型实例(已加载权重)dummy_input:示例输入张量(维度需匹配模型输入)onnx_save_path:ONNX文件保存路径input_name:ONNX输入节点名称output_name:ONNX输出节点名称dynamic_axes:动态维度配置(如批次维度)opset_version:ONNX算子集版本(建议11+)"""#设置模型为推理模式(必须,避免BatchNorm/Dropout等层影响)model.eval()#导出ONNXtorch.onnx.export(model,#待导出的PyTorch模型dummy_input,#示例输入(用于追踪计算图)onnx_save_path,#输出文件路径input_names=[input_name],#输入节点名称output_names=[output_name],#输出节点名称dynamic_axes=dynamic_axes,#动态维度(可选)opset_version=opset_version,#算子集版本verbose=False,#是否打印导出详情export_params=True,#导出模型权重(必须)do_constant_folding=True#常量折叠优化)print(f"ONNX模型已导出至:{onnx_save_path}")#验证ONNX模型有效性validate_onnx_model(onnx_save_path)returnonnx_save_pathdefvalidate_onnx_model(onnx_path):"""验证导出的ONNX模型是否合法"""#加载ONNX模型并检查结构onnx_model=onnx.load(onnx_path)onnx.checker.check_model(onnx_model)print("ONNX模型结构验证通过")#对比PyTorch和ONNX的输出结果(确保一致性)#1.PyTorch推理model=models.resnet18(pretrained=True).eval()dummy_input=torch.randn(1,3,224,224)#1张224x224的RGB图片withtorch.no_grad():pytorch_output=model(dummy_input).numpy()#2.ONNXRuntime推理ort_session=ort.InferenceSession(onnx_path)ort_inputs={ort_session.get_inputs()[0].name:dummy_input.numpy()}ort_outputs=ort_session.run(None,ort_inputs)onnx_output=ort_outputs[0]#3.对比结果(误差小于1e-5视为一致)np.testing.assert_allclose(pytorch_output,onnx_output,rtol=1e-5,atol=1e-5)print("PyTorch与ONNX输出结果一致性验证通过")if__name__=="__main__":#1.加载预训练的ResNet18模型(开源模型)model=models.resnet18(pretrained=True)#2.构造示例输入(Batch=1,Channel=3,Height=224,Width=224)dummy_input=torch.randn(1,3,224,224)#3.配置动态维度(可选,支持任意批次大小)dynamic_axes={"input_image":{0:"batch_size"},#输入的第0维为动态批次"class_scores":{0:"batch_size"}#输出的第0维为动态批次}#4.导出ONNX模型expo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论