Skip to main content

Sinkhorn Router - Pytorch

Project description

Sinkhorn Router - Pytorch (wip)

Self contained pytorch implementation of a sinkhorn based router, for mixture of experts or otherwise. Will contain both a causal and non-causal variant. The causal variant will follow the example used in Megatron

Install

$ pip install sinkhorn-router-pytorch

Usage

import torch
from torch import nn
from sinkhorn_router_pytorch import SinkhornRouter

experts = nn.Parameter(torch.randn(8, 8, 512, 256)) # (experts, heads, dim [in], dim [out])

router = SinkhornRouter(
    dim = 512,
    experts = experts,
    competitive = True,
    causal = False,
)

x = torch.randn(1, 8, 1017, 512)
out = router(x) # (1, 8, 1017, 256)

Citations

@article{Shoeybi2019MegatronLMTM,
    title   = {Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism},
    author  = {Mohammad Shoeybi and Mostofa Patwary and Raul Puri and Patrick LeGresley and Jared Casper and Bryan Catanzaro},
    journal = {ArXiv},
    year    = {2019},
    volume  = {abs/1909.08053},
    url     = {https://api.semanticscholar.org/CorpusID:202660670}
}
@article{Anthony2024BlackMambaMO,
    title   = {BlackMamba: Mixture of Experts for State-Space Models},
    author  = {Quentin Anthony and Yury Tokpanov and Paolo Glorioso and Beren Millidge},
    journal = {ArXiv},
    year    = {2024},
    volume  = {abs/2402.01771},
    url     = {https://api.semanticscholar.org/CorpusID:267413070}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sinkhorn_router_pytorch-0.0.9.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

sinkhorn_router_pytorch-0.0.9-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file sinkhorn_router_pytorch-0.0.9.tar.gz.

File metadata

File hashes

Hashes for sinkhorn_router_pytorch-0.0.9.tar.gz
Algorithm Hash digest
SHA256 311841a494323ce04f497fd63c934a41db0ff351cc1f11d39a1ccd532e5df343
MD5 95088c67ff1879214f9bfc64584e032d
BLAKE2b-256 4a5b601b90f6866a9e20fe148d1db72d5914fc720602547ef22220d088e9e4e1

See more details on using hashes here.

File details

Details for the file sinkhorn_router_pytorch-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for sinkhorn_router_pytorch-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 5a30b639b715ae5df1a55e50c0a700df2928c472c7bd7a186585632fe2a9b1b0
MD5 1b4d2e5db8800c395790ca6730b710aa
BLAKE2b-256 49de1acf2d2aec9292d458687b4a2c0722e5683367fa24d7ad3b6dcb4c50830f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page