Meta/attention-mechanisms

2 개의 포스트

meta5분 읽기큐레이션 요약

사용자 시퀀스에서 스케일링 법칙까지: Meta 광고 순위를 위한 다단계 아키텍처

Meta는 사용자 행동의 순서와 시간 정보를 활용하는 시퀀스 학습을 광고 추천 시스템에 확장하기 위해 두 가지 구조적 혁신을 제시한다. 첫째, 오프라인 사용자 모델과 온라인 랭킹 모델을 분리해 긴 사용자 이력을 효율적으로 처리하고, 둘째, dense tokenization과 target-aware attention으로 광고와 사용자 행동 간 상호작용을 모델이 직접 학습하도록 했다. 이 플랫폼은 Instagram 전환율 6%, Facebook 전환율 3%, Facebook 광고 클릭률 3.5%의 누적 향상에 기여했으며, Meta의 GEM(Generative Ads Recommendation Model)의 핵심 요소로 활용되고 있다. ## 기존 시퀀스 모델의 한계 - 광고 추천 시스템은 밀리초 단위로 수천 개의 광고를 검색·순위화해야 하며, 초당 수백만 개의 후보를 처리해야 한다. - 기존 방식은 보통 다음과 같은 하이브리드 구조를 사용했다. - 한 모델은 사용자 행동 시퀀스를 처리한다. - 다른 모델은 희소 피처 간 상호작용을 처리한다. - 이 구조는 운영 효율성은 높지만 다음과 같은 문제가 있다. - 두 모델 사이의 지식 전달이 손실될 수 있다. - 희소 피처를 조합하기 위한 수작업 피처 엔지니어링이 계속 필요하다. - 시퀀스 모델과 랭킹 모델의 규모를 동시에 키울 때 서로 간섭해 확장성이 제한된다. - 시퀀스 길이와 Transformer 규모를 키울수록 모델 복잡도와 실시간 추론 비용 사이의 균형을 맞추기 어려워진다. ## 오프라인 사용자 모델과 온라인 랭킹 모델의 분리 - 다단계 시퀀스 모델은 무거운 사용자 모델링과 실시간 광고 순위화를 두 단계로 분리한다. - 오프라인 사용자 모델 - 사용자의 긴 행동 이력을 비동기적으로 처리한다. - 수천 개 수준의 시퀀스 길이와 여러 Transformer 레이어를 사용할 수 있다. - 사용자 행동에서 장기적인 관심사와 패턴을 추출해 사용자 임베딩을 생성한다. - 계산 결과는 사용자 단위로 미리 계산하고 캐시한다. - 광고 후보나 특정 문맥 정보와 분리해, 특정 광고에 종속되지 않는 사용자 표현을 만든다. - 온라인 랭킹 모델 - 캐시된 사용자 임베딩에 최신 사용자 신호와 광고 후보 정보를 결합한다. - 실시간 요청에서 최종 광고 순위를 계산한다. - 엄격한 지연 시간 예산을 만족하도록 가볍고 빠르게 설계된다. - 이 분리를 통해 오프라인 모델의 용량과 복잡도는 크게 늘리면서도 온라인 서빙 비용과 지연 시간의 급증을 피할 수 있다. ## Dense Tokenization으로 희소 피처 통합 - 기존 추천 시스템은 희소 ID 피처 간 상호작용을 표현하기 위해 사람이 직접 조합 피처를 설계하는 경우가 많았다. - Dense tokenization은 희소 피처와 순차적 행동 데이터를 하나의 조밀한 토큰 어휘로 통합한다. - 통합된 토큰 표현을 사용하면 attention 메커니즘이 데이터에서 직접 피처 간 관계를 발견할 수 있다. - 결과적으로 다음과 같은 장점이 있다. - 수작업으로 정의한 교차 피처에 대한 의존도가 낮아진다. - 사용자 행동, 광고 속성, 문맥 정보 사이의 복잡한 관계를 통합적으로 학습할 수 있다. - 시퀀스 모델이 전통적인 희소 피처 모델의 역할까지 흡수할 수 있다. ## Target-Aware Multi-Head Attention - 사용자 행동 시퀀스와 광고 후보 정보를 함께 토큰화한 뒤, 광고별로 사용자 과거 행동의 중요도를 다르게 계산한다. - 각 attention 레이어는 현재 평가 중인 광고를 기준으로 사용자의 과거 행동을 참조한다. - 여러 개의 정렬된 attention 블록을 쌓아 다음을 수행한다. - 광고와 과거 행동 사이의 1차 상호작용을 학습한다. - 이후 레이어에서 더 높은 차원의 상호작용을 포착한다. - 긴 사용자 시퀀스를 광고별로 중요한 정보만 포함한 압축 표현으로 점진적으로 변환한다. - 이 방식은 모든 광고에 동일한 사용자 표현을 사용하는 대신, 각 광고 후보에 맞는 사용자 관심사 표현을 생성한다. ## 예측 가능한 LLM 스타일 확장 법칙 - 실제 광고 트래픽에서 모델 성능은 계산량(FLOPs)이 증가할수록 로그-선형적으로 향상되는 경향을 보였다. - 이는 대규모 언어 모델에서 관찰된 scaling law와 유사하다. - 성능은 다음 요소를 확장할 때 측정됐다. - Transformer 깊이 - 모델 폭 - 사용자 시퀀스 길이 - 콘텐츠·의미 정보의 풍부함 - 기존 Transformer 기반 시퀀스 모델보다 계산량 증가에 따른 확장 효율도 개선됐다. - 광고 추천은 텍스트처럼 조밀한 데이터만 처리하지 않고 희소 ID 피처와 시간 순서 정보를 함께 다루지만, 그럼에도 예측 가능한 확장 법칙이 나타났다는 점이 아키텍처의 적합성을 뒷받침한다. ## 성능 확장을 위한 네 가지 조절 요소 ### 균형 잡힌 모델 구조 - 깊이, 폭, 시퀀스 길이를 균형 있게 확장해야 한다. - 한 축만 키우면 다른 축이 병목이 되어 성능 향상이 둔화될 수 있다. - 이는 모델 확장에서 각 구성 요소 간의 시너지가 필요하다는 “scaling synergy principle”로 설명된다. ### 다단계 모델의 독립적 조정 - 오프라인 사용자 모델과 온라인 랭킹 모델을 서로 독립적으로 확장할 수 있다. - 온라인 모델 확장은 단위 계산량당 더 큰 성능 향상을 가져올 수 있지만, 요청 처리 시간과 서빙 지연 시간에 제한된다. - 오프라인 모델은 비동기 추론이 가능하므로 지연 시간 제약 없이 모델 규모를 점진적으로 키울 수 있다. ### 시퀀스 구성의 다양성 - 더 긴 사용자 행동 시퀀스를 사용할수록 성능이 향상된다. - 단순히 유사한 유형의 행동을 많이 넣는 것보다 다양한 행동 유형을 균형 있게 포함하는 것이 더 효과적이다. - 즉, 시퀀스의 길이뿐 아니라 행동 데이터의 다양성이 사용자 의도와 관심사를 표현하는 데 중요하다. ### 모델·데이터 확장의 결합 - 광고 추천에서는 모델 크기만 키우는 것으로 충분하지 않다. - 희소 피처, 의미 정보, 사용자 행동의 시간적 범위와 다양성을 함께 확장해야 한다. - 다단계 구조는 각 확장 요소가 온라인 비용과 오프라인 비용에 미치는 영향을 분리해 조정할 수 있게 한다. ## 실용적인 결론 대규모 추천 시스템에서는 모든 계산을 실시간으로 수행하기보다, 긴 사용자 이력은 오프라인에서 깊게 모델링하고 실시간 단계에서는 캐시된 표현과 최신 광고 신호를 결합하는 구조가 효과적이다. 또한 수작업 피처 조합을 계속 늘리기보다 dense tokenization과 target-aware attention을 통해 모델이 광고별 사용자 행동 상호작용을 직접 학습하도록 설계하는 것이 확장성과 성능 향상에 유리하다.

원문 읽기(새 탭에서 열림)
meta5분 읽기큐레이션 요약

GEM 트레이닝: Meta가 LLM 규모의 광고 파운데이션 모델 효율성을 두 배로 높인 방법

Meta의 GEM은 Instagram과 Facebook 광고 추천을 담당하는 기반 모델로, 최신 GPU 수천 장을 활용해 LLM 규모로 학습된다. Meta는 추천 시스템에 특화된 커널·초저정밀도·병렬화·네트워크·메모리를 함께 설계해 12개월 동안 학습 FLOPs를 4배 늘리면서 E2E 학습 효율을 20~25% MFU까지, 기존 대비 2배 향상했다. 핵심 결론은 LLM용 인프라를 그대로 적용하는 것만으로는 부족하며, 추천 모델의 데이터와 구조에 맞춘 하드웨어·소프트웨어 공동 설계가 필요하다는 것이다. ## GEM의 하이브리드 구조와 추천 데이터의 특성 - GEM은 Meta 광고 시스템의 중앙 추천 파운데이션 모델이다. - 수조 개의 희소 임베딩 파라미터와 수십억 개의 밀집 파라미터를 함께 사용한다. - 입력 데이터는 크게 두 종류다. - **시퀀스 특징**: 사용자의 활동 이력처럼 순서가 있는 데이터 - **비시퀀스 특징**: 사용자 위치, 광고 크리에이티브 표현 등 - 각 특징 그룹에는 별도의 어텐션 메커니즘을 적용하면서도, 서로 다른 특징 간 상호작용을 학습한다. - 이처럼 LLM과 추천 시스템의 구조가 결합되어 있어 일반적인 LLM 학습보다 GPU 활용과 분산 확장이 어렵다. ## 추천 모델에서 높은 GPU 활용률이 어려운 이유 - **가변적인 시퀀스 길이** - 사용자 활동 이력의 길이가 샘플마다 크게 다르다. - 모든 입력을 최대 길이에 맞춰 패딩하면 최대 50%의 연산이 낭비될 수 있다. - **비대칭적인 어텐션 형태** - 긴 활동 이력에 대해 긴 시퀀스와 짧은 어텐션 윈도우를 사용하는 self-attention - 긴 쿼리와 짧은 key/value를 사용하는 사용자-광고 cross-attention - 사용자 이력을 압축해 짧은 쿼리와 긴 key/value를 만드는 PMA - 이런 다양한 행렬 형태는 GPU 내부 파이프라이닝과 연산 유닛 포화를 어렵게 만든다. - **메모리 대역폭 중심 연산** - 작은 임베딩 차원의 MLP와 여러 정규화 연산은 계산량보다 메모리 접근의 영향을 크게 받는다. - 따라서 Tensor Core 등 GPU 연산 자원이 충분히 활용되지 않을 수 있다. - **정밀도 변화에 대한 민감성** - CTR·CVR 예측은 수치 변화에 민감하다. - 단순히 낮은 정밀도를 적용하면 모델 품질이 저하될 수 있어, 연산별로 정밀도를 신중하게 선택해야 한다. ## 수천 개 GPU로 확장할 때의 병목 - GEM의 학습 단계 지연 시간은 다음과 같이 결정된다. `E2E 지연 시간 = 각 GPU rank에서의 max(로컬 연산 시간, 통신 시간)` - 선형에 가까운 확장을 위해서는 다음 조건이 필요하다. - 전체 연산 시간이 통신 시간보다 충분히 커야 한다. - 통신을 연산 뒤에 숨기되 두 작업이 자원을 놓고 경쟁하지 않아야 한다. - 메모리 부족으로 인한 activation recomputation을 최소화해야 한다. - GPU rank 간 부하가 균등해야 한다. - GEM에서는 다음 문제가 이를 방해한다. - 수조 개 희소 파라미터와 수십억 개 밀집 파라미터가 큰 통신량을 만든다. - 레이어별 구조가 달라 연산과 통신을 겹칠 수 있는 시간이 일정하지 않다. - 긴 시퀀스와 큰 activation 때문에 메모리가 부족해 재계산이 발생한다. - 가변 시퀀스 길이로 인해 GPU마다 처리량이 달라지는 부하 불균형과 straggler가 생긴다. ## E2E MFU를 연산 효율과 확장 효율로 분해 - 전체 학습 효율은 다음 두 요소의 곱으로 정의한다. `E2E MFU = Local MFU × Scaling Ratio` - **Local MFU** - 단일 GPU의 연산 유닛을 얼마나 잘 활용하는지를 나타낸다. - 커널 설계, 수치 정밀도, 시퀀스 길이와 데이터 차원이 GPU 구조에 얼마나 잘 맞는지에 좌우된다. - **Scaling Ratio** - 단일 GPU 성능이 수천 개 GPU로 확장된 뒤 얼마나 유지되는지를 의미한다. - 1.0이면 완전한 선형 확장이지만, 실제로는 통신 오버헤드·부하 불균형·straggler·activation 재계산 때문에 낮아진다. - Meta는 레이어를 단일 GPU에서 개별 실행해 Local MFU를 측정하고, 통신과 activation 재계산의 영향을 제외한 기준 성능을 산출했다. - 이후 Local MFU와 E2E MFU의 비율을 통해 Scaling Ratio를 계산해 연산 병목과 분산 시스템 병목을 분리했다. ## GPU 연산 효율을 높인 맞춤형 커널과 정밀도 - 추천 모델의 비정형적인 입력과 어텐션 패턴에 맞춰 자체 추천용 커널 라이브러리를 개발했다. - 주요 커널은 다음과 같다. - **Jagged Flash Attention(JFA)**: 가변 길이 시퀀스를 패딩 낭비 없이 처리 - **Generalized Dot-Product Attention(GDPA)**: 추천 모델의 다양한 어텐션 형태에 대응 - **BlockAttention**: 블록 단위 연산으로 메모리 접근과 GPU 활용을 최적화 - 최신 GPU 아키텍처를 직접 활용하도록 커널을 설계해 추천 워크로드의 낮은 활용률을 개선했다. - 어텐션과 MLP에는 **MXFP8**을 포함한 혼합 초저정밀도 학습을 적용했다. - 모든 연산을 무조건 낮은 정밀도로 처리하지 않고, 광고 예측 품질에 민감한 특성을 고려해 연산별로 정밀도와 안정성을 조정했다. ## 네트워크와 결합한 5차원 병렬화 - 대규모 학습에서는 병렬화 방식 자체뿐 아니라 GPU와 네트워크 토폴로지의 매핑이 중요하다. - GEM은 네트워크 계층 구조를 고려한 **토폴로지 인지형 5D 병렬화**를 적용했다. - 밀집 파라미터에는 다음 조합을 사용했다. - 2D FSDP - Expert Parallelism - 희소 파라미터에는 **Fully Sharded 2D Model Parallelism**을 적용했다. - 통신 집단 연산은 GPU의 Streaming Multiprocessor(SM)를 점유하지 않는 방식으로 설계했다. - 통신이 연산 자원을 직접 빼앗지 않도록 해 연산과 통신의 충돌을 줄인다. - Meta의 다계층 네트워크 구조와 병렬화 전략을 함께 설계해 통신량과 통신 노출 시간을 줄였다. ## 성과와 설계 원칙 - 12개월 동안 총 학습 FLOPs를 4배로 확대했다. - 동시에 E2E 학습 효율을 2배 높여 20~25% MFU를 달성했다. - 성능 개선은 단일 기법이 아니라 다음 요소들의 결합으로 이루어졌다. - 추천 특화 커널 - 혼합 초저정밀도 - 희소·밀집 파라미터별 병렬화 - 네트워크 토폴로지 최적화 - SM 비점유 통신 - 메모리와 부하 균형 관리 추천 모델을 LLM 규모로 확장하려면 LLM 인프라를 그대로 복사하기보다, 가변 길이·희소 임베딩·비대칭 어텐션·정밀도 민감성 같은 도메인 특성을 먼저 분석해야 한다. 특히 단일 GPU의 커널 효율과 수천 GPU의 통신·메모리 효율을 별도의 문제로 측정하고 동시에 최적화하는 접근이 효과적이다.

원문 읽기(새 탭에서 열림)