Skip to content

Instantly share code, notes, and snippets.

@toilaluan
Last active March 26, 2024 18:27
Show Gist options
  • Save toilaluan/7f56cd1a2792cb37c7b6d6d1cb7a8592 to your computer and use it in GitHub Desktop.
Save toilaluan/7f56cd1a2792cb37c7b6d6d1cb7a8592 to your computer and use it in GitHub Desktop.
Welcome file

Update - March 26

For Validators

  • Generation Volume Setting for Miners: Validators can now handle more synthetic requests in 10 minutes as miners have the option to set their generation volume.
  • Integration with Weights & Biases: Validators can now log miner responses to Weights & Biases. To enable this feature, add the WANDB_API_KEY from your Weights & Biases account settings (https://wandb.ai/settings#api) and set the use_wandb argument to true. Example command to start the validator with Weights & Biases logging enabled:
WANDB_API_KEY=YourWandBApiKey pm2 start python --name "validator_nicheimage" \
-- -m neurons.validator.validator \
--netuid <netuid> \
--wallet.name <wallet_name> --wallet.hotkey <wallet_hotkey> \
--subtensor.network <network> \
--axon.port <your_public_port> \
--proxy.port <other_public_port>  # Optional, use only if you want to allow queries through your validator and get compensated
--use_wandb

For Miners

Setting Manual Generation Volume

  • Custom Generation Volume: Miners now have the ability to specify their generation volume for every 10-minute interval. This volume will be distributed to validators based on the amount of TAO staked.
  • Configuration: To set your generation volume, use the argument --miner.total_volume X, where X is your desired volume per 10 minutes.
  • Performance Metrics: For instance, an RTX 4090 can process 1 RealisticVision Request per second, equating to 600 requests in 10 minutes.
  • Impact on Rewards: The miner's maximum volume directly influences their rewards. The new reward formula is new_reward = old_reward * (0.9 + 0.1 * volume_scale), where volume_scale is calculated as max(min(total_volume ** 0.5 / 10, 1), 0).
total_volume volume_scale
100 1
50 0.707
30 0.547
  • Minimum Quota for Validators: Any validator with a stake greater than 10,000 TAO is guaranteed a minimum quota of 2 requests/miner.

Example: If a miner sets total_volume = 100 and there are two validators with stakes of 15K, 600K, 1M TAO respectively, the distribution of volume would be as follows:

  • Validator 1 receives 2 requests because it has over 10k staked TAO.
  • Validator 2 receives ~37 requests.
  • Validator 3 receives ~62 requests

Gemma 7b Instruction Category

  • We're introducing a new text model category: google/gemma-7b-it. Mining this model is best done with an A100 series or RTX 4090 GPU.

To start mining with this model, follow these steps:

  1. Install and Run vLLM:

    • Create a new Python environment for vLLM:
      python -m venv vllm
      source vllm/bin/activate
      pip install vllm
      
    • Start the API server with your Hugging Face token (ensure access to gemma-7b-it at https://huggingface.co/google/gemma-7b-it):
      HF_TOKEN=YourHuggingFaceToken python -m vllm.entrypoints.openai.api_server --model google/gemma-7b-it
      
  2. Install the NicheImage Repository:

    git clone https://github.com/NicheTensor/NicheImage
    cd NicheImage
    python -m venv nicheimage
    source nicheimage/bin/activate
    pip install -e .
    
  3. Run the Gemma7b Endpoint:

    HF_TOKEN=YourHuggingFaceToken python services/miner_endpoint/text_app.py --model_name Gemma7b --port 10006
    
  4. Start the Miner:

    pm2 start python --name "miner" \
    -- \
    -m neurons.miner.miner \
    --netuid 23 \
    --wallet.name <wallet_name> --wallet.hotkey <wallet_hotkey> \
    --subtensor.network <network> \
    --axon.port <your_public_port> \
    --generate_endpoint http://127.0.0.1:10006/generate \
    --info_endpoint http://127.0.0.1:10006/info \
    --miner.total_volume <your-gpu-capacity>
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment