size_categories:10K<n<100K format:parquet modality:text library:datasets library:pandas library:mlcroissant library:polars region:us
---
dataset_info:
  features:
  - name: prompt_text
    dtype: string
  - name: prompt_ids
    sequence: int64
  - name: decode_ids
    sequence: int64
  - name: prompt_pattern
    sequence:
      sequence: int64
  - name: decode_pattern
    sequence:
      sequence: int64
  - name: predictor_pattern
    sequence:
      sequence:
        sequence: int64
  splits:
  - name: train
    num_bytes: 230280182
    num_examples: 11334
  download_size: 32909861
  dataset_size: 230280182
configs:
- config_name: default
  data_files:
  - split: train
    path: data/train-*
---

pattern的维度是 (#layers, #tokens)， 比如假设维度是 (6,32)，则表示 MoE 总共 6 层，输入或输出的 token是 32， pattern[0,:]记录了所有 token 在第一层选择的 expert 的情况。

举个例子

```python
decode_pattern = [ [ 37, 6 ], [ 121, 36 ], [ 56, 76 ], [ 82, 26 ], [ 75, 61 ], [ 100, 60 ] ]
```

decode_pattern的维度是(6,2)，则表示有 6 层，输出的 token 数是 2。
decode_pattern[0][0]=37，这表示在第0层，第 0 个 token 选择的expert 的index 是 37

类似地， predictor_pattern返回的是 top-k (k=3)的结果，维度是 (#layers, #experts, k)。例如 predictor_pattern[0][0]表示的是在第一层，第一个 token 选中的权重排名前三的 expert 的索引值。