계산 비용 최소화를 위한 ‘Trinity’, 하드웨어 – 소프트웨어 – 수학 모델

143
pabii research
비싼 하드웨어만 도입한다고 무조건 AI를 도입한 것 아냐
고급 하드웨어는 계산 속도 개선을 위한 하나의 도구일 뿐
AI는 반복 계산의 자동화가 필요한 구간에서 인간의 수고를 덜어주는 프로그램에 불과
자동화 연산에 필요한 계산 비용 최소화는 하드웨어 뿐만 아니라 소프트웨어 최적화도 필수
근간에는 데이터 변형, 데이터에 맞춘 수학 모델 변형 등이 깔려있어

‘브라운 운동(Brownian motion)’은 1827년 스코틀랜드 식물학자 로버트 브라운이 발견한 미소입자들의 불규칙 운동을 말한다. 내가 전공했던 금융수학에서는 주가 수익률 움직임을 아주 작은 시간 단위로 잘게 쪼개면 브라운 운동으로 설명할 수 있지 않을까는 가설을 바탕으로, 고교 수학에서 적분을 하듯이 잘게 쪼갠 브라운 조각들을 모아서 주가 수익률 시뮬레이션 모델을 만드는 것이 교육 과정을 첫 걸음이었다. 브라운 조각들 하나하나가 정규분포를 따른다고 가정하고, 그런 정규분포 조각들이 수십억개가 모여도 여전히 정규분포를 따른다는 수리통계적 논리를 바탕으로, 그 조각들의 세계를 설명하는 확률과정(Stochastic Process), 그 조각들의 미분, 적분을 찾는 일본 수학자 이토(Ito)의 보조정리(Ito’s lemma)가 필요한 핵심적인 수학 도구였다.

위의 수학은 1920년대에 증명이 완성됐고, 다른 학문에서 언제 어떻게 쓰였는지는 잘 모르지만, 내 전공인 금융시장 파생상품 가격 모형에 ‘블랙-숄츠-머튼 (Black-Scholes-Merton)’이라는 이름의 모델로 활용된 것은 1970년대에 들어와서였다. 그 때도 지금도, 수학 하시는 분들은 수식이 딱 떨어지는 해답(Analytic solution)이 나오지 않으면 계산을 할 수 없다고 생각하는데, 당시만해도 수식으로 떨어져도 계산하기가 쉽지 않다가, 지난 40년 사이에 컴퓨터 성능이 매우 빠르게 발전한 덕분에 수식이 없는 경우에도 ‘계산 해답(Computational solution)’을 찾아낼 수 있게 됐다. 계산 해답에 대한 비슷한 예시를 들면, 경영학과에서 채권 수익률, 공학에서 3차 이상 방정식에 대한 해를 찾기 위해 각각 재무계산기, 공학계산기를 쓸텐데, 그런 계산기들은 모두 매우 빠른 속도로 ‘시행착오(Trial and error)’를 반복해 답을 찾아낸다. ‘근의 공식’ 같은 식을 이용한 것이 아니라, 모든 값을 다 대입해보고 해답을 찾아내는 주먹구구식 계산이라고 생각하면 된다.

계산 효율(Computational efficieny)는 오차 최소화 및 계산비용 최소화를 통해 달성된다 / 출처= Swiss Institute of Artificial Intelligence

인류와 계산비용과의 싸움

세계 2차대전 중 독일군의 암호를 찾아내기 위해서 만들었다는 ‘튜링 머신(Turing Machine)’을 비롯한 모든 기계 연산은 기본적으로 반복 작업을 단순화해서 인간보다 빠른 속도로 처리하기 위해 고안된 도구들이다. 아무리 머리가 뛰어난 사람이라고 해도 단순 반복 계산을 끊임없이 잠을 자지 않으면서 하기는 힘드니까, 그 계산을 대체하기 위한 도구가 컴퓨터인 것이다.

17세기 파스칼이 만들었다는 단순 계산기부터 지금 이 글을 쓰는데 활용 중인 ’64코어 워크스테이션’까지, 모든 컴퓨터의 목적은 동일하다. 단순 반복 계산을 조금이라도 더 빨리 해주는 도구다.

이런 인류의 도전을 계산과학계에서는 ‘계산비용 최소화’라고 이름 붙이고, 계산비용으로 컴퓨터 가격(으로 요약되는 CPU, RAM 등의 하드웨어), 필요 전력, 프로그래밍 전문가의 인력 비용 등등을 따진다.

쉽게 생각하면 매우 고사양의 하드웨어를 요구하는 게임의 계산비용은 당신이 구매한 컴퓨터 가격, 그 게임을 하기 위해 필요한 전력, 그리고 그 게임 패키지의 가격이다. 그 뒤에는 컴퓨터 하드웨어 산업이 수익성을 내기 위해 책정한 가격, 전력 공급을 위해 국가 단위로 갖춰진 수력-화력-원자력-대체에너지 기반 발전소, 그리고 게임 개발을 위해 힘을 쏟은 게임 개발사의 매출액이 깔려있다.

계산비용과 수학 모델

처음 계산비용이라는 개념을 알게 된 것은 하루 3천개의 브라운 조각으로 잘게 쪼갠 주가 수익률을 1년치로 묶고, 그걸 포트폴리오로 구성한 시뮬레이션을 돌릴 때였다. 하루 6시간의 주식시장 거래를 3천개 내외의 작은 브라운 조각으로 쪼개면 약 6초당 1개 데이터 포인트 정도로 환산하는 건데, 1초도 쉬지 않고 대규모 거래가 끊임없이 반복되는 주가 지수, 대형 블루칩 주식에는 안 맞는 것이 아니냐고 질문하려다가 당장 1년치 포트폴리오를 계산하려니 내 개인 컴퓨터가 멈춰버리는 것을 경험했다.

어린시절부터 고사양 하드웨어가 필요한 게임들을 저사양 컴퓨터에서 돌리기 위해서 갖은 최적화를 해 봤던 경험으로 이런 저런 자료를 찾다가, 사용 시간을 늘리기 위해 전력 소모를 최소화한 모바일 CPU가 아니라 고급 데스크탑, 아니 슈퍼 컴퓨터 같은 서버들을 써야 한다는 것을 그 때 처음 알았다.

수식이 딱 떨어지는 해답의 세상에만 살다가 계산 해답으로 전공이 바뀐 것을 체감하기도 잠시, 쏟아지는 과제들을 해결하려면 단순히 Matlab, R 같은 학문용 프로그래밍 언어를 쓸 것이 아니라, C라고 하는 컴퓨터 언어를 써야 계산 속도를 최대치로 뽑아낼 수 있다는 것도 알게 됐고, 무엇보다 고사양 컴퓨터를 갖고 있어야 속도 싸움에서 이길 수 있다는 것도 알게 됐다.

그러다 계산과학(Computational Science) 전용 프로그래밍 수업을 하나 들었는데, 데이터 셋 마다 다양한 방식을 활용해 약간의 정확도를 포기하고 계산 속도를 비약적으로 올려주는 수학적 변형이 계산과학 분야에서 장기간 누적된 지식이라는 것을 배웠다.

계산 효율(Computational efficieny)는 오차 최소화 및 계산비용 최소화를 통해 달성된다 / 출처= Swiss Institute of Artificial Intelligence

데이터 셋에 맞는 수학적 변형으로 계산 비용을 줄인다

예를 들어, 주파수 같은 데이터는 수식 변형을 이용하면 패턴과 패턴이 달라지는 부분만 담은 정보로 변형할 수 있다. 라디오 방송국이 주파수 도약을 이용해서 멀리까지 방송을 보내고, 조그만한 라디오 기계로 그 방송을 쉽게 들을 수 있는 것도 모두 주파수라는 데이터를 적절하게 변형했기 때문이다. 주파수를 그냥 그대로 쏘면 도시처럼 주변 방해물이 많은 지역, 비오는 날, 안개 낀 날 등등에는 주변 몇 km정도 범위 밖에 도달하지 못할 것이다.

같은 관점으로 데이터의 형태를 변형하고 축소시키는 것을 파일 압축에도 쓰고, 일부의 정보 손실을 감당하면서까지 파일 압축이 반복되면 인터넷 용어로 ‘디지털 풍화’가 된 이미지들을 예로 들 수 있다.

같은 관점으로 데이터의 형태를 변화시켜서 계산 비용을 크게 줄이는 것을 배웠는데, 주파수와 이미지에 똑같은 파일 압축법을 쓰지 않듯이, 데이터 형태마다 적절한 압축 방식이 다르다는 것도 알게 됐고, 수식을 통해 어떤 변형이 더 합리적인지를 가늠할 수 있는 역량도 갖추게 됐다.

이런 훈련이 안 된 분들은 보통

“수학은 무슨 말인지 잘 모르겠고, 일단 이것저것 다 해 보고 비교해봐야 안다”

라고 반박한다. A형태의 데이터에 가장 효율이 좋다고 해서 B형태의 데이터에서 가장 효율이 좋을지는 어떻게 아느냐고 물어보면

“어차피 다 돌려봐야 되는거 아니냐”

라는 대답도 종종 듣는데, 모두 수학 훈련이 부족하기 때문일 것이다.

이런 분들과 수학 훈련도는 비슷한 상태이지만 회사에서 든든한 금전적인 지원을 받는 분들은

“잘 모르겠는데, 서버 좋은거 사면 해결되는거 아니냐?”

라는 반박을 내놓기도 한다.

하드웨어로 풀리지 않는 계산 비용

지나치게 하드웨어 의존적, 실험 의존적인 분들을 강하게 비판하고 있지만, 반대로 하드웨어에 대한 기초 지식이 부족한 내 입장에서는 어떤 하드웨어가 내가 해야하는 계산에 최적 제품인지 알아내기 쉽지 않다. 단순하게 웹 서비스를 돌리는 서버만해도 CPU 코어 숫자가 많은 것이 중요하지, 1개의 CPU가 얼마나 빨리 돌아가는지 클럭(Clock) 숫자는 그렇게 크게 중요하지 않다는 것을 단순히 벤치마크 결과를 보고 아는 것 이상으로 이해하는데는 오랜 시간이 걸렸다. 무조건 빠른 것이 좋은 것이라는 선입견을 벗어나고 나니, 왜 시장이 저전력 CPU를 열심히 개발했는지, 그래서 웹 서비스용 서버의 전력 소모를 최소화하는데 투입했는지 이해하게 됐다.

하드웨어 최적화 뿐만 아니라, 위의 압축 방식 예시처럼 프로그램을 어떻게 설계하는지, 웹 서비스라면 데이터베이스를 어떻게 설계하는지 같은 도전들이 굉장히 중요한 내용인데, 학습이 된 분들은 어떤 키(Key)를 써야 데이터베이스를 우리 서비스 목적에 맞게 쓸 수 있는지 단번에 파악하는 반면, 모르는 사람들은 불편하게 느린 속도를 감수할 수밖에 없다.

더 고급 계산으로 올라가면 위의 수학적 변형이 중요한 요소로 등장하고, 그런 역량이 없으면 결국

“잘 모르겠는데, 서버 좋은거 사면 해결되는거 아니냐?”

라는 사람이 된다.

계산 비용과 계산 효율

알파고 이후 한참 딥러닝 계산이 유행하던 시절, 어느 개발자가 위의 지식은 하나도 필요없고,

“그냥 딥러닝 돌리면 되는데, 그런 쓸데없는 거 뭐하러 배워야 되나요?”

라는 질문을 했던 적이 있다.

우선 위의 내 전공에서 다루는 금융시장 자산수익률 시뮬레이션은 딥러닝과 하등 관련이 없는 수학 모델이고, 비선형 패턴을 찾아내는 일부 분야에서 막대한 계산비용을 써야하는 계산법이 자기 눈 앞의 데이터 셋에서 잘 맞으니 다른 모든 데이터 셋에서도 잘 맞을 것이라고 확신하는 것을 보면서 식견 차이에 말문을 잃곤 했었다.

계산비용이라는 개념을 처음 공부하던 시절에 나 역시 수 많은 변형 모델들이 나오니까 이걸 굳이 다 배워야하나, 좀 더 단순하고 다양한 곳에 적용되는 모델은 없나는 생각을 한 적이 있기는 하다. 그러다 ‘계산 효율(Computational efficiency)’라는 개념을 만났는데, 수학적 변형을 어떻게 쓰느냐에 따라 정확도를 얼마나 포기하면서 시간 소비를 최소화할 수 있는지에 대한 상충관계(Trade-off)를 따지는 관점이었다.

수업 과제를 풀면서 수학 변형에서 약간의 실수가 있으면 계산 효율을 엄청나게 잃어버리는 사례들을 여러차례 목격하고는 더 이상 ‘단 하나의 완벽한 해결책’을 찾는 것을 포기했는데, ‘딥러닝 마니악’이신 분들에게도 그런 기회가 주어졌으면 조금은 관점이 바뀌셨으리라.

AI반도체, 필요한 분들은 누구일까?

요즘보면, 너도나도 AI반도체를 구매해야 한다면서 목소리를 높이고, AI반도체를 만들고 있다고만하면 회사 가치가 천정부지로 치솟는 경우들을 본다. 그런데 내가 AI반도체라고 불리는 몇몇 그래픽 카드 회사 제품을 쓸 일이 있나 생각해보면 솔직히 잘 모르겠다. 그건 대형 데이터 셋에서 반복 계산으로 다양한 패턴을 빠른 속도로 찾아내는 사업에 필요한 하드웨어인데, 그 정도 대형 데이터 셋을 내가 과연 갖게 될 일이 있을지, 빠른 속도로 다양한 패턴을 찾아내야하는 일이 과연 얼마나 있을지 잘 모르겠다.

하드웨어로 계산 효율화를 추구하시는 분들 리그에 있질 않다보니 감이 부족한 것일수도 있겠지만, 우리 회사에 챗GPT 같은 LLM을 써서 수익 모델이 나올 것 같지도 않고, 몇몇 대기업들이 회사 관련 자료를 다 모아놓고 LLM을 만든다지만, 어차피 신입 사원은 회사가 보유한 관련 문서를 대부분 읽어야 일을 제대로 할 수 있는 것은 똑같다. 계산 비용, 계산 효율 관점을 넘어서, 필요한지를 잘 모르겠다. 거기다 ‘할루시네이션(Hallucination)’을 다 피한 LLM을 만들 수 있을까? 회사 업무 관련해서 잘못된 정보가 주어졌다가 신입 사원들이 엉뚱한 짓을 해 놨으면 회사에 큰 문제가 생기는 것은 아닐까?

그런 계산 속도가 필요한 분들이 분명히 있긴 하겠지만, 이렇게 모든 사람들이 달려들어야하는지는 잘 모르겠다. 최소한 Hallucination이 왜 생기는지, 이걸 최대한 피하기 위해 모델 구성과 데이터 구성 방식을 어떻게 조절해야하는지 제대로 이해는 하고 LLM 개발에 들어가야 할텐데, 그럼 결국 통계학의 ‘요인 분석(Factor analysis)’부터 개념 정리가 되어야 할 것 같은데, 이런 개념들이 제대로 이해된 상태에서 LLM 개발을 하는 분들은 과연 몇 명일까? 더 중요한 사실은, 그렇게 Factor 기반으로 데이터 처리하는 계산을 알면 계산 속도에 대한 의존성이 뚝 떨어진다는 것이다. 수학적으로 모델을 약간 변형하고, 거기에 맞춰 데이터 셋만 조절해도 엄청나게 계산 비용 상에서 이득을 보는 것을 알 수 있는 눈을 갖췄기 때문이다.

IT기반 사업체를 운영하다보면 개발 인력들은 ‘최신’, ‘비싼’, ‘핫한’ 하드웨어를 우리 회사가 구매 해야된다고 목소리를 높이는 경우가 많다. 난 위의 논리로 반박한다. 필요한 곳도 없고, 필요하다고 주장하는 업무도 데이터 변형, 수학 모델 변형만으로 충분해보인다며 하드웨어 구매 요청을 일언지하에 거절하면 불만이 가득찬 표정이다. 자기네들은 그런 수학 모델을 모르기 때문일까? 아니면 그들도 그저 ‘AI트렌드’를 따라 가고 싶은데 자기가 돈을 쓰고 싶지 않기 때문일까?

엔지니어들더러 영업을 뛰라고 할 수는 없겠지만, 최소한 돈이 되는 사업 모델이어야 투자가 이뤄지는 것이 상식이라는 것 정도는 그들도 알고 있을텐데, 요즘 국내 최상위권 전자 업체들이 AI반도체라고 불리는 H100을 무려 5천대나 구매했다는 이야기를 듣고 황당함을 감출 수 없었다. 한 대에 5천만원에 육박하는 H100을 100대도 제대로 쓰지 않을 회사에서 왜 5천대나 구매했을까? 차라리 그 돈으로 수학 모델링 잘 하는 직원 10명 팀을 운영했으면 H100이 구형 모델이 되더라도 눈 하나 깜짝하지 않고 회사를 운영할 수 있었을텐데?

이 회사도 대충 보니까 ‘AI 도입하신 것 같던데요’

어느 기술 전문지에서 10년 정도 일을 했다는 전문 기자 분을 만난 적이 있다. 우리 회사에 대해서 뭘 알아보고 오셨냐고 여쭤보니 ‘이 회사도 대충 보니까 AI도입하신 것 같던데요’라는 표현을 쓰더라.

도대체 뭘 했길래 우리 회사가 ‘AI도입’이라고 묶이는지 그 때도 이해를 못했고, 지금도 잘 이해를 못하겠다. 그 때 기준으로 이미지 인식 알고리즘 붙여놓은 서비스 하나 갖고 있으면 ‘AI를 도입’한 회사인가? 요즘 기준으로 LLM 모델을 하나 만들어서 서비스를 하고 있으면 ‘AI를 도입’한 회사가 되나? 운영 중인 언론사 웹사이트에 1주일이면 LLM을 붙일 수 있고, AI대학원에 교육 목적으로 만들고 있는 위키피디아 식의 정보 저장소에도 역시 1주일이면 LLM을 붙일 수 있다. 고급 자료들만 모여있는데 정작 데이터 크기는 크지 않기 때문에 LLM을 ‘학습’시키는데 들어가는 ‘계산 비용’도 그리 크지 않다. 안 하고 있는 이유는 그게 전혀 수익성을 낼 길이 보이지 않기 때문이다. 단지 ‘AI를 도입’한 회사라는 타이틀이 중요하지 않기 때문이기도 하다.

막대한 계산 비용을 부담했을 때는 그 비용이 수익성으로 전환되어야 하는데, 수식과 데이터 변형을 이용해 계산 비용을 매우 줄일 수 있는 회사 입장에서도 딱히 수익성이 안 보이니 그 비용을 모두 부담해야하는 회사들은 도대체 어떻게 수익성을 만들어 낼 수 있을지 자못 궁금할 뿐이다.

Similar Posts

답글 남기기