일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- findById
- 해시
- 산업은행it
- 코테
- 컴퓨터구조
- fatch
- Spring JPA
- DB replication
- 폰켓몬
- flyway
- 외래키제약조건위반
- 산업은행청년인턴
- 트리맵
- CPU스케줄링
- 프로그래머스
- 그래프탐색
- 파이널프로젝트
- BFS
- CS
- SpringBatch
- 구현
- springboot
- 프로젝트
- 트리셋
- JPA
- 2178
- 임베디드타입
- 백준
- 운영체제
- 스케일아웃
- Today
- Total
나 JAVA 봐라
AI 플랫폼에 쿠버네티스를 도입한다면? 본문
기존의 ai 플랫폼의 문제점
1. 리소스 관리가 비효율적이다. -> 한 연구팀이 GPU 리소스를 독점하고 있어, 다른 팀들이 실험을 진행하지 못한다.
2. 확장성에 제한이 있다. -> 대규모 모델 학습을 위해 수백 개의 GPU를 빠르게 확보하고 구성하는 것이 어렵다.
3. 비용 관리가 어렵다. -> 유휴 노드(ex. GPU)를 자동으로 해제하지 못해 불필요한 비용이 발생할 수 있다.
4. 하이브리드 클라우드 운영이 복잡하다. -> 클라우드와 온프레미스 환경을 동시에 사용할 때, 각 환경을 별도로 관리해야해서 운영 복잡도가 증가한다.
5. 워크플로우 관리가 어렵다. -> 데이터 전처리, 모델 훈련, 평가, 배포 등의 단계를 일관되게 관리하고 자동화하기 어렵다.
6. 버전 관리의 복잡성. -> 모델, 데이터, 코드의 버전을 일관되게 관리하고 추적하는 것이 어렵다.
이 때, 쿠버네티스를 AI 플랫폼에 사용한다면?
1. 이식성 : 일관된 API를 제공하기 때문에, 클러스터 간 실험 이동이 용이하다.
2. 유연성 : 클라우드와 온프레미스 환경을 필요에 따라 선택할 수 있다.
3. 분산 학습 지원: 쿠버네티스는 여러 노드에 걸친 분산 AI 학습 작업을 효과적으로 조율할 수 있다.
4. GPU 관리 최적화: AI 작업에 중요한 GPU 리소스를 세밀하게 할당하고 공유할 수 있어, 고가의 GPU 활용도를 극대화할 수 있다. 또한 유휴 노드에 대한 비용이 감소한다.
5. AI 워크플로우 통합: 데이터 전처리, 모델 훈련, 평가, 서빙 등 AI 워크플로우 전체를 쿠버네티스 상에서 통합 관리할 수 있다.
6. 모델 서빙 최적화: A/B 테스팅, 카나리 배포 등을 통해 AI 모델의 안정적인 배포와 업데이트를 지원한다.
7. AI 특화 스케줄링: GPU스케줄링, AI 작업의 우선순위 조정 등 AI 워크로드에 최적화된 리소스 할당이 가능하다.
OpenAI의 실제 활용 예시
OpenAI는 클라우드나 자체 데이터센터에서 실험을 실행하고 쉽게 확장할 수 있는 딥러닝 인프라를 필요로 했다. 이식성, 속도, 비용이 주된 고려 사항이었다. 이를 위해 2016년부터 AWS에서 쿠버네티스를 사용하기 시작했고, 2017년 초에 Azure로 마이그레이션했다. OpenAI는 로보틱스와 게임 분야의 주요 실험을 Azure과 자체 데이터 센터에서 실행하며, 사용 가능한 용량에 따라 클러스터를 선택했다. 쿠버네티스는 주로 아래와 같이 사용되었다.
1. 워크로드별 환경 선택 : GPU집약적인 작업은 온프레미스, CPU 집약적인 작업은 클라우드에서 실행한다. 이를 통해 자체 데이터센터도 함께 사용하여 비용을 낮추고 특수 하드웨어에 접근할 수 있게 되었다.
2. 자동 스케일러 활용: 클러스터를 동적으로 확장, 축소한다. 이를 통해 유휴 노드의 비용을 크게 줄이면서, 지연시간을 줄이고 실험을 빠르게 반복적으로 하도록 한다.
3. 배치 스케줄링 활용 : 관련된 컨테이너를 조정한다.
4. 분산 학습 : GPU를 쉽게 확장할 수 있기 때문에, 빠르게 실험 환경을 구축하고 시간을 줄일 수 있다.
'DevOps, MLOps' 카테고리의 다른 글
kubeflow 란? (2) | 2024.06.06 |
---|---|
AWS Lambda에서 CloudWatch Logs 접근하기 (0) | 2024.06.05 |
AWS 서비스로 모니터링 환경 구축하기 (1) | 2024.06.05 |
Github Actions 로 배포 자동화하기 (0) | 2024.06.05 |
DockerHub를 통해 EC2에 Spring boot, mysql 올리기 (3) | 2024.06.05 |