whatisgithub

What is byteps?

bytedance/byteps — explained in plain English

Analysis updated 2026-07-03

3,717PythonAudience · researcherComplexity · 4/5LicenseSetup · hard

In one sentence

ByteDance's open-source framework for training large AI models across many cloud GPUs, achieving about 90% scaling efficiency versus Horovod's 70% by redesigning inter-machine communication for cloud infrastructure.

Mindmap

mindmap
  root((BytePS))
    Problem solved
      Slow cloud training
      Poor GPU scaling
    Key advantages
      Cloud-first design
      90% scaling efficiency
    Compatibility
      PyTorch
      TensorFlow
      Keras and MXNet
    Migration
      Change one import
      Replace function prefix
    Limitations
      GPU only
      No fault tolerance yet
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Speed up distributed AI model training across many cloud GPUs by replacing Horovod with BytePS for better network efficiency.

USE CASE 2

Train a large language model across 256 GPUs and achieve roughly 90% scaling efficiency compared to Horovod's 70%.

USE CASE 3

Migrate an existing Horovod training script to BytePS by changing one import and replacing function call prefixes.

What is it built with?

PythonPyTorchTensorFlowKerasMXNetCUDA

How does it compare?

bytedance/bytepsatlanhq/camelotrobbyant/lingbot-world
Stars3,7173,7163,718
LanguagePythonPythonPython
Setup difficultyhardeasyhard
Complexity4/52/55/5
Audienceresearcherdataresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires a multi-GPU cluster, CPU-only training is not supported, fault tolerance is not yet implemented.

Open-source, check the repository for the specific license, ByteDance projects typically use Apache 2.0, allowing commercial use with attribution.

So what is it?

BytePS is a framework for training large AI models across many machines at the same time. Training modern AI models, especially large language models or image recognition systems, requires splitting the work across dozens or hundreds of graphics cards. BytePS handles the coordination between all those machines so that the training job runs as fast as possible. The core problem BytePS solves is communication. When many machines are each doing a piece of the training work, they need to constantly share updates with each other. The standard approach used by older tools was borrowed from supercomputing and works well when all machines are identical and the cluster is dedicated to a single job. Cloud environments are different: machines may have varying specs, they share infrastructure with other workloads, and network bandwidth is a precious resource. BytePS was redesigned from the ground up for this cloud-first reality. The result is a meaningful speed improvement. On a test involving a well-known language model trained across 256 graphics cards, BytePS achieved roughly 90% scaling efficiency, meaning each additional machine contributed close to its full potential. A competing tool called Horovod reached only about 70% efficiency on the same task. In cases where the network between machines is slower, BytePS can be twice as fast as the alternative. ByteDance, the company behind TikTok, built BytePS for its own internal AI workloads and then open-sourced it. It works with the most common AI training libraries: TensorFlow, PyTorch, Keras, and MXNet. Switching from Horovod to BytePS is intentionally simple: in most cases you change one import line and replace a prefix in your function calls. BytePS currently requires graphics cards and does not support training on regular processors alone. Features like fault tolerance (recovering gracefully if a machine crashes mid-training) are noted as not yet implemented but are on the project's roadmap.

Copy-paste prompts

Prompt 1
I want to switch my PyTorch Horovod training script to BytePS. Show me exactly which import to change and which function prefixes to replace so I can drop it in with minimal code changes.
Prompt 2
Help me set up a BytePS distributed training job on an AWS cluster with 8 GPU instances, including how to configure the scheduler and server processes for optimal communication.
Prompt 3
My BytePS job scales poorly beyond 32 GPUs. Walk me through profiling the inter-machine communication bottleneck and tuning the bandwidth and partition parameters.

Frequently asked questions

What is byteps?

ByteDance's open-source framework for training large AI models across many cloud GPUs, achieving about 90% scaling efficiency versus Horovod's 70% by redesigning inter-machine communication for cloud infrastructure.

What language is byteps written in?

Mainly Python. The stack also includes Python, PyTorch, TensorFlow.

What license does byteps use?

Open-source, check the repository for the specific license, ByteDance projects typically use Apache 2.0, allowing commercial use with attribution.

How hard is byteps to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is byteps for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.