인공지능을 좋아하는 곧미남

[Docker] AI 개발자로서 Docker의 필요성 본문

Docker

[Docker] AI 개발자로서 Docker의 필요성

곧미남 2022. 12. 20. 15:38

원하는 AI 모델을 실행하기 위해서는 Python, CUDA, CUDNN, NVIDIA DRIVER와 같은 외부 종속성 패키지들이 설치된 PC가 필요하다. 그런데, local pc에서는 저런 외부 종속성 패키지들의 버전을 변경하려면 지우고 새로 설치하는게 깔끔하기 때문에 상당히 번거롭고 까다롭다.

 

그런데, Docker를 활용하면 새로운 OS 기반에 컨테이너를 내가 원하는데로 생성할 수 있고 손 쉽게 배포도 가능하다!

 

더 자세하게 말하면 원하는 ubuntu 버전, python 버전, cuda 버전, cudnn 버전, nvidia-driver 버전을 도커 컨테이너로 만들어놓고 도커 컨테이너를 이미지화하여 tar 파일이나 docker hub를 활용해서 손 쉽게 다른 사용자에게 배포할 수 있는 것이다.

 

사실 docker는 AI 어플리케이션 뿐만 아니라 os위에 올라가는 모든 어플리케이션을 개발하거나 실행할 수 있는 환경을 원하는대로 만들 수 있고 배포할 수 있다는 것이다!! 

 

예를들어 web 서비스를 위해서 웹 서버(Web Sever)나 데이터베이스(DB)를 활용하기 위해 개발 환경을 구축해놓으면 한번 더 번거롭게 구축하지 않아도 된다는 뜻이다.

 

즉, 개별적인 역할을 하는 OS위에 어플리케이션을 개발, 실행하기 위한 환경을 구축하기 위해서 여러 대의 PC를 사용해야했던 불편함과 한계점을 개선한 것이 Docker이다.

 

* 보통 리눅스에 설치하여 활용되며, 윈도우에서는 wsl2 내에 우분투를 설치하여 활용할 수 있다.

반응형
Comments