동적 VRAM 오프로딩
dynamic VRAM offloading
그래픽카드의 메모리가 모델을 다 담기에 부족할 때, 필요한 부분만 옮겨가며 실행하는 방식
쉽게 말하면
동적 VRAM 오프로딩은 그래픽카드 메모리가 부족할 때 모델의 일부를 컴퓨터의 다른 메모리로 잠시 옮겨두는 방식이다. 책상이 좁아서 책 한 권을 통째로 펼쳐놓을 수 없을 때, 지금 읽는 페이지만 책상에 올리고 나머지는 옆 서랍에 넣어뒀다가 필요할 때마다 꺼내 바꾸는 것과 비슷하다.
그래픽카드 메모리(VRAM)는 빠르지만 용량이 작고, 컴퓨터의 일반 메모리는 느리지만 용량이 크다. 모델이 그래픽카드 메모리보다 크면 전체를 한 번에 올릴 수 없는데, 이때 지금 계산에 필요한 부분만 그래픽카드로 보내고 나머지는 잠시 빼두는 식으로 큰 모델도 작은 그래픽카드에서 돌아가게 만든다.
다만 공짜는 아니다. 서랍을 여닫는 데도 시간이 걸리듯, 메모리를 옮기는 과정 자체가 계산 속도를 늦춘다. 그래서 이 방식으로 돌린 결과물은 전용 대형 그래픽카드로 돌린 것보다 대체로 느리다.
기사에서 이렇게 나와요
기사에서는 "33B 규모 모델을 RTX 4070 노트북에서 돌렸다"는 식으로 등장한다. 이때 흔한 오해는 "노트북 그래픽카드 성능이 그만큼 좋아졌다"는 것인데, 실제로는 모델 전체를 메모리에 올리지 않고 필요한 부분만 옮겨가며 실행했을 가능성이 크다. 성능이 좋아진 게 아니라 메모리를 아껴 쓰는 방법이 쓰인 경우가 많다는 뜻이다.
직접 해보기
큰 모델을 로컬에서 돌리는 도구를 쓸 때 오프로드 또는 CPU 오프로드 관련 설정이 있는지 확인해본다. 이 옵션을 켜면 그래픽카드 메모리 사용량은 줄어드는 대신 생성 속도가 느려지는 것을 직접 비교해볼 수 있다.
