DeepSeek-V3에서 Kimi K2로: 현대적 LLM 아키텍처 설계 분석
https://magazine.sebastianraschka.com/p/the-big-llm-architecture-comparison 글 번역했습니다.
GPT 아키텍처가 개발된 지 7년이 되었습니다. GPT-2(2019)를 되돌아보고 DeepSeek-V3와 Llama 4(2024-2025)를 전망해 보면, 이 모델들이 구조적으로 여전히 유사하다는 점에 놀라움을 느낄 수 있습니다.
물론, 위치 임베딩은 절대적에서 회전형(RoPE)으로 진화했으며, Multi-Head Attention은 주로 Grouped-Query Attention으로 대체되었고, 더 효율적인 SwiGLU가 GELU와 같은 활성화 함수를 대체했습니다. 하지만 이러한 작은 개선 사항 아래에서 우리는 진정으로 혁신적인 변화를 목격한 것일까요, 아니면 단순히 동일한 아키텍처 기반을 다듬고 있는 것일까요?
LLM을 비교하여 좋은(또는 그렇지 않은) 성능에 기여하는 핵심 요소를 파악하는 것은 유명하게도 어려운 과제입니다: 데이터셋, 훈련 기술, 하이퍼파라미터는 다양하며 종종 잘 문서화되지 않습니다.
그러나 2025년 현재 LLM 개발자들이 어떤 방향으로 나아가고 있는지 이해하기 위해 아키텍처 자체의 구조적 변화를 분석하는 것은 여전히 큰 가치가 있다고 생각합니다. (그 중 일부는 아래 그림 1에 표시되어 있습니다.)

따라서, 이 기사에서는 벤치마크 성능이나 훈련 알고리즘에 대해 논의하는 대신, 오늘날의 플래그십 오픈 모델을 정의하는 아키텍처적 발전에 초점을 맞출 것입니다.
(기억하시다시피, 저는 얼마 전 다모달 LLM에 대해 글을 썼습니다. 이 기사에서는 최근 모델의 텍스트 기능에 집중하고, 다모달 기능에 대한 논의는 다음 기회에 다루겠습니다.)
1. DeepSeek V3/R1
이미 여러 번 들어보셨을 것처럼, DeepSeek R1은 2025년 1월에 출시되자마자 큰 파장을 일으켰습니다. DeepSeek R1은 2024년 12월에 소개된 DeepSeek V3 아키텍처 기반으로 구축된 추론 모델입니다.
여기서는 2025년에 출시된 아키텍처에 초점을 맞추고 있지만, DeepSeek V3는 DeepSeek R1이 2025년에 출시된 이후에야 널리 주목받고 채택되기 시작했기 때문에 포함하는 것이 적절하다고 생각합니다.
DeepSeek R1의 훈련에 특히 관심이 있다면, 올해 초에 작성한 제 기사도 참고하시면 도움이 될 것입니다: https://magazine.sebastianraschka.com/p/understanding-reasoning-llms
Understanding Reasoning LLMs
Methods and Strategies for Building and Refining Reasoning Models
magazine.sebastianraschka.com
이 섹션에서는 DeepSeek V3에서 도입된 두 가지 핵심 아키텍처 기술에 초점을 맞추어 설명하겠습니다. 이 기술들은 계산 효율성을 향상시키고 DeepSeek V3를 다른 많은 LLM과 구분 짓는 특징입니다.
- 다중 헤드 잠재 주의(MLA)
- 전문가 혼합(MoE)
1.1 다중 헤드 잠재 주의력 (MLA)
Multi-Head Latent Attention (MLA)에 대해 논의하기 전에, 왜 이 방법이 사용되는지 이해하기 위해 먼저 배경 지식을 간단히 살펴보겠습니다. 이를 위해 최근 몇 년간 Multi-Head Attention (MHA)의 계산 및 파라미터 효율성을 높이기 위한 새로운 표준 대체 방법으로 자리 잡은 Grouped-Query Attention (GQA)부터 시작하겠습니다.
다음은 GQA의 간략한 요약입니다. MHA와 달리 GQA는 각 헤드마다 고유한 키와 값 세트를 갖는 대신, 메모리 사용량을 줄이기 위해 여러 헤드를 그룹화하여 동일한 키와 값 투영을 공유합니다.
예를 들어, 아래 그림 2에서 더 자세히 설명된 것처럼, 키-값 그룹이 2개이고 주의 헤드 수가 4개라면, 헤드 1과 2는 하나의 키와 값 세트를 공유하고, 헤드 3과 4는 다른 세트를 공유합니다. 이로써 키와 값 계산의 총량이 감소하여 메모리 사용량이 줄어들고 효율성이 향상됩니다(절제 실험에 따르면 모델링 성능에 눈에 띄는 영향을 주지 않습니다).

따라서, GQA의 핵심 아이디어는 키와 값 헤더를 여러 쿼리 헤더 간에 공유함으로써 키와 값 헤더의 수를 줄이는 것입니다. 이로 인해 (1) 모델의 파라미터 수가 감소하고 (2) 추론 시 키와 값 텐서의 메모리 대역폭 사용량이 줄어듭니다. 이는 키와 값이 KV 캐시에서 저장되고 검색되어야 하는 양이 줄어들기 때문입니다.
(GQA가 코드에서 어떻게 구현되었는지 궁금하다면, KV 캐시가 없는 버전은 제 GPT-2에서 Llama 3로 변환 가이드를 참고하시고, KV 캐시 변형 버전은 여기에서 확인하세요.)
GQA는 주로 MHA의 계산 효율성 개선 방안이지만, 원본 GQA 논문과 Llama 2 논문 등의 실험 결과에 따르면 LLM 모델링 성능 측면에서 표준 MHA와 유사한 성능을 보여줍니다.
이제 Multi-Head Latent Attention (MLA)은 KV 캐싱과 특히 잘 어울리는 다른 메모리 절약 전략을 제공합니다. GQA와 달리 MLA는 키와 값 헤드를 공유하는 대신, 키와 값 텐서를 KV 캐시에 저장하기 전에 저차원 공간으로 압축합니다.
추론 시에는 이 압축된 텐서가 원래 크기로 복원된 후 사용됩니다(아래 그림 3 참조). 이 과정은 추가적인 행렬 곱셈을 발생시키지만 메모리 사용량을 줄입니다.

(참고로, 쿼리도 압축되지만, 이는 훈련 단계에서만 적용되며 추론 단계에서는 적용되지 않습니다.)
참고로, MLA는 DeepSeek V3에서 새로운 기능이 아닙니다. 이전 버전인 DeepSeek-V2에서도 MLA를 사용했으며(심지어 도입하기도 했습니다). 또한 V2 논문에는 DeepSeek 팀이 GQA 대신 MLA를 선택한 이유를 설명할 수 있는 몇 가지 흥미로운 ablation 연구가 포함되어 있습니다(아래 그림 4 참조).

그림 4에서 볼 수 있듯이 GQA는 MHA보다 성능이 낮은 것으로 나타났으며, MLA는 MHA보다 모델링 성능이 우수합니다. 이는 DeepSeek 팀이 GQA 대신 MLA를 선택한 이유일 가능성이 높습니다. (MLA와 GQA 간의 "KV 캐시당 토큰" 절감 비교도 흥미로웠을 것입니다!)
다음 아키텍처 구성 요소로 넘어가기 전에 이 섹션을 요약하자면, MLA는 KV 캐시 메모리 사용량을 줄이면서 모델링 성능 측면에서 MHA보다 약간 더 우수한 성능을 발휘하는 현명한 기술입니다.
1.2 전문가 혼합(MoE)
DeepSeek의 또 다른 주요 아키텍처 구성 요소로 주목할 만한 것은 Mixture-of-Experts (MoE) 레이어의 사용입니다. DeepSeek이 MoE를 발명하지는 않았지만, 올해 다시 주목받고 있으며, 나중에 다룰 많은 아키텍처에서도 이를 채택하고 있습니다.
MoE에 대해 이미 알고 계실 수도 있지만, 간단한 복습이 도움이 될 수 있습니다.
MoE의 핵심 아이디어는 트랜스포머 블록 내의 각 FeedForward 모듈을 다중 전문가 레이어로 대체하는 것입니다. 이 전문가 레이어 각각도 FeedForward 모듈입니다. 이는 단일 FeedForward 블록을 다중 FeedForward 블록으로 교체하는 것을 의미하며, 아래 그림 5에illustrated되어 있습니다.

트랜스포머 블록 내의 피드포워드 블록(위 그림에서 어두운 회색 블록으로 표시됨)은 일반적으로 모델의 전체 파라미터 중 대부분을 포함합니다. (참고로 트랜스포머 블록, 그리고 따라서 피드포워드 블록은 LLM에서 여러 번 반복됩니다. DeepSeek-V3의 경우 61번 반복됩니다.)
따라서 단일 FeedForward 블록을 다중 FeedForward 블록으로 교체하는 것(MoE 구성에서 수행되는 방식)은 모델의 총 매개변수 수를 크게 증가시킵니다. 그러나 핵심 트릭은 모든 토큰에 대해 모든 전문가(expert)를 사용하지 않는다는 점입니다. 대신 라우터(router)가 각 토큰에 대해 작은 하위 집합의 전문가만을 선택합니다. (시간 또는 기사 공간의 제한으로 인해 라우터에 대한 자세한 설명은 다음에 다루겠습니다. )
동시에 활성화되는 전문가 수가 적기 때문에 MoE 모듈은 밀도 모듈(항상 전체 매개변수 세트를 사용하는 모듈)과 대비되어 스파스(희소)라고 불립니다. 그러나 MoE를 통해 증가한 총 매개변수 수는 LLM의 용량을 증가시켜 훈련 중 더 많은 지식을 흡수할 수 있게 합니다. 스파스성은 추론 효율성을 유지합니다. 왜냐하면 모든 매개변수를 동시에 사용하지 않기 때문입니다.
예를 들어, DeepSeek-V3는 각 MoE 모듈당 256개의 전문가와 총 6710억 개의 매개변수를 가지고 있습니다. 그러나 추론 시에는 한 번에 9개의 전문가만 활성화됩니다(공유 전문가 1개 + 라우터가 선택한 8개). 이는 추론 단계당 370억 개의 매개변수만 사용된다는 의미이며, 전체 6710억 개와는 대비됩니다.
DeepSeek-V3의 MoE 설계에서 주목할 만한 특징은 공유 전문가의 사용입니다. 이는 모든 토큰에 대해 항상 활성화되는 전문가입니다. 이 아이디어는 새로운 것이 아니며, DeepSeek 2024 MoE 및 2022 DeepSpeedMoE 논문에서 이미 소개되었습니다.

공유된 전문가의 이점은 DeepSpeedMoE 논문에서 처음 언급되었으며, 이 논문에서는 공유된 전문가가 없는 경우와 비교해 전체 모델링 성능이 향상된다는 사실을 발견했습니다. 이는 공통되거나 반복되는 패턴을 여러 개별 전문가들이 학습할 필요가 없기 때문으로, 이로 인해 더 전문적인 패턴을 학습할 여지가 더 많아지기 때문입니다.
1.3 DeepSeek 요약
요약하자면, DeepSeek-V3는 출시 당시 6710억 개의 파라미터를 갖춘 대규모 모델로, 405B Llama 3를 포함한 다른 오픈 소스 모델을 성능 면에서 앞섰습니다. 더 큰 규모에도 불구하고, 토큰당 파라미터의 작은 부분집합(단 37B)만 활성화하는 Mixture-of-Experts (MoE) 아키텍처 덕분에 추론 시 훨씬 더 효율적입니다.
또 다른 주요 차별점은 DeepSeek-V3가 Grouped-Query Attention (GQA) 대신 Multi-Head Latent Attention (MLA)을 사용한다는 점입니다. MLA와 GQA는 모두 표준 Multi-Head Attention (MHA)의 추론 효율적인 대안으로, 특히 KV 캐싱을 사용할 때 효과적입니다. MLA는 구현이 더 복잡하지만, DeepSeek-V2 논문에서 진행된 연구에서 GQA보다 우수한 모델링 성능을 보여줍니다.
2. OLMo 2
Allen Institute for AI(AI 연구를 지원하는 비영리 기관)의 OLMo 시리즈 모델은 훈련 데이터와 코드의 투명성, 상대적으로 상세한 기술 보고서 측면에서 주목할 만합니다.
OLMo 모델은 벤치마크나 리더보드 상위권에 오르지 않을 수 있지만, 투명성 덕분에 상당히 깨끗하며, 더 중요한 점은 대규모 언어 모델(LLM) 개발을 위한 훌륭한 청사진을 제공한다는 점입니다.
OLMo 모델은 투명성 때문에 인기가 있지만, 성능 면에서도 나쁘지 않습니다. 실제로 1월 출시 당시(Llama 4, Gemma 3, Qwen 3 이전) OLMo 2 모델은 아래 그림 7에서 볼 수 있듯이 계산 자원 대비 성능의 파레토 최전선에 위치해 있었습니다.

이 기사에서 앞서 언급했듯이, 저는 LLM 아키텍처 세부 사항(훈련이나 데이터는 제외)에만 초점을 맞춰 관리 가능한 길이로 유지하고자 합니다. 그렇다면 OLMo2에서 흥미로운 아키텍처 설계 선택 사항은 무엇이었을까요? 주로 정규화 관련 사항에 집중됩니다: RMSNorm 레이어의 배치 및 QK-norm의 추가에 대해 아래에서 논의하겠습니다.
또 다른 주목할 만한 점은 OLMo 2가 여전히 MLA나 GQA 대신 전통적인 Multi-Head Attention(MHA)을 사용한다는 것입니다.
2.1 정규화 레이어 배치
전체적으로 OLMo 2는 원본 GPT 모델의 아키텍처를 크게 따르며, 다른 현대적인 대규모 언어 모델(LLM)과 유사합니다. 그러나 몇 가지 주목할 만한 차이가 있습니다. 먼저 정규화 레이어부터 살펴보겠습니다.
Llama, Gemma 및 대부분의 다른 LLMs와 마찬가지로 OLMo 2는 LayerNorm에서 RMSNorm으로 전환했습니다.
그러나 RMSNorm은 오래된 기술(기본적으로 훈련 가능한 매개변수가 적은 LayerNorm의 단순화된 버전)이기 때문에 RMSNorm과 LayerNorm의 비교는 생략하겠습니다. (궁금한 독자들은 제 GPT-2에서 Llama로 변환 가이드에 RMSNorm 코드 구현을 확인할 수 있습니다.)
그러나 RMSNorm 레이어의 위치에 대해 논의할 가치가 있습니다. 원본 트랜스포머(“Attention is all you need” 논문)에서는 두 정규화 레이어를 트랜스포머 블록 내부에 배치했으며, 각각 어텐션 모듈과 피드포워드 모듈 이후에 위치시켰습니다.
이 구조는 Post-LN 또는 Post-Norm으로 알려져 있습니다.
GPT와 이후에 등장한 대부분의 LLM은 정규화 레이어를 주의 모듈과 FeedForward 모듈 앞에 배치했으며, 이는 Pre-LN 또는 Pre-Norm으로 알려져 있습니다. Post-와 Pre-Norm의 비교는 아래 그림에 표시되어 있습니다.

2020년, Xiong 등 연구진은 Pre-LN이 초기화 단계에서 더 안정적인 기울기를 생성한다는 사실을 보여주었습니다. 또한 연구진은 Pre-LN이 학습률 워밍업 없이도 잘 작동한다는 점을 언급했으며, 이는 Post-LN에서는 필수적인 도구입니다.
이 점을 언급하는 이유는 OLMo 2가 Post-LN의 한 형태를 채택했기 때문입니다(하지만 LayerNorm 대신 RMSNorm을 사용했기 때문에 저는 이를 Post-Norm이라고 부릅니다).
OLMo 2에서는 주의(attention) 및 피드포워드(FeedForward) 레이어 앞에 정규화 레이어를 배치하는 대신, 위 그림에서 보듯이 그 뒤에 배치했습니다. 그러나 원본 트랜스포머 아키텍처와 달리 정규화 레이어는 여전히 잔차 레이어(skip connections) 내부에 위치해 있습니다.
그렇다면 왜 정규화 레이어의 위치를 이동시켰을까요? 그 이유는 아래 그림에서 보듯이 훈련 안정성에 도움이 되었기 때문입니다.

불행히도 이 그림은 QK-Norm이라는 별도의 개념과 함께 재순서화 결과를 보여주고 있습니다. 따라서 정규화 레이어의 재순서화가 자체적으로 얼마나 기여했는지 정확히 판단하기 어렵습니다.
2.2 QK-Norm
이전 섹션에서 이미 QK-norm에 대해 언급했으며, 후반부에 논의할 다른 LLMs(예: Gemma 2 및 Gemma 3)도 QK-norm을 사용하므로, 이 개념을 간단히 설명하겠습니다.
QK-Norm은 본질적으로 또 다른 RMSNorm 레이어입니다. 이 레이어는 Multi-Head Attention (MHA) 모듈 내부에 배치되며, RoPE를 적용하기 전에 쿼리(q)와 키(k)에 적용됩니다. 이를 설명하기 위해, Qwen3의 from-scratch 구현에서 작성한 Grouped-Query Attention (GQA) 레이어의 일부를 아래에 보여드립니다 (GQA에서의 QK-norm 적용 방식은 OLMo의 MHA와 유사합니다).
class GroupedQueryAttention(nn.Module):
def __init__(
self, d_in, num_heads, num_kv_groups,
head_dim=None, qk_norm=False, dtype=None
):
# ...
if qk_norm:
self.q_norm = RMSNorm(head_dim, eps=1e-6)
self.k_norm = RMSNorm(head_dim, eps=1e-6)
else:
self.q_norm = self.k_norm = None
def forward(self, x, mask, cos, sin):
b, num_tokens, _ = x.shape
# Apply projections
queries = self.W_query(x)
keys = self.W_key(x)
values = self.W_value(x)
# ...
# Optional normalization
if self.q_norm:
queries = self.q_norm(queries)
if self.k_norm:
keys = self.k_norm(keys)
# Apply RoPE
queries = apply_rope(queries, cos, sin)
keys = apply_rope(keys, cos, sin)
# Expand K and V to match number of heads
keys = keys.repeat_interleave(self.group_size, dim=1)
values = values.repeat_interleave(self.group_size, dim=1)
# Attention
attn_scores = queries @ keys.transpose(2, 3)
# ...
앞서 언급했듯이, Post-Norm과 함께 QK-Norm은 훈련을 안정화합니다. 주의할 점은 QK-Norm이 OLMo 2에서 발명된 것이 아니라 2023년 Scaling Vision Transformers 논문으로 거슬러 올라간다는 점입니다.
2.3 OLMo 2 요약
요약하자면, OLMo 2 아키텍처 설계의 주요 특징은 RMSNorm의 배치입니다. RMSNorm은 주의(attention) 모듈과 피드포워드(FeedForward) 모듈 이후에 배치되며(Post-Norm의 변형), 주의 메커니즘 내의 쿼리(queries)와 키(keys)에도 RMSNorm을 추가한 QK-Norm이 도입되었습니다. 이 두 요소는 함께 훈련 손실을 안정화하는 데 기여합니다.
아래 그림은 OLMo 2와 Llama 3를 직접 비교한 것입니다. 그림에서 볼 수 있듯이, 두 아키텍처는 전반적으로 유사하지만 OLMo 2는 여전히 전통적인 MHA를 사용하며 GQA를 사용하지 않습니다. (그러나 OLMo 2 팀은 3개월 후 GQA를 사용하는 32B 변형을 출시했습니다.)

3. Gemma 3
구글의 Gemma 모델은 항상 매우 우수했으며, 다른 인기 모델인 Llama 시리즈와 비교할 때 상대적으로 과소평가되어 왔다고 생각합니다.
Gemma의 특징 중 하나는 다국어 지원을 위해 상대적으로 큰 어휘 크기(27B)와 8B 또는 70B와 비교해 27B 크기에 더 집중한 점입니다. 하지만 Gemma 2는 더 작은 크기(1B, 4B, 12B)로도 제공됩니다.
27B 크기는 정말 좋은 균형점을 제공합니다: 8B 모델보다 훨씬 더 강력한 성능을 보여주지만 70B 모델만큼 자원 소모가 많지 않으며, 제 Mac Mini에서 로컬로도 문제없이 실행됩니다.
Gemma 3에서 다른 흥미로운 점은 무엇인가요? 앞서 논의된 것처럼 Deepseek-V3/R1과 같은 다른 모델은 고정된 모델 크기에서 추론 시 메모리 요구량을 줄이기 위해 Mixture-of-Experts (MoE) 아키텍처를 사용합니다. (MoE 접근 방식은 나중에 논의할 다른 모델에서도 사용됩니다.)
Gemma 3는 계산 비용을 줄이기 위해 다른 '트릭'을 사용합니다. 즉, 슬라이딩 윈도우 어텐션입니다.
3.1 슬라이딩 윈도우 어텐션
슬라이딩 윈도우 어텐션(2020년 LongFormer 논문에서 처음 소개되었으며 Gemma 2에서도 이미 사용된 기술)을 통해 Gemma 3 팀은 아래 그림에서 보여지듯이 KV 캐시의 메모리 요구량을 크게 줄일 수 있었습니다.

슬라이딩 윈도우 어텐션이란 무엇인가요? 일반적인 셀프 어텐션을 전역 어텐션 메커니즘으로 생각한다면, 각 시퀀스 요소가 다른 모든 시퀀스 요소에 접근할 수 있기 때문입니다. 반면 슬라이딩 윈도우 어텐션은 현재 쿼리 위치 주변의 컨텍스트 크기를 제한하기 때문에 로컬 어텐션으로 볼 수 있습니다. 이는 아래 그림에서 설명되어 있습니다.

슬라이딩 윈도우 어텐션은 멀티-헤드 어텐션과 그룹드-쿼리 어텐션 모두와 함께 사용할 수 있습니다. Gemma 3는 그룹드-쿼리 어텐션을 사용합니다.
위에서 언급된 것처럼, 슬라이딩 윈도우 어텐션은 현재 쿼리 위치 주변을 둘러싸고 이동하는 로컬 윈도우를 사용하기 때문에 로컬 어텐션이라고도 불립니다. 반면, 일반적인 어텐션은 각 토큰이 모든 다른 토큰에 접근할 수 있기 때문에 글로벌합니다.
앞서 간단히 언급된 것처럼 Gemma 2의 전신 아키텍처도 슬라이딩 윈도우 어텐션을 사용했습니다. Gemma 3의 차이점은 글로벌(일반)과 로컬(슬라이딩) 어텐션의 비율을 조정했다는 점입니다.
예를 들어, Gemma 2는 슬라이딩 윈도우(로컬)와 글로벌 어텐션을 1:1 비율로 결합한 하이브리드 어텐션 메커니즘을 사용합니다. 각 토큰은 근처 컨텍스트의 4k-토큰 윈도우에 어텐션을 할당할 수 있습니다.
Gemma 2는 모든 레이어에서 슬라이딩 윈도우 어텐션을 사용했지만, Gemma 3는 5:1 비율을 적용했습니다. 즉, 5개의 슬라이딩 윈도우(로컬) 어텐션 레이어당 1개의 전체 어텐션 레이어가 있으며, 슬라이딩 윈도우 크기도 4096(Gemma 2)에서 1024(Gemma 3)로 줄였습니다. 이는 모델의 초점을 더 효율적이고 지역화된 계산으로 전환합니다.
그들의 제거 실험에 따르면, 슬라이딩 윈도우 어텐션의 사용은 모델링 성능에 거의 영향을 미치지 않으며, 아래 그림에서 확인할 수 있습니다.

Gemma 3의 가장 주목할 만한 아키텍처 특징은 슬라이딩 윈도우 어텐션이지만, 이전 OLMo 2 섹션의 후속 내용으로 정규화 레이어의 배치에 대해 간단히 설명하겠습니다.
3.2 Gemma 3에서의 정규화 레이어 배치
Gemma 3에서 주목할 만한 작은 하지만 흥미로운 점은 그룹화된 쿼리 어텐션 모듈 주변에서 RMSNorm을 Pre-Norm과 Post-Norm 설정 모두에 사용한다는 것입니다.
이는 Gemma 2와 유사하지만 여전히 강조할 가치가 있습니다. 왜냐하면 이는 (1) 원본 트랜스포머("Attention is all you need")에서 사용된 Post-Norm, (2) GPT-2에서 대중화되고 이후 많은 아키텍처에서 사용된 Pre-Norm, (3) 앞서 언급한 OLMo 2의 Post-Norm 변형과 모두 다르기 때문입니다.

이 정규화 레이어의 배치 방식은 두 가지 장점을 모두 결합한 상대적으로 직관적인 접근 방식이라고 생각합니다: Pre-Norm과 Post-Norm의 장점을 모두 활용할 수 있기 때문입니다. 제 생각에는 추가적인 정규화는 해로울 것이 없습니다. 최악의 경우, 추가적인 정규화가 중복된다면 중복으로 인해 약간의 비효율이 발생할 수 있습니다. 그러나 실제로는 RMSNorm이 전체적으로 볼 때 상대적으로 비용이 낮기 때문에, 이로 인한 영향은 눈에 띄지 않을 것입니다.
3.3 Gemma 3 요약
Gemma 3는 성능이 우수한 오픈웨이트 LLM으로, 제 생각에는 오픈소스 커뮤니티에서 다소 과소평가되고 있습니다. 가장 흥미로운 점은 효율성을 개선하기 위해 슬라이딩 윈도우 어텐션을 사용한 점입니다(미래에 MoE와 결합하는 것이 흥미로울 것입니다).
또한 Gemma 3는 RMSNorm 레이어를 어텐션 모듈과 피드포워드 모듈의 앞뒤에 배치하는 독특한 정규화 레이어 배치 방식을 채택했습니다.
3.4 보너스: Gemma 3n
Gemma 3 출시 몇 달 후, 구글은 스마트폰에서 실행을 목표로 소형 기기 효율성을 최적화한 Gemma 3 모델인 Gemma 3n을 공개했습니다.
Gemma 3n의 효율성 향상을 위해 도입된 주요 변경 사항 중 하나는 이른바 Per-Layer Embedding (PLE) 매개변수 레이어입니다. 이 개념의 핵심은 모델의 매개변수 중 일부만 GPU 메모리에 유지하는 것입니다. 텍스트, 오디오, 비전 모달리티와 같은 토큰 레이어별 임베딩은 필요에 따라 CPU 또는 SSD에서 스트리밍됩니다.
아래 그림은 PLE 메모리 절감 효과를 보여줍니다. 표준 Gemma 3 모델의 파라미터 수는 54억 4천만 개로 표시되어 있습니다. 이는 아마도 Gemma 3 40억 변형을 가리키는 것으로 추정됩니다.

5.44 대비 40억 개의 파라미터 차이는 구글이 LLMs의 파라미터 수를 보고하는 독특한 방식 때문입니다. 구글은 모델을 더 작게 보이게 하기 위해 임베딩 파라미터를 제외하는 경우가 많지만, 이처럼 모델을 더 크게 보이게 하기 위해 포함하는 경우도 있습니다. 이 방법은 구글에만 한정된 것이 아니라, 이 접근 방식은 해당 분야에서 일반적인 관행으로 자리 잡았습니다.
또 다른 흥미로운 기술은 MatFormer 개념(Matryoshka Transformer의 약자)입니다. 예를 들어 Gemma 3n은 단일 공유 LLM(트랜스포머) 아키텍처를 사용하며, 이를 더 작은 독립적으로 사용 가능한 모델로 분할할 수 있습니다. 각 분할 모델은 자체적으로 작동하도록 훈련되므로, 추론 시 필요한 부분만 실행할 수 있습니다(대형 모델 전체를 실행할 필요 없음).
4. Mistral Small 3.1
Mistral Small 3.1 24B는 Gemma 3 출시 직후인 3월에 공개된 모델로, 수학 분야를 제외하고 여러 벤치마크에서 Gemma 3 27B보다 우수한 성능을 보여주며 동시에 더 빠른 속도를 기록해 주목받고 있습니다.
Mistral Small 3.1이 Gemma 3보다 추론 지연 시간이 낮은 이유는 맞춤형 토큰화기, KV 캐시 및 레이어 수를 줄인 점 때문일 가능성이 높습니다. 그 외에는 아래 그림에 표시된 대로 표준 아키텍처를 따르고 있습니다.

흥미롭게도, 이전 Mistral 모델들은 슬라이딩 윈도우 어텐션을 사용했지만, Mistral Small 3.1에서는 이를 포기한 것으로 보입니다. 따라서 Mistral은 Gemma 3에서 사용된 슬라이딩 윈도우를 포함한 그룹드 쿼리 어텐션 대신 일반적인 그룹드 쿼리 어텐션을 사용하기 때문에, 더 최적화된 코드(예: FlashAttention)를 사용할 수 있어 추론 계산 비용이 추가로 절감될 수 있습니다. 예를 들어, 슬라이딩 윈도우 어텐션은 메모리 사용량을 줄일 수 있지만, 추론 지연 시간을 반드시 줄이는 것은 아니며, 이는 Mistral Small 3.1이 중점을 두고 있는 부분입니다.
5. Llama 4
이 기사 초반에 진행된 Mixture-of-Experts (MoE)에 대한 광범위한 소개 논의가 다시 한 번 성과를 거두었습니다. Llama 4도 MoE 접근 방식을 채택했으며, 아래 그림에서 볼 수 있듯이 DeepSeek-V3와 매우 유사한 상대적으로 표준적인 아키텍처를 따르고 있습니다. (Llama 4는 Gemma와 Mistral과 유사한 내장형 다모달 지원 기능을 포함합니다. 그러나 이 글은 언어 모델링에 초점을 맞추고 있으므로 텍스트 모델에만 집중합니다.)

Llama 4 Maverick 아키텍처는 전체적으로 DeepSeek-V3와 매우 유사하지만, 주목할 만한 몇 가지 차이가 있습니다.
첫째, Llama 4는 전작들과 마찬가지로 Grouped-Query Attention을 사용하지만, DeepSeek-V3는 이 기사 초반에 논의한 Multi-Head Latent Attention을 사용합니다. DeepSeek-V3와 Llama 4 Maverick은 모두 매우 큰 아키텍처로, DeepSeek-V3는 총 매개변수 수에서 약 68% 더 큽니다. 그러나 370억 개의 활성 매개변수를 가진 DeepSeek-V3는 Llama 4 Maverick(170억)보다 활성 매개변수가 두 배 이상 많습니다.
Llama 4 Maverick은 DeepSeek-V3보다 적은 수의 전문가(각 8,192개의 숨겨진 크기)를 사용하지만, 더 큰 전문가(2개의 활성 전문가)를 갖춘 더 전통적인 MoE 설정을 사용합니다. 반면 DeepSeek은 각 트랜스포머 블록(첫 3개를 제외)에 MoE 레이어를 사용하지만, Llama 4는 각 트랜스포머 블록마다 MoE 모듈과 밀집 모듈을 번갈아 사용합니다.
아키텍처 간의 많은 작은 차이점 때문에 최종 모델 성능에 미치는 정확한 영향을 판단하기는 어렵습니다. 그러나 주요 결론은 2025년에 MoE 아키텍처가 크게 인기를 얻었다는 점입니다.
6. Qwen3
Qwen 팀은 지속적으로 고품질의 오픈 소스 대형 언어 모델(LLM)을 제공해 왔습니다. 2023년 NeurIPS에서 LLM 효율성 경진대회에서 공동 자문을 맡았을 때, 최상위 수상 솔루션 모두가 Qwen2 기반이었다는 점을 기억합니다.
현재 Qwen3는 크기별 리더보드 상위권에 또 다른 히트 모델 시리즈로 자리매김했습니다. 밀도 모델은 7개로 0.6B, 1.7B, 4B, 8B, 14B, 32B가 있으며, MoE 모델은 30B-A3B와 235B-A22B 두 가지가 있습니다.
(참고로, "Qwen3"에 공백이 없는 것은 오타가 아닙니다. Qwen 개발자가 선택한 원본 표기를 유지하기 위해 의도적으로 생략했습니다.)
6.1 Qwen3 (Dense)
먼저 밀도 모델 아키텍처에 대해 논의해 보겠습니다. 현재 시점에서 0.6B 모델은 아마도 현재 세대 오픈 소스 모델 중 가장 작은 모델일 것입니다. 제 개인적인 경험에 따르면, 그 작은 크기에도 불구하고 성능이 매우 우수합니다. 토큰/초 처리 속도가 우수하고, 로컬에서 실행할 경우 메모리 사용량이 적습니다. 또한, 작은 크기 덕분에 교육 목적으로 로컬에서 훈련하기에도 매우 쉽습니다.
따라서, Qwen3 0.6B는 대부분의 용도에서 Llama 3 1B를 대체하게 되었습니다. 두 아키텍처의 비교는 아래에 표시되어 있습니다.

Qwen3의 인간이 읽기 쉬운 구현체에 관심이 있으시며 외부 제3자 LLM 라이브러리 의존성이 없는 경우, 최근에 Qwen3을 순수 PyTorch로 처음부터 구현했습니다.
위 그림의 계산 성능 수치는 A100 GPU에서 실행된 제 순수 PyTorch 구현을 기반으로 합니다. 그림에서 볼 수 있듯이, Qwen3는 전체적으로 더 작은 아키텍처이기 때문에 메모리 사용량이 적으며, 더 작은 숨겨진 레이어와 적은 주의 머리(attention heads)를 사용합니다. 그러나 Llama 3보다 더 많은 트랜스포머 블록을 사용하기 때문에 실행 속도가 더 느립니다(토큰/초 생성 속도가 낮음).
6.2 Qwen3 (MoE)
앞서 언급했듯이 Qwen3는 두 가지 MoE 변형 버전인 30B-A3B와 235B-A22B로 제공됩니다. 왜 Qwen3와 같은 일부 아키텍처는 일반(밀집형)과 MoE(희소형) 변형으로 제공될까요?
이 기사 초반에 언급된 것처럼, MoE 변형은 대규모 기본 모델의 추론 비용을 줄이는 데 도움이 됩니다. 밀집형과 MoE 버전을 모두 제공함으로써 사용자는 목표와 제약 조건에 따라 유연하게 선택할 수 있습니다.
밀집형 모델은 일반적으로 다양한 하드웨어에서 미세 조정, 배포, 최적화가 더 쉽습니다.
반면, MoE 모델은 추론 확장성에 최적화되어 있습니다. 예를 들어, 고정된 추론 예산 내에서 MoE 모델은 모델 용량(즉, 훈련 중 지식 흡수량)을 증가시키면서도 추론 비용을 비례적으로 증가시키지 않고 더 높은 전체 모델 용량을 달성할 수 있습니다.
두 가지 유형을 모두 출시함으로써 Qwen3 시리즈는 더 넓은 범위의 사용 사례를 지원할 수 있습니다: dense 모델은 견고성, 단순성, 미세 조정을 위해, MoE 모델은 대규모 환경에서의 효율적인 서비스 제공을 위해.
이 섹션을 마무리하기 위해 Qwen3 235B-A22B(A22B는 "22B 활성 매개변수"를 의미합니다)와 DeepSeek-V3를 비교해 보겠습니다. DeepSeek-V3는 활성 매개변수가 거의 두 배인 37B를 가지고 있습니다.

위 그림에서 볼 수 있듯이, DeepSeek-V3와 Qwen3 235B-A22B 아키텍처는 매우 유사합니다. 그러나 주목할 점은 Qwen3 모델이 공유 전문가(Qwen2.5-MoE와 같은 이전 Qwen 모델에서는 공유 전문가를 사용했습니다)를 사용하지 않게 되었다는 점입니다.
불행히도 Qwen3 팀은 공유 전문가 사용을 중단한 이유를 공개하지 않았습니다. 추측해 보면, Qwen2.5-MoE에서 2개에서 Qwen3에서 8개로 전문가 수를 늘릴 때 훈련 안정성을 위해 공유 전문가 사용이 필요하지 않았기 때문일 수 있습니다. 그리고 8개 전문가만 사용함으로써 8+1 전문가 사용 시 발생할 수 있는 추가 컴퓨팅/메모리 비용을 절감할 수 있었을 것입니다. (그러나 이는 DeepSeek-V3가 여전히 공유 전문가 방식을 유지하는 이유를 설명하지 않습니다.)
Qwen3 개발자 중 한 명인 Junyang Lin은 다음과 같이 답변했습니다.
당시 공유 전문가에서 충분한 성능 개선을 발견하지 못했으며, 공유 전문가로 인해 추론 최적화에 대한 우려가 있었습니다. 이 질문에 대한 직접적인 답변은 없습니다.
7. SmolLM3
SmolLM3는 이 기사에서 다룬 다른 LLMs에 비해 그렇게 인기가 많지는 않지만, 상대적으로 작은 30억 파라미터 모델 크기임에도 불구하고 우수한 모델링 성능을 보여주기 때문에 포함할 가치가 있다고 생각했습니다. 이 모델은 아래 그림에서 볼 수 있듯이 1.7B와 4B Qwen3 모델 사이의 중간 위치에 있습니다.
또한 OLMo와 유사한 많은 훈련 세부 사항을 공개했으며, 이는 드물고 항상 환영받는 점입니다!

아래의 아키텍처 비교 도표에서 볼 수 있듯이, SmolLM3 아키텍처는 비교적 표준적인 구조를 가지고 있습니다. 가장 흥미로운 점은 NoPE(No Positional Embeddings)를 사용한다는 점입니다.

7.1 No Positional Embeddings (NoPE)
NoPE는 LLM 맥락에서 2023년 논문(The Impact of Positional Encoding on Length Generalization in Transformers)에서 제안된 오래된 개념으로, 명시적인 위치 정보 주입(예: 초기 GPT 아키텍처의 전통적인 절대 위치 임베딩 레이어나 현재의 RoPE와 같은 방식)을 제거하기 위해 사용됩니다.
트랜스포머 기반 LLM에서 위치 인코딩은 토큰이 순서와 무관하게 처리되는 자기 주의 메커니즘 때문에 일반적으로 필요합니다. 절대 위치 임베딩은 토큰 임베딩에 추가 정보를 추가하는 추가 임베딩 레이어를 도입하여 이 문제를 해결합니다.

RoPE는 이 문제를 쿼리와 키 벡터를 토큰 위치에 상대적으로 회전시켜 해결합니다.
반면 NoPE 레이어에서는 이러한 위치 신호가 전혀 추가되지 않습니다: 고정된 것도, 학습된 것도, 상대적인 것도 없습니다. 아무것도 없습니다.
위치 임베딩이 없더라도 모델은 인과적 주의 마스크 덕분에 어떤 토큰이 먼저 오는지 알고 있습니다. 이 마스크는 각 토큰이 미래의 토큰에 주의를 기울이지 못하도록 방지합니다. 결과적으로, 위치 t에 있는 토큰은 위치 ≤ t에 있는 토큰만 볼 수 있으며, 이는 자기회귀적 순서를 유지합니다.
따라서 명시적으로 추가된 위치 정보는 없지만, 모델 구조에 내재된 암시적인 방향성이 존재하며, LLM은 정규 경사 하강 기반 훈련 과정에서 최적화 목표에 유익하다고 판단되면 이를 활용하도록 학습할 수 있습니다. (자세한 내용은 NoPE 논문의 정리를 참고하세요.)
따라서, 전체적으로 NoPE 논문은 위치 정보 주입이 필요하지 않다는 것을 발견했을 뿐만 아니라, NoPE가 더 나은 길이 일반화 성능을 갖는다는 것도 발견했습니다. 이는 LLM의 답변 성능이 시퀀스 길이가 증가함에 따라 덜 악화됨을 의미하며, 아래 그림에서 확인할 수 있습니다.

참고로, 위에서 보여진 실험은 약 1억 개의 파라미터를 가진 상대적으로 작은 GPT 스타일 모델과 상대적으로 작은 컨텍스트 크기로 수행되었습니다. 이러한 결과가 더 큰 현대적인 대규모 언어 모델(LLM)에 얼마나 잘 일반화되는지는 명확하지 않습니다.
이 때문에 SmolLM3 팀은 아마도 NoPE(또는 정확히 말하면 RoPE를 생략하는 것)를 4번째 층마다 적용했을 것입니다.
8. Kimi 2
Kimi 2는 최근 AI 커뮤니티에서 오픈 소스 모델로 뛰어난 성능을 보여 큰 화제를 모았습니다. 벤치마크 결과에 따르면, 이 모델은 구글의 Gemini, Anthropic의 Claude, OpenAI의 ChatGPT와 같은 최고의 독점 모델들과 맞먹는 성능을 보여주고 있습니다.
눈에 띄는 점은 상대적으로 새로운 Muon 최적화 알고리즘의 변형을 AdamW 대신 사용했다는 점입니다. 제가 알고 있는 한, 이 규모(16B)의 생산 모델에 Muon을 AdamW 위에 적용한 것은 이번이 처음입니다(이전에는 16B까지 확장된 사례만 있었습니다). 이로 인해 매우 우수한 훈련 손실 곡선이 얻어졌으며, 이는 해당 모델이 앞서 언급된 벤치마크에서 상위권에 오르는 데 기여했을 것입니다.
사람들은 손실 곡선이 예외적으로 매끄럽다고 언급했지만(스파이크가 없기 때문), 저는 그렇게 예외적으로 매끄럽지 않다고 생각합니다(예: 아래 그림의 OLMo 2 손실 곡선을 참조; 또한 기울기의 L2 노름이 훈련 안정성을 추적하는 더 나은 지표일 것입니다). 그러나 손실 곡선이 얼마나 잘 감소하는지가 정말 놀랍습니다.
그러나 이 기사 도입부에서 언급된 것처럼, 훈련 방법론은 다른 기회에 논의할 주제입니다.

이 모델 자체는 1조 개의 파라미터로 구성되어 있으며, 이는 정말로 인상적입니다.
현재 시점에서 이 모델은 Llama 4 Behemoth가 출시되지 않았고, 독점적인 LLM은 제외되며, Google의 1.6조 파라미터 Switch Transformer는 다른 세대의 인코더-디코더 아키텍처이기 때문에, 이 세대에서 가장 큰 LLM일 수 있습니다.
또한 Kimi 2는 이 기사 초반에 소개한 DeepSeek-V3 아키텍처를 기반으로 하지만, 아래 그림에서 볼 수 있듯이 규모를 확대해 다시 한 번 원점으로 돌아온 형태입니다.

위 그림에서 볼 수 있듯이, Kimi 2.5는 DeepSeek V3와 기본적으로 동일하지만, MoE 모듈에서 더 많은 전문가(experts)를 사용하고 Multi-head Latent Attention (MLA) 모듈에서 헤드(heads)의 수를 줄였습니다.
Kimi 2는 갑자기 등장한 모델이 아닙니다. 이전에 Kimi k1.5: Scaling Reinforcement Learning with LLMs 논문에서 논의된 Kimi 1.5 모델도 인상적이었습니다. 그러나 불행히도 DeepSeek R1 모델 논문이 정확히 같은 날인 1월 22일에 발표되었습니다. 또한 제가 알고 있는 한, Kimi 1.5의 가중치는 공개되지 않았습니다.
따라서 Kimi K2 팀은 이 교훈을 반영해 DeepSeek R2가 출시되기 전에 Kimi K2를 오픈 웨이트 모델로 공개했습니다. 현재까지 Kimi K2는 가장 인상적인 오픈 웨이트 모델입니다.
수년간의 시간이 흘렀지만, LLM의 신규 출시 소식은 여전히 흥미진진하며, 다음에 어떤 것이 나올지 기대됩니다!
'AI-ML > LLM' 카테고리의 다른 글
| LLM에서 Self-Attention, Multi-Head Attention, Causal-Attention, 및 Cross-Attention의 이해와 Code 해석 (6) | 2025.08.11 |
|---|---|
| GPT-2에서 gpt-oss로: 아키텍처적 개선점 분석 (4) | 2025.08.10 |
| 추론 능력(Reasoning) 이해를 위한 대규모 언어 모델(LLMs) (3) | 2025.07.22 |
| Amazon Sagemaker JupyterLab Kernel 설정하기 (0) | 2025.02.21 |
| AWS Certified AI Practitioner 합격기(AIF-C01) (0) | 2024.08.29 |