使用说明
TensorFlow Serving ANNC特性提供了TensorFlow图融合、XLA图融合、算子优化三种优化特性,本章节提供各特性的使能步骤。
TensorFlow图融合
TensorFlow图融合接口使用如表1所示。
终端命令行接口 |
annc-opt |
||
|---|---|---|---|
接口功能 |
图融合启动命令。 |
||
参数说明 |
|
||
使用示例 |
|
XLA图融合
XLA图融合接口如表2所示。
算子优化
环境变量 |
ENABLE_BISHENG_GRAPH_OPT |
||
|---|---|---|---|
接口功能 |
使能算子优化。 |
||
使用示例 |
|
||
取值范围 |
环境变量非空时开启特性。 |
使用TF Serving启动推理压测指导请参见《TensorFlow Serving推理部署框架 移植指南》的“启动服务并压测”章节。
为使用户更好的理解并使用本文所引入的ANNC特性,下面将展示一次完整的启动TF Serving服务的过程。
- 执行TensorFlow图融合。
1 2
annc-opt -I /base_model/deepfm/1/ -O /optimized_model/deepfm/1/ lookup_embedding_hash cp -r /base_model/deepfm/1/variables /optimized_model/deepfm/1/
- 设置环境变量。
1 2 3 4 5
export ENABLE_BISHENG_GRAPH_OPT="" export OMP_NUM_THREADS=1 export TF_XLA_FLAGS="--tf_xla_auto_jit=2 --tf_xla_cpu_global_jit --tf_xla_min_cluster_size=16" export XLA_FLAGS="--xla_cpu_enable_xnnpack=true" export ANNC_FLAGS="--gemm-opt --graph-opt"
- 启动TF Serving服务。
1/path/to/tensorflow-serving/bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server --port=8889 --model_name=deepfm --model_base_path=/optimized_model/deepfm --tensorflow_intra_op_parallelism=1 --tensorflow_inter_op_parallelism=-1 --xla_cpu_compilation_enabled=true
“--model_base_path”所指定的模型不在此限制,用户可自行下载或使用其他模型。
- 启动客户端压测。
1docker run -it --rm --net host nvcr.io/nvidia/tritonserver:24.05-py3-sdk perf_analyzer --concurrency-range 28:28:1 -p 8561 -f perf.csv -m deepfm --service-kind tfserving -i grpc --request-distribution poisson -b 128 -u localhost:8889 --percentile 99 --input-data=random
父主题: 特性指南