MoBA 소개
MoBA는 긴 문맥(long-context)을 다루는 대형 언어 모델(LLM)의 어텐션 비용 문제를, 어디에 주목할지를 모델이 스스로 학습하도록 두어 해결하려는 어텐션 기법입니다. 이름은 Mixture of Block Attention의 약자로, 전문가 혼합(Mixture of Experts, MoE)의 원리를 어텐션 메커니즘에 처음으로 적용한 것이 핵심입니다. Moonshot AI, 칭화대학교, 저장랩/저장대학교 연구진이 함께 발표했으며, 이미 Kimi의 긴 문맥 요청을 처리하는 실서비스에 적용되어 있습니다.
긴 문맥과 어텐션 비용의 딜레마
인공지능이 인간 수준의 인지를 흉내 내는 복잡한 작업으로 나아가려면, 긴 시퀀스를 이해하고 생성하는 능력이 필수적입니다. Kimi, Claude, Gemini 같은 모델이 수십만 토큰의 입력을 받아들이는 방향으로 발전해 온 것도, 그리고 DeepSeek-R1 이나 Kimi k1.5 처럼 긴 사고 사슬(chain-of-thought)을 출력하는 추론 모델이 등장한 것도 모두 이 흐름 위에 있습니다.
문제는 표준 트랜스포머(Transformer)의 어텐션이 문맥 길이 N 에 대해 계산량이 제곱, 즉 O(N^2) 으로 늘어난다는 점입니다. 문맥을 100만 토큰 규모로 늘리려는 순간 이 제곱 비용은 감당하기 어려운 부담이 됩니다. 다행히 어텐션 점수(attention score)에는 본질적인 희소성(sparsity)이 존재합니다. 수학적으로는 소프트맥스(softmax) 연산이 소수의 토큰에 점수를 몰아주고, 생물학적으로도 기억을 저장하는 뇌 영역에서 희소한 연결이 관찰됩니다. 즉 모든 토큰이 모든 토큰을 볼 필요는 없습니다. 이 희소성을 어떻게 활용하느냐가 지난 몇 년간 효율적 어텐션 연구의 핵심 질문이었습니다.
기존 접근들은 저마다 뚜렷한 한계를 안고 있었습니다.
첫째, 정적인 구조 제약(Static Structural Constraint) 계열입니다. 어텐션 싱크(attention sink)나 슬라이딩 윈도우 어텐션(Sliding Window Attention) 처럼, "최근 토큰과 처음 몇 토큰만 본다"는 식의 고정된 패턴을 사람이 미리 정해 주는 방식입니다. 효과는 있지만 이런 패턴은 특정 작업에 맞춰진 강한 편향이라, 모델의 범용성을 해칠 위험이 있습니다.
둘째, 추론 시점의 동적 희소 어텐션(Dynamic Sparse Attention) 계열입니다. Quest, MInference, RetrievalAttention 등은 추론 단계에서 중요한 토큰만 골라 계산량을 줄입니다. 그러나 이 방식은 추론 비용은 줄여도 긴 문맥 모델을 학습시키는 비용은 거의 줄여 주지 못해, 수백만 토큰 규모로 확장하기가 어렵습니다.
셋째, 선형 어텐션(Linear Attention) 계열입니다. Mamba, RWKV, RetNet 처럼 소프트맥스 어텐션을 선형 근사로 바꿔 계산량을 크게 낮춥니다. 하지만 기존 트랜스포머와 구조가 크게 달라 변환 비용이 높거나 아예 처음부터 새로 학습해야 하고, 무엇보다 복잡한 추론 과제에서의 효과가 아직 충분히 검증되지 않았습니다.
발상의 전환: "적은 구조(less structure)" 원칙
여기서 저자들은 다음과 같은 질문을 던집니다. "트랜스포머의 기본 골격을 그대로 유지하면서, 어디에 주목할지를 사람이 규정하지 않고 모델이 스스로 정하게 할 수는 없을까?" 그리고 이상적으로는, 전체 어텐션(full attention)과 희소 어텐션(sparse attention) 사이를 매끄럽게 오갈 수 있어 기존 사전학습 모델과의 호환성까지 챙길 수 있다면 더 좋을 것입니다.
MoBA의 답은 적은 구조(less structure) 원칙입니다. 고정된 패턴을 주입하는 대신, 전체 문맥을 여러 블록(block) 으로 나누고 각 쿼리(query) 토큰이 가장 관련 있는 블록만 스스로 골라 어텐션을 계산하도록 둡니다. 이때 "블록을 고른다"는 결정을, MoE가 여러 전문가(expert) 중 일부만 활성화하듯 top-k 게이팅(gating)으로 처리합니다. 이것이 바로 이름 그대로 "블록들의 전문가 혼합"입니다.
이 발상은 실질적인 성과로 이어집니다. 뒤에서 자세히 살펴보겠지만, MoBA는 100만 토큰을 프리필(prefill)할 때 전체 어텐션 대비 최대 6.5\times , 1000만 토큰에서는 최대 16\times 빠르면서도, 다양한 벤치마크에서 전체 어텐션과 거의 동일한 성능을 유지합니다.
MoBA의 동작 원리
표준 어텐션에서 블록 어텐션으로
먼저 표준 어텐션을 떠올려 봅시다. 하나의 쿼리 토큰 q 가 N 개의 키(key) 및 값(value) 토큰 K, V 에 주목할 때, 어텐션은 다음과 같이 계산됩니다.
여기서 q 는 문맥의 모든 키를 보기 때문에 계산량이 N 에 비례해 커지고, 시퀀스 전체로 보면 O(N^2) 이 됩니다. MoBA는 이 지점을 바꿉니다. 쿼리가 전체 키가 아니라 선택된 일부 K[I], V[I] 에만 주목하게 합니다.
여기서 I \subseteq [N] 은 이 쿼리가 실제로 어텐션을 계산할 키와 값의 집합입니다. 핵심은 이 I 를 어떻게 고르느냐 에 있습니다.
블록 분할과 top-k 게이팅
MoBA는 길이 N 의 전체 문맥을 n 개의 블록으로 나눕니다. 블록 크기는 B = \frac{N}{n} 이고, i 번째 블록이 담당하는 토큰 범위는 다음과 같습니다.
각 쿼리는 이 블록들 중 가장 관련 있는 k 개만 골라 어텐션을 계산합니다. 블록을 고르는 게이트(gate) 값 g_i 는 MoE의 top-k 게이팅을 그대로 빌려 옵니다.
그렇다면 관련성 점수 s_i 는 어떻게 매길까요? MoBA는 별도의 학습 파라미터를 두지 않고, 쿼리 q 와 i 번째 블록에 속한 키들의 평균 풀링(mean pooling) 사이의 내적으로 계산합니다.
즉 각 블록을 그 안의 키들의 평균 벡터 하나로 요약해 두고, 쿼리와 가장 잘 맞는 블록 상위 k 개를 뽑는 것입니다. 위 다이어그램은 두 개의 쿼리 q_1, q_2 와 네 개의 KV 블록이 있을 때, 라우터(router) 역할을 하는 게이팅 네트워크가 q_1 은 첫째와 둘째 블록으로, q_2 는 셋째와 넷째 블록으로 보내고, 선택된 블록에 대해서만 어텐션 점수를 계산하는 과정을 보여줍니다. 이 게이팅에는 학습 파라미터가 전혀 필요 없다(Parameter-less Gating) 는 점이 MoBA의 실용적인 장점입니다.
인과성 보존: 미래를 훔쳐보지 않기
자기회귀(autoregressive) 언어 모델은 이전 토큰만 보고 다음 토큰을 예측하므로, 어떤 토큰도 자기보다 뒤에 오는 토큰의 정보를 미리 봐서는 안 됩니다. 블록 단위로 선택하는 MoBA는 이 인과성(causality)을 두 가지 장치로 지킵니다.
첫째, 미래 블록으로의 라우팅 차단 입니다. 쿼리의 위치를 \text{pos}(q) 라 할 때, 아직 등장하지 않은 미래 블록(\text{pos}(q) < i \times B 인 블록 i)에 대해서는 점수를 s_i = -\infty 로 두어 g_i = 0 이 되게 합니다. 쿼리는 현재와 과거 블록만 볼 수 있습니다.
둘째, 현재 블록 처리와 인과 마스킹 입니다. 쿼리 토큰 자신이 속한 블록을 "현재 블록"이라 부르는데, 이 블록을 평균 풀링하면 쿼리보다 뒤에 있는 토큰까지 섞여 들어가 인과성이 깨질 수 있습니다. 그래서 MoBA는 모든 토큰이 자신의 현재 블록에는 반드시 주목하도록 강제하되, 이 현재 블록 어텐션에는 인과 마스크(causal mask)를 적용합니다. 이렇게 하면 미래 토큰의 정보 누출을 막으면서 동시에 지역적 문맥(local context)에 대한 주목을 자연스럽게 유도할 수 있습니다. 저자들은 이 현재 블록 처리가 최신 MoE 구조의 공유 전문가(shared expert), 즉 항상 활성화되는 고정 라우팅 규칙과 같은 역할을 한다고 설명합니다.
세밀한 블록 분할과 유연한 하이브리드
MoBA에는 성능을 끌어올리는 두 가지 설계 선택이 더 있습니다.
하나는 세밀한 블록 분할(Fine-Grained Block Segmentation) 입니다. MoE 연구에서 전문가를 더 잘게 쪼갤수록 성능이 좋아진다는 점이 잘 알려져 있는데, MoBA는 이 아이디어를 문맥 길이 방향으로 옮겨 옵니다. 같은 희소성을 유지하면서 블록을 더 잘게 나누면 성능이 개선되는지를 검증하며, 뒤의 실험에서 실제로 그렇다는 것을 보입니다.
다른 하나는 전체 어텐션과의 하이브리드(Hybrid) 입니다. MoBA는 파라미터를 새로 추가하거나 제거하지 않는, 전체 어텐션의 대체재 로 설계되었습니다. 덕분에 각 어텐션 레이어를 초기화 시점에 전체 어텐션과 MoBA 중에서 고를 수 있고, 학습 도중에도 그 선택을 바꿀 수 있습니다. 이 유연함이 뒤에서 살펴볼 효율적 사전학습과 지도 미세조정(SFT) 전략의 토대가 됩니다.
흥미로운 점은, 앞서 언급한 기존의 정적 희소 어텐션들이 사실 MoBA의 특수한 경우로 포섭된다는 것입니다. 슬라이딩 윈도우 어텐션은 "게이팅이 항상 가장 최근 블록만 고르는 MoBA"이고, 어텐션 싱크는 "게이팅이 항상 처음 블록과 최근 블록을 함께 고르는 MoBA"입니다. 다시 말해 MoBA는 이들보다 표현력이 강하며, 특정 게이팅 규칙을 넣기만 하면 다양한 정적 희소 패턴을 유연하게 흉내 낼 수 있습니다. 정적 패턴뿐 아니라 동적 희소 방법도 마찬가지입니다. 저자들은 관련 연구를 정리하며 앞서 언급한 Quest는 더 작은 블록과 min/max 풀링 기반 블록 표현을 쓰는 MoBA로, LongHeads 는 top-1 게이팅을 쓰는 MoBA로 볼 수 있다고 설명합니다. MoBA를 여러 희소 어텐션 기법을 아우르는 일반적인 틀로 볼 수 있다는 뜻입니다.
MoBA의 구현: MoE와 FlashAttention의 결합
MoBA의 아이디어를 실제로 빠르게 돌리려면 구현이 관건입니다. 저자들은 FlashAttention 과 MoE 의 최적화 기법을 결합해 고성능 구현을 제공하며, 전체 과정은 다음 다섯 단계로 이뤄집니다.
- 게이팅 네트워크와 인과 마스크에 따라, 각 쿼리 토큰을 어떤 KV 블록에 배정할지 결정합니다.
- 배정된 KV 블록을 기준으로 쿼리 토큰들의 순서를 재배열합니다.
- 각 KV 블록과 거기에 배정된 쿼리 토큰에 대해 어텐션을 계산합니다. 이 단계는 가변 길이(varlen)를 지원하는 FlashAttention으로 최적화됩니다.
- 어텐션 결과를 원래 순서로 되돌립니다.
- 하나의 쿼리가 현재 블록과 여러 과거 블록에 동시에 주목할 수 있으므로, 온라인 소프트맥스(online softmax) 방식으로 부분 결과들을 합칩니다.
위 다이어그램은 이 흐름을 보여줍니다. 입력 Q, K, V 에 위치 인코딩(RoPE)을 적용한 뒤, MoBA 게이팅 블록에서 키를 블록으로 나누고(Partition to blocks) 평균 풀링(Mean Pooling)한 값과 쿼리를 행렬 곱(MatMul)해 점수를 낸 다음 top-k 게이팅으로 선택할 블록 인덱스를 뽑습니다. 이 인덱스로 필요한 키와 값만 추려(Index Select), 가변 길이 FlashAttention에 넣어 최종 출력을 얻습니다.
여기서 눈여겨볼 점은, 현재 블록 어텐션(인과 마스크 필요, causal=True)과 과거 블록 어텐션(causal=False)을 따로 계산한 뒤 온라인 소프트맥스로 합친다는 것입니다. 현재 블록에는 추가적인 인과 제약이 걸리기 때문입니다. 이 분리 계산과 타일링(tiling) 결합이 MoBA를 FlashAttention 위에서 정확하게, 그리고 효율적으로 돌아가게 만드는 핵심입니다. (알고리즘의 상세한 의사코드는 논문의 Algorithm 1을 참고해주세요.)
실험 결과
스케일링 법칙: 전체 어텐션과 대등한 확장성
가장 먼저 확인할 것은 "MoBA가 희소 어텐션인데도 전체 어텐션만큼 잘 확장되는가"입니다. 저자들은 친칠라(Chinchilla) 스케일링 법칙 을 따라 568M부터 2.1B까지 다섯 가지 크기의 모델을 학습시켰습니다. 두 어텐션의 유일한 차이는 어텐션 모듈뿐이고, 학습률과 배치 크기 등 나머지 하이퍼파라미터는 모두 동일하게 두었습니다.
시퀀스 길이 8K, 블록 크기 512, top-3 조건에서 MoBA의 희소성은 1 - \frac{512 \times 3}{8192} = 81.25\% 에 이릅니다. 그런데도 MoBA와 전체 어텐션의 검증 손실(validation loss) 차이는 1 \times 10^{-3} 이내로 유지되었고, 피팅한 스케일링 곡선도 MoBA가 L(C) = 2.622 \times C^{-0.063}, 전체 어텐션이 L(C) = 2.625 \times C^{-0.063} 으로 지수까지 사실상 동일했습니다. 최대 81.25\% 를 건너뛰고도 전체 어텐션과 같은 기울기로 확장되는 셈입니다.
다만 전체 평균 손실은 짧은 시퀀스가 많은 데이터 분포에 가려지기 쉽습니다. 그래서 저자들은 시퀀스의 마지막 토큰들만 따로 보는 꼬리 손실(trailing LM loss) 을 도입했습니다. 부록 분석에 따르면 희소 어텐션과 전체 어텐션 사이의 성능 격차는 대부분 이 꼬리 토큰에서 발생하며, 따라서 꼬리 손실만 집중해서 봐도 긴 문맥 확장성을 효율적으로 가늠할 수 있습니다. 시퀀스 길이를 32K로 늘리면 희소성은 1 - \frac{512 \times 3}{32768} = 95.31\% 까지 올라가는데, 이 극단적으로 희소한 조건에서도 MoBA의 마지막 블록 손실은 전체 어텐션보다 아주 조금 높을 뿐이고, 모델을 키울수록 그 격차가 점점 좁혀졌습니다. MoBA가 긴 문맥에서도 잘 확장된다는 근거입니다.
세밀한 블록 분할의 효과도 실험으로 확인했습니다. 1.5B 모델에 32K 문맥을 두고, 같은 희소성(75\%)을 유지하면서 블록을 8, 16, 32, 64, 128개로 잘게 나누고 각각 2, 4, 8, 16, 32개를 선택하도록 바꿔 봤더니, 가장 성긴 설정(8개 중 2개 선택)과 더 잘게 나눈 설정 사이에 약 1 \times 10^{-2} 의 손실 차이가 나타났습니다. 블록을 잘게 쪼갤수록 성능이 좋아진다는, MoE 계열에서 관찰되던 경향이 MoBA에서도 그대로 나타난 것입니다.
MoBA와 전체 어텐션의 하이브리드
MoBA가 전체 어텐션의 대체재로 설계되었다는 점은 실전에서 강력한 무기가 됩니다.
먼저 하이브리드 학습(MoBA/Full Hybrid Training) 입니다. 1.5B 모델을 30B 토큰, 32K 문맥에서 학습시키되(블록 크기 2048, top-3), 앞의 90\% 토큰은 MoBA로, 마지막 10\% 토큰은 전체 어텐션으로 전환해 학습했습니다. 그 결과 위치별 손실(position-wise LM loss)에서 이 하이브리드는 전체 어텐션과 거의 동일한 손실에 도달한 반면, MoBA만으로 끝까지 학습한 모델은 꼬리 토큰의 손실이 더 높았습니다. 더 인상적인 것은 MoBA와 전체 어텐션을 오갈 때 눈에 띄는 손실 급증(loss spike)이 없었다는 점으로, MoBA 전환의 안정성을 보여줍니다.
다음은 레이어 단위 하이브리드(Layer-wise Hybrid) 이며, 지도 미세조정(SFT)을 겨냥한 전략입니다. 저자들은 MoBA가 SFT에서 이따금 성능이 떨어지는 현상을 관찰했는데, 그 원인을 SFT의 손실 마스킹(loss masking)으로 추정합니다. SFT에서는 보통 프롬프트 토큰을 손실 계산에서 제외하는데, 이 때문에 희소 어텐션인 MoBA에는 그래디언트가 잘 전파되지 않는 희소 그래디언트 문제가 생긴다는 것입니다. 해결책으로 마지막 몇 개 트랜스포머 레이어만 MoBA에서 전체 어텐션으로 바꾸자, SFT 손실이 뚜렷하게 줄었습니다.
실제 벤치마크 평가
축소 실험을 넘어, 저자들은 실제 다운스트림 작업에서 MoBA를 검증했습니다. Llama 3.1 8B Base 모델을 출발점으로 삼아, 문맥 길이를 128K에서 256K, 512K, 1M으로 점진적으로 늘리며 이어서 학습(continual pre-training)했습니다(256K 단계 진입 시 위치 보간(position interpolation) 기법 적용). 1M 단계까지 마친 뒤 MoBA를 100B 토큰 동안 활성화했으며, 이때 블록 크기 4096, top-12로 희소성은 1 - \frac{4096 \times 12}{1\text{M}} = 95.31\% 에 달합니다. 전체 어텐션 능력을 일부 보존하기 위해 레이어 단위 하이브리드를 적용해 마지막 3개 레이어는 전체 어텐션으로 남기고 나머지 29개 레이어를 MoBA로 전환했습니다. 또한 모든 평가에서 MoBA는 프리필 단계에만 쓰고, 생성 단계에서는 전체 어텐션으로 전환했습니다.
결과는 이렇게 만든 Llama-8B-1M-MoBA가 동일 조건의 전체 어텐션 모델(Llama-8B-1M-Full)과 거의 구별되지 않는 수준입니다.
| 벤치마크 | Llama-8B-1M-MoBA | Llama-8B-1M-Full |
|---|---|---|
| MMLU [0-shot] | 0.4903 | 0.4904 |
| HellaSWAG [0-shot] | 0.8262 | 0.8279 |
| BBH [3-shot] | 0.6573 | 0.6589 |
| GSM8K [5-shot] | 0.7278 | 0.7142 |
| Competition Math [0-shot] | 0.4254 | 0.4324 |
| OpenAI HumanEval [pass@1] | 0.6951 | 0.7012 |
| MBPP Sanitized [0-shot] | 0.6926 | 0.6615 |
| TriviaQA [0-shot] | 0.5673 | 0.5667 |
| LongBench @32K [0-shot] | 0.4828 | 0.4821 |
| RULER @128K [0-shot] | 0.7818 | 0.7849 |
특히 주목할 것은 가장 긴 문맥을 다루는 RULER 벤치마크입니다. 128K 문맥에서 MoBA의 희소성이 1 - \frac{4096 \times 12}{128\text{K}} = 62.5\% 에 이르는데도, MoBA는 0.7818 로 전체 어텐션의 0.7849 에 거의 근접했습니다. 100만 토큰 규모에서는 전통적인 Needle in a Haystack 평가를 수행했는데, 위 히트맵처럼 32K부터 1M까지 모든 문맥 길이와 모든 삽입 위치에서 바늘(needle)을 안정적으로 찾아냈습니다.
효율성과 확장성
성능이 대등하다면 남은 질문은 "얼마나 빠른가"입니다. 저자들은 다른 레이어(FFN 등)의 연산량이 동일하다는 점에 착안해 어텐션 레이어의 순전파(forward pass) 시간만 따로 비교했습니다. 위 그래프처럼 MoBA는 모든 문맥 길이에서 전체 어텐션보다 빨랐고, 계산 복잡도가 준제곱(sub-quadratic)으로 완만하게 증가합니다. 100만 토큰을 프리필할 때 MoBA는 최대 6.5\times 의 가속을 보였습니다.
더 긴 길이로의 확장성도 확인했습니다. top-k와 블록 개수를 고정한 채 블록 크기만 비례해서 키워 희소성을 일정하게 유지하고, 텐서 병렬화(tensor parallelism)를 쿼리 헤드 수준으로 확장해 키와 값 텐서를 분산된 쿼리 헤드에 브로드캐스트하는 방식으로 GPU 메모리 한계를 넘겼습니다. 이렇게 1000만 토큰까지 늘렸을 때 MoBA는 전체 어텐션 대비 최대 16\times 의 어텐션 계산 시간 단축을 달성했습니다. 짧은 구간(32K에서 512K)에서는 두 방식이 엇비슷하지만, 시퀀스가 길어질수록 MoBA의 우위가 뚜렷해집니다.
저장소는 두 가지 구현을 제공합니다. moba_naive 는 어텐션 마스크 기반의 단순 구현으로 블록 선택 과정을 이해하고 시각화하는 데 쓰이고, moba_efficient 는 위에서 설명한 최적화를 적용한 실사용용 구현입니다. 저자들은 시퀀스 길이 32K, 어텐션 헤드 1개, MoBA 블록 크기 2048, top-k 3 조건에서 moba_efficient 가 moba_naive 대비 최대 40\times 빠르다고 밝히고 있으며, 실제 사용에는 이 버전을 권장합니다.
MoBA 설치 및 사용법
MoBA는 MIT 라이선스 로 공개되어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다. 현재 커널 구현은 flash-attn==2.6.3 과 torch >= 2.1.0 에 의존합니다. conda 환경을 만든 뒤 저장소를 설치합니다.
conda create -n moba python=3.10
conda activate moba
pip install .
MoBA는 transformers 친화적인 구현을 제공하며, --attn 옵션으로 moba 와 moba_naive 중 어텐션 백엔드를 고를 수 있습니다.
python3 examples/llama.py --model meta-llama/Llama-3.1-8B --attn moba
실행 예시는 저장소의 examples/llama.py 에서 확인할 수 있고, 단위 테스트는 pytest tests/test_moba_attn.py 로 실행합니다.
한 가지 유의할 점이 있습니다. 실험에서 보았듯 MoBA는 기존 모델을 이어서 학습(continue training)하는 과정을 거쳐야 가속 효과와 성능을 함께 얻을 수 있으며, 사전학습된 모델에 추가 학습 없이 그대로 끼워 넣는 드롭인(drop-in) 방식의 희소 어텐션이 아닙니다.
한계점 및 의의
MoBA의 강점과 제약은 동전의 양면입니다. 전체 어텐션의 대체재라는 설계 덕분에 기존 트랜스포머 모델에 이어서 학습하는 것만으로 긴 문맥 능력을 확장할 수 있지만, 반대로 아무 학습 없이 곧바로 적용하는 드롭인 방식은 아닙니다. 또한 SFT 단계에서는 손실 마스킹으로 인한 희소 그래디언트 문제 때문에 마지막 몇 레이어를 전체 어텐션으로 남기는 레이어 단위 하이브리드가 필요했습니다. 이는 MoBA가 만능 스위치가 아니라, 학습 레시피와 함께 설계해야 하는 도구임을 보여줍니다.
그럼에도 MoBA가 던지는 메시지는 분명합니다. 어디에 주목할지를 사람이 규정하는 대신 모델이 스스로 학습하게 두는 "적은 구조" 원칙만으로도, 최대 95\% 이상을 건너뛰는 극단적 희소성 아래에서 전체 어텐션에 필적하는 성능을 유지할 수 있다는 것입니다. MoE가 FFN의 확장 방식을 바꿔 놓았듯, MoBA는 그 원리를 어텐션으로 옮겨 와 긴 문맥 처리의 비용 구조를 다시 씁니다. 이미 Kimi의 긴 문맥 요청을 실제로 떠받치고 있다는 사실은, 이 접근이 논문 속 실험을 넘어 실서비스 규모에서 작동한다는 강력한 증거입니다. 향후 연구로는 블록 선택 전략의 추가 최적화, 다른 모달리티로의 확장, 그리고 복잡한 추론 과제에서의 일반화 성능 향상이 제시되었습니다.
MoBA 논문
MoBA 프로젝트 GitHub 저장소
더 읽어보기
-
FlashKDA: MoonshotAI가 공개한, Kimi Delta Attention을 위한 고성능 CUDA 커널 라이브러리
-
LLM Internals: 토크나이저부터 Flash Attention까지, LLM 내부 구조를 단계별로 학습하는 오픈소스 교육 자료
-
DeepSeek, 100만 토큰 컨텍스트를 효율적으로 지원하는 MoE 모델 DeepSeek-V4-Pro 및 DeepSeek-V4-Flash 공개
-
Recursive Language Models(RLM): LLM의 컨텍스트 길이 제한을 극복하기 위한 재귀 호출 아키텍처에 대한 연구
-
Z.AI, 장기 실행 과제(Long-Horizon)에 특화된 1M 컨텍스트 오픈소스 모델 GLM-5.2 출시
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. ![]()
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()




