머신러닝과 HPC(High Performance Computing) ②

[테크월드=정환용 기자] 한 걸음 벗어나 생각해 보면, 영화 속 로봇처럼 인간과 비슷하게 사고(思考)하는 인공지능을 만드는 것은 불가능할지도 모른다(적어도 기자는 그렇게 생각하고 있다). 코카콜라처럼 흔한 음료수조차도 공개된 레시피로 똑같은 맛을 내기 어렵다. 인간의 사고를 담당하는 뇌에 대한 정보는 아직도 완전히 밝혀지지 않았다. 컴퓨터가 알아들을 수 있는 것은 입력장치나 영상정보를 모두 포함해도 0과 1 두 개의 숫자에 불과한데, 완전히 파악하지 못한 것을 지금의 환경에서 똑같이 들어낸다는 것은 이론적으로도, 기술적으로도 불가능한 것이 현실이다. 사실 기계 학습이란 기술을 통해 인공지능의 구현에 접근할 수 있다는 내용도 아직은 가설에 불과하다.

그러나 중요한 것은 도달이 아니라 접근이다. 목적지에서 멀리 떨어진 곳에 서서는 그곳에 무엇이 있는지, 어떻게 접근할 수 있을지 판단하기 어렵다. 가까이 갈 수 있는 방법이 있다면 사용해 보고, 그 결과가 좋은 방법이 아니라면 다른 방법을 찾으면 된다. 게다가 단어 그대로 인공지능은 아니지만, 현재의 기술력을 현실에 적용할 수 있는 방법과 그 효과는 꾸준히 검증되고 있다.

기계 학습에 으레 따라오는 단어가 몇 있다. 상위 개념이라기보다 요구 개념으로 봐야 하는 ‘고성능 컴퓨팅’(High Performance Computing, HPC)이다. 컴퓨터에 주어진 수많은 데이터를 기반으로 사용자가 원하는 결과를 빠르게 도출하기 위해선 그에 상응하는 연산 속도가 필수로 따라와야 한다. HPC는 명확하게 규정되는 범위가 있지는 않지만, 특수한 조건의 빠른 연산을 위해 특별히 제작된 고성능 컴퓨터를 일컫는다.

 

Part 1. 기계학습으로 숙성되는 인공지능
Part 2. 고성능 컴퓨팅 시스템이 필요한 이유
Part 3. 다양한 HPC와 컴퓨터 소개

 

기계 학습과 연산 속도의 상관관계
각종 컴퓨터 부품을 유통하는 상인 A 씨의 입장에서 기계 학습에 대해 알아보자. CPU부터 소형 액세서리까지 A가 취급하는 제품 품목은 3000가지가 넘는다. 판매 홈페이지에는 등록되지 않은 제품이라 해도, 모 업체에서 수급을 부탁하면 제품을 매입해 판매할 수도 있다. 대부분의 제품은 정해진 단가가 없고, 그 가격도 수시로 등락을 반복한다. A는 매일 엑셀로 판매 중인 제품의 품목과 재고, 가격 변동을 기입하지만, 항목이 너무 많아 정리만으로도 힘겨울 정도다.

여기에 제품의 가격을 산정하는 알고리즘이 적용된 기계 학습 프로그램 B를 활용한다면 어떨까? B에는 A가 다루는 모든 제품의 관련 데이터를 한 번만 입력해 주면 된다. B는 각각의 제품에 대한 시장 판매가격을 초 단위로 파악하고, 수입 가격과 마진을 포함한 적정 판매가격을 산출해 시시각각 홈페이지에 적용해 준다. 시장에서 새 로운 제 품의 수요가 발생하면 해당 제품 관련 정보를 알아서 수집하고, A에게 관련 정보를 전달해 제품 추가 여부를 결정한다. 과거 HDD 파동이나 현재의 CPU 논란과 같은 돌발 상황이 발생하지 않는 이상, A는 매일 엑셀 파일과 씨름하지 않아도 된다. 이 작업을 수행하는 직원을 고용하는 대신, 프로그램이 필요로 하는 적정 사양의 컴퓨터 한 대를 새로 들이면 된다. 컴퓨터의 적정 사양이 어느 정도인지는 프로그램의 종류와 연산 능력에 따라 천차만별이 된다.

여기서 결정해야 하는 것은 두 가지다. B가 수행해야 할 업무를 정확히 지정하는 것과 업무 수행 속도를 보조할 수 있는 성능의 컴퓨터를 준비하는 것이다. 제품 정보를 파악하고 시장 동향을 파악할 수 있는 수준의 알고리즘을 만드는 것은 소프트웨어 영역, 천 단위의 제품 정보를 파악하고 가격 정보를 갱신해 주는 프로그램이 필요로 하는 것은 하드웨어 영역이다. B 프로그램은 크게 지도 학습(Supervised Learning) 알고리즘에 해당하는데, 앞서 언급했던 새로운 제품 정보를 전달하는 부분은 이와 반대되는 개념의 비지도 학습(Unsupervised Learning) 알고리즘에 해당한다. 비지도 학습 알고리즘이 적용되면 국내에 유통된 적이 없는 제품의 가격을 기계가 정하도록 지정했을 때, 컴퓨터가 모든 경우를 판단해 A가 손해를 떠안지 않고 팔 수 있는 적정 판매가격을 제시할 수 있다.

기계 학습이 한 걸음 더 나아간다면 A의 운영 노하우를 개선하는 것도 제안할 수 있다. A가 취급하던 영역의 제품이 아니더라도 수입했을 때 마진을 남길 수 있는 제품들을 여럿 제시할 수도 있고, 더 이상 수익을 내기 어렵다고 판단되는 제품을 골라 재고를 처리한 뒤 목록에서 삭제하는 행위도 가능해진다. 물론 이는 강한 인공지능에 해당돼 아직은 현실에서 먼 얘기다.

 

컴퓨터의 단계별 성능과 용도
데스크톱과 노트북을 포함해, 컴퓨터의 성능과 용도는 천차만별이다. 성능과 용도가 무조건 비례하는 것은 아니지만, 대체로 사용 범위와 가능 여부가 넓을수록 성능이 높다고 보면 된다. 이를 그래프로 그려보면 코끼리를 삼킨 보아뱀처럼 앞뒤가 낮고 가운데가 높은 형태를 띠는데, 가장 범용적이고 널리 사용되는 데스크톱과 노트북 컴퓨터는 가운데에 해당한다. 물론 성능은 무척 낮은 편이지만 용도에 따라 충분할 때도 있고, 아무리 속도가 빨라도 부족한 때도 있다. 대체로 어떤 용도에서 어느 정도의 성능이 요구되는지 단계별로 알아보자.

 

단일목적 - 디지털 사이니지

USB 포트를 지원하는 디스플레이라면 스틱 PC를 장착해 일체형 PC로 사용할 수 있다. 하지만 PC처럼 사용할 수 있다는 것이지, 데스크톱처럼 충분한 성능을 내주는 것은 아니다. 스틱 PC의 목적은 PC의 기능을 수행할 수 있는 초소형 컴퓨터로, 성능이 아니라 더 작게 만드는 것이 목적이다. 때문에 PC로서의 성능은 상당히 낮은 편이다. 하지만 광고 화면을 반복 재생하는 등의 단순 작업만이 요구되는 디지털 사이니지에서 많이 사용된다.

 

좁은 범위 - 학습용, 사무용

종류는 다르지만 손바닥보다 좀 더 큰 미니 PC나 모니터 크기의 일체형(All In One, AIO) PC 역시 스틱 PC처럼 성능보다 공간 활용에 중점을 두고 만든 컴퓨터다. 최근에는 CPU를 비롯한 하드웨어의 성능이 좋아져 AIO PC로도 고사양의 게임을 즐길 수 있게 됐지만, 비슷한 성능의 데스크톱 PC 대비 가격이 무척 비싸다. 미니 PC는 애초에 별도의 GPU를 장착할 수 없어 성능 향상은 무리고, 기존에 사용하던 모니터의 후면에 부착해 일체형 PC처럼 사용하는 용도로 사용된다. 일부 대형 디지털 사이니지의 운용에 미니 PC를 쓰기도 한다.

 

넓은 범위 - 개인용, 게임용

데스크톱과 노트북 두 종류의 컴퓨터를 하나로 엮어 소개하는 것은 여러 모로 어울리지 않지만, ‘컴퓨터’라 부르는 기기 중 가장 많은 비중을 차지하는 것이 이 두 가지다. 보아뱀 그래프 가운데 가장 많은 비중을 차지하고 있기도 하고, 노트북의 휴대성을 포함해 전 세계에서 가장 널리 사용되고 있으며, 활용할 수 있는 범위도 컴퓨터 가운데 가장 높다. 데스크톱의 경우 높은 확장성으로 저렴한 사무용에서 고성능 게임용까지 아우를 수 있다. 특히 전문 작업용으로 판매되는 고성능 프로세서(인텔 제온 시리즈, AMD 스레드리퍼 시리즈) 기반의 PC라면 일반 데스크톱이라 해도 전문가 용도로 제작된 컴퓨터만큼의 성능을 낼 수도 있다. 다만 처음부터 워크스테이션으로 제작된 PC보다 비용이 더 많이 소모되는 경우가 많다.

 

전문목적 - 개발, 운영

막연히 ‘전문가용 PC’라 하면 1990년대에는 ‘맥킨토시’가 그 대명사였고, 지금은 워크스테이션이 그 자리를 대신하고 있다. 본격적으로 HPC의 영역에 들어서는 워크스테이션은, 일반 데스크톱보다 성능이 높은 것뿐만 아니라 처음부터 사용 목적이 일반 컴퓨터와 다르다. 개인용 컴퓨터는 사무 작업과 멀티미디어, 게임 등 다양한 작업을 적당한 성능 수준에서 다양하게 수행할 수 있지만, 워크스테이션은 영상 변환, 코딩 등 주로 전문작업의 효율 향상을 위해 사용하는 경우가 대부분이다. 현재의 기계 학습이 적용된 솔루션이 데이터를 빠르게 검색하는 것이 유일한 목적이라면, 일반 데스크톱 컴퓨터보다 워크스테이션에 적용하는 것이 훨씬 효율적이다.

 

특수목적용 - 예측, 특수연산

2017년 11월 집계된 전 세계 슈퍼컴퓨터 톱 500 순위의 꼭대기에는 중국 우시(Wuxi)의 국립슈퍼컴퓨팅 센터에 있는 ‘선웨이 타이후라이트’(사진)가 있다. 1065만 개의 코어를 사용하는 이 슈퍼컴퓨터의 연산 속도는 약 93페타플롭스(PFlops)로, 2위인 중국 광저우(Guangzhou)의 텐허2보다 3배 가까이 빠르다. 1페타플롭스는 초당 1000조 회의 연산을 처리할 수 있는 단위로, 타이후라이트는 1초에 연산할 수 있는 횟수는 무려 9경 3000조 회에 달한다.

 

현재 국내에는 기상청에서 2015년부터 사용하고 있는 4호기의 성능이 가장 높은데, 이론상 최대 5.8PF의 연산 속도를 낼 수 있다고 한다. 기상청은 슈퍼컴퓨터를 활용해 수평해상도 17km의 전지구모델, 수평해상도 32km의 전지구 앙상블모델을 포함해 20여 종의 수치 예보 모델을 계산하고 있다. 이처럼 슈퍼컴퓨터로 불리는 HPC의 목적은 스틱 PC처럼 하나의 분야에 집중되는 경우가 대부분이다. 속된 말로 프로세서가 10만 개 넘게 장착된 고가의 고성능 컴퓨터라 해도, 배틀그라운드나 스타크래프트를 실행시키진 못 한다. 성능의 차이가 아니라 용도의 차이다. 현재 전 세계 슈퍼컴퓨터 500대 중 15대를 제외한 전 모델이 리눅스 기반의 운영체제를 사용하고 있다.

앞서 설명했던 유통업체의 시장조사·관리 프로그램이라면 슈퍼컴퓨터를 필요로 하진 않는다. 하지만 기상청처럼 지구 표면 전체를 분해해 해당 영역의 기상 정보를 1주일가량 예측하는 작업은, 대기의 상태와 운동을 계산하는 역학과 물리 방정식을 사용해 기상학적 모델링을 구현하는 일이다. 일정 공간의 구분 없이 시시각각 바뀌는 날씨는 수학적 계산이 불가능한데, 지구의 표면을 격자로 구분해 각 격자마다 나타나는 대기의 상태를 계산, 그 결과를 합산해 수치예보모델을 만들어 다음 10일의 날씨를 예측하는 것이다. 이 작업은 기자가 일하고 있는 15층 건물 3개 동에 있는 모든 컴퓨터를 합쳐도 성능이 부족하다. 기상청에서 사용하고 있는 크레이(CRAY) XC40처럼 14만 개의 코어, 744TB 메모리, 15PB 이상의 저장장치 정도를 갖춰야 한다.

한 지역의 다음 기상을 미리 예측하는 것은 18세기 중반부터였다. 현재는 전 세계의 기상청에서 고층 기상 파악에 라디오존데(Radiosonde), 지상 파악에 레이더(Radar), 해양 관측에 부이(Buoy)를 이용하고, 각국에서 수집한 자료들은 각국이 공유할 수 있는 세계기상통신망(Global Telecommunication Systam, GTS)으로 모인다. 이 방대한 자료는 그 자체만으로도 큰 가치를 가지지만, 최대한 빨리 이 자료를 분석해 다음 날씨가 어떻게 변화할지를 파악하는 것이 국제적 과제다. 이 분석 속도가 빨라질수록, 그리고 분석·예측 결과와 실제 결과와의 상관관계를 분석한 자료가 누적될수록 예보의 정확도는 점점 올라갈 수 있다.

컴퓨터의 성능을 높이는 방법은 두 가지다. 더 빠른 계산 방법을 연구하는 소프트웨어적 접근, 그리고 컴퓨팅 속도를 끝없이 높이는 하드웨어적 접근이다. 다만 하드웨어 향상의 경우 사용 프로세서의 종류에 따라 코어 숫자가 적어도 연산속도가 더 높은 경우도 있다. 1위 타이후라이트(약 1064만 개)와 4위 ‘교우코’(Gyoukou, 1986만 개, 19.59PF)의 차이가 이를 보여준다. 단순히 숫자가 높은 것이 해답이 아니라면, 미국과 중국, 일본 등 세계 각국이 더 빠르고 더 뛰어난 슈퍼컴퓨터를 개발하는 데 몰두하는 이유는 무엇일까?

엑사플롭스(EFlops, 10의 15승) 수준의 성능을 내는 슈퍼컴퓨터가 개발된다면, 드라마 ‘퍼슨 오브 인터레스트’(Person of Interest)의 범죄 예측 인공지능 프로그램 ‘사마리아인’(Samaritan)이 현실이 될 수 있을까?

이 기사를 공유합니다
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지