code: def test_too_few_peers():
      dht_instances = launch_dht_instances(4)
      averagers = [
          DecentralizedAverager(
              averaged_tensors=[torch.randn(3)],
              dht=dht,
              target_group_size=2,
              min_matchmaking_time=1,
              request_timeout=0.5,
              prefix="mygroup",
              initial_group_bits=bin(i)[2:].rjust(3, "0"),
              start=True,
          )
          for i, dht in enumerate(dht_instances)
      ]
      step_futures = [
          averager.step(wait=False, timeout=2) for averager in averagers
      ]
  
      for future in step_futures:
          with pytest.raises(AllreduceException):
              future.result()
  
      for process in averagers + dht_instances:
          process.shutdown()
  
imports: import random
  import time
  import numpy
  import pytest
  import torch
  import hivemind
  from hivemind.averaging import DecentralizedAverager
  from hivemind.averaging.allreduce import AveragingMode
  from hivemind.averaging.control import AveragingStage
  from hivemind.averaging.key_manager import GroupKeyManager
  from hivemind.averaging.load_balancing import load_balance_peers
  from hivemind.averaging.partition import AllreduceException
  from hivemind.p2p import PeerID
  from test_utils.dht_swarms import launch_dht_instances
label_desc: Use image node_id 11 for calling a global function with example usage: test_too_few_peers() without return types