
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를 선택해야 할 때:
- 초장문 문서 분석: 논문, 법률 문서, 코드베이스 전체 분석
- 메모리 제약 환경: 제한된 VRAM에서 긴 컨텍스트 처리
- RAG 파이프라인: 대량의 컨텍스트를 한 번에 처리
- 연구/실험: MIT 라이선스로 자유로운 수정 가능
Step3.5-Flash를 선택해야 할 때:
- 실시간 코딩 어시스턴트: 빠른 응답이 중요한 IDE 통합
- 대화형 애플리케이션: 챗봇, 고객 서비스
- 코드 생성/리뷰: SWE-bench 74.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:
- HuggingFace: https://huggingface.co/moonshotai/Kimi-Linear-48B-A3B-Instruct
- GitHub (FLA): https://github.com/MoonshotAI/Kimi-Linear
- llama.cpp PR: https://github.com/ggerganov/llama.cpp/pull/18755
Step3.5-Flash:
'AI' 카테고리의 다른 글
| Anthropic의 Claude Opus 4.6 + Cowork 플러그인 폭탄 투하 - AI 업무 자동화의 새로운 시대 (0) | 2026.02.09 |
|---|---|
| Mistral Vibe 2.0 완벽 가이드 — 터미널 네이티브 AI 코딩 에이전트 마스터하기 (0) | 2026.02.08 |
| Kimi K2.5 에이전트 아키텍처 완벽 해부 2편 - 도구 체계와 실행 흐름 (0) | 2026.02.08 |
| Kimi K2.5 에이전트 아키텍처 완벽 해부 1편 - 설계 철학과 인프라 (0) | 2026.02.08 |
| 2026년 로컬 OCR 벤치마크 - GLM, DeepSeek, LightOn, Paddle, Apple ML 완벽 비교 (0) | 2026.02.08 |