Skip to content

unconst/GradientBidding

Repository files navigation

███████╗ ██████╗ ██████╗     █████╗ ██╗
██╔════╝██╔═══██╗██╔══██╗   ██╔══██╗██║
█████╗  ██║   ██║██████╔╝   ███████║██║
██╔══╝  ██║   ██║██╔══██╗   ██╔══██║██║
██║     ╚██████╔╝██║  ██║██╗██║  ██║██║
╚═╝      ╚═════╝ ╚═╝  ╚═╝╚═╝╚═╝  ╚═╝╚═╝

Gradient Bidding

TL;DR

Conditional computation as a payoff maximization problem.

Motivation

Various experiments exploring the possibilities of coordinating multiple, decentralized machine learning models in a peer-to-peer setting.


Experiments

FFNNBidding.ipynb: Bids are additional weights in a standard FFNN (flows). Neurons in the pre-sequent layers mask their output by the shifted bids to created a differentiable market.

SingleBidder.ipynb: Single bidder using a sparsely gated mixture of experts layer. Bidder bids the load balance on the sparese gating. Children mask the outputs using the shifted bids.

MultipleBidder.ipynb: Multiple bidders and multiple sellers in a sparsely gated mixture of experts layer.

PriceOfAnarchy.ipynb: Comparison of interactions between multiple bidders in either a cooperative setting or a competitive setting

Run

To run this, there are two options:

Option 1: Clone the repository, set up a virtualevn, and open Jupyter Notebook

git clone https://github.com/unconst/GradientBidding.git
virtualenv env && source env/bin/activate && pip install -r requirements.txt
$ jupyter notebook

Option #2: Open one of the notebooks in Google Colab

Notebook Name Google Colab Link
FFNNBidding.ipynb Open In Colab
SingleBidder.ipynb Open In Colab
MultipleBidder.ipynb Open In Colab
PriceOfAnarchy.ipynb Open In Colab

TODO

See the Issues page for proposed improvements, changes, and bug fixes. If you are interested in contributing to GradientBidding, feel free to submit a Pull Request

Releases

No releases published

Packages

No packages published