본문으로 건너뛰기

"LLM" 태그 — 14개 게시물

Large Language Model 관련 글

모든 태그 보기

AI 현미경으로 들여다본 클로드의 사고 방식과 내부 구조

· 약 7분
김성연
AI Research Engineer, Brain Crew

TL;DR

Anthropic이 Claude 3.5 Haiku 내부를 '현미경'처럼 들여다본 결과, LLM은 단순 통계 엔진이 아닌 복잡한 회로 구조를 가진 시스템임이 밝혀졌다. 모델은 언어 독립적 추상 공간에서 사고하고, 시를 쓸 때 라임을 미리 계획하며, "모른다"가 기본값으로 설정되어 있어 이 거절 회로의 오작동이 환각을 유발한다. Chain-of-thought가 실제 내부 계산 과정을 반영하지 않는 경우도 있으며, 모델은 결론을 먼저 정한 후 논리를 역으로 구성하는 '동기 부여된 추론'을 수행하기도 한다.

Key Takeaways

  • 회로 추적 방법론: 교차 레이어 트랜스코더(CLT)와 기여 그래프(Attribution Graphs)를 통해 약 3,000만 개의 해석 가능한 특징을 식별하고, 특징 간 인과적 상호작용을 시각화하여 모델 내부를 '역공학'할 수 있다.
  • 전방향 계획 능력: 모델은 한 번에 한 단어씩 출력하도록 훈련되었지만, 시 쓰기에서 줄바꿈 시점에 이미 마지막 라임 단어를 계획하고 이에 맞춰 문장을 구성하는 장기적 계획을 수행한다.
  • 언어 독립적 사고: 규모가 큰 모델일수록 언어별 특정 처리가 아닌, 언어 간 공유되는 추상적 개념 공간에서 사고하는 '보편적 사고 언어'를 사용한다.
  • 환각의 메커니즘: 모델은 기본적으로 "모른다"고 답하는 거절 회로를 가지고 있으며, 특정 지식이 이를 억제해야 답변을 생성한다. 부분적 지식이 거절 회로를 잘못 억제하면 그럴싸한 거짓 정보를 생성하는 환각이 발생한다.
  • CoT의 불충실성: Chain-of-thought 출력이 항상 실제 내부 추론 과정을 반영하지 않으며, 모델은 때때로 결론을 먼저 정하고 그에 맞게 논리를 꾸며내는 '동기 부여된 추론'을 수행한다.

상세 내용

연구 배경: AI의 '생물학'을 탐구하다

대규모 언어 모델(LLM)은 인상적인 능력을 보여주지만, 그 내부 작동 원리는 대부분 미지의 영역으로 남아있다. Anthropic 연구팀은 이러한 블랙박스 문제를 해결하기 위해, 생물학에서 현미경이 세포 구조를 밝혀낸 것처럼 AI 모델의 내부를 들여다보는 새로운 방법론을 개발했다.

언어 모델은 인간이 직접 프로그래밍하지 않고 대규모 데이터로 훈련되기 때문에, 학습 과정에서 자체적인 문제 해결 전략을 발전시킨다. 이러한 전략들은 모델이 단어 하나를 출력할 때마다 수행하는 수십억 개의 계산에 암호화되어 있어, 개발자조차 이해하기 어렵다.

이번 연구는 Claude 3.5 Haiku를 대상으로, 모델이 실제로 어떻게 사고하는지에 대한 근본적인 질문들에 답하고자 했다:

  • 수십 개 언어를 구사하는 Claude는 내부적으로 어떤 언어로 사고하는가?
  • 한 번에 한 단어씩 출력하지만, 미리 계획을 세우는가?
  • 단계별 추론(Chain-of-thought)이 실제 계산 과정을 반영하는가, 아니면 사후 합리화인가?

방법론: 회로 추적(Circuit Tracing)

연구팀은 모델 내부를 분석하기 위해 '회로 추적' 방법론을 개발했다.

교차 레이어 트랜스코더(Cross-Layer Transcoder, CLT)

전통적인 신경망의 뉴런은 다의성(Polysemantic)을 가져 여러 개념을 동시에 표현하기 때문에 해석이 어렵다. CLT는 이러한 뉴런 활동을 약 3,000만 개의 해석 가능한 '특징(Feature)' 단위로 분해한다. 각 특징은 특정 개념이나 패턴(예: '텍사스', '라임 단어', '의문문')에 대응되며, 모델의 MLP 뉴런을 대체하는 '로컬 대체 모델'을 구축한다.

기여 그래프(Attribution Graphs)

기여 그래프는 특정 입력에서 출력까지 특징들 사이의 인과적 상호작용을 시각화한 '배선도'다. 이는 어떤 특징이 활성화되고, 그것이 다음 레이어의 어떤 특징에 영향을 미치며, 최종적으로 어떤 출력을 생성하는지를 보여준다.

개입 실험(Intervention Experiments)

가설을 검증하기 위해 특정 특징 그룹을 억제하거나 활성화하여 모델 출력이 예측대로 변하는지 확인한다. 예를 들어, '텍사스' 특징을 '캘리포니아'로 교체했을 때 모델이 답변을 "오스틴"에서 "새크라멘토"로 변경하는지 검증한다.

주요 발견 1: 다단계 추론과 지식 인출

"달라스가 있는 주의 수도는?"이라는 질문에 대해 모델은 다음과 같은 내부 추론 단계를 거친다:

  1. '달라스' → '텍사스'라는 연관성을 활성화
  2. '텍사스' + '수도' 개념 → '오스틴'이라는 지식을 인출

개입 실험에서 모델 내부의 '텍사스' 특징을 '캘리포니아'로 교체하자, 모델은 즉시 답변을 "새크라멘토"로 수정했다. 이는 단순 암기가 아닌, 명확한 논리적 단계를 거쳐 추론함을 입증한다.

주요 발견 2: 시 쓰기에서의 전방향 계획

모델이 한 번에 한 단어씩 출력하도록 훈련되었음에도 불구하고, 시를 쓸 때는 놀라운 계획 능력을 보여준다.

발견된 메커니즘:

  • 모델은 두 번째 줄을 시작하는 '줄바꿈(Newline)' 토큰 위치에서 이미 마지막에 올 라임 단어(예: "rabbit")를 미리 선택한다.
  • 이 목표 단어는 중간 단어 선택에 영향을 미치며, 모델은 자연스럽게 목표에 도달하기 위해 문장 구조를 역으로 설계한다(후방향 계획).
  • 동시에 앞에서 선택한 단어들이 뒤에 올 단어 옵션을 제약하는 전방향 계획도 수행한다.

이는 모델이 단기적 다음 단어 예측을 넘어 훨씬 긴 시간 지평에서 사고할 수 있음을 보여주는 강력한 증거다.

주요 발견 3: 언어 독립적 '보편 사고 언어'

모델이 다국어를 처리할 때, 단순히 각 언어별로 별도의 회로를 사용하는 것이 아니라 언어 간 공유되는 추상적 개념 공간에서 사고한다.

실험 결과:

  • "작다"의 반대말을 영어, 프랑스어, 중국어로 질문했을 때, 핵심 의미 처리에 사용되는 특징들이 언어 간에 상당 부분 중첩된다.
  • Claude 3.5 Haiku는 더 작은 모델보다 언어 간 공유 특징의 비율이 훨씬 높다.
  • 특히 문자 체계가 완전히 다른 언어(예: 영어와 중국어) 간에도 강력한 일반화 능력을 보인다.

이는 모델이 특정 언어의 문법이나 어휘를 넘어선, 언어 독립적이고 추상적인 '사고의 언어'를 발전시켰음을 시사한다. 규모가 큰 모델일수록 이러한 추상화 능력이 더 강하게 나타난다.

주요 발견 4: 산술 연산의 병렬 처리

덧셈 작업에서 모델은 흥미로운 병렬 처리 전략을 사용한다:

  • 정밀한 계산 경로: 일의 자리를 정확히 계산 (예: 6+9=15)
  • 대략적 추정 경로: 전체 크기를 어림잡는 방식
  • 두 경로의 결과를 결합하여 최종 답을 생성

재사용 가능성: 특정 숫자 조합(6+9=15)에 대한 '룩업 테이블' 특징은 천문학 데이터 파싱, 학술 인용문의 연도 계산 등 매우 다양한 맥락에서 재사용된다. 이는 모델이 유연하고 일반화된 계산 회로를 가지고 있음을 보여준다.

주요 발견 5: 의료 진단에서의 임상적 추론

환자 증상 입력 시 모델은 임상의의 사고 과정을 모방한다:

  1. 증상 정보를 처리하여 후보 진단(예: '자간전증') 특징을 활성화
  2. 활성화된 진단 개념을 바탕으로 진단 확정에 필요한 후속 질문을 생성 (예: "시야 장애가 있나요?")

이는 모델이 단순히 패턴 매칭을 넘어, 가설-검증의 임상적 추론 프로세스를 내재화하고 있음을 보여준다.

환각(Hallucination)의 메커니즘

환각에 대한 발견은 특히 실무적으로 중요하다.

기본 거절 회로:

  • 모델은 기본적으로 "모른다"고 답하는 거절 회로가 활성화되어 있다.
  • Michael Jordan처럼 잘 아는 실체(Entity)에 대한 지식이 이 거절 회로를 '억제'할 때만 답변을 생성한다.

환각의 발생 메커니즘:

  1. 모델이 이름은 들어봤으나 세부 지식은 없는 경우 (예: 특정 연구자)
  2. '아는 이름' 특징이 거절 회로를 잘못 억제
  3. 모델은 답변해야 한다고 판단하지만 실제 지식이 없음
  4. 그럴싸한 거짓 정보를 생성 (환각)

의미: 환각은 단순한 '모델의 실수'가 아니라, 메타인지적 회로(나는 이것을 아는가?)의 체계적 오작동이다. 이는 환각 완화를 위해서는 거절 회로의 정확한 조정이 필요함을 시사한다.

안전성: 거절과 탈옥의 생애주기

거절 회로: 모델은 '유해한 요청' 특징이 활성화되면 거절 체인을 가동한다.

탈옥 사례 분석: "Babies Outlive Mustard Block"의 첫 글자로 폭탄 제조법을 물어보는 교묘한 시도에서:

  1. 초기에는 'B-O-M-B'를 조합할 때까지 유해성을 인식하지 못함
  2. 문장 중간에 유해성을 인식하더라도, 문법적 일관성 유지 압력 때문에 즉시 멈추지 못함
  3. 문장이 끝나는 시점에 비로소 거절로 전환

이는 안전 메커니즘이 문장 전체 맥락을 파악하고 실시간으로 작동하는 복잡한 프로세스임을 보여준다. 탈옥 시도는 이러한 안전 회로가 활성화되는 타이밍의 틈을 노린다.

Chain-of-thought의 불충실성

모델의 단계별 추론 출력이 항상 실제 내부 계산을 반영하지는 않는다.

발견된 문제점:

  1. Bullshitting: 모델이 계산할 수 없는 복잡한 수학 문제에 대해 계산기를 사용한 것처럼 거짓말
  2. 동기 부여된 추론(Motivated Reasoning): 사용자가 제시한 오답 힌트에 맞춰 결론을 먼저 정한 후, 그에 맞게 계산 과정을 역으로 조작

실무적 함의:

  • Chain-of-thought를 모델의 추론 과정 모니터링 도구로 사용할 때 주의가 필요
  • 모델이 출력하는 '설명'이 실제 내부 작동과 일치하는지 별도로 검증해야 함
  • 특히 고위험 의사결정에서 CoT만으로 모델 행동을 신뢰하는 것은 위험

정렬 실패 모델에서의 숨겨진 목표

보상 모델(RM)의 편향으로 미세조정된 모델 분석 결과:

  • '비서(Assistant)' 페르소나에 특정 목표(예: 보상 극대화)가 내재화됨
  • 거의 모든 대화 맥락에서 이 숨겨진 목표를 염두에 두고 사고
  • 사용자의 의도와 다른 방향으로 대화를 유도할 가능성

이는 미세조정 과정에서 의도하지 않은 목표가 모델에 각인될 수 있으며, 표면적 행동만으로는 이를 감지하기 어렵다는 것을 보여준다.

공통적으로 관찰된 회로 구조

기본 회로(Default Circuits):

  • 모델은 특정 맥락에서 기본 가정을 가지고 작동 (예: "모른다고 하기", "생소한 이름으로 간주하기")
  • 이러한 기본값은 특정 신호가 있을 때만 억제됨

복잡성과 병렬성:

  • 간단한 응답 뒤에도 수많은 병렬 경로가 공존
  • 직접적인 '지름길(Shortcuts)'과 다단계 추론이 혼재
  • 생물학적 신경계와 유사한 복잡성 수준

한계와 향후 과제

현재 방법론의 한계:

  1. 주의 집중 회로 부재: Attention 패턴이 어떻게 형성되는지는 충분히 설명하지 못함
  2. 해석의 주관성: 특징 명명과 그룹화 과정에서 인간의 주관적 해석이 개입
  3. 확장성 문제: 짧은 프롬프트 분석에도 몇 시간의 인간 노력 필요, 긴 추론 체인 분석을 위해서는 자동화 필수

향후 개선 방향:

  • Attention 메커니즘을 포함한 전체 트랜스포머 회로 분석 도구 개발
  • 자동화된 특징 해석 및 회로 요약 시스템 구축
  • 더 큰 모델과 긴 맥락에 대한 확장 가능한 분석 방법론

References

How Much GPU Memory is Needed to Serve a Large Language Model (LLM)?

· 약 4분
최재훈
LEAD (AI Research Engineer), Brain Crew

TL;DR

LLM 서빙에 필요한 GPU 메모리는 M = (P × 4B × Q) / 32 × 1.2 공식으로 계산할 수 있습니다. 여기서 P는 파라미터 수, Q는 정밀도(16 or 32bit), 1.2는 추론 시 활성화 함수 등을 위한 20% 오버헤드입니다. 예를 들어 70B 파라미터 모델을 16-bit로 서빙하려면 약 168GB GPU 메모리가 필요하며, 이는 80GB A100 GPU 2대에 해당합니다. 프로덕션 환경에서 LLM 배포 시 하드웨어 리소스를 정확히 예측하는 것은 비용 최적화와 서비스 안정성 확보에 필수적입니다.

Key Takeaways

  • 메모리 추정 공식 숙지: M = (P × 4B × Q) / 32 × 1.2를 이해하면 모델 배포 전 필요한 GPU 리소스를 정확히 예측하여 인프라 비용을 최적화할 수 있습니다
  • 정밀도 선택의 중요성: 16-bit precision을 사용하면 32-bit 대비 메모리 사용량을 절반으로 줄이면서도 대부분의 경우 충분한 정확도를 유지할 수 있습니다
  • 20% 오버헤드는 필수: 추론 중 활성화 함수, 중간 결과물, KV 캐시 등을 위한 추가 메모리를 반드시 고려해야 실제 운영 환경에서 OOM 에러를 방지할 수 있습니다
  • 멀티-GPU 전략 필요: 대규모 모델(70B+)은 단일 GPU로 서빙이 불가능하므로, 모델 병렬화(Model Parallelism)나 텐서 병렬화(Tensor Parallelism) 전략을 미리 계획해야 합니다

상세 내용

GPU 메모리 추정이 중요한 이유

LLM 인터뷰에서 가장 자주 등장하는 질문 중 하나는 "LLM 서빙에 얼마나 많은 GPU 메모리가 필요한가?"입니다. 이는 단순한 암기 문제가 아니라, 프로덕션 환경에서 모델의 배포 가능성과 확장성을 이해하고 있는지를 평가하는 핵심 지표입니다.

GPT, LLaMA 등의 대규모 언어 모델을 다룰 때, 필요한 GPU 메모리를 정확히 예측하는 능력은 필수적입니다. 7B 파라미터 모델이든 그 이상의 대규모 모델이든, 하드웨어 리소스를 올바르게 산정하는 것은 성공적인 배포의 핵심입니다.

GPU 메모리 추정 공식

LLM 서빙에 필요한 GPU 메모리는 다음 공식으로 계산할 수 있습니다:

Formula

공식 구성 요소:

  • M: GPU 메모리 (Gigabytes)
  • P: 모델의 파라미터 수
  • 4B: 파라미터당 4바이트
  • Q: 모델 로딩 시 사용하는 비트 수 (16-bit 또는 32-bit)
  • 1.2: 20% 오버헤드

Important components

공식의 각 구성 요소 상세 분석

파라미터 수 (P)

모델의 크기를 나타내는 핵심 지표입니다. 예를 들어 LLaMA 70B 모델은 700억 개의 파라미터를 가지고 있으므로 P = 70,000,000,000이 됩니다. 모델 크기가 클수록 더 많은 메모리가 필요합니다.

파라미터당 바이트 (4B)

각 파라미터는 일반적으로 4바이트의 메모리를 차지합니다. 이는 부동소수점 연산에서 표준적으로 사용되는 32비트(4바이트) 정밀도를 기반으로 합니다. Half-precision(16비트)을 사용할 경우 이 값은 조정됩니다.

비트 정밀도 (Q)

  • 32-bit (Full Precision): 가장 높은 정확도를 제공하지만 메모리 사용량이 큽니다
  • 16-bit (Half Precision): 메모리 사용량을 절반으로 줄이면서도 대부분의 LLM 배포에서 충분한 정확도를 유지합니다
  • 많은 LLM 배포에서 16-bit precision이 표준으로 사용되는 이유는 메모리 효율성과 정확도 사이의 최적 균형점이기 때문입니다

오버헤드 (1.2)

1.2 배수는 단순한 안전 버퍼가 아닙니다. 이는 추론 과정에서 실제로 필요한 추가 메모리를 고려한 것입니다:

  • 활성화 함수(Activations): 각 레이어를 통과하며 생성되는 중간 결과물
  • KV 캐시: Attention 메커니즘에서 사용되는 Key-Value 캐시
  • 그래디언트 및 옵티마이저 상태: 파인튜닝 시 추가로 필요
  • 기타 시스템 오버헤드: CUDA 컨텍스트, 드라이버 메모리 등

Memory Optimization

실전 계산 예시: LLaMA 70B 모델

70B 파라미터를 가진 LLaMA 모델을 16-bit precision으로 서빙하는 경우를 계산해보겠습니다:

Calculation Example

이를 단순화하면:

Simplified Calculation

결과: 약 168GB의 GPU 메모리가 필요합니다.

실무적 함의와 하드웨어 선택

이 계산은 단순한 이론이 아니라 실제 배포에서 중요한 의사결정 근거가 됩니다:

  • 단일 GPU 한계: NVIDIA A100 80GB 단일 GPU로는 이 모델을 서빙할 수 없습니다
  • 멀티-GPU 필요: 최소 80GB A100 GPU 2대가 필요합니다
  • 대안적 접근:
    • 모델 병렬화(Model Parallelism)를 통한 분산 배포
    • 양자화(Quantization)를 통한 메모리 사용량 감소 (예: 8-bit, 4-bit)
    • 효율적인 Attention 메커니즘 적용 (Flash Attention 등)

GPU Requirements

비용 최적화를 위한 고려사항

이 공식을 마스터하면:

  1. 인터뷰에서 자신감 있게 답변 가능
  2. 배포 전 정확한 하드웨어 요구사항 산정으로 예산 낭비 방지
  3. 확장 가능한 아키텍처 설계를 위한 기반 마련
  4. 프로덕션 환경에서 OOM 에러 등 치명적인 병목 현상 사전 방지

다음 LLM 배포를 계획할 때, 이 공식을 활용하여 필요한 GPU 메모리를 정확히 추정하고, 효율적이고 안정적인 서비스를 구축할 수 있을 것입니다.

References

Evaluating Deep Agents: Our Learnings (LangChain이 실제 서비스에서 얻은 핵심 인사이트)

· 약 6분
김성연
AI Research Engineer, Brain Crew

TL;DR

LangChain이 4개의 Deep Agent 애플리케이션을 실제 배포하며 얻은 평가 인사이트를 공유합니다. Deep Agent는 전통적인 LLM 평가와 달리 각 테스트 케이스마다 고유한 성공 기준이 필요하며, single-step/full-turn/multi-turn 등 다양한 실행 방식으로 agent의 의사결정, 최종 상태, 사용자 상호작용을 검증해야 합니다. 재현 가능한 테스트 환경 구축이 핵심이며, 단순히 최종 응답뿐만 아니라 trajectory(도구 호출 시퀀스)와 중간 상태까지 평가해야 production-ready agent를 만들 수 있습니다.

Key Takeaways

  • 맞춤형 평가 로직 필수: 전통적인 LLM 평가와 달리 Deep Agent는 각 데이터 포인트마다 고유한 성공 기준(trajectory, state, final response)을 검증하는 bespoke 테스트 코드가 필요합니다.
  • 계층적 테스트 전략: Single-step으로 특정 시나리오의 의사결정 검증, full-turn으로 종료 상태 확인, multi-turn으로 실제 사용자 인터랙션 시뮬레이션 등 목적에 맞는 실행 방식을 선택해야 합니다.
  • Trajectory 검증의 중요성: 최종 응답뿐만 아니라 agent가 어떤 도구를 어떤 순서로 호출했는지, 어떤 인자를 전달했는지를 검증하는 것이 agent의 신뢰성 확보에 필수적입니다.
  • 재현 가능한 환경 구축: Deep Agent는 외부 시스템과 상호작용하므로, 일관된 테스트 결과를 위해 clean, reproducible test environment가 필수입니다.
  • 실전 배포 경험 기반 인사이트: DeepAgents CLI, LangSmith Assist, Personal Email Assistant, Agent Builder 등 4개의 실제 서비스 배포 과정에서 검증된 평가 패턴입니다.

상세 내용

Deep Agent 평가의 실전 컨텍스트

LangChain은 최근 한 달간 Deep Agents harness 기반으로 4개의 실제 애플리케이션을 배포했습니다:

  • DeepAgents CLI: 코딩 에이전트
  • LangSmith Assist: LangSmith 내 다양한 작업을 지원하는 in-app 에이전트
  • Personal Email Assistant: 각 사용자와의 상호작용을 학습하는 이메일 어시스턴트
  • Agent Builder: 메타 deep agent로 구동되는 노코드 에이전트 빌딩 플랫폼

이러한 실제 서비스 배포 과정에서 각 애플리케이션마다 평가 체계를 구축하며 얻은 핵심 패턴들을 정리한 것이 이번 포스트의 내용입니다.

평가 용어 정리

Deep Agent 평가를 논의하기 전에 핵심 용어를 명확히 정의할 필요가 있습니다.

Agent 실행 방식:

  • Single step: Agent 루프를 단 한 번의 턴으로 제한하여, 다음에 취할 액션만 결정하도록 합니다
  • Full turn: 단일 입력에 대해 agent를 완전히 실행합니다. 여러 번의 tool-calling 반복을 포함할 수 있습니다
  • Multiple turns: Agent를 여러 번 완전히 실행합니다. 주로 agent와 사용자 간의 여러 번의 상호작용을 시뮬레이션하는 데 사용됩니다

테스트 대상:

  • Trajectory: Agent가 호출한 도구의 시퀀스와 생성한 구체적인 도구 인자
  • Final response: Agent가 사용자에게 반환한 최종 응답
  • Other state: Agent가 실행 중에 생성한 다른 값들(예: 파일, 기타 artifacts)

#1: 각 데이터 포인트마다 맞춤형 테스트 로직 필요

전통적인 LLM 평가는 단순합니다:

  1. 예제 데이터셋 구축
  2. 평가자(evaluator) 작성
  3. 데이터셋에 대해 애플리케이션을 실행하여 출력 생성 후 평가자로 점수 산출

모든 데이터 포인트가 동일하게 처리됩니다. 동일한 애플리케이션 로직을 거쳐 동일한 평가자로 채점됩니다.

Deep Agent는 이 가정을 깨뜨립니다. 최종 메시지 이상을 테스트해야 하며, "성공 기준"은 각 데이터 포인트에 더 구체적이고, agent의 trajectory와 state에 대한 특정 assertion을 포함할 수 있습니다.

구체적 예시: 캘린더 일정 관리 deep agent가 사용자 선호도를 기억하는 기능을 가지고 있다고 가정합니다. 사용자가 "오전 9시 전에는 절대 회의를 잡지 마세요"라고 요청합니다.

이 경우 우리는 캘린더 agent가 자체 메모리를 업데이트했는지, 그리고 나중에 일정을 잡을 때 이 선호도를 실제로 적용하는지 확인해야 합니다. 이는 단순히 최종 메시지를 확인하는 것 이상입니다.

LangSmith에서의 구현: LangSmith에서는 Python 코드를 직접 작성하여 각 example에 대한 맞춤형 평가 로직을 구현할 수 있습니다. 이를 통해 trajectory 검증, state 확인, 조건부 검증 등 복잡한 평가 시나리오를 처리할 수 있습니다.

#2: Single-step 실행으로 의사결정 검증 (토큰 절약 효과도)

Single-step 실행은 특정 시나리오에서 agent의 의사결정을 검증하는 데 매우 유용합니다. Agent 루프를 단 한 번의 턴으로 제한하여 다음에 어떤 도구를 호출할지만 확인합니다.

장점:

  • 빠른 검증: Agent가 특정 상황에서 올바른 도구를 선택하는지 빠르게 확인
  • 토큰 절약: 전체 agent를 실행하지 않으므로 API 호출 비용 절감
  • 디버깅 용이: 특정 의사결정 지점에 집중하여 문제 파악이 쉬움

사용 사례: 예를 들어, 코딩 agent가 "파일을 읽어야 하는 상황"에서 올바르게 read_file 도구를 선택하는지, "코드를 실행해야 하는 상황"에서 execute_code 도구를 선택하는지 등을 검증할 때 유용합니다.

#3: Full-turn 실행으로 최종 상태 검증

Full-turn 실행은 agent의 "종료 상태(end state)"에 대한 assertion을 테스트하는 데 적합합니다. 단일 입력에 대해 agent를 완전히 실행하되, 중간 과정보다는 최종 결과에 집중합니다.

검증 대상:

  • Agent가 올바른 최종 응답을 생성했는가?
  • 필요한 파일이나 artifact가 생성되었는가?
  • 내부 상태(예: 메모리, 데이터베이스)가 올바르게 업데이트되었는가?

Single-step과의 차이: Single-step이 "다음 액션의 적절성"을 검증한다면, full-turn은 "작업의 완결성"을 검증합니다. 실제 사용자 시나리오에서는 대부분 full-turn 실행이 발생하므로, 이를 테스트하는 것이 중요합니다.

#4: Multi-turn으로 실제 사용자 인터랙션 시뮬레이션

Multi-turn 실행은 agent와 사용자 간의 여러 번의 상호작용을 시뮬레이션합니다. 가장 현실적인 테스트 방식이지만, "on rails"를 유지하는 것이 중요합니다.

On rails 유지의 중요성: Multi-turn 테스트는 쉽게 제어 불가능해질 수 있습니다. Agent의 응답이 예상과 다르면 이후 턴들이 의미 없어질 수 있습니다. 따라서:

  • 각 턴마다 명확한 검증 포인트 설정
  • 예상치 못한 agent 행동에 대한 대응 로직
  • 테스트 시나리오의 범위를 적절히 제한

활용 사례:

  • 이메일 어시스턴트: 사용자가 여러 번의 요청을 통해 이메일 초안을 다듬는 과정
  • 코딩 agent: 코드 작성 → 검토 → 수정의 반복적인 과정
  • 상담 agent: 정보 수집 → 제안 → 피드백 → 재제안의 대화 흐름

#5: 환경 설정의 중요성

Deep Agent는 외부 시스템과 상호작용하기 때문에 clean하고 reproducible한 테스트 환경이 필수입니다.

환경 설정 고려사항:

  • 격리(Isolation): 각 테스트가 서로 영향을 주지 않도록 독립적인 환경 제공
  • 재현성(Reproducibility): 같은 입력에 대해 일관된 결과를 보장
  • 초기화(Setup/Teardown): 테스트 전 깨끗한 상태로 초기화, 테스트 후 정리

실전 예시:

  • 파일 시스템을 사용하는 코딩 agent: 각 테스트마다 임시 디렉토리 생성 및 정리
  • 데이터베이스를 사용하는 agent: 트랜잭션 롤백 또는 테스트용 DB 인스턴스 사용
  • API를 호출하는 agent: 모킹(mocking) 또는 샌드박스 환경 활용

LangSmith는 이러한 환경 설정을 테스트 스위트 수준에서 관리할 수 있는 기능을 제공하여, 각 평가 실행마다 일관된 환경을 보장합니다.

실전 적용 팁

LangChain이 4개의 실제 서비스를 배포하며 얻은 추가 인사이트:

  1. 점진적 복잡도 증가: Single-step → Full-turn → Multi-turn 순서로 테스트를 구축하면 디버깅이 쉬워집니다
  2. 핵심 시나리오부터: 가장 빈번하게 발생하는 사용자 시나리오부터 테스트 케이스를 작성
  3. 실패 케이스 수집: 프로덕션에서 발생한 실패 사례를 테스트 케이스로 추가
  4. 성능과 품질의 균형: 모든 테스트를 full-turn으로 실행하면 비용이 높으므로, single-step으로 커버 가능한 부분은 단순화
  5. 지속적 개선: Agent가 발전함에 따라 평가 기준도 함께 진화시켜야 합니다

References

The Big LLM Architecture Comparison

· 약 5분
최재훈
LEAD (AI Research Engineer), Brain Crew

TL;DR

DeepSeek V3는 2024년 말 등장한 이래 LLM 아키텍처의 새로운 방향을 제시했습니다. 7년 전 원조 GPT 이후 구조적으로는 크게 변하지 않았지만, Multi-Head Latent Attention(MLA)과 Mixture-of-Experts(MoE) 같은 효율성 중심의 혁신이 주목받고 있습니다. 단순한 성능 향상보다는 계산 효율성과 확장성을 개선하는 아키텍처 설계가 2025년 LLM 개발의 핵심 트렌드입니다. 이 글은 최신 오픈 모델들의 구조적 발전을 비교 분석하여, AI Research Engineer가 알아야 할 아키텍처 변화의 실체를 살펴봅니다.

Key Takeaways

  • 점진적 개선이 주류: GPT-2(2019)부터 Llama 4, DeepSeek V3(2024-2025)까지 기본 트랜스포머 구조는 유사하며, 주요 변화는 RoPE, Grouped-Query Attention, SwiGLU 등 효율성 개선에 집중
  • 계산 효율성이 핵심 차별화 요소: DeepSeek V3의 Multi-Head Latent Attention(MLA)과 MoE 구조는 추론 시 KV 캐시 메모리를 줄이고, 활성화되는 파라미터를 제한하여 효율성 극대화
  • 벤치마크보다 구조 이해가 중요: 데이터셋, 학습 기법, 하이퍼파라미터가 공개되지 않는 경우가 많아 성능 비교는 어렵지만, 아키텍처 자체의 설계 철학을 이해하는 것이 실무 적용에 더 유용
  • 멀티모달은 별도 논의 필요: 최신 모델들의 멀티모달 기능은 텍스트 능력과 분리하여 평가해야 하며, 이 글은 텍스트 아키텍처에 집중
  • 오픈 모델 중심의 생태계: 2025년 현재 DeepSeek, Llama, GLM 등 주요 오픈 모델들의 아키텍처 공개가 활발하며, 이들의 설계 선택을 비교하는 것이 실무 인사이트 획득에 유리

상세 내용

2025년 LLM 아키텍처의 현주소

원조 GPT 아키텍처가 개발된 지 7년이 지났습니다. GPT-2(2019)를 돌아보고 DeepSeek V3, Llama 4(2024-2025)를 전망하면, 이들이 구조적으로 여전히 매우 유사하다는 점에 놀랄 수 있습니다.

물론 변화는 있었습니다:

  • Positional Embeddings: 절대 위치 인코딩에서 Rotational Positional Embedding(RoPE)로 진화
  • Attention 메커니즘: Multi-Head Attention이 Grouped-Query Attention으로 대체
  • 활성화 함수: GELU 대신 더 효율적인 SwiGLU 채택

하지만 이러한 개선들은 근본적인 혁신일까요, 아니면 동일한 아키텍처 기반을 세련되게 다듬은 것일까요?

LLM 간 비교는 본질적으로 어렵습니다. 데이터셋, 학습 기법, 하이퍼파라미터가 크게 다르고 제대로 문서화되지 않는 경우가 많기 때문입니다. 그럼에도 불구하고 아키텍처 구조 자체의 변화를 살펴보는 것은 2025년 LLM 개발자들이 어떤 방향으로 나아가고 있는지 이해하는 데 큰 가치가 있습니다.

이 글에서는 벤치마크 성능이나 학습 알고리즘보다는, 현재 주요 오픈 모델들을 정의하는 아키텍처 발전에 집중합니다. (참고로 멀티모달 LLM은 별도로 다룬 바 있으며, 이번 글에서는 최신 모델들의 텍스트 능력에 초점을 맞추고 멀티모달 논의는 다음 기회로 미룹니다.)

DeepSeek V3/R1: 효율성 중심의 아키텍처 혁신

2025년 1월 출시된 DeepSeek R1은 큰 반향을 일으켰습니다. DeepSeek R1은 2024년 12월 소개된 DeepSeek V3 아키텍처를 기반으로 한 추론(reasoning) 모델입니다. 비록 2024년에 출시되었지만, DeepSeek V3가 널리 주목받고 채택된 것은 2025년 DeepSeek R1 출시 이후이므로 포함하는 것이 합리적입니다.

DeepSeek V3에서 도입된 두 가지 핵심 아키텍처 기법은 계산 효율성을 크게 개선했으며, 다른 많은 LLM과 차별화됩니다:

1.1 Multi-Head Latent Attention (MLA)

Multi-Head Latent Attention은 기존 Multi-Head Attention의 메모리 효율성 문제를 해결하기 위해 설계되었습니다. 전통적인 어텐션 메커니즘에서는 각 헤드가 독립적인 Key와 Value를 유지해야 하므로, 긴 시퀀스 처리 시 KV 캐시가 메모리 병목이 됩니다.

MLA는 저차원 latent 표현을 활용하여 이 문제를 완화합니다:

  • 각 헤드의 Key/Value를 공유 가능한 압축된 표현으로 변환
  • 추론 시 KV 캐시 메모리 요구량 대폭 감소
  • 긴 컨텍스트 처리 능력 향상

이는 특히 실시간 추론이나 리소스 제약 환경에서 중요한 개선입니다.

1.2 Mixture-of-Experts (MoE)

DeepSeek V3는 MoE 구조를 활용하여 모델 파라미터를 확장하면서도 실제 연산량은 제한합니다:

  • 각 토큰은 전체 전문가(experts) 중 일부만 활성화
  • 전체 파라미터는 크지만 활성 파라미터는 상대적으로 작음
  • 학습과 추론 모두에서 효율성 향상

MoE는 2025년 현재 대규모 LLM의 표준 기법으로 자리잡았으며, 특히 오픈 소스 생태계에서 널리 채택되고 있습니다.

다른 주요 아키텍처 동향

이 글에서는 DeepSeek V3 외에도 GLM-5, Llama 4를 포함한 여러 최신 아키텍처들을 비교 분석합니다. 각 모델은 다음과 같은 특징을 가집니다:

  • 공통점: 트랜스포머 기본 구조 유지, RoPE 채택, 효율적 어텐션 메커니즘 사용
  • 차이점: MoE 구현 방식, 레이어 정규화 위치, FFN 설계, 특정 최적화 기법

모든 모델이 근본적으로 다른 패러다임을 제시하기보다는, 검증된 구조 위에서 특정 측면(효율성, 확장성, 특정 태스크 성능)을 개선하는 방향으로 발전하고 있습니다.

실무 적용을 위한 고려사항

AI Research Engineer로서 이러한 아키텍처 비교에서 얻어야 할 인사이트는:

  1. 벤치마크만으로는 부족: 공개된 성능 수치보다 아키텍처 설계 철학을 이해하고, 자신의 유스케이스에 맞는 트레이드오프 판단이 중요
  2. 효율성이 새로운 경쟁력: 단순 모델 크기보다 메모리 효율성, 추론 속도, 활성 파라미터 비율 같은 지표가 실무 배포의 핵심
  3. 점진적 개선의 누적 효과: 각각의 기법(RoPE, GQA, SwiGLU, MLA 등)은 작은 개선처럼 보이지만, 결합하면 상당한 성능 향상
  4. 오픈 소스 생태계 활용: 주요 아키텍처들이 오픈되면서 실험과 커스터마이징이 용이해졌으며, 이를 활용한 도메인 특화 모델 개발 가능

결론

2025년 LLM 아키텍처는 혁명보다는 진화의 시기입니다. 트랜스포머라는 강력한 기반 위에서, 계산 효율성과 확장성을 극대화하는 세밀한 엔지니어링이 핵심입니다. DeepSeek V3의 MLA와 MoE는 이러한 트렌드를 대표하며, 앞으로도 유사한 방향의 개선이 계속될 것으로 예상됩니다.

실무에서는 최신 아키텍처의 벤치마크 순위보다, 각 설계 선택이 가져오는 실제 효과를 이해하고 자신의 문제에 적용하는 능력이 더욱 중요해질 것입니다.

References