1. 아키텍처 변천사: "역할 분담에서 효율의 극치로"
- Classic Transformer (Encoder + Decoder):
번역기형
- 구조: 입력(인코더)과 출력(디코더)이 분리됨.
- 특징: 질문을 완전히 읽은 뒤 답변을 생성. 인코더-디코더 사이를 잇는 '가교(Cross-Attention)'가 필수적.
- GPT 시리즈 (Decoder-Only):
현재의 표준
- 구조: 인코더를 없애고 디코더만 사용.
- 특징: 모든 토큰이 이전 토큰을 참조하며 다음 단어를 예측. 현재 Llama, GPT-4 등 메인스트림 모델의 99%가 채택.
- YOCO (Decoder-Decoder):
차세대 초경량 구조
- 구조: 디코더 위에 디코더를 또 쌓음 (Self-Decoder + Cross-Decoder).
- 특징: 앞단에서 '핵심 요약'을 한 번만 수행하고, 뒷단 레이어들은 이를 재사용함.
2. GPT(Decoder-only)의 한계: 시간복잡도 O(N2)
현재의 표준인 GPT 구조가 가진 가장 큰 숙제는 비용과 메모리입니다.
- 제곱의 법칙 (O(N2)): 문장이 2배 길어지면 계산량은 4배, 10배 길어지면 100배가 늘어납니다.
- KV 캐시의 저주: GPT는 모든 레이어(예: 80층)마다 대화 내용을 별도로 저장(Caching)해야 합니다. 문맥이 길어질수록 GPU 메모리가 기하급수적으로 소모되는 근본적 이유입니다.
3. YOCO (You Only Cache Once) 핵심 로직
YOCO는 귀찮게 층마다 메모리를 만들지 말고, 한 번만 만들어서 나눠 쓰자 는 혁신적인 설계를 제안합니다.
- Self-Decoder (요약층): 전체 문맥을 훑으며 가장 중요한 정보를 딱 한 번만 캐싱합니다. 이때 O(N2) 대신 선형 복잡도(O(N)) 기법인
Gated Retention을 사용합니다.
- Cross-Decoder (생성층): 이후의 레이어들은 직접 캐시를 만들지 않고, 1단계에서 만든 '공유 캐시'에 빨대를 꽂아 정보만 가져와 답변을 생성합니다.
4. 핵심 수식과 "알못"을 위한 이해 가이드
팀원들에게 수식의 의미를 전달할 때 아래의 비유를 활용해 보세요.
① Gated Retention (정보 압축 기술)
St=ft⊙St−1+it⊙(Kt⊤Vt)
💡 비유: "기억 = (망각 필터 × 어제의 메모) + (중요도 필터 × 오늘의 정보)"
- 해설: 과거의 모든 데이터를 일일이 뒤지는 대신, '어제의 요약본'에 '오늘의 핵심'만 더해 '새 요약본'을 만듭니다. 이 덕분에 계산량이 문장 길이에 비례(O(N))해서만 늘어납니다.
② Shared KV (공유 기술)
Output=Cross-Attention(Q,Shared_KV)
💡 비유: "답변 = 질문 × 아까 만든 그 요약본"
- 해설: 모든 층이 각자 백과사전을 들고 있는 게 아니라, 1층에서 만든 '단 한 권의 요약본'을 전 층이 돌려봅니다. 메모리 사용량을 수십 배 아낄 수 있는 비결입니다.
🌟 결론: YOCO가 우리 팀에 주는 의미
- 인프라 절감: 동일한 GPU 자원으로 기존 대비 최대 10배 많은 사용자를 수용 가능합니다.
- 초장문 처리: 100만 토큰(책 수십 권 분량)을 넣어도 메모리 부족 없이 정확하게 정보를 찾아냅니다.
- 사용자 경험: 첫 토큰이 나오는 속도(TTFT)가 기존 대비 약 3배 빨라집니다.