Model reference · open weights

Qwen3-SW-Swap

LLMs lightonai Text gen 1 build Open weights 12 dl/mo

Qwen3-SW-Swap is an open-weight language model from lightonai. Qwen3-8B-SW-Swap (BF16) weighs 16.4 GB; the smallest configuration that runs it is 2× RTX 3060 12 GB.

  • Qwen3-SW-Swap is an 8.2B parameter text-generation model created by lightonai that uses a layer swap technique to transplant middle transformer layers from an English specialist into a Swahili native specialist.
  • The model is designed to reason natively in Swahili while inheriting stronger reasoning capabilities, and it supports a context length of 40960 tokens.
  • It is released under the apache-2.0 license.

Summary of the lightonai/Qwen3-8B-SW-Swap model card, 2026-10-01

What it is

Released bylightonai
Released2026-05-26
Parameters8.2B
VRAM16.4 GB for the weights

What it runs on

Memory and cards for Qwen3-8B-SW-Swap (BF16)

16.4 GBweights, file size
147 MBcache per 1K tokens
753 MBruntime overhead, at least
40,960 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … RTX 4060 Ti 16 GB
2 smaller cards
———
RTX 3090 24 GB51all 40K23.4 GB
RTX 4090 24 GB51all 40K23.4 GB
RTX 5090 32 GB112all 40K31.0 GB
L40S 48 GB225all 40K44.0 GB
A100 80 GB5012all 40K78.2 GB
H100 80 GB4611all 40K78.1 GB
RTX PRO 6000 Blackwell 96 GB5914all 40K93.8 GB
DGX Spark (GB10) 128 GB unified7117all 40K107 GB
H200 141 GB9624all 40K138 GB
B200 180 GB12731all 40K176 GB
2× RTX 3060 12 GB
tensor parallel
4135K11.6 GB a card
2× RTX 4060 Ti 16 GB
tensor parallel
102all 40K15.4 GB a card
2× RTX 4090 24 GB
tensor parallel
235all 40K23.4 GB a card
2× RTX 3090 24 GB
tensor parallel
235all 40K23.4 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
118.3 GB22.0 GB
523.2 GB41.3 GB
826.8 GB55.8 GB
1636.5 GB94.4 GB
3255.8 GB172 GB
6494.4 GB326 GB

One card, with vLLM's small-card settings.

From the model card

What lightonai says about Qwen3-SW-Swap

Read the model card

Qwen3-8B-SW-Swap is a Layer Swap model built on top of lightonai/Qwen3-8B-SW: the middle transformer layers (L13–L22) of the English specialist lightonai/Qwen3-8B-EN have been transplanted into the Swahili native specialist. The resulting model reasons natively in Swahili while inheriting the stronger reasoning core of the English specialist.

It is released alongside the paper Rethinking the Multilingual Reasoning Gap with Layer Swap.

Model details

  • Base model: Qwen/Qwen3-8B-Base
  • Construction: Training-free Layer Swap — layers L13–L22 of Qwen3-8B-EN transplanted into Qwen3-8B-SW
  • Language: Swahili (CoT and answer)
  • Context length: 32,768 tokens
  • Dataset (underlying specialists): lightonai/Dolci-Think-SFT-32B-Multilingual

[!NOTE] The model was trained on data derived from allenai/Dolci-Think-SFT-32B, released under the ODC-BY-1.0 license.

Related models

This model is part of a Swahili specialist trio designed to study the native reasoning gap:

ModelCoT languageDescription
lightonai/Qwen3-8B-SWSwahiliNative reasoning specialist
lightonai/Qwen3-8B-SW-SwapSwahiliLayer Swap: middle layers (L13–L22) of Qwen3-8B-EN transplanted into Qwen3-8B-SW
lightonai/Qwen3-8B-SW-Pivot-ENEnglishSame Swahili Q&A pairs, but CoT in English
lightonai/Qwen3-8B-ENEnglishEnglish specialist

Evaluation

All scores are mean accuracy (%) on the Swahili version of each benchmark, with sample standard deviation across runs. AIME 24/25 is averaged over 30 runs; the others over 10 runs, using the recommended generation parameters.

ModelMGSM-Rev2Global-MMLU-LiteGPQA-DiamondAIME 24/25HumanEvalPlusAverage
Qwen3-8B-SW93.1661.9849.3947.6782.6966.98
Qwen3-8B-SW-Swap96.1264.1049.2950.3385.6269.09
Qwen3-8B-SW-Pivot-EN89.6866.0052.7359.6784.5070.52
Qwen3-8B-EN35.8833.8836.8224.7858.4437.96

Benchmarks used:

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "lightonai/Qwen3-8B-SW-Swap"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")

messages = [{"role": "user", "content": "Suluhisha: 24 × 17 = ?"}]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(model.device)

outputs = model.generate(inputs, max_new_tokens=32768, temperature=1.0, top_p=0.95, top_k=20)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))

Recommended sampling: temperature=1.0, top_p=0.95, top_k=20, min_p=0.

Citation

If you find our work helpful, feel free to give us a cite.

@misc{lasbordes2026rethinking,
  title        = {Rethinking the Multilingual Reasoning Gap with Layer Swap},
  author       = {Lasbordes, Maxence and Chatelain, Amélie and Seddah, Djamé},
  year         = {2026},
  eprint       = {2605.26735},
  archivePrefix= {arXiv},
  primaryClass = {cs.CL}
}

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms