Hacker News

Dust: Pretraining Transformers Without Backpropagation

Dust: 역전파 없이 트랜스포머 사전학습하기

Dust는 가중치 대신 토큰별 활성값에 잡음을 넣고 손실 변화를 보상으로 삼아 기울기를 추정하는 제로차 최적화 방법입니다. 작은 규모 실험에서 역전파와 비슷한 성능을 보였고, 큰 모델이 더 적은 모집단 표본으로도 잘 학습되는 결과를 얻었습니다. 다만 현재는 역전파보다 계산 비용이 훨씬 큽니다.

AI 요약

Dust는 역전파(backpropagation) 없이 트랜스포머 언어 모델을 사전학습하는 제로차 최적화(zeroth-order optimization) 알고리즘입니다. 가중치를 직접 흔드는 진화전략(Evolution Strategies, ES)과 달리 선형층 출력 활성값에 토큰마다 독립적인 가우시안 잡음을 더합니다. 각 토큰의 손실이 얼마나 줄었는지 측정해 해당 잡음에 보상으로 주고, 보상과 잡음의 곱을 평균 내 출력 오차를 추정합니다. 이 추정값과 층 입력의 외적을 구하면 가중치 갱신량이 됩니다.

토큰을 가상 모집단으로 활용합니다

ES는 모집단 구성원마다 가중치 변형을 만들고 별도의 순전파를 수행해야 합니다. Dust는 활성값을 토큰 단위로 교란해 순전파 한 번 안에서 여러 표본을 함께 평가합니다. 저자들은 이를 ‘가상 모집단(virtual population)’이라고 부릅니다. 한 시퀀스에 토큰이 수천 개 있으므로, 한 번의 순전파에서 수천 개의 표본을 얻는 방식입니다. 어텐션 내부 구성요소는 토큰 손실만으로 보상하기 어려워 어텐션 출력의 추정 오차를 이용해 평가합니다.

여러 층을 한꺼번에 교란하면 각 잡음의 효과가 다른 교란과 섞이는 간섭(interference)이 생깁니다. Dust는 층 종류별로 순전파를 나누고, 깨끗한 순전파 결과를 캐시해 필요한 블록만 다시 계산합니다. 어텐션 내부 요소도 따로 교란하며, 언어 모델링 헤드에서는 로짓과 어휘 일부만 다시 평가해 계산량을 줄입니다. 잡음 크기와 미래 토큰 보상 비율 같은 설정은 작은 데이터 학습이나 역전파 기울기와의 코사인 유사도를 기준으로 조정합니다.

실험 결과와 비교

저자들은 FineWeb으로 GPT 형태 모델을 학습했습니다. 기본 모델은 8개 층, 폭 512이며, 토큰 예산은 10만에서 2천만, Dust 모집단은 업데이트당 64에서 1만 6천 회까지 바꿨습니다. 각 조건은 세 개 시드로 실험했고 역전파와 ES 기준선인 EGGROLL도 별도로 조정했습니다.

10만 토큰과 100만 토큰 실험에서는 일정 규모 이상의 모집단을 쓴 Dust가 역전파보다 낮은 손실을 기록했습니다. 1천만 토큰에서는 모집단을 키울수록 역전파와의 차이가 줄었지만, 저자들이 적합한 한계값은 역전파보다 약간 높았습니다. 2천만 토큰에서는 1만 6천 표본까지 손실이 계속 낮아졌습니다. 멱법칙 적합값은 Dust 4.431, 역전파 4.633이었지만, 실험 곡선이 아직 내려가는 중이라 한계값 추정의 불확실성이 크다고 논문은 설명합니다.

가중치 공간 ES인 EGGROLL과 비교하면 Dust가 적은 표본으로 더 낮은 손실을 냈습니다. 저자들의 외삽에 따르면 EGGROLL은 Dust의 가장 작은 모집단 성능에 도달하려면 수천 배에서 약 1만 배 규모의 모집단이 필요합니다. 이는 역전파보다 Dust가 계산 효율적이라는 뜻은 아닙니다. 논문은 현재 Dust가 역전파를 실용적으로 대체하려면 계산 효율을 몇 자릿수 더 개선해야 한다고 명시합니다.

모델 크기와 기울기 정렬

10M 토큰 실험에서 2M, 7.3M, 38M, 243M 매개변수 모델을 비교했습니다. 256 표본 이상에서는 대체로 모델이 커질수록 손실이 낮아졌고, 243M 모델은 가장 작은 2M 모델보다 모집단 대부분에서 나은 결과를 냈습니다. 작은 모델은 모집단을 늘려도 일찍 정체되는 반면, 큰 모델은 큰 모집단에서 계속 개선됐습니다. 저자들은 큰 모델이 표본 분산의 불이익을 감수하고도 더 큰 탐색 공간을 활용할 수 있다고 해석합니다.

또한 역전파로 학습한 체크포인트에서 Dust 추정 기울기와 역전파 기울기의 코사인 유사도를 비교했습니다. 모집단이 커질수록 유사도는 모든 층 종류에서 상승했고, 10M부터 1B 토큰까지 살펴본 범위에서도 큰 모집단의 정렬 수준이 대체로 유지됐습니다. 저자들은 Dust가 역전파 기울기를 그대로 재현하지 않는 점도 다른 최적화 경로를 만들 수 있다고 봅니다. 다만 논문은 이 경로가 더 나은 결과를 내는 원인을 설명하지 못하며, 외부 프로그램을 포함한 구조나 반복형 트랜스포머 학습은 후속 연구로 남겼습니다.

Hacker News 반응

  • @api — 역전파보다 계산 효율은 낮지만 병렬화하기는 더 쉽다는 뜻인가요?
    • @vatsachak — 꼭 그렇지는 않습니다. 역전파도 행렬 곱셈의 연속이라 병렬화가 잘됩니다. Dust 같은 방법은 역전파의 역방향 계산을 생략합니다. 하지만 Neural Predictive Coding 같은 기법은 완전히 비동기적으로 동작할 수 있고, 각 가중치가 멀리 떨어진 가중치와 독립적으로 발화할 수 있습니다. Innocenti 등의 연구는 특정 조건에서 NPC 기울기가 역전파에 수렴함을 보였습니다. NPC 같은 비동기 기법의 이점은 극단적인 조율이 필요 없다는 점이라, 적절한 장치가 있다면 계산이 훨씬 쉬워질 수 있습니다. 다만 업계가 순전파와 역전파 체계에 막대한 투자를 해왔으니, NPC 하드웨어가 가능하고 수십억 매개변수 규모까지 확장됨을 입증하지 못하면 역전파의 후계자가 이기기 어렵다고 봅니다.
    • @SerdarGl — 아주 큰 규모에서는 0차 방법이 역전파보다 병렬화하기 쉽고, 특히 깊이 방향에서 그렇습니다. 파이프라인 거품 없이 아주 깊은 모델을 학습할 수 있습니다.
  • @polyomino — 역전파로 학습한 체크포인트를 미세조정하는 혼합 방식은 어떨까요? 추가 성능을 얻을 수 있을지 궁금합니다. 학습 단계별로 적용해 학습 경로가 달라지는지도 보고 싶습니다.
  • @eriwang915 — Dust의 243M 모델이 모집단 대부분에서 120배 작은 모델보다 나았다는 점이 놀랍습니다. 큰 네트워크가 표본을 더 효율적으로 활용했습니다.
  • @oofbey — 정확한 기울기 대신 교란된 가중치로 순전파를 수천 번 돌려 몬테카를로 기울기 추정치를 얻는다는 얘기입니다. 그다지 영리하지도, 쓸모도 없어 보입니다. 업계에는 같은 계산을 훨씬 느리게 하는 기법을 흥미롭게 여기는 사람이 많은 것 같습니다.
  • @blt — 몇 년마다 미분 없는 신경망 최적화 알고리즘이 주목을 받습니다. 그런 기법이 실제 영향을 미칠 일은 없다고 봅니다. 미분 없는 최적화는 실제로 불연속인 목적함수에는 쓸모가 있지만, 일반적인 신경망 목적함수는 매끄럽거나 Lipschitz 연속입니다. 기울기는 어디로 가야 할지 알려주지만, 무작위 방향을 시험하는 방법은 개선 방향을 바라게 할 뿐입니다. 매개변수가 많을수록 기울기의 가치가 커집니다. 제 생각에는 Muon처럼 신경망 구조에 맞춘 기울기 기반 최적화가 더 유망합니다.
    • @syntacticsalt — 목적함수가 비매끄럽거나 불연속이어도 0차 방법보다 기울기 정보를 쓰는 방법부터 검토하겠습니다. 비매끄러운 목적함수에는 Clarke 일반화 부분미분이 머신러닝 밖에서 효과를 보였고, 자동미분에도 적어도 10~15년 전부터 쓰였습니다. 불연속 목적함수에는 포락선 근사 같은 연구가 있지만, 제가 아는 범위에서는 불연속 구조를 명시적으로 아는 저차원 문제였습니다. 연속성이 없는 문제에서도 접원뿔이나 다른 일반화 부분미분 개념으로 방향 정보를 얻어 활용하는 방법이 있습니다.
  • @wg0 — 계산 비용이 크고 실용적이지 않다는 점은 알겠습니다. 그렇다면 이 방법의 장점은 무엇인가요? 잘 몰라서 묻습니다.
    • @alpu — 광학 하드웨어에서는 쓸모가 있을 수 있다고 생각합니다.
  • @syntacticsalt — 0차 방법이 Bitter Lesson 논리와 잘 맞는지는 회의적입니다. 1차 방법도 손실 지형을 완벽하게 탐색하지는 못하지만, 손실 함수는 대체로 비볼록이며 0차 방법은 그 문제를 직접 해결하지 않습니다. Dust는 평활화하고, 적용 가능한 1차 방법도 그렇습니다. 비볼록성 문제가 사라지면 Dust의 이점도 사라질 것 같습니다. 이전 0차 방법보다 확장성이 나아졌다는 점은 흥미롭지만, 시뮬레이터처럼 기울기 정보를 제공하지 않는 네트워크가 필요한 경우가 아니라면 개선된 1차 방법을 이길 근거로는 부족해 보입니다.
    • @Den_VR — 역전파의 실용적인 대안이 되려면 계산 효율이 몇 자릿수는 더 좋아져야 합니다. 그래도 혼합 방식으로 활성값 공간 탐색이 역전파에 유용한 학습 목표를 제공할 수 있을까요? 0차 탐색으로 후보를 찾고 1차 학습으로 굳히는 방식입니다. 희소한 판단을 재사용 가능한 학습 목표로 바꾸는 단계가 가치 있을 수 있습니다. 그러면 볼록성의 중요성도 달라집니다.
  • @soltanov — 같은 손실에 도달했을 때 벽시계 시간, 에너지, 최대 메모리, 후속 작업 성능을 비교해 보고 싶습니다. 효율 격차가 줄어들기 전까지는 흥미로운 연구 방향입니다.
  • @nbutton762 — 현재 학습과 지속 학습이 서로 맞지 않는 이유 중 하나는 모델 학습에 필요한 메모리가 실행만 할 때보다 보통 2~3배 더 든다는 점입니다. PEFT에서는 덜할 수도 있겠지만 확실하지 않습니다. Dust는 순전파 한 번 동안 층 입력 활성값 외에는 중간 상태를 많이 저장하지 않아 이 점에서 이점이 있습니다. 다만 치명적 망각 같은 다른 문제는 해결하지 않습니다. 여전히 새 학습 단계의 가치를 현재 지식에 따라 고르는 장치가 없는 트랜스포머를 사용하며, 새 갱신을 무시할 전용 기능 영역도 없습니다.

원문: QLabs Research / 번역·요약: Trawling