鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

简介

本文介绍了TensorFlow Serving ANNC(Accelerated Neural Network Compiler)特性的基本概念和实现原理,并详细指导用户基于鲲鹏920 7282C处理器在openEuler 22.03 LTS SP3操作系统中安装并使用TensorFlow Serving ANNC优化特性。

为提升TensorFlow Serving(以下简称TF Serving)推理性能,鲲鹏BoostKit提出了TensorFlow Serving ANNC优化方案。ANNC是专注于加速神经网络计算的编译器,聚焦于通过计算图优化,高性能融合算子生成和对接技术,高效代码生成和优化能力,加速推荐的推理性能。ANNC作为基于开源OpenXLA(Open Accelerated Linear Algebra)的扩展加速套件,发布在openEuler组织的ANNC开源仓,具有鲲鹏亲和的优化特性,包括TensorFlow图融合、XLA(Accelerated Linear Algebra)图融合、算子优化。

ANNC优化特性通过编译选项和代码补丁的方式接入TensorFlow推理框架和XLA,基于TF Serving/TensorFlow 2.15版本新增以下特性:

  • TensorFlow图融合:提供TensorFlow模型层面的图融合与图重写功能。
  • XLA图融合:提供ANNC XLA图融合特性。
  • 算子优化:提供ANNC算子优化特性。

OpenXLA是一个由高性能、可移植、可扩展的机器学习基础架构组件组成的开放生态系统。

XLA是一种开源机器学习编译器。XLA编译器从TensorFlow框架获取模型,并优化模型以便在不同硬件平台(包括GPU、CPU和机器学习加速器)上实现高性能执行。

软件架构

TF Serving软件架构如图1所示,组件功能如表1所示。

图1 TF Serving软件架构
表1 TF Serving软件组件功能介绍

组件名称

描述

TF Serving

专为TensorFlow模型部署设计的高性能推理服务端。

SavedModel

TensorFlow提供的一种标准化的模型保存格式,训练好的模型能够在不同的TensorFlow环境中进行导入、推理和再训练。

Graph Fusion

ANNC图融合模块。

TensorFlow

开源的机器学习框架,主要用于深度学习模型的训练和推理。

ANNC

专为机器学习模型优化的AI编译器,能够将模型编译成高性能可执行代码。

XLA Extension

ANNC基于XLA的扩展组件。

XLA

开源机器学习编译器

Kernels

TensorFlow算子实现。

应用场景

TensorFlow Serving ANNC特性主要在推荐系统和广告投放中使用。对于高并发粗排模型推理场景优化效果明显,表现在吞吐量的提升和推理时延大幅下降。