apiversion: modelslim_convert

# 权重结构（依据 qwen3-8b-fp8 model.safetensors.index.json 校准）：
#   - 前缀 model.layers.*（dense，36 层 layer 0~35）
#   - 每层 7 个 FP8_BLOCK linear（带 .weight_scale_inv）：
#       self_attn.{q,k,v,o}_proj + mlp.{gate,up,down}_proj
#   - q_norm / k_norm / layernorm 为 bf16，无 weight_scale_inv，不纳入 linears
#   - embed_tokens / lm_head 等非 linears 权重自动原样保留并落盘
#   - 共 2 个 safetensors 分片（model-00001/00002-of-00002）
spec:
  linears:
    - match:
        - "model.layers.*.self_attn.q_proj"
        - "model.layers.*.self_attn.k_proj"
        - "model.layers.*.self_attn.v_proj"
        - "model.layers.*.self_attn.o_proj"
        - "model.layers.*.mlp.gate_proj"
        - "model.layers.*.mlp.up_proj"
        - "model.layers.*.mlp.down_proj"
      target: W8A8_MXFP8
      route: auto

  save:
    - type: ascend_v1
      part_file_size: 4

  parallel:
    workers: 8
