개발 · 프로그래밍

/

데브옵스 · 인프라

실전도커: 도커로 나만의 딥러닝 클라우드 컴퓨터 만들기

도커를 사용해서 클라우드에 딥러닝 분석환경을 만들 수 있습니다. 구글, MS 등이 관리하는 도커 이미지와 클라우드가 결합할 때 여러분의 컴퓨터에서 가장 최신의 딥러닝 분석 방법으로 작업을 수행하는 것이 가능해집니다.

(5.0) 수강평 9개

수강생 172명

Thumbnail

초급자를 위해 준비한
[데브옵스 · 인프라, 딥러닝 · 머신러닝] 강의입니다.

이런 걸
배워요!

  • 도커를 사용한 케글과 동일한 데이터 분석환경 구축

  • 로컬에서 강력한 컴퓨팅 파워를 가진 클라우드에 연결하는 다양한 방법

  • 클라우드 사용 시 비용을 최소화하는 방법

  • 도커를 이해하기 위한 리눅스

  • IDE의 컨테이너 기능 사용(VSCode, RStudio, Jupyter Notebook)

Docker + Cloud + Deep Learing = DevOps Data Scientist

도커 프로젝트 실습 위주의 강의

  • 도커 컨테이너를 적용하여 로컬 환경과 Azure 클라우드 컴퓨터에 동일한 데이터 분석 환경으로 동기화

  • 가벼운 분석은 로컬 컴퓨터에서 수행

  • 리소스가 많이 필요한 분석의 경우 클라우드 컴퓨터에서 수행


눈에 보이는 속도 차이 (좌:클라우드 vs. 우:로컬환경)

  • 정가의 10% Spot Discount 방식

  • 저렴한 비용으로 NVIDIA GPU 클라우드 컴퓨터 사용

  • 클라우드 컴퓨터를 팀을 위한 서버로 사용할 때 도커 컨테이너로 각 팀원의 작업 환경을 완벽히 분리


강의 특징

  • Dynamic Link 기능을 사용하여 수업 이후에도 관련 자료를 빠르게 찾는 것을 가능하게 함

  • 수업 자료의 기본 틀은 유지

  • Link는 최신의 자료로 업데이트하여 수업 이후에도 주기적으로 수업 자료를 다운로드하여 최신의 정보에 빠르게 접근 가능하게 함

📖 주요 컨텐츠 목록

도커 명령어 학습

도커 명령어를 도커 help 기능을 통해서 이해하고 적용하는 방식을 배웁니다. (섹션 4)

  • docker run --help

  • chatgpt 활용하기

Azure에 가상머신 생성

Azure Cloud에 Linux 가상머신을 생성하고 다양한 방식을 통해 로컬 환경과 클라우드 가상머신을 연결합니다. (섹션 6)

  • key 방식의 ssh (secure shell)

  • gui 방식의 rdp (remote desktop protocol)

  • Remote Tunnel Extention을 통한 VS Code 환경 연결

Python을 위한 도커

dev container VS Code extention을 활용하여 python 분석 환경을 생성하는 방법을 학습합니다. (섹션 7)

도커이미지 제작 및 배포



dev container와 remote tunnel extention을 사용하는 python을 위한 도커는 도커 기본 문법을 모르더라도 도커를 사용할 수 있도록 합니다. 이 것이 강력한 장점이지만 도커 문법을 보다 더 깊이 이해할 수 있도록 kaggle R Docker Image에 추가적으로 가장 최근의 RStudio를 설치하는 과정을 실습하면서 다음과 같은 내용을 다룹니다. (섹션8)

  • COPY와 ADD

  • RUN 명령어로 추가 프로그램 설치

  • Ports 연결에 애한 이해

  • CMD와 ENTRYPOINT

  • ARG

파일공유시스템 설정


실습의 목표인 로컬 환경과 클라우드를 연결할 때, 컴퓨팅 환경을 연결하는 것만으로는 충분하지 않습니다. 학습을 할 때는 불편함이 없게 느껴질 수도 있지만 여러분이 학습한 지식을 실제 프로젝트에 적용하기 위해서는 파일공유시스템에 대한 설정이 필수적입니다. 아래와 같은 내용을 다룹니다. (섹션 11)

  • ADLS2 (azure-data-lake-gen2) 생성

  • blob mount 방식을 통해 Linux 가상머신에 ADLS2 연결

  • blobfuse 방식을 통해 Windows 환경에 ADLS2 연결

  • Microsoft Azure Storage Explorer를 통한 Windows, MAC 환경에서 ADLS2 디렉토리 접속하기

진정한 가상화 구현


도커의 목표인 진정한 Containerization을 Azure Cloud의 Linux Server 가상머신에서 구현합니다. (섹션 12)

서버 관리자와 다수의 사용자를 생성하고 모두가 공동의 Docker Image는 공유하고 각자의 Docker Container 환경은 완벽히 분리시키는 과정을 Simulation합니다. 이 내용은 mlops의 핵심이 됩니다.

수업에서 사용하는 툴과 하드웨어 조건

  • Visual Studio Code를 사용

  • GPU 셋팅은 클라우드의 Linux 가상 머신에 적용하며 로컬 환경에서 연결

  • 로컬환경은 Windows, Linux, MAC 어떤 환경이든 프로젝트 진행이 가능

수강 후에는 무엇을 얻을 수 있나요?

  • 도커를 활용한 프로젝트에 대한 자신감

  • 클라우드나 리눅스에 대한 부담감 탈피

  • GPU 기반의 고사양 컴퓨터를 한달 10 달러 내외의 가격으로 사용 가능

궁금한 점이 있나요?

Q. 로컬 환경에 GPU가 필요한가요?

로컬 환경과 클라우드에 동일한 GPU 기반 데이터 분석 환경을 구성한다는 것이 로컬 환경에 GPU가 필요하다는 것이 아닙니다.

GPU 셋팅이 되어 있지 않으면 CPU 기준의 분석 환경으로 셋팅이 됩니다.

Q. 어떤 운영 체제에서 최종 결과물을 만들어 낼 수 있나요?

로컬 환경의 운영체제가 Windows이든 Linux이든 MAC이든 모든 경우에 실습을 진행하실 수 있습니다.

로컬 환경의 운영체제와 관계 없이 로컬 환경에서 Linux 클라우드 컴퓨터로 접속합니다.

Q. 저는 python 사용자입니다. 강의에 보면 R 관련 섹션이 있는데 R 관련 내용도 학습해야 하나요?

수업을 듣게 되시면 느끼실 수 있겠지만, VS Code의 dev container extention을 사용하면 python 도커 컨테이너를 생성하는 과정이 너무나 간편해집니다. 사실 이런 간편함 때문에 도커 문법을 익혀야 되는 목표에서는 좀 더 멀어지게 될 수도 있습니다. 예를 들어 대부분의 도커 수업에서 강조하는 volume mount를 적용하지 않아도 dev container는 자동으로 volume mount 과정을 수행해 줍니다.

그래서 수강생분들이 도커 문법을 학습하시는데 도움이 될 수 있도록 의도적으로 R 섹션도 포함시켰습니다. 많은 도커 강의에서는 nodejs와 같은 엡 기반의 application을 기본 베이스로 하고 있는데요, 데이터 엔지니어나 사이언티스트 분들이 최대한 쉽게 접근할 수 있도록 데이터 기반 사례를 포함시키고자 R 섹션을 포함시켰습니다.

R을 학습하기 위한 섹션으로 이해하시기 보다는 도커 문법을 탄탄히 익히기 위한 수업 과정으로 이해해 주세요.

Q. 클라우드 사용 비용은 어느 정도가 적절한가요?

실습에 사용되는 모델의 경우 Spot Discount 옵션을 적용했을 때, 한달 10 달러정도의 비용 (하루 3시간 정도 사용의 경우) 이 발생합니다.

실제 프로젝트에서 고사양의 가상머신을 구축하면 추가적인 비용이 발생할 수 있습니다.

Q. 선수 지식이 필요한가요?

강의에 선수 지식은 필요하지 않습니다.

선수 지식은 가정하지 않았지만 강의의 난이도 자체가 쉬운 것은 아닙니다. 하지만 강의의 여러 섹션들에서 내용이 반복되면서 심화되도록 구성하였습니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 도커를 실용적으로 배우고자 하는 데이터 엔지니어, 사이언티스트, 애널리스트

  • 도커를 실전을 통해 배우고자 하는 개발자 및 엔지니어

  • 클라우드에 대한 실제적인 포트폴리오가 필요한 분

안녕하세요
다니엘입니다.

  • 서울대학교 기계항공 공학부 졸업

  • 영국 크랜필드 대학교 기계항공 석사 졸업

  • 독일 함부르크 공대 기계공학 박사 수료

  • 독일 Nordex Wind Senior Data Scientist

  • 영국 Wood Energy Data Analysis Senior Consultant

  • Databricks Data Engineering Project

  • Kaggle Stock Trading Competition top 3%

  • 현 AI 스타트업 (MUSTai) 개발팀장

커리큘럼

전체

65개 ∙ (9시간 50분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!