소식

DeepMind의 연구 비용은 ICML 논문 한 편당 1,290만 달러에 달할 정도로 높습니다.

2024-08-03

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


새로운 지혜 보고서

편집자: 양차오

[새로운 지혜 소개] 최근 ICML 2024에서 DeepMind가 채택한 논문은 Google이 지원하는 "폭정"을 완전히 폭로했습니다. 한 기사에서는 이번 연구에 필요한 컴퓨팅 파워와 비용이 라마 3 사전 훈련의 약 15% 수준이며, 비용은 미화 1,290만 달러에 달할 수 있다고 추정하고 있습니다.

컨퍼런스 논문을 출판하려면 얼마나 많은 실험 예산이 필요합니까?

최근 DeepMind는 LLM이 확장될 때 매개변수 및 최적화 도구 선택과 같은 다양한 알고리즘 및 아키텍처 세부 사항에 대한 광범위한 경험적 조사를 수행한 연구를 발표했습니다.

이 논문은 ICML 2024에 승인되었습니다.


논문 주소: https://arxiv.org/abs/2407.05872

63페이지 분량의 문서에는 수만 개의 모델이 포함되어 있으며 대안에는 3개의 최적화 프로그램, 4개의 매개변수화 방식, 여러 가지 정렬 가정, 12개 이상의 학습률, 최대 26.8B의 14개 매개변수 크기가 포함됩니다.


실험이 필요한 4가지 매개변수화 체계

이 숫자만 들어도 이 연구가 수많은 모델 실행 실험을 포함해야 한다는 것을 아는 것은 어렵지 않습니다.

충실한 독자는 논문 내용에 대한 자신의 이해를 테스트하기 위해 논문에서 수행된 모든 실험을 세고 논문 복제 비용을 추정했습니다.


필요한 모든 컴퓨팅 성능을 합산하면 실제로 미화 1,290만 달러라는 놀라운 금액에 도달했습니다.

기본 능력을 테스트할 때가 왔습니다. 연구팀의 리더라면 실험 계획을 바탕으로 필요한 컴퓨팅 성능과 비용을 추정하는 것이 필수입니다.

그렇다면 이 블로그 기사를 따라 1,000만 달러가 넘는 금액이 정확히 어디에서 소각되었는지 알아보세요.

변압기 아키텍처 정보

논문의 부록 C에서는 디코더 전용 아키텍처 사용, 레이어 정규화, GeLU 활성화 기능, 드롭아웃 없음, T5 토크나이저, 배치 크기 256, FSDP 병렬 처리 사용 등 모델 알고리즘 및 아키텍처에 대한 다양한 세부 설정을 제공합니다.


실험 모델의 매개변수 척도 통계

아키텍처 정보를 통해 훈련 중인 각 토큰에 필요한 FLOPS(M으로 표시)를 대략적으로 추정할 수 있습니다.

논문에서는 GQA/MQA 메커니즘을 설명하지 않기 때문에 lseq=512, Dhead=128, L=8(깊이), V=32101(단어 분할기 어휘) 외에 Rkv=1로 가정합니다.

모델의 전체 매개변수는 다음과 같이 표현될 수 있습니다.

따라서 M의 계산식을 얻을 수 있습니다.

기본적으로 실험당 처리되는 토큰 수(TPE)는 5k(훈련 단계 수) × 256(배치 크기) × 512(lseq)이며 이는 약 6.5536e9입니다.

def M(d: int, L=8, l_seq=512, V=32101) -> int:     return 6*d * (L*(12*d + l_seq) + V) TPE = 50000 * 256 * 512

정렬 실험

가설 정렬 실험에서는 별도의 학습률 스캔 대신 후속 학습률 스캔에서 얻은 최적의 결과를 직접 사용했기 때문에 이 단계의 비용 계산은 비교적 간단합니다.


def alignment() -> int:     return 4 * TPE * sum(M(d) for d in [1024,2048,4096]) # >>> f'{alignment():.3E}' # '3.733E+20' # >>> cost_of_run(alignment())[0] # 888.81395400704

H100의 작동 비용이 시간당 3달러라면 정렬 실험 비용은 대략 888달러입니다.

학습률

하위 문제: 최적 평가 손실(eval loss) 실험

논문의 표 E1은 6가지 모델 크기 하에서 옵티마이저 × 매개변수화 방식 × 모델 크기 × 실험 설정의 가능한 모든 조합을 기록하고 각각 기본 학습률 스캔을 수행하여 최상의 평가 손실을 얻습니다.

전체적으로 다음과 같은 실험 변수가 포함됩니다.

- 모델 치수 D∈3072,4096,6144,8192,12288,16384

- 4가지 매개변수화 옵션

- 3개의 최적화 프로그램 중 SGD에는 5개의 실험 설정만 있고 Adam 및 Adam+Param Scaling에는 7개의 실험 설정이 있습니다.

여기의 실험은 모두 독립적으로 수행되고 결과가 다른 곳에서 복제되지 않는다고 가정합니다. 따라서 모두 한 번 실행하면 비용의 상한 추정치가 있습니다.


H = [1,2,4,6,8,12,16,20,24,32,48,64,96,128] D = [h * 128 for h in H] def table_e1() -> int:   sets_x_optims = 5 + 7 + 7   return 4 * sets_x_optims * TPE * sum(M(d) for d in D[-6:]) # >>> f'{table_e1():.3E}';cost_of_run(table_e1()) # '1.634E+23' # (388955.9991064986, 16206.499962770775)

이 부품의 가격은 $400,000에 가까워 아직은 수용 가능한 범위 내에 있지만, 대부분의 학술 예산에 비해 이미 매우 비싼 금액입니다.

표 E1은 최고의 평가 손실을 제공하지만 LR의 스캐닝 전략을 설명하지 않으며 각 사진의 포인트 수도 다릅니다.


논문 작성자로부터 답변을 받지 못했기 때문에 구체적인 메커니즘을 확인할 수 없으므로 각각의 최고 평가 손실은 15번의 실험을 거쳤다고 가정합니다. 15).

β 매개변수

논문의 섹션 4.2에 따르면 학습률에는 두 개의 하이퍼파라미터인 β와 γ의 선택도 포함됩니다.

β 매개변수만 있는 경우 이를 "LR+기본" 설정이라고 합니다.


이 부분에는 3× 최적화 프로그램, 4× 매개변수화, 전역 및 단일 레이어(GlobalLR, Perlayer-fullalign)에 대한 별도의 실험 및 알 수 없는 수의 LR 스캔이 포함됩니다.


def beta_only() -> int:   return 3*4*2*PpL * TPE * sum(M(d) for d in D) # 7.988E+23 (1902022.3291813303, 79250.93038255542)

공식에서 알 수 있듯이 비용은 아래의 엡실론 실험과 유사하며 둘 다 200만 달러입니다.

γ 매개변수

β 모수 실험과 비교하면 이 부분에서는 두 가지 세부적인 차이점이 있다.

우선 GlobalLR 및 Perlayer-fullalign 설정 외에도 Perlayer-noalign 설정도 추가해야 합니다.


둘째, 3차원 하이퍼파라미터 검색(γ_1, γ_h, γ_L+1)은 d=1024=b에 대해서만 수행되므로 추가로 800번의 실행이 발생합니다.


두 가지를 결합한 후의 계산 공식은 다음과 같습니다.


이 부품의 예상 비용은 Adam의 엡실론 히트맵 실험에 가까운 약 320만 달러입니다.

def gamma_expts() -> int:   return 36*TPE * (800*M(1024) + PpL*sum(M(d) for d in D)) # gamma_expts 1.354E+24 (3224397.534237257, 134349.8972598857)

Adam 최적화 프로그램의 Epsilon 매개변수

논문의 섹션 4.3에 설명된 Epsilon 매개변수 실험은 계산의 대부분을 설명합니다.


위의 추론에 따르면, 최적의 평가 손실을 찾기 위해 매번 15개의 서로 다른 학습률(라인당 포인트)을 시도하며, 그림 6에 표시된 엡실론 매개변수 변화 그래프의 계산량은 다음과 같습니다.


계산 결과 200만 달러라는 아주 비싼 청구서가 나왔습니다.

PpL = 15  # unprincipled estimate def eps_variants() -> int:   return 4 * 6 * PpL * TPE * sum(M(d) for d in D) ''' >>> f'{eps_variants():.3E}';cost_of_run(eps_variants()) '7.988E+23' (1902022.3291813303, 79250.93038255542) '''

그림 6의 왼쪽 라인 차트 외에 부록 F에는 히트맵 결과도 나와 있습니다.


각 블록 값을 13번의 학습률 스캔 결과라고 가정하면 이 부분의 계산량은 다음과 같습니다.


이 8개의 히트맵을 얻는 데 드는 비용은 320만 달러인 것으로 나타났습니다. 또한 LR 스캔 횟수를 상수 13으로 모델링하므로 이 숫자는 실제 비용보다 낮을 수 있습니다.

def eps_heatmaps() -> int:    # eps-type * eps-val * parameterizations * LR range * ...   return 2 * 6 * 4 * 13 * TPE * sum(M(d) for d in D[-6:]) ''' >>> f'{eps_heatmaps():.3E}';cost_of_run(eps_heatmaps()) '1.341E+24' (3193533.466348094, 133063.89443117057) '''

체중 감소

가중치 감쇠 실험(부록 G)은 4× 매개변수화 방식과 모든 매개변수에 대해 기본 LR 스캔을 수행하는 것이 상대적으로 쉽습니다.


이는 베이지역 엔지니어의 연봉인 엡실론 실험($317,000)보다 훨씬 저렴합니다.

def weight_decay() -> int:   return 4 * PpL * TPE * sum(M(d) for d in D) ''' >>> f'{weight_decay():.3E}'; cost_of_run(weight_decay()) '1.331E+23' (317003.7215302217, 13208.488397092571) '''

아다팩터 옵티마이저

실험의 이 부분은 부록 C3에 자세히 설명되어 있으며 Adafactor와 Adam+파라미터 스케일링이 유사한 너비 스케일링 메커니즘을 가지고 있는지 테스트합니다.


각 최적화 프로그램이 11개의 데이터 포인트를 수집하는 2×4 플롯이 있으므로 계산 공식은 다음과 같습니다.


청구서에 188,000달러가 추가되었습니다.

def adafactor() -> int:   return 2*2*4*PpL*TPE*sum(M(d) for d in D[:11]) ''' >>> f'{adafactor():.3E}'; cost_of_run(adafactor()) '7.918E+22' (188532.80765144504, 7855.533652143543) '''

계산 최적화

논문에서는 최적의 계산 설정을 찾기 위해 주의 헤드 수 H를 변경하려고 시도하지만 단계 크기 및 데이터 세트의 변경이 포함되므로 이 부분에서는 계산 코드를 사용하지 않습니다.

def P(d: int, L=8, V=32101) -> int:     return 2 * d * (6*L*d + V) def compute_optimal():   indices_50k = (14, 14, 12)   return 4*PpL*sum([     TPE * sum(sum( M(d) for d in D[:i] ) for i in indices_50k),         20  * sum(P(d)*M(d) for d in D[:11]) *3,   ]) # compute_optim 7.518E+23 (1790104.1799513847, 74587.67416464102)

요약하다

위 실험의 컴퓨팅 성능과 비용을 요약하면 다음과 같습니다.

alignment       3.733E+20 (888.81395400704, 37.033914750293334) table_e1        1.634E+23 (388955.9991064986, 16206.499962770775) eps_variants    7.988E+23 (1902022.3291813303, 79250.93038255542) eps_heatmaps    1.341E+24 (3193533.466348094, 133063.89443117057) beta_only       7.988E+23 (1902022.3291813303, 79250.93038255542) gamma_expts     1.354E+24 (3224397.534237257, 134349.8972598857) weight_decay    1.331E+23 (317003.7215302217, 13208.488397092571) adafactor       7.918E+22 (188532.80765144504, 7855.533652143543) compute_optim   7.518E+23 (1790104.1799513847, 74587.67416464102)

전체 논문의 계산 복잡도는 5.42e24 FLOPS인 것으로 나타났습니다.

이 숫자는 Llama 3 훈련 계산량의 15%에 불과합니다. 100,000개의 카드 H100 클러스터에서 실행하면 모든 실험을 완료하는 데 2일 밖에 걸리지 않습니다.

total_flops=5.421E+24 rental price: US$12.9M h100 node months required: 746.9595590938408 (sanity check) D=[128, 256, 512, 768, 1024, 1536, 2048, 2560, 3072, 4096, 6144, 8192, 12288, 16384] (sanity check) model sizes: ['0.00979B', '0.0227B', '0.058B', '0.106B', '0.166B', '0.325B', '0.534B', '0.794B', '1.1B', '1.87B', '4.02B', '6.97B', '15.3B', '26.8B'] (sanity check) M/6P: ['63.4%', '68.5%', '75.3%', '79.7%', '82.8%', '86.8%', '89.3%', '91.0%', '92.2%', '93.9%', '95.7%', '96.7%', '97.7%', '98.3%']

그러나 LLM 사전 훈련의 기준으로 측정하지 않고 이 DeepMind 논문을 학문적 연구로만 간주한다면 이 정도의 계산량은 상당히 과해 보일 것입니다.

실험실에 H100이 10개만 있다면 이 정도 규모의 연구를 수행하는 것은 불가능합니다.

100개의 H100을 갖춘 대규모 실험실에서는 몇 년 안에 위의 모든 실험을 완료할 수 있습니다.

참고자료:

https://152334h.github.io/blog/scaling-exComponents/

https://news.ycombinator.com/item?id=41107721

https://arxiv.org/abs/2407.05872