AI VIDEO BRIEFING

스탠퍼드 CS336 강의로 보는 LLM 아키텍처 설계: 정규화·활성화·하이퍼파라미터 합의

스탠퍼드 CS336 강의가 최근 공개된 언어모델 수십 종의 설계를 비교해 정리한 내용. 정규화 층의 위치와 RMS 정규화, 게이트 활성화가 표준이 된 이유, 그리고 하이퍼파라미터의 넓은 안전 구간을 짚는다.

요즘 LLM은 왜 다 비슷하게 생겼을까: 스탠퍼드 CS336이 정리한 아키텍처 합의점 영상 대표 이미지

핵심 메시지

  • 최신 언어모델들은 정규화 층을 잔차 경로 밖으로 빼고 RMS 정규화를 쓰며 게이트가 붙은 활성화 함수를 사용한다는 점에서 사실상 합의에 도달했다.
  • 이런 선택의 상당수는 표현력이 아니라 GPU 효율과 학습 안정성 때문에 굳어졌다.
  • 정규화 연산은 전체 연산량의 0.2%도 안 되지만 조건에 따라 실행 시간의 최대 4분의 1까지 차지할 수 있어, 메모리 이동을 줄이는 쪽이 이득이다.
  • 피드포워드 비율·헤드 차원·깊이 대 너비 같은 하이퍼파라미터는 넓은 안전 구간을 가지며, 대부분의 모델이 그 구간 안에 모여 있다.
  • 아키텍처 설계는 일반화·하드웨어 효율·학습 안정성이라는 세 요구가 부딪히는 절충의 결과여서 이론만으로 미리 결론 내기 어렵다.

쉽게 이해하기

스탠퍼드의 언어모델 구현 수업 CS336의 아키텍처 강의는 접근법부터 솔직하다. 강사는 '아키텍처에 대해 알고 싶지 않았던 모든 것'이라는 부제를 붙이고, 이론에서 정답을 끌어내는 대신 최근 공개된 모델들의 설계를 전부 훑어 무엇이 고정됐고 무엇이 달라도 되는지를 가려낸다. 강사는 매년 이 강의를 준비하는데, 작년에는 논문이 몇 편 없을 줄 알았다가 밀집 모델만 19종을 정리하게 됐고 올해는 전문가 혼합 구조가 크게 늘었다고 말한다.

모두가 동의하는 항목이 하나 있다. 정규화 층의 위치다. 원래 트랜스포머는 잔차 흐름 안에 정규화를 넣었지만, 지금은 거의 모든 모델이 이를 잔차 밖으로 빼낸다. 잔차 경로를 깨끗하게 유지하면 역전파 때 기울기가 그대로 흘러 신호 전달과 안정성이 좋아지기 때문이다. 처음의 동기는 학습 초반 워밍업을 없애보려는 시도였지만, 실제로 남은 이유는 깊은 모델에서의 안정성이었다. 기울기가 튀는 빈도와 크기가 줄어든다는 실험 결과가 이 선택을 굳혔다.

정규화 방식 자체도 바뀌었다. 평균을 빼고 편향을 더하는 레이어 정규화 대신, 크기만 조정하는 RMS 정규화가 표준이 됐다. 표현력만 보면 레이어 정규화가 더 넓지만 실제 성능 차이는 없고 속도는 빠르다. 강의는 이 대목에서 연산량과 실행 시간이 다르다는 점을 강조한다. 정규화가 차지하는 부동소수점 연산은 0.17% 수준인데도 설정에 따라 실행 시간의 25%까지 잡아먹을 수 있는데, 계산이 아니라 메모리 이동이 병목이기 때문이다. 같은 이유로 선형 층의 편향 항도 대부분 그냥 없앤다.

활성화 함수에서는 게이트 구조가 승자였다. ReLU나 GELU로도 충분히 쓸 만한 모델을 만들 수 있고 실제로 그렇게 학습된 모델도 있지만, 요즘 신뢰할 만한 모델은 거의 예외 없이 게이트가 붙은 형태를 쓴다. 게이트를 넣으면 행렬이 하나 늘어나므로 파라미터 수를 맞추려면 피드포워드 차원을 3분의 2로 줄이는 보정이 관행이다. 파라미터를 맞춘 비교에서도 게이트 버전이 꾸준히 조금씩 앞섰다는 것이 채택 근거다. 반면 어텐션과 피드포워드를 나란히 계산하는 병렬 블록처럼, 재미있는 발상이지만 널리 자리 잡지 못한 시도도 있다.

하이퍼파라미터 부분의 결론은 '생각보다 관대하다'는 것이다. 피드포워드 차원은 은닉 차원의 네 배가 기본값이고, 게이트 구조에서는 보정을 거쳐 2.5~3.5배 사이에 몰린다. 헤드 개수와 헤드 차원의 곱은 대체로 은닉 차원과 같게 맞춘다. 은닉 차원을 층 수로 나눈 값은 100 언저리에 모여 있는데, 여기에는 깊은 모델이 병렬화하기 까다롭다는 시스템 쪽 사정이 크게 작용한다. 어휘 크기만은 뚜렷이 갈려서, 영어 위주 모델이 3만 단위인 반면 다국어·상용 모델은 10만에서 20만 규모를 쓴다.

주요 인사이트

  • 설계 결정의 근거가 표현력에서 하드웨어 효율로 옮겨갔다. 편향 항을 없애고 RMS 정규화를 쓰는 이유는 성능이 좋아져서가 아니라 메모리 이동을 줄여 GPU를 놀리지 않기 위해서다.
  • 연산량과 실행 시간을 같은 것으로 보면 최적화 지점을 놓친다. 전체 연산의 0.2%도 안 되는 정규화가 실행 시간의 상당 부분을 차지할 수 있다는 사실이 그 단적인 예다.
  • 하이퍼파라미터에는 넓은 안전 구간이 있다. 피드포워드 비율은 대략 1에서 10 사이가 평탄한 구간이라 그 안에서는 어떤 값을 골라도 손해가 거의 없고, 크게 벗어날 때만 급격히 나빠진다.
  • 극단적인 선택도 작동은 한다. 피드포워드 비율을 64배로 잡은 모델도 멀쩡히 학습됐지만, 개선판에서는 결국 표준 비율로 돌아왔다는 점이 시사적이다.
  • 모델 형태는 표현력보다 병렬화 방식에 끌려간다. 층을 나누는 파이프라인 병렬은 다루기 까다롭고 너비를 나누는 방식은 수월하기 때문에, 깊이보다 너비를 키우는 쪽으로 균형이 잡혔다.

자주 묻는 질문

정규화 층을 잔차 경로 밖에 두면 무엇이 좋아지나요?

입력이 최종 출력까지 곧장 이어지는 경로가 유지되어, 역전파에서 기울기가 중간에 변형되지 않고 그대로 전달됩니다. 그 결과 깊은 모델에서도 신호 전달이 안정적이고 기울기가 튀는 현상이 줄어듭니다.

RMS 정규화가 레이어 정규화보다 나은 이유는 무엇인가요?

표현력 자체는 레이어 정규화가 더 넓지만 실제 학습 품질에서는 차이가 거의 없습니다. 대신 평균을 빼고 편향을 더하는 연산을 없애 메모리 이동이 줄어들기 때문에 같은 성능을 더 빠르게 얻을 수 있습니다.

게이트 활성화를 쓸 때 차원을 줄이는 이유는 무엇인가요?

게이트를 넣으면 가중치 행렬이 두 개에서 세 개로 늘어나 파라미터가 그만큼 많아집니다. 전체 파라미터 수를 원래 구조와 같게 맞춰 공정하게 비교하려고 피드포워드 차원을 3분의 2로 줄이는 보정을 관행적으로 적용합니다.

어휘 크기는 왜 모델마다 크게 다른가요?

영어만 다루던 초기 공개 모델들은 3만 단위의 작은 어휘를 썼지만, 다국어와 상용 서비스를 겨냥한 모델들은 훨씬 넓은 언어 범위를 담아야 해서 10만에서 20만 규모를 사용합니다. 모델이 커질수록 더 큰 어휘를 감당할 수 있다는 연구 결과도 이 흐름에 영향을 주었습니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식