New features for AI developers in research and production environments optimize performance.
In the release of Python 2.0, contributions from Intel using Intel® Extension for PyTorch , oneAPI Deep Neural Network Library (oneDNN) and additional support for Intel® CPUs enable developers to optimize inference and training performance for artificial intelligence (AI).
As part of the PyTorch 2.0 compilation stack, the TorchInductor CPU backend optimization by Intel Extension for PyTorch and PyTorch ATen CPU achieved up to 1.7 times faster FP32 inference performance when benchmarked with TorchBench, HuggingFace and timm.1 This update brings notable performance improvements to graph compilation over the PyTorch eager mode.
Other optimizations include:
- Improved message-passing between adjacent neural network nodes to support graph neural network in PyTorch Geometric (PyG) for enhanced inference and performance training on Intel CPUs.
- New x86 quantization backend – a combination of FBGEMM (Facebook General Matrix-Matrix Multiplication) and oneDNN backends – replaces FBGEMM as the default quantization backend for x86 CPU platforms to enable better end-to-end int8 inference performance.
- Extended use of oneDNN with oneDNN Graph API to maximize efficient code generation on AI hardware by automatically identifying the graph partitions to be accelerated through fusion. BFloat16 and Float32 data types are supported and only inference workloads can be optimized; BF16 is only optimized on machines with AVX512_BF16 ISA support.
More: Read the full announcement blog “Celebrate PyTorch* 2.0 with New Performance Features for AI Developers.”
1See https://github.com/pytorch/pytorch/issues/93531#issuecomment-1457373890, Performance Dashboard for float32 precision – single-socket multi-threads (2023-03-05 nightly release).
Source: Cyberpogo