███████╗ ██████╗ ██████╗ █████╗ ██╗
██╔════╝██╔═══██╗██╔══██╗ ██╔══██╗██║
█████╗ ██║ ██║██████╔╝ ███████║██║
██╔══╝ ██║ ██║██╔══██╗ ██╔══██║██║
██║ ╚██████╔╝██║ ██║██╗██║ ██║██║
╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═╝
Conditional computation as a payoff maximization problem.
Various experiments exploring the possibilities of coordinating multiple, decentralized machine learning models in a peer-to-peer setting.
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
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 | |
SingleBidder.ipynb | |
MultipleBidder.ipynb | |
PriceOfAnarchy.ipynb |
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