我不会用 Triton 系列:命令行参数简要介绍
介绍
本文对 tritonserver 的命令行参数做了简要的介绍,本文将 tritonserver 的各个参数做了分类,相关的参数会聚集在一起,看着会更加清晰一点。
其实,你只要输入 /opt/tritonserver/bin/tritonserver --help
就可以看到所有选项了。本文做出的一点小小的贡献是,将选项进行分类,使用中文做简单的介绍。
log 相关
triton 提供四种等级的 log:info warning error verbose,每一个选项可以分别选择是否打开。
--log-verbose <integer>
--log-info <boolean>
--log-warning <boolean>
--log-error <boolean>
模型相关
--model-store
和 --model-repository
一样,指定模型仓库地址,可以多次指定
--backend-directory
: 指定 backend 的位置
--repoagent-directory
: 指定 agent 的位置
--strict-model-config
: true 表示一定要配置文件,false 则表示可以尝试自动填充
--model-control-mode
: none, poll, explicit 三种
--repository-poll-secs
: 轮询时长
--load-model
: 配合 explicit 使用,指定启动的模型
--backend-config <<string>,<string>=<string>>
: 给某个 backend 加上特定的选项
服务相关
--id
: 指定服务器标识符
--strict-readiness
: true 表示服务器和模型启动完毕才可以访问 /v2/health/ready,false 表示服务器启动即可
--allow-http
: 开启 HTTP 服务器
--allow-grpc
: 开启 GRPC 服务器
--allow-sagemaker
: 监听 Sagemaker 的请求。
--allow-metrics
: 开启端口提供 prometheus 格式的使用数据
--allow-gpu-metrics
: 提供 GPU 相关的数据
上面每一种 allow,都有配套的其他选项,比如 http 可以设置处理线程数量,grpc 可设置是否开启 ssl 等,这里就不一一列举了,请直接 --help 查看。
trace 相关
记录一条请求在 triton 中执行的整个过程,记录接受请求,请求处理,排队,计算,发送请求等的时间戳。
--trace-file
: 输出的位置
--trace-level
: 等级,max 会记录更多信息,比如将计算拆解成输入、输出、推理等部分。
--trace-rate
: 频率,比如多少个请求采样一次
cuda 相关
--pinned-memory-pool-byte-size
: 锁页内存的大小,可以加速 host 和 device 的数据传输,默认 256MB
--cuda-memory-pool-byte-size <<integer>:<integer>>
: 第一个数字 gpu 卡号,第二个数字显存大小,默认 64MB。
--min-supported-compute-capability <float>
: 最低的 compute capability,小于这个的就不使用。
杂项
--exit-on-error
: 发送错误的时候退出
--exit-timeout-secs <integer>
: 当退出服务器的时候,有的请求还没处理完,这个选项指定了超时时间。
--rate-limit
和 --rate-limit-resource
: 用于限制了请求分发到模型实例上,resource 选项用来分配资源,资源满足就执行
--response-cache-byte-size <integer>
: 响应缓存的大小。·
--buffer-manager-thread-count
: 指定线程数量,可以加速在输入输出 tensor 上的操作。
--host-policy <<string>,<string>=<string>
: NUMA( 多个物理 CPU 共享内存 ) 相关的选项,具体看文档