deep daiv.
← Newsletter

deep daiv. newsletter

#152 이중 언어를 구사하는 LLM은 더 똑똑할까?

날짜
2026년 7월 15일
담당자
배니
위클리 딥 다이브 #1522026년 7월 15일

이번주 뉴스레터에는 이런 내용을 담았어요!

  • Code-Switching 개념과 실험 방법을 요약했습니다.
  • LLM이 Code-Switching을 잘하지 못하는 이유를 정리했습니다.
  • Code-Switching 문제를 극복하기 위한 방법론을 소개했습니다.

이중 언어를 구사하는 LLM은 더 똑똑할까?

안녕하세요, 에디터 배니입니다.

지난주, 저는 미국 샌디에이고에서 열린 ACL 2026에 다녀왔습니다. ACL은 세계 최고 수준의 자연어 처리(NLP) 학회 중 하나로, 자연어 처리 분야의 연구 동향을 파악할 수 있는 곳인데요. 이번 ACL에서는 크게 LLM Reasoning과 Agent, 그리고 더욱 다양한 Benchmark 연구들이 새롭게 소개됐습니다. 그밖에도 평소에는 접해 보지 못했던, 다양하고 새로운 학술 주제들을 한 자리에서 확인할 수 있었습니다.

그중에는 똑똑하다고 생각했던 언어 모델에도 여전히 특정 분야에서 성능이 떨어진다는 연구 주제들이 있었는데요. 그중 하나가 Code-Switching입니다. Code-Switching 관련 연구는 다개국어를 지원하는 모델에 여러 언어가 혼합된 문장을 입력했을 때 어떤 결과가 일어나는지 분석합니다. 요즘 LLM은 다개국어를 잘 이해하니, 잘 답변할 것 같지만 실제로는 말귀를 알아듣지 못하는 ‘0개국어 모델’이 된다고 하는데요. 이번주 뉴스레터에서는 Code-Switching의 개념과 현재 언어 모델이 달성한 언어 수준을 알아봅니다.


Code-Switching을 실험하는 방법

Code-Switching은 1998년 언어학자 Peter Auer가 정의한 개념으로, 하나의 대화 맥락 안에서 여러 언어를 번갈아 사용하는 현상을 의미합니다.

‘아젠다(Agenda) 얼라인(Align)을 위해 Comm(소통)에 신경 써주세요’

이 문장을 보면 언어적 구조는 한국어지만 의미를 담는 단어들은 사실상 영어입니다. 보통 ‘판교어’라 불리며 밈으로 소비되기도 하지만, 한편으로는 의미를 더욱 정확하게 전달하기 위해 사용된다고 볼 수 있습니다. 예를 들어, Align을 직역하여 ‘정렬하다’라고 표현한다면 어딘가 한글이나 PPT 문서 작업의 정렬처럼 느껴집니다. 업무상으로 ‘정렬’한다는 것이 특수한 의미를 갖지만, 이런 의미를 담는 단어가 부재하거나 아직 보편화되지 않았을 수 있죠.

그러나 LLM에 Code-Switching된 질문을 하면 성능이 떨어진다는 것이 중론입니다. ‘판교어’처럼 단어 수준이 아니라 한 대화 맥락에서 문장 수준의 언어가 섞이더라도 성능 저하 문제는 동일하게 발생합니다. Code-Switching은 분명 두 언어를 ‘충분히’ 이해하고 있을 때 나타납니다. LLM이 한국어와 영어, 각각을 못할 리가 없는데도 이런 현상이 발생하는데요. 얼핏 보기에는 두 언어를 모두 이해하고 있다면 크게 문제가 없을 것 같지만 실제로는 그렇지 않습니다.

하지만 (저를 포함한) 사용자들은 이런 부분은 크게 신경쓰지 않는 편입니다. KAIST 연구진이 실제 사용자와 ChatGPT의 대화 기록(WildChat)에서 한국어–영어 Code-Switching 연구 335건을 분석했더니, 원하는 답변 언어를 명시한 경우는 45건, 약 13%에 불과했습니다. 나머지 87%의 사용자는 당연히 의도를 알아들을 것이라 기대한 것이죠.

KAIST 연구진은 올해 1월, 바로 이 질문을 검증하는 벤치마크 OLA(Output Language Alignment)를 공개했습니다. 코드 스위칭된 질문을 받았을 때, 모델이 사용자가 기대하는 언어로 답하는지 측정하는 벤치마크입니다.

KAIST 연구진이 제시한 OLA의 문제 상황.
KAIST 연구진이 제시한 OLA의 문제 상황.
출처: OLA: Output Language Alignment in Code-Switched LLM Interactions (Oh et al., 2026)

OLA는 두 가지 상황을 다룹니다. 첫 번째는 Simple 세팅으로, "Hello. What is the reason for doing a 워밍업 세트 before the main 운동?"처럼 한 문장 안에 두 언어가 섞인 경우입니다. 이때 사람은 문장의 뼈대를 이루는 언어, 즉 매트릭스 언어로 답이 오기를 기대합니다. 두 번째는 Complex 세팅으로, 지시문과 내용물의 언어가 다른 경우입니다. 영어 초안을 주고 한국어로 "요약해줘"라고 하면 한국어 답변을, "이어서 써줘"라고 하면 영어 답변을 기대하는 식이죠.

매트릭스 언어(Matrix Language)

Code-Switching된 문장에서 어순, 조사, 어미 등 문법적 뼈대를 제공하는 언어를 말합니다. ‘아젠다 얼라인을 위해 Comm에 신경 써주세요’에서는 '아젠다'가 영어여도 문장 구조는 한국어이므로, 매트릭스 언어는 한국어입니다. 반대로 그 안에 끼어든 언어는 내재 언어 Embedded Language 라고 부릅니다.

결과는 어땠을까요? Gemini 3 Pro, GPT-5.1 같은 최신 모델조차 Simple 세팅에서 정답률이 60.9~85.8%에 그쳤고, 맥락 추론이 필요한 Complex 세팅에서는 57.9~68.0%까지 떨어졌습니다. 흥미로운 건, "영어로 답해줘"라고 언어를 명시하면 모든 모델이 거의 완벽하게 수행했다는 점입니다. 즉, 모델은 영어로 답할 능력이 없는 게 아니라, 어떤 언어로 답해야 하는지 추론하는 데 실패하고 있는 겁니다.

오답은 무작위로 나타나지 않았습니다. 모델들은 일관되게 비영어(non-English) 답변 쪽으로 기울었습니다. 영어가 매트릭스 언어인 문장, 그러니까 사람이라면 누구나 영어 답변을 기대할 문장에서 Gemini 3 Pro의 정답률은 21.7%, GPT-5.1은 24.4%까지 떨어졌습니다.

Code-Switching 성능은 전체적으로 떨어지고, 오답은 주로 비영어 답변을 내놓으며 발생한다.
Code-Switching 성능은 전체적으로 떨어지고, 오답은 주로 비영어 답변을 내놓으며 발생한다.
출처: OLA: Output Language Alignment in Code-Switched LLM Interactions (Oh et al., 2026)

답변 언어를 맞히더라도 한국어로 잘 답하다가 문장 중간에 갑자기 한자가 튀어나오거나, "아놀드 슈워цeneg거"처럼 한 단어 안에 러시아어 문자가 끼어드는 침입(Intrusion) 현상이 관찰됐습니다. 질문에는 등장하지도 않은 제3의 언어가 스며드는 셈인데, 이런 침입은 오히려 Alignment를 거친 모델에서 더 자주 나타났습니다. 그렇다면 모델은 대체 무엇을 근거로 답변 언어를 고르고 있는 걸까요?

바로 질문의 마지막 단어가 어떤 언어인가입니다. 모든 모델이 마지막 단어의 언어로 답할 확률이 유의미하게 높았는데요. 그 단어가 문장에서 어떤 역할을 하는지는 상관없었습니다. 반면 첫 단어의 언어는 아무런 영향을 주지 않았죠. 가장 마지막에 본 것에 끌려가는, 일종의 Recency Bias로 보입니다.

그럼 모델에게 먼저 추론(Reasoning)하도록 하고 문제를 해결하라고 하면 되지 않을지 의문이 들 수 있는데요. 연구진도 같은 시도를 했습니다. 답변 언어를 먼저 결정한 뒤 답하게 하는 Chain-of-Thought 프롬프팅을 적용해 본 겁니다. 결과는 오히려 반대였습니다. 대부분의 모델에서 성능이 떨어졌고, 특히 Simple 세팅에서는 최대 50%p 이상 하락하는 경우도 있었습니다. 모델이 생각한 언어와 실제 답변 언어는 92% 이상 일치했으니, 문제는 실행이 아니라 판단 자체에 있었던 셈입니다. 판단 기준이 없는 상태에서 생각을 시켜봐야, 잘못된 판단만 더 확신 있게 내리게 되는 거죠.

왜 LLM은 Code-Switching을 못할까?

분명 다개국어를 뛰어나게 이해하는데 왜 LLM은 Code-Switching을 못할까요? 언어 모델이 여러 언어를 내부적으로 어떻게 표현하는지 살펴보면 그 단서를 찾을 수 있습니다. <Do Llamas Work in English?> (Wendler et al., 2024) 연구에서는 모델의 각 레이어가 다음 단어로 무엇을 예측하는지 들여다보는 기법으로 Llama 2의 내부를 분석했는데요. 프랑스어로 질문하고 중국어로 답해야 하는 태스크를 시켰는데도, 중간 레이어에서는 정답의 영어 단어가 먼저 떠오르고, 마지막 레이어에 가서야 중국어로 바뀌는 현상이 관찰됐습니다.

초기에는 영문으로 생각하다, 마지막 레이어에서 언어를 바꾸어 말한다.
초기에는 영문으로 생각하다, 마지막 레이어에서 언어를 바꾸어 말한다.
출처: Do Llamas Work in English? (Wendler et al., 2024)

연구진은 이를 두고 "모델의 내부 공용어는 영어가 아니라 개념이지만, 그 개념은 영어에 편향돼 있다"라고 표현했습니다. 언어 모델은 어떤 언어로 입력받든 일단 영어에 가까운 공유 개념 공간에서 생각하고, 마지막에 출력 언어로 번역해 내보내는 구조에 가깝다는 겁니다.

문제는 이 수렴이 언어마다 균등하지 않다는 점입니다. <The Transfer Neurons Hypothesis> (Tezuka & Inoue, 2025) 연구는 다섯 개 언어의 병렬 문장을 Llama 3에 넣고 레이어별 히든 스테이트를 주성분 분석으로 시각화했는데요. 초기 레이어에서는 언어별로 따로 놀던 표현 공간이 중간 레이어에서 하나의 공유 공간으로 모였다가, 마지막 레이어에서 다시 갈라지는 흐름이 확인됐습니다.

그런데 영어와 가까운 네덜란드어, 이탈리아어는 이 공유 공간에 잘 수렴한 반면, 한국어와 일본어는 중간 레이어에서도 완전히 수렴하지 못했습니다. 쉽게 말하면, 같은 의미의 단어라도 언어에 따라 유사한 경향은 나타나지만, 완전히 겹치지는 않고, 그 간극은 한국어처럼 영어와 먼 언어일수록 커집니다.

레이어별 주성분 분석 결과. 같은 의미의 단어라도 완전히 겹치지는 않고, 언어의 유형에 따라 간극은 더욱 커진다.
레이어별 주성분 분석 결과. 같은 의미의 단어라도 완전히 겹치지는 않고, 언어의 유형에 따라 간극은 더욱 커진다.
출처: The Transfer Neurons Hypothesis (Tezuka & Inoue, 2025)

여기에 데이터의 문제가 겹칩니다. 모델이 학습하는 텍스트의 절대다수는 단일 언어로 쓰여 있고, 자연적으로 발생한 코드 스위칭 텍스트는 웹에서도 희소합니다. KAIST 연구진 역시 모델들이 비영어 답변으로 쏠리는 비대칭에 대해, 학습 데이터에 포함된 코드 스위칭 사례가 비영어 답변 쪽으로 불균형하게 분포했을 가능성을 원인으로 제시했습니다.

결국 표현 공간의 간극과 데이터의 희소함이 겹치면서, 모델은 문법 구조 같은 깊은 신호 대신 마지막 코튼과 같은 얕은 신호에 기댈 수밖에 없는 것으로 보입니다. 다만 KAIST 연구진은 희망적으로 보기도 합니다. 언어를 명시하면 모든 모델이 거의 완벽하게 답했다는 사실을 떠올려 보면, 이 실패는 모델 구조의 근본적인 한계라기보다 Code-Switching 상황에 대한 Alignment가 부족했던 문제에 가깝다는 겁니다. 능력은 이미 있는데, 그 능력을 언제 어떻게 써야 하는지 배운 적이 없다는 거죠. 그렇다면 해법도 자연스럽게 따라 나옵니다. 섞인 언어를 직접 가르치면 되지 않을까요?

아예 Code-Switching을 가르치자

Code-Switching에 어려움을 겪는 문제를 해결하기 위해, KAIST와 NAVER 연구진이 ACL 2025에서 발표한 <Code-Switching Curriculum Learning for Multilingual Transfer in LLMs> (Yoo et al., 2025)는 인간의 제2언어 습득 과정에서 아이디어를 가져왔습니다.

인간은 외국어를 배울 때 처음에는 모국어 문장에 외국어 단어를 하나씩 끼워 넣다가, 점차 문장 전체를 외국어로 말하게 됩니다. 이 논문이 제안한 CSCL(Code-Switching Curriculum Learning)은 이 과정을 그대로 옮겨, Code-Switching을 단어 수준 → 문장 수준 → 단일 언어 텍스트 순서로 난이도를 높여가며 모델을 학습시킵니다. 그 결과 한국어 벤치마크인 KMMLU에서 유의미한 성능 향상을 얻었고, 영어 성능이 무너지는 상황도 완화했습니다.

인간에게 가르치듯이 언어 모델에도 커리큘럼 학습 방식을 적용하여 성능을 개선했다.
인간에게 가르치듯이 언어 모델에도 커리큘럼 학습 방식을 적용하여 성능을 개선했다.
출처: Code-Switching Curriculum Learning for Multilingual Transfer in LLMs (Yoo et al., 2025)

다른 방법으로는 내부 원인을 분석하는 것입니다. 앞서 본 침입 현상을 줄이기 위한 것인데요. Alibaba 연구진의 <SASFT: Sparse Autoencoder-guided Supervised Finetuning>(Deng et al., 2025)은 Sparse Autoencoder로 모델 내부를 분석해, 답변에 엉뚱한 언어가 끼어드는 순간 해당 언어의 내부 피처가 비정상적으로 활성화된다는 사실을 발견했습니다. 그리고 학습 과정에서 이 피처의 활성화 값을 적절한 수준으로 유지하도록 유도해, 원치 않는 코드 스위칭을 50% 이상 줄였습니다.

마지막으로 OLA 연구진이 제안한 CS-DPO(Code-Switching Aware DPO)입니다. Code-Switching 질문에 대해 매트릭스 언어로 답한 응답을 '선호', 그렇지 않은 응답을 '비선호'로 묶은 약 1,000개의 선호 쌍만으로 DPO 학습을 진행했는데요. 이 작은 데이터만으로 영어 매트릭스 세팅의 정답률이 8.9%p 오른 것은 물론, 학습에 쓰지 않은 중국어–영어 조합에서도 16.6%p의 향상을 보였습니다. 한국어–영어로만 배웠는데 다른 언어 조합까지 일반화된 겁니다. 이는 모델이 '한국어 규칙'이 아니라 '섞인 언어에서 답변 언어를 고르는 원리' 자체를 배웠다는 뜻으로 볼 수 있습니다.


LLM 발전의 한계를 맞이했다

Code-Switching 문제는 비단 데이터의 희소성만으로 보기는 어려울 것 같습니다. 이는 근본적으로 LLM이 언어를 이해함에 있어, 문법이나 구조적인 부분 고려하지 않고 답변을 생성한다는 것과 마찬가지입니다. 또한, 소스 코드와 같은 컴퓨터 언어가 입력될 때도 실제로는 언어가 뒤섞여 있다고 볼 수 있는데 이러한 상황에서도 문법적 기능을 고려하지 않고 답하면서 답변 성능이 떨어질 수 있다는 것입니다.

근본적으로는 다음 토큰을 예측하도록 학습하는 과정에서 발생하는 문제로 보입니다. 언어별로 전체 맥락과 구조를 파악하는 것이 아니라, 최근 맥락에 의존할 수밖에 없기 때문입니다. 또한, Thinking 역시도 사실상 생각 과정을 늘어 놓는 것에 불과하기 때문에 결국 재귀적인 문제에 갇히게 됩니다.

ACL에 다녀오면서 느낀 바는 전체적으로 LLM 연구가 한계를 맞이하고 있다는 점입니다. 벤치마크의 상방을 뚫기 위해 달려왔던 여정은 줄어들고, 이제는 어떤 일을 잘 못할지 연구하는 경향이 많아졌습니다. Reasoning, Agent, Benchmark 연구 결과가 많아진 것은 모두 같은 맥락일 것입니다.

이는 두 가지로 볼 수 있을 것 같습니다. 한 편으로는 기술이 점차 성숙해가고 있고, 다른 한 편으로는 새로운 패러다임을 기다리고 있는 것 같습니다. 여러분은 어느 쪽에 더 가까우신가요?

Related

이 뉴스레터와 함께 읽기

같은 토픽의 리포트, 공개 글, 학습 경로를 이어 붙였습니다.