본문 바로가기
AI

오픈소스 LLM : Kimi-Linear-48B-A3B와 Step3.5-Flash 완벽 분석

by IsaacOth 2026. 2. 8.

2025년 6월, 오픈소스 LLM 생태계에 두 개의 거대한 혁신이 동시에 등장했습니다. 중국의 Moonshot AI가 공개한 Kimi-Linear-48B-A3B와 StepFun이 선보인 Step3.5-Flash입니다. 두 모델 모두 "효율성"이라는 공통된 목표를 향해 전혀 다른 접근법을 취했으며, 각각의 방식으로 업계에 충격을 주고 있습니다.

이 글에서는 두 모델의 아키텍처, 성능, 실제 사용법, 그리고 어떤 상황에서 어떤 모델을 선택해야 하는지까지 상세하게 다루겠습니다.


1. Kimi-Linear-48B-A3B란?

1.1 개요 및 배경

Kimi-Linear-48B-A3B는 Moonshot AI가 2025년 6월에 공개한 하이브리드 선형 어텐션(Hybrid Linear Attention) 기반의 대규모 언어 모델입니다.

핵심 스펙:

  • 총 파라미터: 48B (480억 개)
  • 활성화 파라미터: 3B (30억 개) - 단 6.25%만 활성화
  • 컨텍스트 윈도우: 1,000,000 토큰 (100만 토큰!)
  • 라이선스: MIT (완전한 상업적 사용 가능)
  • 훈련 데이터: 5.7T 토큰

이 모델의 가장 큰 특징은 KDA(Kimi Delta Attention)라는 새로운 어텐션 메커니즘입니다. 기존 Transformer의 Softmax 어텐션이 가진 O(n²) 복잡도 문제를 해결하면서도, 품질 저하 없이 추론 속도를 극적으로 향상시켰습니다.

1.2 왜 "Linear Attention"인가?

기존 Transformer 모델들의 가장 큰 문제점은 컨텍스트 길이가 늘어날수록 메모리 사용량과 연산량이 기하급수적으로 증가한다는 것입니다.

기존 Softmax Attention의 문제:

  • 시간 복잡도: O(n²) - 컨텍스트 길이의 제곱에 비례
  • 128K 컨텍스트 처리 시 KV 캐시만 수십 GB 필요
  • 긴 문서 처리 시 VRAM 부족으로 OOM(Out of Memory) 빈번

Kimi-Linear의 해결책 - KDA (Kimi Delta Attention):

  • Gated DeltaNet 기반의 하이브리드 선형 어텐션
  • 시간 복잡도: O(n) - 컨텍스트 길이에 선형 비례
  • 75% KV 캐시 감소
  • 6.3배 TPOT(Time Per Output Token) 속도 향상

1.3 아키텍처 상세 분석

Kimi-Linear은 순수한 선형 어텐션이 아닌 하이브리드 구조를 채택했습니다. 이는 순수 선형 어텐션의 품질 저하 문제를 해결하기 위한 전략적 선택입니다.

레이어 구성:

  • 전체 64개 레이어 중 선형 어텐션 레이어 56개 (87.5%), Softmax 어텐션 레이어 8개 (12.5%)
  • Softmax 레이어는 8번째 레이어마다 배치

이 하이브리드 구조의 핵심 통찰:

  • 선형 레이어: 효율적인 장거리 의존성 처리
  • Softmax 레이어: 정밀한 로컬 패턴 학습
  • 두 메커니즘의 조합으로 품질과 효율성 동시 달성

1.4 벤치마크 성능

벤치마크 Kimi-Linear-48B-A3B 비교 모델 비고
MMLU-Pro (4K) 51.0 Qwen3-30B-A3B: 52.8 동급 경쟁력
RULER (128K) 84.3 - 장거리 의존성 우수
추론 속도 3.98x faster 동급 Transformer 대비 TPOT 기준
KV 캐시 75% 감소 동급 Transformer 대비 VRAM 효율성

특히 RULER 128K 벤치마크에서 84.3점을 기록한 것은 100만 토큰 컨텍스트를 단순한 마케팅이 아닌 실제로 활용 가능한 수준임을 증명합니다.

1.5 설치 및 사용법

방법 1: Transformers + FLA 커널

# 1. 필수 의존성 설치
pip install transformers accelerate

# 2. FLA(Flash Linear Attention) 커널 설치 (고속 추론용)
pip install triton
pip install fla-core  # Moonshot AI의 최적화된 커널
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# 모델 로드
model_name = "moonshotai/Kimi-Linear-48B-A3B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True  # FLA 커널 활성화에 필요
)

# 추론
messages = [
    {"role": "user", "content": "100만 토큰 컨텍스트의 장점을 설명해주세요."}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt")
outputs = model.generate(inputs.to(model.device), max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

방법 2: llama.cpp (로컬 배포)

llama.cpp에 Kimi-Linear 지원이 PR #18755로 머지되었습니다!

# llama.cpp 최신 버전 빌드
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j

# 실행
./llama-cli -m kimi-linear-48b-a3b-q4_k_m.gguf -p "Explain linear attention" -n 256 --ctx-size 131072

방법 3: vLLM 서빙

pip install vllm

python -m vllm.entrypoints.openai.api_server --model moonshotai/Kimi-Linear-48B-A3B-Instruct --trust-remote-code --max-model-len 131072 --dtype bfloat16

1.6 권장 하드웨어 사양

구성 최소 사양 권장 사양
VRAM 24GB (4-bit 양자화) 48GB+ (BF16)
RAM 32GB 64GB+
스토리지 100GB SSD 200GB+ NVMe
GPU RTX 4090 A100 80GB / H100

2. Step3.5-Flash란?

2.1 개요 및 배경

Step3.5-Flash는 중국 StepFun이 2025년 6월에 공개한 초고속 추론 특화 대규모 언어 모델입니다.

핵심 스펙:

  • 총 파라미터: 196B (1960억 개)
  • 활성화 파라미터: 11B (110억 개) - Sparse MoE 구조
  • 컨텍스트 윈도우: 256,000 토큰
  • 라이선스: Apache 2.0 (완전한 상업적 사용 가능)
  • 추론 속도: 100-350 tok/s (MTP-3 기술)

Step3.5-Flash의 가장 큰 특징은 MTP-3 (3-way Multi-Token Prediction) 기술입니다. 한 번의 forward pass로 3개의 토큰을 동시에 예측하여 추론 속도를 극적으로 높였습니다.

2.2 왜 "Flash"인가?

Step3.5-Flash는 이름 그대로 속도에 집중한 모델입니다. 기존 모델들이 한 번에 하나의 토큰만 생성하는 것과 달리, MTP-3를 통해 3개의 토큰을 동시에 예측합니다.

MTP-3 (Multi-Token Prediction) 작동 원리:

  • 기존 방식: "Hello" → "world" → " → " How" (3단계에 3개 토큰)
  • MTP-3 방식: "Hello" → ["world", ", " How"] (1단계에 3개 토큰!)

이론적으로 3배의 속도 향상이 가능하며, 실제로 100-350 tok/s의 처리 속도를 달성했습니다.

2.3 벤치마크 성능 - 업계 최고 수준

벤치마크 Step3.5-Flash GPT-5.2 Claude Opus 4.5 Kimi K2.5
평균 점수 81.0 82.2 80.6 80.5
SWE-bench 74.4% - - -
Terminal-Bench 2.0 51.0% - - -
AIME 2025 97.3% - - -
LiveCodeBench-V6 86.4% - - -

2.4 아키텍처 상세 분석

Sparse MoE (Mixture of Experts) 구조:
입력 토큰이 Router Layer를 통해 적절한 전문가에게 라우팅되고, 196B 파라미터 중 11B만 사용합니다 (5.6%).

2.5 설치 및 사용법

vLLM 서빙 (권장):

pip install vllm>=0.8.0

python -m vllm.entrypoints.openai.api_server --model stepfun-ai/Step-3.5-Flash --tensor-parallel-size 4 --max-model-len 262144 --enable-chunked-prefill

SGLang 서빙:

pip install sglang[all]

python -m sglang.launch_server --model stepfun-ai/Step-3.5-Flash --tp 4 --context-length 262144

2.6 API 사용법 (OpenRouter)

import openai

client = openai.OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="YOUR_OPENROUTER_KEY"
)

response = client.chat.completions.create(
    model="stepfun/step-3.5-flash",
    messages=[{"role": "user", "content": "Write a Python function to sort a list."}],
    max_tokens=1024
)
print(response.choices[0].message.content)

가격: 입력 $0.10/1M, 출력 $0.40/1M (GPT-4o 대비 약 60% 저렴)

2.7 Claude Code / Codex 통합

claude config set model step-3.5-flash
claude config set api_base https://api.stepfun.com/v1
claude "Fix the bug in this code"

2.8 권장 하드웨어 사양

구성 최소 사양 권장 사양
VRAM 48GB × 2 (INT4) 80GB × 4 (BF16)
RAM 128GB 256GB+
스토리지 500GB NVMe 1TB+ NVMe
GPU 2× A100 40GB 4× H100 80GB

3. 두 모델 비교 분석

3.1 핵심 차이점

항목 Kimi-Linear-48B-A3B Step3.5-Flash
개발사 Moonshot AI StepFun
총 파라미터 48B 196B
활성화 파라미터 3B (6.25%) 11B (5.6%)
컨텍스트 1,000,000 토큰 256,000 토큰
핵심 기술 선형 어텐션 (KDA) MTP-3 + Sparse MoE
라이선스 MIT Apache 2.0
주요 강점 초장문 처리, 메모리 효율 추론 속도, 코딩 능력

3.2 사용 시나리오별 추천

Kimi-Linear-48B-A3B를 선택해야 할 때:

  1. 초장문 문서 분석: 논문, 법률 문서, 코드베이스 전체 분석
  2. 메모리 제약 환경: 제한된 VRAM에서 긴 컨텍스트 처리
  3. RAG 파이프라인: 대량의 컨텍스트를 한 번에 처리
  4. 연구/실험: MIT 라이선스로 자유로운 수정 가능

Step3.5-Flash를 선택해야 할 때:

  1. 실시간 코딩 어시스턴트: 빠른 응답이 중요한 IDE 통합
  2. 대화형 애플리케이션: 챗봇, 고객 서비스
  3. 코드 생성/리뷰: SWE-bench 74.4%의 검증된 코딩 능력
  4. 수학/과학 문제 해결: AIME 97.3%의 수학 능력

3.3 비용 효율성 분석

자체 호스팅 시:

항목 Kimi-Linear Step3.5-Flash
필요 GPU 1x RTX 4090 4x A100 40GB
월 GPU 비용 ~$300 ~$4,000
처리 속도 중간 매우 빠름
장문 처리 효율 매우 높음 보통

API 사용 시 (Step3.5-Flash): 월 $15로 100만 토큰/일 처리 가능


4. 실전 활용 가이드

4.1 Kimi-Linear로 100만 토큰 컨텍스트 활용하기

import os
from transformers import AutoModelForCausalLM, AutoTokenizer

def load_codebase(directory):
    code_content = []
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith(('.py', '.js', '.ts', '.java')):
                with open(os.path.join(root, file), 'r') as f:
                    code_content.append(f"### {file}
{f.read()}")
    return "

".join(code_content)

codebase = load_codebase("./my-project")
prompt = f"""다음 코드베이스를 분석하고:
1. 아키텍처 개요
2. 잠재적 버그
3. 리팩토링 제안

코드베이스:
{codebase}
"""
response = model.generate(tokenizer(prompt, return_tensors="pt").input_ids)

4.2 Step3.5-Flash로 고속 코딩 어시스턴트 구축

import OpenAI from 'openai';

const client = new OpenAI({
    baseURL: 'https://openrouter.ai/api/v1',
    apiKey: process.env.OPENROUTER_KEY
});

export async function quickFix(code: string, error: string): Promise<string> {
    const response = await client.chat.completions.create({
        model: 'stepfun/step-3.5-flash',
        messages: [
            { role: 'system', content: 'You are a code fixing assistant.' },
            { role: 'user', content: `Fix this error:

Code:
${code}

Error:
${error}` }
        ],
        max_tokens: 2048,
        temperature: 0.1
    });
    return response.choices[0].message.content;
}

4.3 하이브리드 파이프라인

class HybridLLMPipeline:
    def __init__(self):
        self.kimi_linear = load_kimi_linear()  # 로컬
        self.step_flash = OpenAI(...)  # API

    def process_long_document(self, document: str, query: str):
        # Step 1: Kimi-Linear로 장문 분석
        analysis = self.kimi_linear.generate(f"Analyze:
{document[:500000]}")

        # Step 2: Step3.5-Flash로 빠른 응답
        response = self.step_flash.chat.completions.create(
            model="stepfun/step-3.5-flash",
            messages=[
                {"role": "system", "content": f"Analysis:
{analysis}"},
                {"role": "user", "content": query}
            ]
        )
        return response.choices[0].message.content

5. 트러블슈팅

5.1 Kimi-Linear 일반적인 문제

문제 1: FLA 커널 설치 실패

pip uninstall triton
pip install triton==2.1.0
pip install fla-core --no-deps

문제 2: CUDA OOM

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    load_in_4bit=True,
    bnb_4bit_compute_dtype=torch.bfloat16
)

문제 3: 긴 컨텍스트에서 속도 저하

import fla
print(f"FLA version: {fla.__version__}")
# trust_remote_code=True 필수!

5.2 Step3.5-Flash 일반적인 문제

문제 1: vLLM 서버 시작 실패

pip install vllm --force-reinstall
# 또는 특정 CUDA 버전 지정
pip install vllm==0.8.0+cu121

문제 2: MTP 모드 비활성화

python -c "from vllm import LLM; print(LLM.supports_mtp('stepfun-ai/Step-3.5-Flash'))"

문제 3: 토큰 속도가 기대보다 낮음

--tensor-parallel-size 4  # GPU 개수에 맞게
--enable-chunked-prefill

6. 미래 전망 및 로드맵

6.1 Kimi-Linear의 다음 스텝

Moonshot AI는 Kimi-Linear을 K3 플래그십의 전조라고 발표했습니다:

  • K3에서 선형 어텐션 전면 도입 예정
  • 10M(천만) 토큰 컨텍스트 목표
  • 더 높은 압축률의 KDA v2 개발 중

6.2 Step3.5-Flash의 확장 계획

StepFun의 발표에 따르면:

  • MTP-5 (5-way prediction) 연구 중
  • Step 4.0 시리즈 2025년 하반기 예정
  • 온디바이스 경량화 버전 개발 중

7. TL;DR

  • Kimi-Linear-48B-A3B (Moonshot AI)
    • 48B/3B 활성화, 100만 토큰 컨텍스트
    • KDA(선형 어텐션)로 75% 메모리 절약, 6.3x 속도 향상
    • MIT 라이선스, llama.cpp 지원
    • 초장문 문서 분석, RAG에 최적
  • Step3.5-Flash (StepFun)
    • 196B/11B 활성화, 256K 컨텍스트
    • MTP-3로 100-350 tok/s 초고속 추론
    • SWE-bench 74.4%, AIME 97.3% 최고 수준 성능
    • Apache 2.0, Claude Code/Codex 통합 지원
    • 코딩 어시스턴트, 실시간 대화에 최적
  • 선택 기준
    • 긴 문서 + 메모리 효율 → Kimi-Linear
    • 빠른 응답 + 코딩 능력 → Step3.5-Flash
    • 둘 다 필요하면 → 하이브리드 파이프라인!

8. 참고 링크

Kimi-Linear-48B-A3B:

Step3.5-Flash: