RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval 이해하기

1. 문제의 배경

기존의 검색 기반 언어 모델(Retrieval-Augmented Language Models)은 보통 문서를 고정 길이의 짧은 청크(예: 100토큰)로 나눈 후, 이들 중 몇 개만 선택해 LLM(대형 언어 모델)에 입력합니다.
이러한 방식은 문서 전체의 구조나 주제의 흐름, 여러 부분에 걸친 연관 정보를 포착하기 어렵다는 한계가 있습니다. 예를 들어, 긴 이야기나 책 전체의 맥락을 이해해야 하는 질문에 대해 단편적인 정보만 가져온다면, 충분한 답변을 제공하기 어렵게 됩니다.


2. RAPTOR의 핵심 아이디어

RAPTOR (Recursive Abstractive Processing for Tree-Organized Retrieval)는 문서를 단순한 청크의 집합이 아니라, 여러 수준의 추상화를 갖는 트리 구조로 재구성합니다.
즉, 문서를 아래와 같은 단계로 처리합니다.

  1. 청크 분할
    • 문서를 문장이 중간에 잘리지 않도록 주의하면서 일정 크기의 청크로 나눕니다.
  2. 임베딩 및 클러스터링
    • 각 청크를 SBERT와 같은 임베딩 모델로 벡터화합니다.
    • 고차원 임베딩의 문제를 해결하기 위해 UMAP(Uniform Manifold Approximation and Projection)으로 차원 축소 후, Gaussian Mixture Models (GMM)을 이용해 소프트 클러스터링을 수행합니다.
    • 소프트 클러스터링 덕분에 한 청크가 여러 군집에 속할 수 있어, 문서의 복합적 주제를 보다 유연하게 반영할 수 있습니다.
  3. 모델 기반 요약
    • 클러스터에 속한 청크들을 LLM(예: gpt-3.5-turbo)을 사용하여 요약합니다.
    • 이 요약문은 해당 클러스터(노드)의 대표 내용이 되며, 상위 노드로 올라가게 됩니다.
  4. 재귀적 적용
    • 위의 과정을 반복하여, 하위 청크들이 모여 상위 요약을 형성하고, 최종적으로 문서를 전체적으로 대표하는 트리 구조가 완성됩니다.
    • 트리의 리프 노드는 원문 청크를, 부모 노드는 그 청크들을 요약한 정보를 담습니다.

3. 질의 응답 시의 활용 방식

문서 전체를 계층적으로 요약해 놓은 트리를 기반으로, 사용자 질의에 대해 두 가지 방식으로 정보를 검색합니다.

① 트리 순회 방식 (Tree Traversal)

  • 과정:
    1. 트리의 최상위(루트) 노드부터 시작해, 각 노드와 질의의 코사인 유사도를 계산합니다.
    2. 가장 유사도가 높은 상위 노드들을 선택한 후, 그 자식 노드들에서 다시 코사인 유사도가 높은 노드를 선택합니다.
    3. 이런 식으로 하위 레벨로 내려가면서 점점 구체적인 정보를 모읍니다.
  • 장점:
    • 질문에 맞는 적절한 추상화 수준(상위 주제부터 하위 세부사항까지)을 순차적으로 제공할 수 있습니다.

② Collapsed Tree 방식

  • 과정:
    • 트리의 모든 노드를 하나의 평면(플랫)으로 펼친 후, 전체 노드 중 질의와의 코사인 유사도가 높은 순서로 선택합니다.
    • 선택된 노드들을 이어붙여 최대 토큰 수에 맞게 정보를 구성합니다.
  • 장점:
    • 모든 레벨의 정보를 한 번에 고려할 수 있어, 특히 정보의 세부 조정이 필요한 질문에 더 유연하게 대응합니다.
    • 실제 실험에서는 이 방식이 더 우수한 성능을 보였습니다.

4. RAPTOR의 주요 장점과 실험 결과

  • 종합적 문맥 이해:
    • 단순 청크 기반 검색보다 문서 전체의 주제 및 세부 정보를 동시에 활용할 수 있습니다.
  • 효율성:
    • 트리 구조 구축 과정은 선형 시간 복잡도로, 대용량 문서 처리에 적합합니다.
  • 실험 결과:
    • NarrativeQA, QASPER, QuALITY와 같은 다양한 QA 데이터셋에서 기존 retrieval 방식보다 뛰어난 성능을 보였습니다.
    • 특히, GPT-4와 함께 사용할 경우 QuALITY 벤치마크에서 약 20%의 성능 향상이 확인되었습니다.
  • 추가 고려사항:
    • 요약 과정에서 약 4% 정도의 경미한 허위 정보(hallucination)가 발생할 수 있으나, 상위 노드로 집계되면서 그 영향은 크게 줄어듭니다.

5. 추가 배경 및 관련 연구

  • 기존 방법과의 차별점:
    • 전통적인 retrieval 방식은 단순히 문서의 인접한 청크만을 사용해 정보 검색을 수행하는 반면, RAPTOR는 문서의 여러 부분에서 멀리 떨어진 연관 정보를 효과적으로 그룹화하여, 보다 포괄적이고 계층적인 문맥 정보를 제공합니다.
  • 유사 연구:
    • 최근 연구에서는 대형 언어 모델에 retrieval augmentation을 적용해 최신 정보와 긴 문맥을 처리하려는 시도가 많았습니다.
    • RAPTOR는 이런 노력 중 하나로, 단순 청크 기반 접근 방식의 한계를 극복하고, 다단계 추론이 필요한 복잡한 질문에 대해 우수한 성능을 발휘합니다.

결론

RAPTOR는 문서를 단순한 청크들의 나열이 아니라, 다양한 추상화 수준을 가진 트리 구조로 재구성하여, 질문에 맞는 적절한 정보(상위 주제부터 세부사항까지)를 효과적으로 검색하는 혁신적인 방법입니다. 이 방식은 긴 문서나 복잡한 텍스트를 다룰 때, 기존의 retrieval 기법보다 훨씬 더 포괄적이고 정교한 답변을 생성할 수 있도록 도와줍니다.

이와 같이, RAPTOR는 retrieval-augmented 언어 모델의 한계를 극복하고, 다단계 추론 및 복잡한 질문 응답 시스템에서 중요한 진전을 이루고 있다고 할 수 있습니다.

https://arxiv.org/pdf/2401.18059

증류(distillation)

증류(Distillation)는 대규모 언어 모델(LLM)의 성능을 향상시키기 위해 사용되는 중요한 학습 기법 중 하나입니다. 이 기법은 주로 더 큰 모델의 지식을 작은 모델로 전달하여 최종적으로 더 효율적이고 빠른 모델을 만드는 데 목적이 있습니다. 증류 기법은 주로 두 단계로 이루어집니다. 첫 번째 단계는 교사 모델(teacher model)로부터 지식을 추출하는 것이고, 두 번째 단계는 학생 모델(student model)을 학습시켜 원본 모델의 지식을 습득하게 하는 것입니다.

증류 과정의 핵심 개념

  1. 교사 모델과 학생 모델
    • 교사 모델 : GPT-4, BERT와 같은 대형 모델로, 높은 정확도를 가지지만 추론 비용이 큽니다.
    • 학생 모델 : 교사보다 레이어 수나 파라미터가 적은 소형 모델로, 경량화되어 실용적 배포가 가능합니다.
  2. 소프트 타겟(Soft Target)
    • 교사 모델의 지식을 습득하기 위해, 교사 모델의 출력 확률 분포를 학생 모델의 학습 대상으로 사용합니다.
    • 예: “강아지가 공을 물고 있다”라는 문장 생성 시, 교사 모델은 강아지(70%), 고양이(20%), 동물(10%)처럼 클래스 간 관계를 포함한 확률을 출력합니다.
    • 온도 조절(Temperature Scaling) : 확률 분포 즉, 교사 모델의 출력을 부드럽게 만들기 위해 소프트맥스 함수에 온도 계수 ( T )를 적용합니다.
      • ( T > 1 )이면 확률 분포가 평탄해져 학생이 세부적인 관계를 학습하기 용이합니다.
  3. 손실 함수(Loss Function)
    • 학생 모델은 두 가지 손실을 최소화합니다:
      • 교사와의 증류 손실 : 교사의 소프트 타겟과 학생 예측의 KL 발산(KL-Divergence).
      • 실제 라벨 손실 : 원본 데이터의 정답(하드 타겟)과의 교차 엔트로피.

증류 예시: 텍스트 분류 작업

  1. 교사 모델 준비
    • GPT-3를 IMDb 영화 리뷰 감성 분석(긍정/부정)에 미세 조정합니다.
  2. 소프트 타겟 생성
    • 학습 데이터를 GPT-3에 입력해 각 샘플의 확률 분포(예: 긍정 85%, 부정 15%)를 추출합니다.
  3. 학생 모델 학습
    • DistilBERT와 같은 소형 모델을 두 손실의 가중합으로 학습시킵니다:
      • Loss=α⋅KL-Divergence(교사,학생)+(1−α)⋅Cross-Entropy(라벨,학생)
    • 온도 ( T=2 )를 적용해 확률 분포를 부드럽게 합니다.

증류의 장점과 활용 사례

  • 장점
    • 추론 속도 향상: 학생 모델은 교사 대비 60% 이상 경량화되며, GPU 메모리 사용량이 감소합니다.
    • 에지 디바이스 배포: 스마트폰이나 IoT 기기에서도 LLM 기능 사용이 가능해집니다.
    • 데이터 효율성: 원본 데이터 없이 교사의 출력만으로도 학생을 학습시킬 수 있습니다(데이터 프라이버시 보호).
  • 활용 사례
    • DistilGPT-3 : GPT-3의 40% 크기로 95% 성능 유지.
    • TinyBERT : BERT 대비 7.5배 작지만 GLUE 벤치마크에서 96% 성능 달성.
    • 모바일 번역기 : 대형 번역 모델을 증류해 스마트폰에 탑재.

증류의 유형

  1. 오프라인 증류
    • 교사 모델이 미리 학습된 후 고정된 상태에서 학생을 학습시킵니다.
  2. 온라인 증류
    • 교사와 학생이 동시에 학습되며, 서로의 예측을 참조합니다(예: Mutual Learning).
  3. 자기 증류(Self-Distillation)
    • 동일 모델의 깊은 버전이 얕은 버전을 가르칩니다(계층적 지식 전달).

한계와 극복 방안

  • 성능 격차 : 학생 모델이 교사의 복잡한 추론을 완전히 흉내 내지 못할 수 있습니다.
    • 해결 : 어텐션 맵 증류(Attention Distillation)로 모델 내부의 집중 메커니즘을 전달합니다.
  • 과적합 위험 : 학생이 교사의 노이즈까지 학습할 수 있습니다.
    • 해결 : 데이터 증강이나 교사 앙상블로 일반화 성능을 높입니다.

결론

지식 증류는 리소스 제약 환경에서도 LLM의 강력한 성능을 활용할 수 있게 하는 핵심 기술입니다. 교사 모델의 “암묵적 지식”을 전달함으로써, 소형 모델은 적은 자원으로도 높은 효율성을 달성할 수 있습니다.

Mixture of Experts (MoE)

1. 개요
Mixture of Experts (MoE)는 여러 전문가(Expert) 모델을 협업시키는 머신러닝 기법입니다. 각 전문가는 입력 데이터의 특정 부분을 처리하도록 특화되며, **게이팅 네트워크(Gating Network)**가 입력에 따라 적절한 전문가를 선택하거나 가중치를 부여합니다. 이는 모델 용량을 늘리며 계산 비용을 절약하는 데 효과적입니다.


2. 주요 구성 요소

  • 전문가(Experts) :
    • 일반적으로 동일한 구조의 신경망(예: Transformer 레이어)으로 구성됩니다.
    • 각 전문가는 특정 입력 패턴(예: 이미지의 특정 영역, 텍스트의 특정 주제)에 특화됩니다.
  • 게이팅 네트워크(Gating Network) :
    • 입력을 분석하여 각 전문가의 기여도(가중치)를 결정합니다.
    • 주로 Softmax 또는 Top-k Routing 을 사용해 일부 전문가만 활성화합니다.
    • 예: Switch Transformer에서는 각 입력이 1개의 전문가 로만 라우팅됩니다.

3. 동작 원리

  1. 입력 분배 : 게이팅 네트워크가 입력 ( x )를 분석해 전문가의 가중치를 계산합니다.
    • 예: 가중치=Softmax(Wg​⋅x+bg​).
  2. 전문가 실행 : 선택된 전문가들이 입력을 처리합니다.
    • Top-k 라우팅 시 ( k )명의 전문가만 활성화됩니다.
  3. 결합 : 전문가들의 출력을 가중합하여 최종 결과를 생성합니다.
    • y=∑i=1nwi​⋅Ei​(x), 여기서 ( w_i )는 게이팅 가중치, ( E_i )는 전문가.

4. 학습 방법

  • 동시 학습 : 전문가와 게이팅 네트워크를 함께 훈련시킵니다.
  • 그래디언트 역전파 : 게이팅 네트워크는 전문가 선택에 대한 그래디언트를 학습합니다.
  • 주요 도전 과제 :
    • 전문가 불균형(Expert Imbalance) : 일부 전문가만 주로 사용되는 문제.
      → **부가 손실(Auxiliary Loss)**로 전문가 사용 분포를 균형 있게 유도합니다.
    • 학습 불안정성 : 게이팅의 갑작스러운 변화가 학습을 방해할 수 있습니다.
      노이즈 추가 또는 지연 업데이트 기법으로 안정성을 높입니다.

5. 장점과 단점

  • 장점 :
    • 효율적 확장 : 모델 파라미터는 증가하지만, 활성화되는 전문가 수는 제한되어 계산 비용이 절약됩니다.
    • 전문화된 예측 : 각 전문가가 복잡한 데이터 분포의 일부를 효과적으로 처리합니다.
  • 단점 :
    • 구현 복잡성 : 분산 시스템에서 전문가 간 통신 오버헤드가 발생할 수 있습니다.
    • 과적합 위험 : 전문가가 특정 데이터에 과도하게 적응할 수 있습니다.

6. 주요 변형 및 응용

  • 라우팅 기법 :
    • Top-k Routing (k=1인 경우 Switch Transformer).
    • Noisy Top-k : 라우팅에 무작위성을 추가해 탐색을 촉진합니다.
  • 응용 사례 :
    • NLP : Google의 Switch Transformer , GLaM (1.2조 파라미터).
    • 컴퓨터 비전 : Vision MoE, LIMoE (Large Image Mixture of Experts).
    • 멀티모달 : DeepSeek-MoE, Mixtral 8x7B (오픈소스 MoE LLM).

7. 최신 기술 동향

  • 효율성 개선 : GShard, T5-MoE 등에서 Expert Parallelism 을 도입해 분산 학습을 최적화합니다.
  • 동적 라우팅 : 입력에 따라 전문가 수를 유동적으로 조절하는 Adaptive MoE 가 연구되고 있습니다.
  • 경량화 : 적은 수의 전문가로도 성능을 유지하는 Lightweight MoE 구조가 주목받고 있습니다.

8. 결론
MoE는 대규모 모델의 효율적인 확장을 가능하게 하는 핵심 기술입니다. 게이팅 메커니즘과 전문가 특화 학습을 통해 계산 자원을 절약하면서도 복잡한 작업을 처리할 수 있습니다. 하지만 구현 복잡성과 전문가 불균형 문제는 여전히 개선이 필요한 분야입니다.

MLA(Multi-Head Latent Attention) 쉽게 이해하기(with예시)

멀티헤드 어텐션에서 각 헤드(Head)가 서로 다른 가중치를 사용한다는 것은, 각 헤드마다 독립적인 쿼리(Query)키(Key)밸류(Value) 변환 행렬을 갖는다는 의미입니다. 이를 구체적인 예시와 함께 설명하겠습니다.


1. 입력 데이터 예시

  • 입력 문장: "The cat sat on the mat."
  • 각 단어의 임베딩 벡터를 아래와 같이 가정합니다.
    • The: [0.2, 0.5, 0.1]
    • cat: [0.7, 0.3, 0.4]
    • sat: [0.4, 0.6, 0.2]
    • on: [0.1, 0.8, 0.3]
    • the: [0.3, 0.2, 0.9]
    • mat: [0.5, 0.4, 0.7]

2. 멀티헤드 어텐션 구조 (2개 헤드 가정)

  • 헤드 1과 헤드 2는 각각 다른 가중치 행렬로 입력을 변환합니다.
    • 예시 가중치 행렬 (3차원 → 2차원으로 변환):
      • 헤드 1의 가중치:
        • WQ1 ​: [[0.1,0.2], [0.3,0.4], [0.5,0.6]]
        • WK1 ​: [[0.2,0.1], [0.4,0.3], [0.6,0.5]]
        • WV1 ​: [[0.3,0.4], [0.5,0.6], [0.7,0.8]]
      • 헤드 2의 가중치:
        • WQ2 ​: [[0.6,0.5], [0.4,0.3], [0.2,0.1]]
        • WK2 ​: [[0.5,0.6], [0.3,0.4], [0.1,0.2]]
        • WV2 ​: [[0.8,0.7], [0.6,0.5], [0.4,0.3]]

3. 헤드별 계산 과정

헤드 1의 계산

  1. 쿼리(Q1), 키(K1), 밸류(V1) 생성:
    • 예: 단어 cat의 쿼리 계산
      Qcat1 = cat 임베딩×WQ1 = [0.7, 0.3, 0.4]×WQ1 = [0.7∗0.1+0.3∗0.3+0.4∗0.5, 0.7∗0.2+0.3∗0.4+0.4∗0.6] = [0.07+0.09+0.2 = 0.36, 0.14+0.12+0.24 = 0.5]
      → Qcat1 = [0.36,0.5]
    • 모든 단어에 대해 Q1, K1, V1를 계산합니다.
  2. 어텐션 스코어 계산:
    • cat과 sat의 어텐션 스코어 예시:
      Score1 = Qcat1⋅Ksat1 = [0.36,0.5]⋅[Ksat1]
      → 헤드 1은 cat과 sat의 위치적 관계(예: 문법적 구조)에 집중할 수 있습니다.

헤드 2의 계산

  1. 쿼리(Q2), 키(K2), 밸류(V2) 생성:
    • 예: 단어 cat의 쿼리 계산
      Qcat2 = cat 임베딩×WQ2 = [0.7, 0.3, 0.4]×WQ2 = [0.7∗0.6+0.3∗0.4+0.4∗0.2, 0.7∗0.5+0.3∗0.3+0.4∗0.1] = [0.42+0.12+0.08=0.62, 0.35+0.09+0.04=0.48]
      → Qcat2 = [0.62,0.48]
  2. 어텐션 스코어 계산:
    • cat과 mat의 어텐션 스코어 예시:
      Score2 = Qcat2⋅Kmat2 = [0.62,0.48]⋅[Kmat2]
      → 헤드 2는 cat과 mat의 의미적 관계(예: “고양이가 매트 위에 앉음”)에 집중할 수 있습니다.

4. 결과 통합

  • 헤드 1과 헤드 2의 결과를 결합합니다.
    • 예: cat에 대한 최종 어텐션 값
      • 헤드 1 결과: 위치적 관계 강조 → sat과 높은 어텐션
      • 헤드 2 결과: 의미적 관계 강조 → mat과 높은 어텐션
    • 두 결과를 연결(concatenate)하거나, 평균내어 최종 출력을 생성합니다.

핵심 요약

  1. 다양한 관점 포착:
    • 헤드 1: 문법적 구조 (예: 동사 sat과 명사 cat의 관계).
    • 헤드 2: 의미적 관계 (예: cat과 mat의 물리적 위치).
  2. 가중치의 역할:
    • 각 헤드의 WQ, WK, WV​가 다르기 때문에, 동일한 입력이라도 다른 방식으로 변환됩니다.
    • 예를 들어, 헤드 1의 가중치는 위치 정보를, 헤드 2의 가중치는 의미 정보를 추출하도록 학습됩니다.
  3. 실제 학습 과정:
    • 가중치 행렬은 초기에 랜덤하게 초기화되며, **역전파(backpropagation)**를 통해 최적화됩니다.
    • 모델은 태스크(예: 번역, 분류)에 맞게 각 헤드가 어떤 정보에 집중할지 자동으로 학습합니다.

예시 도식화

입력: "The cat sat on the mat"
       │
       ├─ 헤드 1 ──→ [위치적 관계 집중] → "cat" ↔ "sat"
       │
       └─ 헤드 2 ──→ [의미적 관계 집중] → "cat" ↔ "mat"

멀티헤드 어텐션은 다양한 유형의 관계를 병렬로 포착하여 모델의 성능을 향상시킵니다!

MLA(Multi-Head Latent Attention)의 이해

멀티헤드 잠재 어텐션(Multi-Head Latent Attention, MLA)은 딥러닝, 특히 자연어 처리(NLP)와 컴퓨터 비전에서 사용되는 어텐션 메커니즘의 한 종류입니다. 기존의 어텐션 메커니즘을 확장하여 여러 개의 “헤드”를 사용해 입력 데이터의 다양한 부분에 주의를 기울이는 방식입니다. 이를 통해 모델이 더 풍부한 정보를 포착하고, 성능을 향상시킬 수 있습니다.

기본 개념

  1. 어텐션 메커니즘: 어텐션은 입력 시퀀스의 각 요소에 대해 다른 요소들과의 상대적 중요도를 계산하는 방식입니다. 예를 들어, 문장에서 특정 단어가 다른 단어들과 얼마나 관련이 있는지를 평가합니다.
  2. 멀티헤드 어텐션: 멀티헤드 어텐션은 어텐션 메커니즘을 여러 번 병렬로 적용하는 방식입니다. 각 헤드는 서로 다른 가중치를 사용해, 입력 데이터의 다른 부분에 초점을 맞춥니다. 이를 통해 모델이 다양한 관점에서 정보를 수집할 수 있습니다.

특징

  1. 잠재 공간(Latent Space): MLA는 잠재 공간에서 어텐션을 수행합니다. 잠재 공간은 원본 데이터를 저차원으로 투영한 공간으로, 데이터의 중요한 특징을 더 잘 포착할 수 있습니다.
  2. 병렬 처리: 여러 헤드가 동시에 작동해 각각 다른 부분의 정보를 추출합니다. 이는 모델의 표현력을 크게 향상시킵니다.
  3. 정보 통합: 각 헤드에서 추출한 정보는 최종적으로 통합되어 모델의 출력을 생성합니다. 이를 통해 모델이 더 정확하고 강력한 예측을 할 수 있습니다.

작동 방식

  1. 입력 투영: 입력 데이터는 여러 개의 헤드로 분할되기 전에 잠재 공간으로 투영됩니다.
  2. 어텐션 계산: 각 헤드는 잠재 공간에서 독립적으로 어텐션 점수를 계산합니다. 이 점수는 입력 데이터의 각 부분이 얼마나 중요한지를 나타냅니다.
  3. 정보 통합: 각 헤드의 결과는 결합되어 최종 출력을 생성합니다. 이 과정에서 모델은 다양한 관점에서 수집한 정보를 종합적으로 활용합니다.

장점

  1. 다양한 정보 포착: 여러 헤드를 사용해 다양한 특징을 포착할 수 있어 모델의 표현력이 향상됩니다.
  2. 효율성: 병렬 처리를 통해 계산 효율성이 높아집니다.
  3. 유연성: 다양한 도메인과 작업에 적용할 수 있어 활용도가 높습니다.

결론

멀티헤드 잠재 어텐션(MLA)은 딥러닝 모델이 입력 데이터의 다양한 부분에 주의를 기울이는 강력한 도구입니다. 잠재 공간에서의 어텐션과 병렬 처리를 통해 모델의 성능과 효율성을 크게 향상시킬 수 있습니다. 이는 NLP와 컴퓨터 비전 등 다양한 분야에서 널리 활용되고 있습니다.

error: