[0] Set up the machine learning system
Published:
머신 러닝 여행을 떠나기에 앞서 가장 먼제 해야 할 것은 ML 알고리즘을 돌려볼 수 있는 환경을 갖추는 것일 것이다. 여기에는 크게 세가지 요소가 작용하는데, 컴퓨터 하드웨어와 운영 체계, 그리고 ML 소프트웨어에 따라 이후의 설치 방법이 달라지게 된다. 가장 많이 사용되는 것들에 따라 하나씩 살펴 봅시다.
Computer Hardware (GPU)
예전 Final Fantasy 7이 등장했을 때, 게임을 좋아하는 사람들은 최초로 2D에서 3D 폴리곤으로 나온 게임 그래픽에 놀라움을 금하지 못했습니다. 지금 생각하면 조잡한 박스로 이루어진 3D 캐릭터 들이었는데, 그 당시는 너무나 화려한 모습에 게임에 대한 몰입감이 넘쳤습니다. 그런데 이 게임을 원할하게 하기 위해서는 그래픽 카드라는 것을 추가로 샀었어야 했는데, 그렇지 않을 경우 게임이 너무나 느리게 돌아가 플레이를 제대로 하기 힘들었습니다. 그 당시 저도 Voodoo 3DX라는 그래픽 카드를 사서 조립한 컴퓨터에 설치하고 Final Fantasy 7를 실행했을 때의 감동을 잊지 못합니다. 이렇듯 그래픽 카드는 3D 게임을 빠르게 만들어 줬는데, 그 당시 모든 그래픽은 3차원 공간에서의 위치 좌표를 2차원 공간에 투사하는 연산으로 이루어졌는데, 그래픽 카드 (Graphic processing unit: GPU)는 이러한 연산의 기초가 되는 행렬 연산을 엄청난 수의 계산 프로세서를 가지고 병렬로 처리해 주는 장치입니다. 즉 중앙 처리 장치 (Central processing unit: CPU)가 한번 계산할 때 GPU는 간단하지만 엄청나게 많는 연산을 한번에 처리해 줌으로서 3차원 공간의 물체의 모양 및 움직임, 재질 표현 등을 모니터에 그려주는 일을 했던 것입니다.
세월이 흘러 지금 GPU 시장을 양분(?)하고 있는 회사는 nvidia와 AMD 입니다. nvidia는 선두 주자라는 이점과 일찍 과학용 계산 쪽에 투자를 한 덕분에 머신 러닝의 시대가 오자 업게의 기준이 되었습니다. 현재 대부분의 머신 러닝 소프트웨어는 nvidia의 cuda라는 프로그램 팩키지와 cuDNN에 기반하여 최초로 만들어지고 있습니다. AMD와 Intel graphics를 지원하는 머신