Bailing (Ling) Examples

July 23, 2026 · View on GitHub

This directory contains example scripts for Ling 2.0 MoE language models by inclusionAI.

Ling 2.0 uses a high-sparsity Mixture of Experts (MoE) architecture with sigmoid routing, QK-Norm, and Half RoPE.

ModelHF IDArchitectureParamsActive Params
Ling-flash-2.0inclusionAI/Ling-flash-2.0MoE (256 experts, top-8)100B6.1B
Ling-flash-base-2.0inclusionAI/Ling-flash-base-2.0MoE (256 experts, top-8)100B6.1B
Ling-mini-2.0inclusionAI/Ling-mini-2.0MoE (256 experts, top-8)16B1.5B
Ling-mini-base-2.0inclusionAI/Ling-mini-base-2.0MoE (256 experts, top-8)16B1.5B

Workspace Configuration

All scripts use a WORKSPACE environment variable for the base directory. Default: /workspace.

export WORKSPACE=/your/custom/path

Directory structure:

  • ${WORKSPACE}/models/ - Converted checkpoints
  • ${WORKSPACE}/results/ - Training outputs

Checkpoint Conversion

See conversion.sh for checkpoint conversion examples. The script defaults to inclusionAI/Ling-mini-2.0, the 16B checkpoint, and accepts the other variants through MODEL_NAME or a complete HF_MODEL_ID:

MODEL_NAME=Ling-flash-2.0 bash examples/models/bailing/conversion.sh

Import HF → Megatron

./scripts/conversion/convert.sh import \
    --hf-model inclusionAI/Ling-mini-2.0 \
    --megatron-path ${WORKSPACE}/models/Ling-mini-2.0 \
    --trust-remote-code

Export Megatron → HF

./scripts/conversion/convert.sh export \
    --hf-model inclusionAI/Ling-mini-2.0 \
    --megatron-path ${WORKSPACE}/models/Ling-mini-2.0/iter_0000000 \
    --hf-path ${WORKSPACE}/models/Ling-mini-2.0-hf-export \
    --trust-remote-code

Round-trip Validation

python -m torch.distributed.run --nproc_per_node=8 \
    examples/conversion/hf_megatron_roundtrip_multi_gpu.py \
    --hf-model-id inclusionAI/Ling-mini-2.0 \
    --megatron-load-path ${WORKSPACE}/models/Ling-mini-2.0/iter_0000000 \
    --tp 2 --ep 4 \
    --trust-remote-code

Inference

See inference.sh for text generation with:

  • Hugging Face checkpoint (inclusionAI/Ling-mini-2.0 by default)
  • Imported Megatron checkpoint (after conversion.sh import)
  • Exported HF checkpoint (after conversion export)

Both scripts default to 8 GPUs with --tp 2 --ep 4. Override TP, PP, EP, ETP, and NPROC_PER_NODE together for another valid layout. TP×PP×EP must equal --nproc_per_node.

Note: --tp 1 --ep 8 works for conversion round-trip but may cause issues during autoregressive inference with single-token batches (empty token dispatch to some EP ranks). Use --tp 2 --ep 4 for inference.

Note: All Ling 2.0 models use custom HuggingFace code, so --trust-remote-code is required for conversion and inference.