{"record":{"id":"42e9e0a97b9a9e46","repo":"tensorflow/models","slug":"block-sparse-attention-only-supports-multi-query-a","errorCode":null,"errorMessage":"Block sparse attention only supports Multi-query attention.Please set num_kv_heads to 1 to enable MQA with block sparse attention.","messagePattern":"Block sparse attention only supports Multi-query attention\\.Please set num_kv_heads to 1 to enable MQA with block sparse attention\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/nlp/modeling/layers/transformer_encoder_block.py","lineNumber":265,"sourceCode":"    self._diff_q_kv_att_layer_norm = diff_q_kv_att_layer_norm\n    self._return_attention_scores = return_attention_scores\n    self._num_kv_heads = num_kv_heads\n    self._src_block_size = src_block_size\n    self._tgt_block_size = tgt_block_size\n    self._use_sigmoid_attn = use_sigmoid_attn\n    self._sigmoid_attn_bias = sigmoid_attn_bias\n    self._linformer_dim = linformer_dim\n    self._linformer_shared_kv_projection = linformer_shared_kv_projection\n    self._lowrank_query_seq_proj_dim = lowrank_query_seq_proj_dim\n    self._enable_talking_heads = enable_talking_heads\n    self._enable_gqa_optimization = enable_gqa_optimization\n    self._softmax_robust_masking = softmax_robust_masking\n    if (\n        self._src_block_size is not None\n        and self._num_kv_heads is not None\n        and self._num_kv_heads != 1\n    ):\n      raise ValueError(\n          \"Block sparse attention only supports Multi-query attention.Please\"\n          \" set num_kv_heads to 1 to enable MQA with block sparse attention.\"\n      )\n    if attention_initializer:\n      self._attention_initializer = tf_keras.initializers.get(\n          attention_initializer\n      )\n    else:\n      self._attention_initializer = tf_utils.clone_initializer(\n          self._kernel_initializer\n      )\n    self._attention_axes = attention_axes\n\n    if self._diff_q_kv_att_layer_norm and not self._norm_first:\n      raise ValueError(\n          \"Setting `diff_q_and_kv_attention_layer_norm` to True\"\n          \"when `norm_first` is False is invalid.\"\n      )","sourceCodeStart":247,"sourceCodeEnd":283,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/nlp/modeling/layers/transformer_encoder_block.py#L247-L283","documentation":"Error \"Block sparse attention only supports Multi-query attention.Please set num_kv_heads to 1 to enable MQA with block sparse attention.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/nlp/modeling/layers/transformer_encoder_block.py:265 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e006f5f0d534913e49c1f1dae87364039fa607e2","analyzedAt":"2026-08-24T14:09:15.576Z","schemaVersion":2},"datasetVersion":"2026-08-24T17:17:21.512Z"}