
216
머신러닝 시스템 설계
6.1.4 6.1.4
분산 훈련분산 훈련
모델이 점점 커지고 자원을 대량으로 사용함에 따라 대규모 훈련은 기업들의 관심 대상이 되고
있습니다.
22
확장성에 대한 전문성은 대규모 연산 자원을 다루는 경험이 필요하기에 쉽게 얻을
수 없습니다. 확장성 자체는 책 여러 권으로 다룰 만한 중요한 주제이지만 이 절에서는 대규모
ML
을 수행할 때 발생 가능한 문제점에 집중합니다. 프로젝트를 위한 자원 계획을 수립하는 데
도움이 될 핵심 문제 몇 가지를 살펴봅니다.
모델 훈련에 메모리 크기보다 큰 데이터를 사용하는 일은 드물지 않습니다.
CT
스캔이나 유전
체 염기서열
genome
sequences
같은 의료 데이터를 다룰 때 특히 그렇습니다. 대규모 언어 모델, 예
컨대 오픈
AI
, 구글, 엔비디아, 코히어
Cohere
등을 훈련하는 팀에서 일한다면 텍스트 데이터로
인해 그런 상황이 발생하죠.
데이터가 메모리 크기보다 크다면 데이터 전처리(예:
0
으로 중심값 맞추기, 정규화, 화이트
닝), 셔플링, 데이터 배치 분할 처리를 수행하는 알고리즘 작업을 아웃 오브 코어 형태 그리고
병렬로 처리해야 합니다.
23
데이터 샘플 크기가 크다면, 예컨대 머신 한 대로 한 번에 처리 가
능한 샘플 수가 적다면 작은 배치로 연산을 처리해야 하는데, 이로 인해