nav search
Data Center Software Security Transformation DevOps Business Personal Tech Science Emergent Tech Bootnotes

What does a complex AI model look like? Here's some Friday eye candy from UK biz Graphcore

Vivid images of machine learning graph processing

By Chris Mellor, 17 Feb 2017

Pics Brit chip startup Graphcore has produced sexy images of its graph processing.

We wrote about Graphcore scoring $30m A-round funding in October. The processor designer came out of two years in XMOS-incubated stealth mode at that time, and was founded by CEO Nigel Toon and CTO Simon Knowles. XMOS is a fabless semiconductor company developing micro-controllers, and it was founded in 2005 in Bristol, UK. Toon was XMOS's CEO.

There is a wide spread of Graphcore investors: Bosch, Samsung, Amadeus Capital, C4 Ventures, Draper Esprit, Foundation Capital and Pitango Venture Capital.

A blog post by Toon reveals that the launchpad for the company was a realization that while machine-learning algorithms have been improving, the code is run on general-purpose CPUs aided and abetted by GPUs, such as those from Nvidia, which provide parallel processing capabilities.

Toon and Knowles decided it was feasible to design a specific graph processor, an IPU (intelligent processing unit) with associated Poplar software, a graph compiler and open source set of graph libraries for machine learning. The IPU hardware and Poplar software exist.

First place for image classification in the 2015 ImageNet Large Scale Visual Recognition Competition was won by Microsoft Research with its ResNet-50 deep neural network architecture. Graphcore has produced images, using Poplar, illustrating the ResNet-50 network. This is the network after it has been trained and as it would be used to classify images.

What the Poplar compiler does is convert, say, a description of Microsoft's 50-layer network into a computational graph of 3.22 million vertices and 6.21 million edges. This graph represents ResNet-50 as a parallel execution plan for Graphcore's IPU. The vertices (points) represent computation processes and the edges (lines or arcs) represent communication between the processes.

Here's such a graph with the layers in the graph labelled with the corresponding layers from the original technical paper:

Graphcore_ResNet_50_graph_labelled_650

Graphcore Poplar-produced ResNet-50 graph with labelled layers

Each layer has a different color. The visible clustering in the image is the result of intensive communication between processes in each layer of the network, with lighter communication between layers.

If we look more closely at a part of such an image more complexity is revealed:

Graphcore_ResNet_50_graph_extract_650

ResNet-50 graph detail. Click image for a larger view

The edges (lines or arcs) are quite clearly visible.

A Graphcore blog post, titled "inside an AI 'brain' – what does machine learning look like?" discusses this more and includes more image close-ups.

It seems to us that such a chart can be useful in seeing where processing resources are allocated. Graphcore says its IPU approach works well partly because deep networks executed efficiently as an entire model can be hosted on an IPU, escaping the external memory bottleneck said to limit GPU performance.

Because of this, Graphcore claims, its IPU can train machine learning models faster than x86 CPUs and/or GPUs. If this is true, and as machine learning/neural net systems become more popular, then Graphcore could find itself becoming core to machine learning. ®

The Register - Independent news, views and opinion for the tech sector. Part of Situation Publishing