Skip to content

Commit a95e2b9

Browse files
authored
Merge pull request #41980 from mumian/0521-fpga
[ML] update the FPGA article
2 parents 2804d16 + c76e933 commit a95e2b9

File tree

2 files changed

+69
-9
lines changed

2 files changed

+69
-9
lines changed
Lines changed: 69 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Azure Machine Learning and FPGAs
2+
title: What is an FPGA? – Project Brainwave – Azure Machine Learning
33
description: Learn how to accelerate models and deep neural networks with FPGAs.
44
services: machine-learning
55
ms.service: machine-learning
@@ -8,22 +8,82 @@ ms.topic: conceptual
88
ms.reviewer: jmartens
99
ms.author: tedway
1010
author: tedway
11-
ms.date: 05/07/2018
12-
# What is an FPGA and what can you do with it? What is an FPGA accelerator? What is it used for and how can you use it? Supported model types. Less expensive to score on FPGA than GPU and faster than GPU.
11+
ms.date: 05/31/2018
12+
13+
# What is an FPGA and what is it used for in Azure Machine learning?
1314
---
1415

15-
# What is a field programmable gate array (FPGA)?
16+
# What is FPGA and Project Brainwave?
17+
18+
This article provides an introduction to field-programmable gate arrays (FPGA) and how FPGA is integrated with Azure machine learning to provide real-time AI.
19+
20+
## FPGAs vs. CPU, GPU, and ASIC
21+
22+
FPGAs contain an array of programmable logic blocks, and a hierarchy of reconfigurable interconnects that allow the blocks to be configured in different ways after manufacturing.
23+
24+
FPGA provides a combination of programmability and performance comparing to other chips:
25+
26+
![Azure Machine Learning FPGA comparison](./media/concept-accelerate-with-fpgas/azure-machine-learning-fpga-comparison.png)
27+
28+
- **Central processing units (CPU)** are general-purpose processors. CPU performance is not ideal for graphics and video processing.
29+
- **Graphics processing units (GPU)** offer parallel processing and are a popular choice for AI computations. The parallel processing with GPUs result in faster image rendering than CPUs.
30+
- **Application-Specific Integrated Circuits (ASIC)**, such as Google’s TensorFlow Processor Units, are customized circuits. While these chips provide the highest efficiency, ASICs are not flexible.
31+
- **FPGAs** provide the performance close to ASIC. At the same time, it offers the flexibility to be programmed later.
32+
33+
FPGAs are now in every new Azure server. Microsoft is already using FPGAs for Bing search ranking, deep neural network (DNN) evaluation, and software defined networking (SDN) acceleration. These FPGA implementations reduce latency while freeing CPUs for other tasks.
34+
35+
## Project Brainwave on Azure
36+
37+
Project Brainwave is a hardware architecture designed based on Intel's FPGA devices to accelerate real-time AI calculations. It is designed to take a trained neural network and run it as quickly as possible and with low latency. Project Brainwave can parallelize pre-trained DNNs across FPGAs to scale out your service. The FPGA-enabled architecture is economical and power-efficient, with a high throughput.
38+
39+
- Performance
40+
41+
The use of FPGAs makes it possible to achieve low latency for real-time inferencing requests. Batching means breaking up a request into smaller pieces and feeding them to a processor to improve hardware utilization. Batching is not efficient and can cause latency. Brainwave doesn't require batching. The latency in Brainwave is 10 times less comparing to CPU and GPU.
42+
43+
- Flexibility
44+
45+
FPGAs can be reconfigured for different types of machine learning models. This flexibility makes it easier to accelerate the applications based on the most optimal numerical precision and memory model being used.
1646

17-
Field programmable gate arrays (FPGA) are integrated circuits that can be reconfigured as needed. You can change an FPGA as needed to implement new logic. Azure Machine Learning Hardware Accelerated Models allow you to deploy trained models to FPGAs in the Azure cloud.
47+
New machine learning techniques are being developed on a regular basis, and Project Brainwave's hardware design is also evolving rapidly. The reconfigurability makes it possible to stay current with the requirements of the rapidly changing AI algorithms without updating the hardware.
1848

19-
This functionality is powered by Project Brainwave, which handles translating deep neural networks (DNN) into an FPGA program.
49+
- Scale
2050

21-
## Why use an FPGA?
51+
Microsoft Azure is the world's largest cloud investment in FPGAs. You can run Brainwave on Azure's scale infrastructure.
2252

23-
FPGAs provide ultra-low latency, and they are particularly effective for scoring data at batch size one (there is no requirement for a large batch size). They are cost-effective and available in Azure. Project Brainwave can parallelize pre-trained DNNs across these FPGAs to scale out your service.
53+
A preview of Project Brainwave integrated with Azure Machine Learning is currently available. And a limited preview is also available to bring Project Brainwave to the edge, so that you can take advantage of that computing speed in your own businesses and facilities.
54+
55+
In current preview, Brainwave is limited for the TensorFlow deployment and the ResNet50-based neural networks on Intel FPGA hardware for image classification and recognition. There are plans to support more gallery models and other frameworks.
56+
57+
The following scenarios use FPGA on Project Brainwave architecture:
58+
59+
- Automated optical inspection system. See [Real-time AI: Microsoft announces preview of Project Brainwave](https://blogs.microsoft.com/ai/build-2018-project-brainwave/).
60+
- Land cover mapping. See [How to Use FPGAs for Deep Learning Inference to Perform Land Cover Mapping on Terabytes of Aerial Images](https://blogs.technet.microsoft.com/machinelearning/2018/05/29/how-to-use-fpgas-for-deep-learning-inference-to-perform-land-cover-mapping-on-terabytes-of-aerial-images/).
61+
62+
## How to create an FPGA service?
63+
64+
The following is the high-level flow of creating an image recognition service in Azure using ResNet50 as a featurizer:
65+
66+
1. ResNet50 is already deployed in Brainwave. You need to build other graphs (date input, classification, and so on) with TensorFlow, and define a pipeline (input -> featurize -> classify) using a service definition json file. Compress the definition and graphs into a zip file, and upload the zip file to Azure Blob storage.
67+
2. Register the model using Azure ML Model Management API with the zip file in the Blob storage.
68+
3. Deploy the service with the registered model using Azure ML Model Management API.
69+
70+
For a tutorial, see [Azure ML Hardware Accelerated Models Quickstart](https://github.com/Azure/aml-real-time-ai/blob/master/notebooks/resnet50/00_QuickStart.ipynb).
71+
72+
## Start using FPGA
73+
74+
Azure Machine Learning Hardware Accelerated Models allow you to deploy trained DNN models to FPGAs in the Azure cloud. To get started, see:
75+
76+
- [Deploy a model as a web service on an FPGA](how-to-deploy-fpga-web-service.md)
77+
- [Microsoft Azure Machine Learning Hardware Accelerated Models Powered by Project Brainwave](https://github.com/azure/aml-real-time-ai).
2478

2579
## Next steps
2680

2781
[Deploy a model as a web service on an FPGA](how-to-deploy-fpga-web-service.md)
2882

29-
[Learn how to install the FPGA SDK](reference-fpga-package-overview.md)
83+
[Learn how to install the FPGA SDK](reference-fpga-package-overview.md)
84+
85+
[Hyperscale hardware: ML at scale on top of Azure + FPGA : Build 2018 (video)](https://www.youtube.com/watch?v=BMgQAHIx2eY)
86+
87+
[Inside the Microsoft FPGA-based configurable cloud (video)](https://channel9.msdn.com/Events/Build/2017/B8063)
88+
89+
[Microsoft unveils Project Brainwave for real-time AI](https://www.microsoft.com/research/blog/microsoft-unveils-project-brainwave/)
19.9 KB
Loading

0 commit comments

Comments
 (0)