交付与验收

凭容量、质量、边界的可复跑证据验收,权重与镜像先过入闸

模型搬进机房之后,交付凭可复跑的证据验收:容量、质量、边界。设备上架通电、冒烟测试通过,都不算交付完成。换模型、换索引之后,同一套证据再跑一遍,就知道比验收那天好还是差;只做短期试用、结果不进业务流程时,这套证据过重,不适用。

交付的三步

交付分评估现场、上架验收、长期运营三步。第三步的日常工作见运维与升级。

步SZV 做什么企业做什么交出的东西
评估现场按机房条件、用量与接入系统定下模型与卡数,见估算显卡数量机房负责人提供机房现状,对接负责人说明预期用量与使用部门,IT 负责人列出要接入的系统,经营者确认选型选型记录、设备清单
上架验收到货按清单核对,上架接通,部署推理服务与知识库,接入经营系统,走入闸检查,跑验收证据采购负责人到货验收,机房负责人配合上架与介质带入,对接负责人出评测集的题运行中的服务、验收证据包、交接物
长期运营监控、升级与故障处理,经约定的受控入口完成对接负责人对接,与 SZV 商定升级时间窗部署记录里的每次变更

「搬进机房」到第二步结束才算完成,完成的判据只看第二步交出的东西。

权重与镜像的入闸检查

离线环境里,推理主机的出站默认拒绝,所以模型权重和容器镜像是从外部进入推理主机的代码与数据。它们在联网的准备机上下载、核对、导出,经移动介质带入机房,在内网再核对一次。核对没有通过的文件,不进推理主机。

下表列出入闸可检查的项目与通行工具。采用哪些检查,签约前与企业定下,并记进验收记录。

检查为什么要查做法留下什么
文件完整介质传输和拷贝会损坏文件在准备机上为权重目录与镜像 tar 生成 SHA-256 清单,内网导入前后各核对一次校验清单
权重格式旧式 pickle 格式的权重可以携带可执行内容要求 safetensors 格式。safetensors 文档把它定位为相对 pickle 更安全的张量存储格式。不是该格式的权重,单独审批后再收格式清单
仓库自带代码trust_remote_code=True 会让库加载模型仓库里自带的建模代码(见 Transformers 的自定义模型页),也就是在推理主机上运行外来的 Python入闸时默认不开。确需开启,把那份代码按版本固定,单独审核审核记录
镜像签名固定 digest 能证明镜像没变,不能证明它可信有公钥的签名在内网验签。cosign 官方页给出用本地公钥、本地镜像验签的写法;无密钥签名要对 Fulcio 根核对证书,该页把透明日志核对列为单独一步,也没有讲隔离网络的做法。离线环境选哪条,签约前定验签记录
软件物料清单漏洞披露之后,要能反查哪个镜像装了哪个组件为每个镜像生成 SBOM(软件物料清单)。Syft 可扫描镜像与目录,输出 CycloneDX 与 SPDXSBOM 文件
漏洞扫描已知漏洞的组件不应带进机房内网扫描需要离线漏洞库。Trivy 的离线文档写明漏洞库以 OCI 镜像形式发布,可托管在自建的镜像仓库;该页没有写离线搬运的步骤,库的更新途径签约前定扫描报告、漏洞库版本

镜像用固定 tag 或 digest,不用 latest。Docker 官方的构建建议写明:镜像 tag 可变,发布者能把它指向新镜像;钉住 digest 才保证总是同一个版本,代价是放弃自动的安全更新,要自己查新 digest。离线环境没有联网提醒,安全更新靠新镜像入闸和离线漏洞库发现。

审查供应链时,可以逐行问「这一行的记录在哪」,不必先判断哪个工具更好。

逐组件的默认外联

HF_HUB_OFFLINE=1 的作用是 Hugging Face 客户端库不再向模型仓库发起 HTTP 请求,缓存缺失时直接报错(官方环境变量页)。它管不到别的组件。下表是已核对的几个,其余组件逐个查文档。

组件默认行为关法
Hugging Face 客户端库默认收集使用数据,用于监控用量与排查问题HF_HUB_DISABLE_TELEMETRY=1,或 DO_NOT_TRACK=1(官方页写明二者等价)
vLLM默认收集匿名使用数据(官方说明)VLLM_NO_USAGE_STATS=1 或 DO_NOT_TRACK=1,也可建空文件 ~/.config/vllm/do_not_track
Grafana(若用作看板)reporting_enabled 默认为真,每 24 小时向 stats.grafana.org 发匿名统计;另有检查新版本与插件更新的开关(配置页)配置里设 reporting_enabled、check_for_updates、check_for_plugin_updates 为 false
Trivy(若在内网跑)更新检查与遥测会连接 check.trivy.dev文档称可选,没有给出关闭开关;以网络层阻断兜底

组件一多,应用层的开关总会漏掉一个。所以底线放在网络层:推理网段默认拒绝出站,再用一次失败的对外连接证明。规则写法见网络与机房条件,运维入口的取舍见私有部署概览。

验收的证据

容量、质量、边界的证据回答不同的问题,各自可以单独复跑。阈值在签约时按业务填写,这里只给字段与测法。

证据回答什么怎么出判据谁定什么时候复跑
容量目标并发下,延迟还达标吗阶梯加压,记下 TTFT p95、TPOT p95 都仍达标时的最高并发,以及 goodput(同时满足全部 SLO 的请求数 ÷ 测试时长)。字段定义见私有部署概览企业与 SZV 在签约时按业务填写 SLO换硬件、引擎版本、模型、量化方式或上下文上限之后
质量回答对不对,引用对不对,该拒答时拒不拒企业出题建评测集:问题、标准答案、来源文档,加切片标签(多跳、应拒答、跨部门)。指标看引用是否指向正确来源、应拒答的题是否拒答、回答是否忠于检索片段达线值由企业与 SZV 在签约时填写;样本量与切片同时约定换模型、换嵌入、重建索引、改提示之后
边界数据有没有走出不该走的路测试包括:推理主机对外连接失败的记录;越权检索用例,甲部门账号提问乙部门的资料,结果必须零命中;验收期间的一次问答,能在模型网关与检索日志里按时间查到出站规则由企业 IT 与 SZV 确认;越权用例按企业的部门权限划分来写每次改出站规则、权限或知识库分区之后

边界一行里的越权用例,对应 OWASP 对向量与嵌入弱点的建议:向量库要做到权限感知,按用户或用户组做逻辑与访问上的分区,并保留检索活动的日志。检索管线里这一层怎么接,见私有部署的组成。

接口能通是进入验收证据的前提,不在其中。冒烟测试只调用模型列表、一次对话、指标端点(以 vLLM 为例,对应 /v1/models、/v1/chat/completions、/metrics),都返回正常就够了。回答好不好,由评测集判断。

验收还包含一次回退演示:演示引擎镜像回退到上一版,并确认模型权重、嵌入模型、索引、配置各自的回退点已留存、能定位。各类变更怎样回退,见运维与升级。

验收之后每次更新,把同一套评测集与压测脚本再跑一遍,结果直接与验收基线比较。

交接物

交接物移交给对接负责人与 IT 负责人,此后每次变更同步更新。

名称包含
部署记录部署时的配置与步骤,此后每次更新与故障处理的记录
配置与版本清单容器编排文件、监控配置、出站规则;权重与镜像的版本哈希:每个镜像的 tag 与 digest,权重目录与校验清单
验收证据包评测集的版本与得分,压测脚本与曲线,边界测试记录,入闸记录(校验清单、验签记录、SBOM、扫描报告)
看板入口访问地址、账号分配方式、告警规则、通知对象
对接方式故障先报哪里,升级时间窗怎样商定
变更权限表每类对象(权重、镜像、配置、评测集、告警规则)谁可以改、谁批准;生产变更须有书面执行令
选型记录评估阶段的负载、候选与决策,与设备清单一致

评测集与压测脚本随交接物移交,便于企业按同一套数据自行复测。

限制与不适用

  • 现场多出这些事:阶梯压测,企业自己出题建评测集,一组边界测试。
  • 入闸检查增加带入前的准备工作。
  • 验收比「能用就签字」更久。
  • 入闸时用哪套工具、选哪种签名,不能外写,签约前与企业定下。
  • 只做短期试用、结果不进业务流程时,这套证据过重。

其他做法

做法它解决什么为什么不用
冒烟测试加对接负责人确认,当天签字现场最快没有阈值,也没有样本;之后换模型或索引时,无法判断比验收时好还是差。私有部署概览已把「能用」排除出验收结论
用平均吞吐报容量一个数就够平均值不区分请求是否满足延迟目标,并发拉高时总吞吐涨、每个用户等得更久。改用同时满足全部 SLO 的请求数 ÷ 时长

验收时可以问的问题

  • 请在签约前写明签名走有公钥的一条,还是无密钥的一条;公钥由谁保管,怎样带入内网。
  • 请在签约前写明离线漏洞库的更新途径,以及经哪个入口带入。
  • 请指给我看评测集的样本量、切片和达线值,在签约时各由谁填写。
  • 请现场查变更权限表:每类对象谁可以改、谁批准,由谁维护。
  • 请演示边界测试的复跑:推理主机对外连接失败的记录、越权检索零命中,结果记在验收证据包里。

相关页

这页有帮助吗谢谢,我们会据此改进这一页。

需要帮助?联系我们

想先知道我们怎么想?关于 SZV

联系我们

企业人员规模(人)

试用工作台