{"record":{"id":"78061681fca3480d","repo":"sgl-project/sglang","slug":"unsupported-activation-only-silu-is-supported-for","errorCode":null,"errorMessage":"Unsupported activation. Only silu is supported for now.","messagePattern":"Unsupported activation\\. Only silu is supported for now\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"critical","filePath":"python/sglang/srt/models/bailing_moe.py","lineNumber":123,"sourceCode":"            bias=config.use_bias,\n            quant_config=quant_config,\n            prefix=add_prefix(\"gate_up_proj\", prefix),\n            tp_rank=tp_rank,\n            tp_size=tp_size,\n        )\n        self.down_proj = RowParallelLinear(\n            intermediate_size,\n            config.hidden_size,\n            bias=config.use_bias,\n            reduce_results=reduce_results,\n            quant_config=quant_config,\n            prefix=add_prefix(\"down_proj\", prefix),\n            tp_rank=tp_rank,\n            tp_size=tp_size,\n        )\n\n        if config.hidden_act != \"silu\":\n            raise ValueError(\"Unsupported activation. Only silu is supported for now.\")\n        self.act_fn = SiluAndMul()\n\n    def forward(\n        self,\n        hidden_states: torch.Tensor,\n        forward_batch: Optional[ForwardBatch] = None,\n    ) -> torch.Tensor:\n        if (self.tp_size == 1) and hidden_states.shape[0] == 0:\n            return hidden_states\n\n        gate_up, _ = self.gate_up_proj(hidden_states)\n        hidden_states = self.act_fn(gate_up)\n        hidden_states, _ = self.down_proj(hidden_states)\n        return hidden_states\n\n\nclass BailingMoEGate(nn.Module):\n    def __init__(","sourceCodeStart":105,"sourceCodeEnd":141,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/models/bailing_moe.py#L105-L141","documentation":"The Bailing MoE dense MLP requires hidden_act == 'silu'; anything else raises immediately after the projections are built.","triggerScenarios":"Loading a bailing_moe checkpoint whose config.hidden_act differs from \"silu\".","commonSituations":"Custom variants of Bailing models with gelu; conversion scripts writing wrong activation names.","solutions":["Set \"hidden_act\": \"silu\" in config.json","Verify you are using the official Bailing MoE checkpoint"],"exampleFix":"// before\n\"hidden_act\": \"gelu_pytorch_tanh\"\n// after\n\"hidden_act\": \"silu\"","handlingStrategy":"validation","validationCode":"assert config.hidden_act == \"silu\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate activation before model load"],"tags":["activation","config-validation","bailing-moe"],"backgroundTag":"unsupported-activation-function","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}