Electro-photonic network for machine learning
AssigneeCelestial AI Inc.
InventorsPhilip Winterbottom, Martinus Bos
Life of this patent
Estimating the term…
Abstract
Various embodiments provide for electro-photonic networks, including a plurality of processing elements connected by bidirectional photonic channels, suited for implementing neural-network models. Weights of the model may be preloaded into memory of the processing elements based on assignments of neural nodes to processing elements implementing them, and routers of the processing elements can be configured to stream activations between the processing elements based on a predetermined flow of activations in the model.
Claims20
A processing device comprising a plurality of neural nodes having associated sets of weights, the processing device comprising:
- an electro-photonic network comprising a plurality of electronic processing elements connected by bidirectional photonic channels, each processing element comprising one or more processing engines, memory communicatively coupled to the one or more processing engines, and a message router interfacing with two or more of the bidirectional photonic channels and communicatively coupled to the memory, wherein:
- each neural node is implemented by one or more of the processing elements;
- the set of weights associated with each neural node is stored in the memory of the one or more processing elements implementing that neural node;
- the message routers are configured, based on a predetermined flow of activations between the neural nodes, to stream a plurality of activations between the processing elements implementing the respective neural nodes during execution of implementing an artificial neural network (ANN);
- and
- the one or more processing engines within each processing element are configured to perform, for each neural node implemented by the processing element, computations on the associated set of weights stored in the memory of the processing element and input activations to that node streamed to the processing element to generate an output activation for the node during the execution of the ANN.
A method comprising:
- loading prior to runtime, based on an assignment between a plurality of neural nodes and a plurality of processing elements, predetermined weights associated with each neural node of the plurality of neural nodes into memory of one or more processing elements assigned to implement the neural node of the plurality of neural nodes;
- and
- using message routers at runtime, based on the assignment and on a predetermined flow of activations between the plurality of neural nodes within an artificial neural network (ANN), to route the activations between the plurality of neural nodes implemented by the plurality of processing elements, wherein activations routed between the plurality of neural nodes implemented by a plurality of source elements and a plurality of destination elements among the plurality of processing elements are transformed, at a respective source element of the plurality of source elements and at any intermediate processing element along a path from the respective source element of the plurality of source elements to the respective destination element of the plurality of destination elements, from an electrical form to an optical form for transmission via bidirectional photonic channels, and are transformed, at the respective destination element of the plurality destination elements and any intermediate processing elements along the path, from an optical form to an electrical form.
Dependencies are inferred from the claim text.