MIG
MIG (Multi-Instance GPU)
MIG(Multi-Instance GPU)는 NVIDIA Ampere 아키텍처 이후의 GPU에서 지원하는 하드웨어 수준의 GPU 분할 기술입니다. 하나의 물리적 GPU를 여러 개의 독립적인 GPU 인스턴스로 나누어, 각 인스턴스가 전용 컴퓨팅 리소스와 메모리를 갖도록 함으로써 효율적인 리소스 활용과 엄격한 격리를 제공합니다.
작동 원리
MIG는 GPU의 하드웨어 리소스를 논리적인 단위로 쪼개어 여러 개의 GPU 인스턴스로 생성합니다. 각 인스턴스는 다음과 같은 리소스를 독립적으로 할당받습니다. - SM(Streaming Multiprocessors): 연산을 담당하는 코어 집합을 분할 할당합니다. - 메모리(Memory): L2 캐시와 VRAM을 물리적으로 분할하여 인스턴스 간 메모리 간섭을 차단합니다. - 대역폭(Bandwidth): 메모리 컨트롤러 및 인터커넥트 대역폭을 나누어 할당합니다.
주요 특징
- 하드웨어 격리(Isolation): 각 인스턴스는 하드웨어 수준에서 완전히 격리되어, 한 인스턴스에서 발생한 오류나 과부하가 다른 인스턴스의 성능에 영향을 주지 않습니다.
- QoS(Quality of Service) 보장: 리소스가 고정적으로 할당되므로, 예측 가능한 성능과 일관된 응답 시간을 보장합니다.
- 메모리 분할: 각 인스턴스는 자신에게 할당된 전용 메모리 영역만 접근할 수 있어 보안성과 안정성이 높습니다.
지원 GPU 모델
| 아키텍처 | 지원 모델 예시 |
|---|---|
| Ampere | A100, A30 |
| Hopper | H100, H800 |
| Blackwell | B100, B200 |
MIG vs vGPU 비교
| 구분 | MIG (Multi-Instance GPU) | vGPU (Virtual GPU) |
|---|---|---|
| 격리 수준 | 하드웨어 수준의 물리적 격리 | 하이퍼바이저 기반의 논리적 격리 |
| 리소스 할당 | 고정된 하드웨어 슬롯 기반 분할 | 시분할(Time-slicing) 및 가상화 할당 |
| 성능 간섭 | 거의 없음 (완전 격리) | 인스턴스 간 간섭 가능성 존재 |
| 주요 용도 | AI 추론, 멀티 테넌시 워크로드 | VDI(가상 데스크톱), 클라우드 GPU 공유 |
사용 사례
- 멀티 테넌시 환경: 여러 사용자가 하나의 GPU를 공유하면서도 서로의 작업에 영향을 주지 않아야 하는 클라우드 환경.
- 소규모 모델의 동시 추론: 대형 GPU 하나를 사용하는 대신, 여러 개의 작은 모델을 각각의 MIG 인스턴스에 배포하여 처리량을 극대화하는 경우.
- 개발 및 테스트: 다양한 설정의 GPU 환경을 시뮬레이션하여 여러 실험을 동시에 진행할 때.
설정 방법
MIG를 활성화하고 설정하기 위해서는 <a href="/doc/%EA%B8%B0%EC%88%A0/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4/%EA%B4%80%EB%A6%AC%20%EB%8F%84%EA%B5%AC/nvidia-smi" class="wiki-link wiki-link-missing">nvidia-smi</a> 도구를 사용합니다.
-
MIG 모드 활성화 먼저 GPU의 MIG 모드를 활성화해야 합니다. (설정 후 GPU 재부팅 또는 노드 재시작이 필요할 수 있습니다.)
nvidia-smi -i 0 -mig 1 -
사용 가능한 프로파일 확인 해당 GPU에서 지원하는 인스턴스 프로파일 목록을 확인합니다.
nvidia-smi mig -lgip -
인스턴스 생성 (프로파일 설정 예시) 특정 프로파일(예: 1g.5gb)을 사용하여 GPU 인스턴스를 생성합니다.
# GPU 0번의 1번 슬롯에 1g.5gb 프로파일로 인스턴스 생성 nvidia-smi mig -cgi 1g.5gb -i 0 -cid 0 -
생성된 인스턴스 확인
nvidia-smi
이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.