Kanana

🤗 HF Models  |  📕 Blog



News 🔥

  • 2026/07/27: 🤗 Released kanana-2-3b, kanana-2-1.3b HF model weights.
  • 2026/07/27: 📕 Published a blog post about the development of the Kanana-2 SLM series.

Introduction

We present Kanana-2 SLM, Kakao's second series of Small Language Models (SLMs), designed to deliver strong language capabilities while remaining compact and efficient for practical deployment. The series includes 3B, 1.3B, and 0.9B models. This release publicly includes the 3B model and the compressed 1.3B model, providing a balance between capability and efficiency for a wide range of applications. Kanana-2-3B was pretrained from scratch on TPU clusters and further improved through post-training with supervised fine-tuning and reinforcement learning, resulting in strong instruction-following and reasoning capabilities. Kanana-2-1.3B models are derived from Kanana-2-3B through a cascade pruning and distillation pipeline. To further improve deployment efficiency, they adopt Sliding Window Attention (SWA), enabling memory-efficient long-context inference with support for context lengths of up to 32K tokens while substantially reducing KV-cache memory requirements.

The Kanana-2 SLM release consists of the following four publicly available models:

  • Kanana-2-3B-Base — 3B pretrained base
  • Kanana-2-3B-Instruct — instruction-tuned 3B model
  • Kanana-2-1.3B-Base — compressed 1.3B pretrained base
  • Kanana-2-1.3B-Instruct — instruction-tuned 1.3B model for on-device deployment

No Kakao user data was used for either pre-training or post-training.

Highlights

  • Cascade Pruning & Distillation: Kanana-2-1.3B is built by progressively compressing Kanana-2-3B-Base (3B → 2B → 1.3B → 0.9B) through a cascade pruning and distillation pipeline.
  • Sliding Window Attention (SWA): Uses a 3:1 hybrid layout of sliding-window and full-attention layers. A sliding-window size of 1024 reduces per-token KV-cache reads, cutting KV-cache usage by up to ~72.7% at a 32K context length compared to a full-attention-only model. YaRN is applied to full-attention layers, while SWA layers retain RoPE, preserving long-range context without sacrificing local-attention efficiency.
  • Kanana-2 tokenizer: Improves Korean tokenization efficiency by over 30% compared to the previous generation.
  • Long context: Natively supports context lengths of up to 32,768 tokens.

Model Downloads

Model Download
kanana-2-3b-base 🤗 HuggingFace
kanana-2-3b-instruct 🤗 HuggingFace
kanana-2-1.3b-base 🤗 HuggingFace
kanana-2-1.3b-instruct 🤗 HuggingFace

Performance

Base model evaluation results

Benchmark Metric Shot kanana-2-3b-base kanana-2-1.3b-base Qwen3-1.7B-Base
General Tasks
MMLUacc562.7756.4962.32
MMLU-Proacc536.5429.8737.08
BBHacc354.2345.5853.60
SimpleQAacc527.3923.7616.83
Mathematics Tasks
MATHem435.0830.8241.74
GSM8Kem861.0351.9375.74
Coding Tasks
HumanEvalpass@1055.9651.3345.31
MBPPpass@1350.9544.8653.85
Korean Tasks
KMMLUacc547.9244.1743.08
KoSimpleQAacc532.5028.5013.40
HAE-RAE Bench (v1.0)acc580.6675.3455.54
MATH-Koem431.5424.7531.92
MBPP-Ko§pass@1344.5539.3847.97
Long Context Tasks
RULER-32Kacc067.5055.7269.01

† Evaluated in Multiple Choice Question Answering (MCQA) format with 10 options.

‡ Subsets from HRM8K (MATH, GSM8K).

§ Internally translated to Korean.

Instruct model evaluation results

Instruction-following, chat, tool-calling, code, math, and knowledge benchmarks for the Kanana-2 SLM series. Scores use greedy decoding (temperature 0.0, top-p 1.0, max 4096 tokens); the metric for each benchmark is listed in the Metric column.

Benchmark Metric kanana-2-3b-instruct kanana-2-1.3b-instruct Qwen3.5-2B Qwen3-1.7B
Chat
MT-Benchjudge7.156.836.876.98
KoMT-Benchjudge6.926.545.215.29
Instruction Following
IFBenchprompt strict33.3334.6924.8318.33
IFEvalprompt strict80.9677.6366.9168.39
IHEvalpass@135.9627.0638.5242.09
Tool Calling
BFCL-v3 (Live)pass@171.9469.6466.9665.48
BFCL-v3 (Multi-Turn)pass@117.125.506.274.38
Code Generation
MBPPpass@170.6369.0555.5662.17
MBPP+pass@160.0560.8546.8352.65
Mathematics
GSM-Pluspass@161.1758.2761.2963.10
MATH-500pass@161.2061.4067.8072.00
Minerva Mathpass@124.4422.4335.1827.21
Reasoning & Knowledge
MMLU-CoTacc61.0960.3769.0166.02
KMMLU-CoTacc43.3242.7941.7537.84
HAERAE-Bench (v1.0)-CoTacc43.7544.8927.8427.84
KoSimpleQAacc22.2917.813.212.82

† Evaluated using gpt-4o-2024-08-06 as the judge model.

Live denotes the average score of 6 live benchmarks, and Multi-Turn the average score of 4 multi-turn benchmarks.

Deployment

kanana-2-1.3b-instruct uses a custom hybrid attention architecture (Kanana2TinyForCausalLM — a Qwen3 backbone with a 3:1 SWA/full-attention layout and per-layer-type RoPE), shipped as remote code in the repository.

Because the modeling code is loaded from the repository, serving requires transformers >= 4.57 and the --trust-remote-code flag. For SGLang, use --attention-backend triton so the hybrid sliding-window attention is handled correctly.

vLLM

vLLM is a fast and memory-optimized engine designed for high-performance LLM inference and serving.

vllm serve kakaocorp/kanana-2-1.3b-instruct \
    --tensor-parallel-size 1 \
    --max-model-len 32768 \
    --trust-remote-code \
    --enable-auto-tool-choice \
    --tool-call-parser qwen3_coder

SGLang

SGLang is a high-efficiency framework for serving LLMs and VLMs, enabling easy deployment of OpenAI-compatible API servers.

For SGLang, the model is served through the stock Qwen3ForCausalLM path instead of the remote-code Kanana2TinyForCausalLM class. This requires two files shipped in the sglang/ directory of this repository:

  1. sglang/config.json — a Qwen3-flavored config (architectures: ["Qwen3ForCausalLM"], model_type: qwen3, no auto_map) that keeps the hybrid-attention fields (layer_types, sliding_window, per-layer-type rope_parameters). Use it in place of the default config.json when serving with SGLang.
  2. sglang/qwen3.py — a patched model definition that overrides the installed sglang/srt/models/qwen3.py.
python3 -m sglang.launch_server \
    --model-path kakaocorp/kanana-2-1.3b-instruct \
    --tp 1 \
    --context-length 32768 \
    --attention-backend triton \
    --trust-remote-code \
    --tool-call-parser qwen3_coder

  • Recommended: sglang==0.5.1.
  • With the Qwen3-flavored sglang/config.json the model itself needs no remote code, but --trust-remote-code is passed so the tokenizer/config are loaded without prompting.
  • Use triton or fa3 for the attention backend. Avoid flashinfer — it appears to have an issue with this model and causes significant accuracy/throughput degradation.

Kanana-2-1.3B shares the Qwen3 backbone but adds a 3:1 SWA/full hybrid attention layout and per-layer-type RoPE, which SGLang's stock Qwen3 model does not handle. The patched sglang/qwen3.py changes the decoder layer to:

  1. Per-layer-type RoPE — for each layer, read the entry in config.rope_parameters matching config.layer_types[layer_id] and build that layer's own rotary embedding from it: full_attention uses YaRN (factor=40, original_max_position_embeddings=4096) and sliding_attention uses default RoPE (rope_theta=10000). A layer type with no matching entry falls back to no RoPE.
  2. Hybrid sliding-window attention — layers typed sliding_attention run RadixAttention with sliding_window_size = config.sliding_window - 1 (SGLang uses an exclusive window, HF an inclusive one), while full_attention layers use full causal attention.

License

The model weights are released under the KananaOpenLicense.

Citation

@misc{kanana2slm2026,
  title = {Kanana-2 SLM},
  author = {Kanana LLM},
  year = {2026},
  url = {https://huggingface.co/collections/kakaocorp/kanana-2-slm}
}

Contact

Downloads last month
88
Safetensors
Model size
1B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for kakaocorp/kanana-2-1.3b-instruct

Finetuned
(1)
this model
Finetunes
1 model
Quantizations
1 model

Collection including kakaocorp/kanana-2-1.3b-instruct