A method performed by a system that comprises a parameter server, the parameter server being communicatively connected to a group of target devices and including a data manager, a batch manager, a transmitter, and a weight updater, the group of target devices comprising one or more target devices, the group of target devices being configured to run an instance of an artificial intelligence (AI) model, at least one target device comprising an integrated circuit chip having an on-chip memory of a size less than an entirety of the AI model, the method comprising:
- storing by the data manager a master copy the AI model,
- determining by the batch manager a microbatch size suitable for each target device of the group of target devices, and
- transmitting by the transmitter a portion of the AI model to the group of target devices, a size of the portion being based at least on the on-chip memory size and a size of one or more layers of the AI model;
- and
- contemporaneously, with a set of microbatches of a training dataset being executed by the integrated circuit chip at the at least one target device on a first subportion of the transmitted portion of the AI model stored in the on-chip memory to generate activations,
- performing by the weight updater a reduction of parameters for a second subportion of the transmitted portion of the AI model, and
- sending by the transmitter weights for a third subportion of the transmitted portion of the AI model to the target device.