Skip to content
Projects

Vxtzq/CrowdGPT has 184 GitHub stars and 12 forks. GitHot measured +2 stars in 24 hours. Last checked 2026-11-10 01:24 UTC. Last push 2026-11-07.

How these counts are measured

CrowdGPT is an opensource framework that aims to train AI without any datacenters

Measured star growth

in 24h
+2
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

CrowdGPT

Website · Discord · Architecture · Training Data

Discord Tokens Processed

The best 0$ AI.

CrowdGPT v3.0 changelog

  • Enhanced CLI client version
  • Reduced weight decay and increased learning rate on server

What is CrowdGPT?

CrowdGPT is a project for training arbitrary big LLMs using volunteered compute.

Instead of one datacenter doing all the work, CrowdGPT distributes training across participating machines.

All of this working without money, API keys or any centralized GPU clusters.

How it works

  1. The client asks the server for a task and is placed in a pool of 3 volunteers with compatible hardware.
  2. It downloads the current weights from Hugging Face and trains on its shard of the dataset. All members of a pool get the same shard, seed and step count.
  3. It uploads the weight delta. The server compares the 3 deltas of each pool, drops outliers, and merges the rest into the global model at the end of the round.
  4. The new weights are published to Vxtzq/Crowd-v1 and the next round starts.

The current model, Crowd-v1, is a 658M-parameter decoder (24 layers, 2048-token context, Qwen3 tokenizer) with an engram lookup table. The client runs no code from the server: it only receives weights and data. More in ARCHITECTURE.md.

💻 Supported hardware

Hardware Backend Notes
NVIDIA CUDA GTX 10xx and older need the cu126 PyTorch build. 8-bit optimizer via bitsandbytes
AMD ROCm or DirectML ROCm on Linux. On Windows, ROCm for supported GPUs and DirectML for the rest
Intel Arc XPU
Apple Silicon MPS
Anything else CPU Works, but slow

The installer detects the hardware and installs the matching PyTorch build. Small GPUs work too: layers that don't fit in VRAM are kept in RAM and streamed in. Training the engram table adds about 1.4 GB of RAM (CROWDGPT_ENGRAM=0 turns it off).

⚡ Quick installation (one command)

For Linux/MacOS

curl -sSL https://raw.githubusercontent.com/Vxtzq/CrowdGPT/main/install.sh | bash

For Windows

cmd /c "curl.exe -fsSL -o install.bat https://raw.githubusercontent.com/Vxtzq/CrowdGPT/main/install.bat && install.bat"

▶️ Running

The installer adds a crowdgpt command and a desktop / Start Menu shortcut. The app opens a window by default.

On a server or over SSH, run without a window:

crowdgpt --headless                      # reuses the login saved by the app
CROWDGPT_PASSWORD=... crowdgpt --headless --user NAME
crowdgpt --headless --anon               # train without an account
crowdgpt --headless --rounds 5           # stop after 5 rounds

Create an account without opening the desktop app:

crowdgpt --register --user NAME --email [email protected]
# prompts for the password without echoing it

crowdgpt --register --user NAME --email [email protected] --password '...'

Prefer the hidden prompt. Passing --password is intended for automation and may leave the value in shell history or the process list. Registration saves the session token in checkpoints/auth_token.json, so the next crowdgpt --headless run can reuse it. Registration exits without training.

Diagnostics

Before reporting a launch or training problem, run the read-only environment check:

crowdgpt --doctor
crowdgpt --doctor --json > doctor.json

It checks the client version and paths, OS/Python/architecture, CPU/RAM/disk and checkpoint writability, Python package versions, available and requested backends, GPU names/VRAM/architecture compatibility, the memory/batch/optimizer plan, whether a saved session is present, the signed update manifest, Hugging Face and coordinator reachability, and a tiny device matmul. Tokens and passwords are never printed. --doctor does not apply updates or start training. It exits 1 only for blocking failures; warnings are reported without failing the command. --server, --backend, and --vram-gb are honored for the checks. crowdgpt --help lists all options. A few settings can also be set through environment variables:

Variable Description
CROWDGPT_TOKEN / CROWDGPT_PASSWORD Credentials for headless runs
CROWDGPT_EMAIL Email for --register
CROWDGPT_VRAM_GB Same as --vram-gb
CROWDGPT_ENGRAM=0 Don't train the engram table (same as --no-engram)

The headless client opens a full-screen terminal dashboard on a TTY. It shows the same training metrics as the desktop app: round, step progress, loss graph, tokens/sec, ETA, download/upload state, recent model predictions, and an activity log. Use --no-tui for plain log lines, or --tui to force the dashboard.

While the dashboard is running:

  • s stops training at the next safe step; press s again to start a new round.
  • q or Ctrl+C quits.
  • The layout reflows when the terminal is resized. s and q are ordinary characters, so they do not conflict with tmux/screen prefix bindings.
  • The dashboard needs a normal UTF-8 terminal. It falls back to plain logs on TERM=dumb/unknown and on legacy Windows consoles without VT support; use --tui to override the auto-fallback. Modern Windows Terminal is the recommended Windows host.

Updates

The client checks for updates on start and between rounds. An update is only installed if its manifest is signed with the maintainer's key, so a compromised repository or account can't push code to clients. --no-update skips the check. Details in SECURITY.md.

When releasing a client change, bump CLIENT_VERSION in client.py to a strictly newer value and re-sign docs/version.txt (the client fetches docs/version.txt.sig). Clients ignore a version they already run, so re-signing the same version will not reach anyone.

🔧 Troubleshooting

  • Stuck on "Pool matchmaking 1/3 (waiting for peers)": each round is trained by a pool of 3 clients with compatible hardware and precision. When few people are online, waiting is normal.
  • GPU not used: check the Backend: line in the log. GTX 10xx and older need the cu126 PyTorch build (see requirements_cuda.txt). --backend forces a specific one.
  • Out of memory: --vram-gb limits how much VRAM the client plans to use. Layers that don't fit are streamed from RAM.
  • Files: login, settings and downloaded weights are in checkpoints/ next to client.py (~/.local/share/crowdgpt on Linux, ~/Library/Application Support/CrowdGPT on macOS, %LOCALAPPDATA%\CrowdGPT on Windows).

⏳ Legacy installation (deprecated)

git clone https://github.com/Vxtzq/CrowdGPT.git
cd CrowdGPT

Install the dependencies for your hardware:

# NVIDIA
pip install -r requirements_cuda.txt

# AMD
pip install -r requirements_rocm.txt

# Windows / DirectML
pip install -r requirements_directml.txt

# CPU / Apple Silicon
pip install -r requirements.txt

Then:

python client.py

🧠 Contribute

  • Training data is curated through pull requests. See docs/DATA.md.
  • Code: pull requests are welcome. CI checks that the Python files compile and that install.sh parses.
  • Bugs: open an issue with the bug report template, and include the client version and the log.
  • Server: the coordinator lives in Vxtzq/CrowdGPT-Server.

CrowdGPT power-trainers applications are open!!

Power-trainers can train by themselves, without any checks. Reach a trust-score of 1, and you're eligible.

📄 License

GPL-3.0. See LICENSE.


crowdgpt.net · Architecture · Data

Explore related projects