Selling Compute

You connect your GPU to perform jobs for buyers and get paid in bitcoin. There are two ways to connect your GPU:

  1. Use a Chrome web browser. You can use your GPU to perform jobs without installing any software. This is the easiest way to get started, but may earn less than our worker software.
  2. Install the GPUtopia 'workerbee' software. The worker automatically connects your GPU to the marketplace and starts performing available jobs. (This is still alpha-quality and under heavy development.)

How do I sell via the web browser?

  1. Log in with Alby
  2. Click Sell, then 'Load model'
  3. You are now available for jobs. When a job comes in and you lose out on it, you'll still earn 1 sat. (For now the balance will update only on refreshing the page.)

How does selling via browser work?

GPUtopia uses a portion of your computer's GPU via WebGPU, a new web standard that was recently added to newer versions of Chrome.

First your browser needs to download a language model. This is a ~4GB file that will be stored in your browser's cache. This will take a few minutes to download, then ~20 seconds to load from cache on future visits. You can see how this works in the MLC WebLLM repo.

Once you've got the model loaded, our system marks you available to receive inference jobs. Currently we send a demo inference job to all connected users every 15 seconds. This job may take ~5-30 seconds to complete depending on your GPU and the size of the job.

When your computer finishes the inference job, it sends that back to our server and we reward you some bitcoin directly to your Alby wallet.

It takes about 2 minutes to create an Alby wallet if you don't already have one — then you'll be ready to start earning bitcoin. Learn more about Alby on their website.

I never seem to get requests. Why?

  1. Demand is low. Our API is "openai" compliant and anyone can use it to get openai-compatible inference for coding, summarization and more. Users can select any huggingface model. Tell some people about it!.

  2. Your machine's average inference times are low. If we detect slow performance, then your machine will get fewer requests.

  3. Your machine failed a benchmark test. If we detect that your machine's inference didn't match the expected output from the model with a fixed seed, we will assume it's faulty.

  4. Your machine doesn't have enough (CPU RAM/GPU RAM/GPU SPEED/DISK SPACE). We use all these metrics to determine if a job should be sent.
    Freeing up space, or installing gfx cards can help. A used NVIDIA 3090 or a RX 7900 24GB NVRAM card will get 34G quantized model requests and will have reasonably fast inference for example (as of Oct 2023).

  5. You're using the Web method of selling. Using the command-line workers alllows buyers to select from any model on hugging face.
    Using the web worker only allows inference on a selection of models built for the web.

How do I install the worker software?

Download an executable from the workerbee releases page or run the Python code from source following instructions in the README.

Be sure you follow the README, and set up your ln_url parameter correctly to get credit for your work.