Instructions to use lightonai/Qwen3-8B-SW with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lightonai/Qwen3-8B-SW with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="lightonai/Qwen3-8B-SW") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("lightonai/Qwen3-8B-SW") model = AutoModelForCausalLM.from_pretrained("lightonai/Qwen3-8B-SW") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use lightonai/Qwen3-8B-SW with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "lightonai/Qwen3-8B-SW" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lightonai/Qwen3-8B-SW", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/lightonai/Qwen3-8B-SW
- SGLang
How to use lightonai/Qwen3-8B-SW with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "lightonai/Qwen3-8B-SW" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lightonai/Qwen3-8B-SW", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "lightonai/Qwen3-8B-SW" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lightonai/Qwen3-8B-SW", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use lightonai/Qwen3-8B-SW with Docker Model Runner:
docker model run hf.co/lightonai/Qwen3-8B-SW
Qwen3-8B-SW
Qwen3-8B-SW is a native reasoning model fine-tuned from Qwen/Qwen3-8B-Base to reason in Swahili. This model produces its entire reasoning trace in Swahili before delivering the final answer in Swahili.
It is released alongside the paper Rethinking the Multilingual Reasoning Gap with Layer Swap.
Model details
- Base model:
Qwen/Qwen3-8B-Base - Language: Swahili (CoT and answer)
- Training: Full SFT, ~10B tokens, 2 epochs
- Context length: 32,768 tokens
- Dataset:
lightonai/Dolci-Think-SFT-32B-Multilingual(Swahili split).
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:
| Model | CoT language | Description |
|---|---|---|
lightonai/Qwen3-8B-SW |
Swahili | Native reasoning specialist |
lightonai/Qwen3-8B-SW-Swap |
Swahili | Layer Swap: middle layers (L13–L22) of Qwen3-8B-EN transplanted into Qwen3-8B-SW |
lightonai/Qwen3-8B-SW-Pivot-EN |
English | Same Swahili Q&A pairs, but CoT in English |
lightonai/Qwen3-8B-EN |
English | English 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.
| Model | MGSM-Rev2 | Global-MMLU-Lite | GPQA-Diamond | AIME 24/25 | HumanEvalPlus | Average |
|---|---|---|---|---|---|---|
Qwen3-8B-SW |
93.16 | 61.98 | 49.39 | 47.67 | 82.69 | 66.98 |
Qwen3-8B-SW-Swap |
96.12 | 64.10 | 49.29 | 50.33 | 85.62 | 69.09 |
Qwen3-8B-SW-Pivot-EN |
89.68 | 66.00 | 52.73 | 59.67 | 84.50 | 70.52 |
Qwen3-8B-EN |
35.88 | 33.88 | 36.82 | 24.78 | 58.44 | 37.96 |
Benchmarks used:
lightonai/gpqa_diamond_multilinguallightonai/aime24_multilinguallightonai/aime25_multilinguallightonai/HumanEvalPlus_multilinguallightonai/mgsm-rev2CohereLabs/Global-MMLU-Lite
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "lightonai/Qwen3-8B-SW"
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}
}
- Downloads last month
- 125
Model tree for lightonai/Qwen3-8B-SW
Base model
Qwen/Qwen3-8B-Base