GPU
그래픽 처리 장치( - 處理裝置) 또는 GPU(영어: graphics processing unit)는 컴퓨터 시스템에서, 그래픽 연산을 빠르게 처리하여 결과값을 모니터에 출력하는 연산 장치이다. VPU(영어: visual processing unit)라고도 한다.
GPU는 임베디드 시스템, 휴대 전화, 개인용 컴퓨터, 워크스테이션, 비디오 게임 콘솔, 인공지능, 무인 자동차, 클라우드 컴퓨팅 등에 사용된다. 현대의 GPU는 컴퓨터 그래픽과 영상 처리에 매우 효과적으로 사용되며, 고도의 병행 구조는 큰 덩어리의 영상 데이터가 병행 처리되는 알고리즘에 다용도 CPU보다 능률적이다. 개인 컴퓨터에서 GPU는 그래픽 카드에 부착되고, 메인보드나 CPU에 따라서는 다이에 포함되기도 한다.
'GPU'라는 용어는 1999년 엔비디아에서 지포스 256을 '세계 최초의 GPU'로 판매하면서 널리 알려졌다. 지포스 256은 단일 칩 프로세서와 통합된 TCL(Transform, clipping, and lighting), 초당 1천만 개 이상의 폴리곤(다각형)을 처리할 수 있는 렌더링 엔진을 갖추고 있었다. 라이벌인 ATI 테크놀로지스는 2002년 라데온 9700을 발매하면서 'VPU'(영상 처리 장치)라는 용어를 사용하였다.
GPU는 그래픽과 관련된 연산을 할 때에 CPU의 부담을 크게 줄일 수 있다. macOS는 10.6부터 최초로 운영 체제 수준에서 GPU를 사용하기 시작했다.
Cloud GPU 가이드 - AI에 어떤 GPU를 어디서 써야할까?
StableDiffusion, Whisper, 오픈소스 LLM등을 이용한 AI도구를 만든다면 어디선가 계속 실행되어야 함.
어떤 GPU를 써야할까?
Cloud GPU를 쓴다면
- Falcon-40B, Falcon-40B-Uncensored, or Falcon-40B-Instruct
- 비용 상관없이 최고의 성능을 원한다면 H100 2개
- 비용과 성능 밸런스를 추구한다면 RTX 6000 Ada 2개(A6000 이나 RTX6000 아님)
- 저렴하게 원하면 A6000 2개
- 최고의 성능이나 가성비: H100 1개
- 저렴 : A100 80GB 1개
- 최고의 성능 : H100 1개
- 가성비 : 4090 1개
- 저렴 : 3090 1개
- Stable Diffusion과 같음
- Whisper-Large 는 더 적은 VRAM에서 실행가능하지만, 대부분 클라우드는 그런 카드가 없음
- 4090/3090도 잘 동작하고, CPU에서도 가능
- H100 클러스터 또는 A100 클러스터
- 대규모 H100 클러스터
- 로컬 GPU를 쓴다면:
모델들을 로컬에서 실행해야 할까? 클라우드 GPU로 실행해야 할까?
- 둘다 합리적인 선택임
- 모델을 클라우드에서 실행하려면 Runpod 의 템플릿이 가장 쉬운 선택임
- 가장 쉬운 옵션은 호스트된 인스턴스를 사용하는 것 : DreamStudio, RunDiffusion, Playground AI for stable diffusion 등
RTX 6000, A6000, 6000 Ada 은 무슨 차이야 ?
셋이 완전히 다름
- RTX 6000 (Quadro RTX 6000, 24 GB VRAM, 2018/08/13 출시)
- RTX A6000 (48 GB VRAM, 2020/10/05 출시)
- RTX 6000 Ada (48 GB VRAM, 2022/12/03 출시)
DGX GH200, GH200, H100?
- 1개의 DGX GH200 은 256개의 GH200 을 포함하고 있음
- 1개의 GH200 은 1개의 H100 과 1개의 Grace CPU를 포함
H100 은 A100에서 큰 업그레이드인가 ?
- 당근. 스피드 향상이 매우 큼. H100은 A100 보다 더 많은 수의 GPU로 확장이 가능
- 즉 LLM 훈련에는 H100 여러대가 최고임
AMD, Intel, Cerebras 는 ?
현재로선 Nvidia가 제일 쉬움
어떤 GPU 클라우드를 써야할까 ?
- 다수의 A100/H100이 필요하다면: Oracle, FluidStack, Lambda Labs 등에 문의.
- 몇대의 A100이 필요하다면: FluidStack or Runpod
- H100 1개가 필요하다면: FluidStack or Lambda Labs
- 저렴한 3090s, 4090s, A6000s: Tensordock.
- Stable Diffusion 추론만 필요하다면: Salad.
- 다양한 종류의 GPU가 필요하다면: Runpod or FluidStack.
- 템플릿을 쓰거나 취미로 한다면: Runpod.
- 큰 클라우드는 가격이 비싸고 복잡함
시작하기 가장 쉬운 GPU Cloud
- RunPod에서 템플릿 사용
- RunPod 파드는 완전한 기능을 갖춘 VM이 아니라 호스트 머신의 도커 컨테이너라는 점에 유의할 것
얼마나 많은 VRAM과 시스템 램, 몇개의 vCPU가 필요할까 ?
- VRAM (Video RAM / GPU RAM)
- Falcon-40B: 85-100GB
- MPT-30B: 80GB
- Stable Diffusion: 16GB+ 이상 선호
- Whisper: 12GB+. (OpenAI 버전을 사용하면 이정도, 커뮤니티 버전으로는 CPU로도 가능)
- VRAM의 1~2배
- 8-16 vCPU면 대규모 GPU 워크로드가 아닌 이상 충분
See also
Favorite site
- Graphics processing unit - Wikipedia
- GPU에 대한 오해 | GeekNews (Fly.io)
- 일반 개발자들은 GPU보다는 LLM을 원함
- [원문] We Were Wrong About GPUs · The Fly Blog
- We were wrong about GPUs | Hacker News
Online Tools
- [추천] LeetGPU - Only platform to write and run CUDA code. Without a GPU. For Free. (온라인에서 무료로 CUDA 코드 돌리는 사이트)