brunch
매거진 독서노트

독서 노트 : 수학은 알고 있다(4)

미래가 오는 패턴을 파악하라

by CalmBeforeStorm

수학은 알고 있다

김종성,이택호 저 | 더퀘스트 | 2024년 08월 01일

https://m.yes24.com/Goods/Detail/129147284

“수학은 알고 있다”에서 저자들은 수학이 우리 삶과 예측에서 얼마나 중요한 역할을 하는지를 다양한 예시로 설명합니다. 그들은 예측의 과정이 단순한 계산이 아니라, 인간의 사고와 인식에 깊이 뿌리박혀 있음을 강조합니다. 책을 통해 독작들은 수학은 단순한 수식이 아닌, 복잡한 문제를 풀어나가는 사고 도구임을 알 수 있습니다.


이 책은 우리가 데이터를 다룰 때 무작정 결과를 받아들이기보다는, 그 결과 뒤에 숨겨진 의미와 논리를 신중하게 검토해야 한다는 점을 일깨워 줍니다. 데이터와 통계에 기반한 올바른 판단을 내릴 수 있는 사고력을 기르고 싶은 독자들에게 일독을 권합니다.

* 책의 내용중에 인상 깊은 문장이나 문구를 그대로 옮겼(발췌)습니다.

** 분량이 많은 관계로 나누어 업로드하겠습니다.




5장 미래가 오는 패턴을 파악하라


SKUs의 변화

인류의 역사는 크고 작은 혁명의 연속이었습니다. 특히 산업혁명은 인류의 생활 수준을 폭발적으로 향상시켰죠. 만약 여러분이 선사시대에 살았다면 어떤 물건들이 필요했을까요? 물고기를 잡기 위한 작살, 추위를 막아주는 옷가지, 여러분의 지위를 나타내는 조개 장신구 몇 개 정도면 충분했을 것입니다.


반면에 현대사회는 우리가 아주 많은 것을 가져야 한다고 말합니다. 지금 여러분이 입고 있는 옷과 신발, 손에 들고 있는 책, 곁에 놓아둔 스마트폰, 집에 있는 수많은 전자제품과 가구, 주차장에 세워둔 자동차까지, 우리는 이제 대량 소비 없이는 단 하루도 살아가기 어려운 시스템 속에서 살고 있습니다. 이것이 산업혁명의 선물이든 소비의 저주든 인간의 삶이 산업혁명 이전보다 풍요로워진 것은 사실입니다.


문명의 발전과 풍요로움은 어떻게 측정할 수 있을까요? 유력한 후보는 한 시대의 문명이 갖고 있는 제품의 총 가짓수, ‘SKUsstock keeping units’를 매년 세어보는 것입니다.
tempImageoxqkdX.heic SKUs 추정 그래프


SKUs의 변화 양상을 나타낸 그래프는 많은 것을 말해줍니다. 인류가 전례 없이 빠른 성취를 이루었다는 것에 감탄할 수도, 앞으로 얼마나 더 많은 발전이 일어날지 짐작할 수도 있겠죠. 하지만 이제 정확한 SKUs를 측정하는 것은 사실상 불가능한 일이 되었습니다.


오늘날에는 하루에도 수많은 제품이 새롭게 개발되고 사라집니다. 이 모든 SKUs를 추적하기란 쉽지 않을뿐더러 효율적이지 못한 일이죠. 또한 SKUs를 발전의 척도로 보기에는 무리일지도 모릅니다. 옷 하나에 열두 가지 색상이 있다고 해서 문명이‘12’만큼 더 발전했다고 말할 수 있을까요? 열두 가지 무늬를 새긴 접시를 출시하면 ‘12’만큼 더 풍요로워질까요? 그렇다고 말한다면 굉장한 비약일 것입니다.



궁극의 연산기계

컴퓨터와 스마트폰이 아무리 똑똑해 보일지라도 그 본질은 결국 전기를 이용한 연산 기계입니다. 이 기계는 우리가 사용하는 언어를 이해할 수 없으며 오로지 전기의 켜짐과 꺼짐 상태만 인식할 수 있습니다. 따라서 기계가 이해할 수 있는 새로운 논리학을 먼저 만들어야 했습니다. 이 토대를 마련한 사람이 바로 조지 불George Boole이라는 수학자입니다. 그는 0과 1만 이용한 이진논리binary logic의 기본인 ‘불대수Boolean algebra’를 창안해 인류를 진일보시켰습니다.



무어의 법칙

칩의 집적도는 2년마다 두 배씩 증가한다.

현대사회의 진보 수준은 컴퓨터의 데이터 처리 속도가 결정한다 해도 과언이 아닙니다. 이 속도를 결정하는 것이 바로 칩의 집적도입니다. 집적도는 쉽게 말해 하나의 칩에 얼마나 많은 트랜지스터가 있는가를 판단하는 척도입니다. 그런데 무어의 주장에 따르면, 칩의 집적도는 20년 후에 2를 열 번 곱한 값인 1,024(210)배만큼 증가해야 하고, 40년 후에는 2를 스무 번 곱한 값인 104만 8,576배만큼 증가해야 합니다.


즉 40년 전에 칩 한 개에 트랜지스터를 1,000개 넣을 수 있었다면, 지금은 같은 크기의 칩에 10억 개를 넣은 제품이 나와야 한다는 것이죠. 이건 아무리 생각해도 달성하기 불가능해 보이는 수치입니다. 그렇다면 실제로 칩의 집적도는 얼마나 증가했을까요? 다음 그래프는 1971년부터 2019년까지 실제로 개발된 칩 한 개에 들어간 트랜지스터의 개수를 나타낸 것입니다.

출시 연도에 따른 칩의 트랜지스터 개수


이 그래프는 칩 한 개에 들어가는 트랜지스터 개수가 얼마나 압도적으로 증가해왔는지 그리고 무어의 통찰력이 얼마나 훌륭했는지 보여줍니다. 조금 더 구체적인 숫자로 비교해보겠습니다. 1971년에 개발된 인텔의 칩인 ‘Intel 4004’에는 2,308개의 트랜지스터가 있습니다. 그리고 2019년 출시된 AMDAdvanced Micro Device의 칩인 ‘EPYC Rome’은 395억 개의 트랜지스터를 갖고 있습니다. 즉 1971년부터 2019년까지 48년간 칩 하나에 들어가는 트랜지스터의 개수는 약 1,711만 4,384배 폭증한 것이죠.


여기서는 단순히 완제품 칩 하나에 존재하는 트랜지스터 개수를 나타냈습니다. 조금 더 공정하게 비교하고자 한다면 두 칩의 규격이 다르므로, 동일 면적 대비 트랜지스터 개수를 비교하는 것이 옳을 수도 있습니다. 그러나 불량이 없는 거대한 칩 하나를 만들어내는 것도 일종의 기술력이라고 본다면 아주 불합리한 비교라고 말할 수도 없을 것입니다. 이 엄청난 증가세를 달성하려면 칩의 집적도가 몇 년마다 두 배씩 증가해야 할까요? 처음부터 지금까지 반도체 개발의 역사를 돌아보았을 때, 실제로 칩의 집적도는 약 2년마다 두 배씩 높아진 것이죠. 실제로 2년마다 칩의 집적도가 두 배씩 증가한다는 무어의 법칙은 실현되어 왔으며 지금도 유효합니다.


무어는 50년 후를 정확하게 내다본 것입니다. 그런데 과연 향후 50년도 무어의 법칙을 따르게 될까요? 그렇다면 50년 후의 인류는 지금보다 약 3,000만 배 더 강력한 컴퓨터를 가지게 됨을 의미합니다. 수많은 전문가의 마음속에는 이러한 성장이 없을지도 모른다는 의구심이 자리 잡고 있죠.



무어의 법칙은 끝났는가

반도체의 아버지라 불릴 정도로 놀라운 업적을 이룩하고 50년 후를 내다본 고든 무어는 2023년 3월 24일에 세상을 떠났습니다. 공고하게 자리를 유지하던 무어의 법칙 또한 위태롭다고 사람들은 말하고 있죠. 이 위기를 이해하려면 반도체가 지금까지 어떤 방식으로 발전해왔는지부터 이야기하는 것이 좋겠습니다. 누군가 여러분에게 엄지손가락 만한 크기의 종이와 보드 마커를 주고 종이에 가능한 많은 가로선을 그어달라고 요청했다고 생각해보죠. 분명 여러분은 직선이 겹치지 않게 주의하면서도 각각의 선들을 최대한 가깝게 그리려 노력할 것입니다.

tempImagekOWDK6.heic 간격을 좁히면 더 많은 직선을 그릴 수 있습니다.


하지만 종이에 그릴 수 있는 선의 개수를 결정하는 요소가 더 있습니다. 바로 선의 두께입니다. 보드 마커의 두께가 5밀리미터 정도로 매우 두껍다면, 여러분은 답답함을 느끼고 더 얇은 펜을 찾을 가능성이 높습니다. 제한된 공간 안에 많은 선을 그리고자 한다면 간섭이 일어나지 않을 만큼 좁은 간격을 유지하면서도 각 선의 두께는 최대한 얇아야 하기 때문입니다.


종이와 보드 마커를 건네준 사람이 얇은 펜으로 종이에 선을 그려도 좋다고 말한다면 가장 흔한 필기도구 중 하나인 0.5밀리미터 샤프를 사러 문구점으로 향할 것입니다. 운이 좋다면 0.3밀리미터 샤프를 발견할지도 모르죠. 이처럼 펜의 두께가 가늘수록 더 많은 직선을 그리는 것이 가능하지만, 극도로 얇은 펜을 제조하는 것은 고도의 기술력을 필요로 합니다. (제한된 공간에 훨씬 더 많은 직선을 그리려면 선이 가늘어야 합니다.)


여기서 한 가지 재미있는 질문을 해보겠습니다. 만약 기술력이 보장된다면 무한히 얇은 펜을 만들 수 있을까요? 아쉽게도 그럴 수는 없습니다. 샤프심이 종이 위에서 잘 미끄러지는 유용한 필기도구인 이유는 샤프심의 재료인 ‘흑연’이 가진 특성 때문입니다. 따라서 샤프심은 흑연이라는 최소한의 구조적 요건을 갖춰야 하므로, 무한히 얇은 샤프심을 만드는 것은 불가능합니다.


흑연의 결정 구조를 깨뜨리면 더 이상 샤프심이라 불릴 수 없죠. 지금까지의 이야기를 반도체 개발에 그대로 적용해보겠습니다. ‘샤프로 종이에 선을 그리는 것’을 반도체의 언어로 바꿔 말하면 ‘빛으로 웨이퍼에 패턴을 새기는 것’이라고 할 수 있습니다. 더 많은 트랜지스터를 칩에 새기려면 패턴의 폭이 더 좁아야 합니다.


선을 가늘게 그리려면 더욱 얇은 샤프심을 사용하면 됩니다. 그렇다면 웨이퍼에 폭이 더 좁은 전기회로 패턴을 새기기 위해서는 어떻게 해야 할까요? 그 답은 ‘최소선폭critical dimension, CD’을 결정하는 ‘레일리 기준Rayleigh criterion’이라 불리는 방정식에서 찾을 수 있습니다.

tempImageRLwmjI.heic ‘레일리 기준Rayleigh criterion’

레일리 기준은 세 변수의 곱과 나누기로 이루어진 단순한 방정식입니다. 이 방정식에서 가장 먼저 눈에 띄는 것은 빛의 파장을 나타내는 람다입니다. 이 값이 작을수록, 다시 말해 빛의 파장이 짧을수록 더 작은 전기회로를 구성할 수 있습니다. 더 짧은 파장의 빛을 사용하는 것이 더 얇은 샤프심을 사용하는 것과 대응하는 것이죠. 칩 개발의 역사는 짧은 파장의 빛을 생성하기 위한 기계를 만드는 역사와 맥을 같이해왔습니다. 칩에 패턴을 새기는 장비를 만드는 회사인 ASMLAdvanced Semiconductor Materials Lithography은 수은증기램프를 이용해 436나노미터 자외선 파장의 빛을 만들어, 약 1,000나노미터 수준의 패턴을 새길 수 있는 장비를 최초로 만들었습니다.


더 짧은 파장의 빛을 이용해 칩의 집적도를 높이는 노력은 계속되어, 지금은13.5나노미터의 파장을 이용해 3나노미터 수준의 칩을 만들어냅니다. 극자외선extreme ultraviolet, EUV으로 불리는 13.5나노미터 파장의 빛은 초속 70미터로 이동하는 지름 25 마이크로미터인 주석 방울을 레이저로 기화시켜 만들어냅니다. 이 장비를 개발하는 데 성공한 ASML은 칩에 패턴을 새기는 리소그래피lithography 장비 분야에서 독보적인 1위 기업이 되었습니다. (1나노미터는0.000000001미터로, 머리카락 굵기의 10만 분의 1 수준입니다.)


빛의 파장을 줄이는 데 한계에 봉착해 최소선폭을 더 낮출 수 없다면, 레일리 기준의 다른 두 가지 변수를 증가시키거나 줄일 수도 있습니다. 그러나 무한히 얇은 펜을 만드는 것이 불가능한 것처럼, 전기회로의 미세화 또한 근본적 한계가 존재합니다. 바로 ‘터널효과tunnel effect’ 때문입니다. 전기의 흐름은 ‘전자’라는 입자의 흐름이고 칩에 패턴을 새기는 것은 이 전자가 흘러가는 길을 만들어주는 것입니다. 전자의 길이 넓다면 전자의 움직임을 예측하는 것은 어렵지 않습니다. 여기까지는 고전역학의 영역입니다.


그러나 공정이 미세화되면 양자역학이라는 새로운 물리학이 지배하는 영역에 들어서게 되고, 이 세계에서는 전자가 정해진 길을 이탈해 다른 곳으로 순간이동하는 것처럼 보이는 터널효과가 나타납니다. 이는 원하지 않는 영역에 전기가 흐르는 결과를 만들어내므로 소비 전력을 증가시키고 기계 오작동의 원인이 되죠. 이런 현상은 공정을 미세화할수록 심해집니다.

tempImageCxOr3V.heic 양자역학의 세계에서 전자는 장벽 너머로 이동할 ‘확률’이 있습니다.

따라서 칩 제조사들은 이 문제가 일어나지 않도록 반도체의 구조를 변경하는 등 각고의 노력을 기울이고 있습니다. 이러한 가운데 설립자인 무어의 뒤를 이어서 인텔을 이끌고 있는 패트릭 겔싱어Patrick Gelsinger는 무어의 법칙이 여전히 살아 있으며, 반도체는 앞으로도 예측 가능한 수준으로 빨라지고 저렴해질 것이라고 주장합니다. 심지어 그는 인텔이 새로운 칩 패키징 기술을 이용해 적어도 2031년에는 무어의 법칙을 능가하는 ‘슈퍼 무어의 법칙’을 달성할 것이라고 공공연하게 말하죠.


그러나 반도체 부문 시가 총액 1위로 우뚝 선 기업 엔비디아의 최고경영자 젠슨 황Jensen Huang은2022년에 무어의 법칙이 끝났다며 성능 향상에 따른 칩 가격 상승이 불가피하다고 주장하기도 했습니다.


50년이 지난 지금도 무어의 법칙을 세계적 기업의 수장이 여전히 언급하고 미디어에서 지속적으로 조명하는 이유는 무엇일까요? 아마도 이 법칙이 인류가 진보하는 속도를 설정했기 때문인지도 모릅니다.


무어의 법칙으로 대표되는 칩의 발전은 컴퓨터 속도를 빠르게 해줬을 뿐 아니라 우리의 삶을 더 근본적으로 변화시켰습니다. AI가 그 대표적인 예로, 인공신경망을 이용한 딥러닝이 도입될 수 있었던 것은 칩의 속도가 빨라진 덕분이었죠. 앞으로도 몇 년마다 칩의 집적도가 두 배가 되는지에 관한 질문은 유효할 것입니다.

우리의 다음 세대는 몇 년 만에 집적도 두 배를 이룩할 수 있을까요?
그에 따라 우리의 삶은 또 어떻게 변화할까요? 아니면 언젠가 미세화의 한계에 봉착해 더 이상 발전하지 않는 정적 세계가 도래하게 될까요?
현재 AI 데이터센터가 어떻게 구축되는지를 통해 우리는 이 답의 일부를 엿볼 수 있습니다.



AI를 가속하는 방법

트랜지스터의 집적도 향상과 더불어 GPU라 불리는 칩의 개발은 AI 발전의 역사에서 극적인 전환점이었습니다. 원래 GPU는 게임과 애니메이션의 그래픽 연산을 위해 만들어진 장치였습니다. 게임과 애니메이션은 짧은 시간 내에 모든 픽셀이 계산에 따라 변해야 한다는 공통점을 갖고 있습니다. 이는 동시에 연산할 수 있는 능력을 요구하죠. GPU는 이런 ‘병렬 연산’에 특화된 제품이었습니다. 물론 CPU도 연산을 수행합니다.


하지만 CPU는 1,000개의 디저트 위에 체리를 얹어 손님에게 내보내야 하는 셰프의 처지에 놓여 있습니다. 체리를 디저트 위에 올리는 것은 아주 중요한 일이긴 하지만, 셰프가 직접 하나씩 섬세하게 체리를 올리다가는 메인 요리를 만들 시간이 부족해지므로,


이런 단순 작업은 차라리 종업원 열 명에게 맡기는 것이 낫습니다. CPU가 셰프라면 GPU는 체리를 올리는 디저트 전문 종업원 열 명에 해당하죠.


이러한 GPU의 연산 특성이 어떻게 AI 발전에 영향을 줬을까요? 이는 지금 AI 분야에 주로 사용되는 딥러닝의 작동방식을 생각해보면 답이 나옵니다. 오픈AI의 GPT-4, 구글의 제미나이 등 거대 언어모델로 불리는 최신의 AI는 이름 그대로 엄청나게 거대한 인공신경망 모델을 갖고 있습니다. 여기서 ‘거대’하다는 것은 보통 인공신경망에 사용되는 ‘파라미터’의 개수를 의미합니다.


여러 인공신경망 모델의 파라미터 수 파라미터가 많아질수록 그만큼 더 큰 연산 능력이 요구되는 것은 당연한 일입니다. 다만 파라미터를 계산하는 것은 메인 요리가 아니라 디저트 위에 체리를 올리는 수준의 작업이죠. 이런 이유로 AI 연구자들은 GPU 병렬 연산을 인공신경망 모델에 활용하기 시작했습니다. GPU를 제작하는 기업 중 하나인 엔비디아 또한 자신들의 제품이 AI에 활용될 수 있음을 일찍이 알아채고, 신경망에 특화된 GPU 제품을 출시하기 시작했습니다.


인공신경망에 적용되는 파라미터의 개수는 빠르게 증가하고 있습니다. 앞에 제시된 차트는 여러 인공신경망 모델이 가진 파라미터 개수를 나타냅니다. 이 차트에서 GPT-1(117만 개)과 GPT-3(1,750억 개)를 단순 비교하면, 단 2년 만에 파라미터가 약 15만 배 늘었음을 알 수 있죠. 차트에는 없지만, 2023년 3월 출시된 챗 GPT-4는 약 1조 7,000억 개의 파라미터를 갖고 있다고 알려져 있습니다. 이전 버전인 GPT-3보다 열 배 많은 파라미터를 가진 대형 언어모델이 2년 6개월 만에 출시된 셈입니다. 모델이 가진 파라미터의 수가 이렇게 급격히 증가한 이유는 칩의 공정 미세화만으로는 설명하기 어렵습니다. 무어의 법칙은 아무리 긍정적으로 보아도 1년에 두 배의 성장을 이야기하고 있으니까요.


그런데 종이에 더 많은 선을 그리는 방법은 하나 더 있습니다. 바로 큰 종이를 사용하는 것이죠. 칩의 미세공정을 통해 트랜지스터의 수를 늘리면 소비 전력을 줄이는 등 여러 장점이 있지만, 이것이 불가능하다면 칩의 크기 자체를 늘리거나 칩을 여러 개 연결해 규모의 경제를 달성하는 방법이 있습니다.


여러 개의 칩을 하나로 묶는 기술을 멀티칩모듈multi-chip-module, MCM이라 하며, 원활한 데이터 교환을 위해 칩 설계업체는 까다로운 기술을 개발해야 합니다. 엔비디아는 NV링크NVLink 라는 칩간 통신기술을 개발했고, GPU 분산 네트워크를 위해 인피니밴드InfiniBand라는 기술을 도입했습니다. AMD 또한 인피니티패브릭Infinity Fabric이라 불리는 기술을 개발한 바 있습니다.


2024년에 엔비디아는 최대 10조 개의 파라미터를 지원하는 블랙웰Blackwell GPU의 출시를 예고했는데요. 블랙웰은1,040억 개의 트랜지스터를 가진 단일 칩 두 개를 하나로 패키징해 2,080억 개의 트랜지스터로 묶은 다음, 이 GPU를 다시 여러 개로 연결해 병렬 연산이 가능한 거대한 컴퓨터 집합을 만들 수 있습니다. 이것이 바로 현시대가 추구하는 ‘가속컴퓨팅accelerated computing’입니다.


가속컴퓨팅이 장밋빛 전망만 보여주는 것은 아닙니다. 가장 큰 문제는 막대한 전력 소모에 따른 이산화탄소 배출입니다. 2,000억 개의 파라미터로 모델을 훈련하면 약 75톤의 이산화탄소가 배출되는 것으로 알려져 있습니다. 따라서 공정의 미세화 같은 전력 혁신이 반드시 동반되어야 합니다.


지금까지 정보화사회의 진보를 나타내는 척도가 무어의 법칙이었다면, 앞으로 출현할 AI 사회의 진정한 척도는 ‘파라미터의 법칙’이 될지도 모릅니다.


인간의 뇌에 존재하는 신경세포 간의 연결을 파라미터라고 가정한다면, 뇌는 100조 개의 파라미터를 가졌다고 할 수 있습니다. 이론상으로는 곧 뇌의 연결을 따라잡는 인공신경망 모델을 만들 수 있는 것입니다.


일부 사람은 인공신경망의 파라미터가 인간의 뇌를 능가하면 기계가 인간과 동일한 지능을 가질 수도 있다고 주장해왔습니다. 이 주장이 현실이 될지는 머지않아 알게 될 것 같네요. 트랜지스터의 집적도, 거대언어모델의 파라미터 개수는 불과 몇 년 만에 급성장해 그 흐름을 따라가기가 버거울 지경입니다. 칩의 트랜지스터는 48년 만에 2,308개에서 3,950억 개가 되었고, 파라미터의 수는 5년 만에 117만 개에서 1조 7,000억 개가 되었죠. 이렇게 어마어마한 숫자의 스펙트럼을 파악하려면 또 다른 수학적 도구가 필요합니다. 바로 ‘로그’입니다.



인체 감각의 전형적 패턴

사람의 감각기관은 놀랍도록 민감해서 사람은 피부에 가해지는 미세한 압력을 인지하며 어둠 속에서 희미하게 반짝이는 빛도 볼 수 있습니다. 청력도 마찬가지입니다. 사람이 들을 수 있는 가장 작은 소리에너지를 1로 정한다면, 가장 큰 소리에너지는 1,000,000,000,000 정도입니다. 즉 사람은 1부터 1조에 이르는 아주 광범위한 소리의 에너지를 인지하는 셈이죠. 그래서 청력은 자신의 몸을 보호하는 주요한 수단입니다.


아주 작은 모기의 날갯짓부터 큰 폭발음에 이르는 소리를 들음으로써 위험을 즉시 인지할 수 있기 때문입니다. 동시에 청력의 민감성은 문제를 일으킬 가능성이 있습니다. 자동차 경적은 여름철 매미가 우는 시끄러운 소리보다 100배에서 1,000배나 더 큰 소리에너지를 갖습니다. 그렇다면 갑자기 울린 자동차 경적이 매미 우는 소리를 듣던 여러분에게 1,000배 더 큰 자극을 주게 될까요? 실제로 그런 일이 벌어진다면 자동차를 피하기도 전에 자동차 경적에 놀라 심장마비로 사망할지도 모릅니다. 청력은 바로 이 지점에서 딜레마에 빠집니다.


아주 작은 소리도 놓치지 않아야 하지만 오히려 아주 큰 소리를 들었을 때는 그 에너지에 비해 믿을 수 없을 정도로 둔감해져야 하죠. 즉 인지하는 감각의 세기가 실제 세계의 물리적 에너지에 비례하면 여러 문제가 생기므로, 감각은 실제보다 조금 더 둔하게 반응해야 합니다.


다행히 인류는 들어오는 정보(소리)를 선형적으로 처리하지 않도록 진화한 것으로 여겨집니다. 갑작스럽게 패닉에 빠지지 않기 위해 청각은 ‘소리의 실제 에너지’와 이를 ‘인지하는 감각의 세기’의 관계를 다음의 그래프와 같이 받아들이고 있을지도 모릅니다.
인지하는 감각의 세기는 직선이 아닐 것입니다.


청각뿐 아니라 대부분의 감각이 같은 방식으로 작동한다고 추정됩니다. 완전한 어둠 속에서 촛불 하나를 켰을 때는 그 차이를 즉각적으로 인식할 수 있지만, 초를 1,000개 켠 상태에서 하나를 더 켠다 해도 밝기의 차이를 인식하기는 어렵습니다. 이런 특성은 소비 심리에도 적용됩니다. 저렴한 물건을 살 때는 1,000원의 가격 차이에도 민감하게 반응하지만, 5,000만 원처럼 비싼 제품을 살 때는 1,000원의 가격 차이를 신경도 쓰지 않죠. 심리학자인 에른스트 베버Ernst Weber와 구스타프 페히너Gustav Fechner는 이러한 사실을 일찍이 발견했습니다. 이는 ‘베버-페히너 법칙Weber-Fechner law’으로 불립니다.

베버-페히너 법칙: 인지되는 감각의 크기는 자극의 로그값에 비례한다.



거인을 난쟁이로 만들기

이렇듯 자연에서 측정하고 나타내야 하는 숫자들은 그 범위가 광범위한 데다가 너무 큰 숫자는 그 값이 얼마인지 짐작하기 어렵게 만듭니다. 따라서 규모가 큰 데이터를 나타내려면 효율적이고 경제적인 새로운 척도가 필요합니다. 이런 조건을 만족하는 수학도구가 바로‘로그’입니다.


로그라는 단어에 전혀 겁을 먹을 필요가 없는 이유는 여러분이 큰 수를 표현하기 위해 로그 체계를 이미 익숙하게 사용하고 있기 때문입니다. 여러분의 통장에 10억 원, 즉 1,000,000,000원이 있다고 생각해보겠습니다. 이 숫자를 친구에게 보여준다면 그 친구는 “대체 0이 몇 개야”라고 감탄할지도 모릅니다. 이처럼 아주 큰 숫자를 이야기할 때, 많은 사람이 0의 개수를 이야기하는 경향이 있습니다.


이때 친구는 ‘9’라는 작은 수를 이용해 ‘10억’에 달하는 큰 숫자를 표현하고 있는 것입니다. 이것이 정확히 로그가 하는 일입니다. 1,000,000,000 앞에 ‘log’ 글자와 함께 10을 조그맣게 적으면, ‘1,000,000,000은 10을 몇 번 곱한 숫자인가?’를 수학적으로 표시한 것이 되며 그 답은 ‘9’입니다. 이런 방식으로 로그 체계를 이용하면 스펙트럼이 아주 넓은 숫자들을 수학적으로 재규정할 수 있습니다.


통제 불가능한 거대한 숫자를 쉽게 인식할 수 있는 숫자로 바꿔주는 것이죠. 이러한 변환 과정에서 반드시 명심해야 하는 것이 있습니다. 밑이 10인 로그를 사용한 표기에서 1이 증가한다면 실제 값은 열 배 증가한 것이란 사실입니다.

tempImageikgLFA.heic 밑이 10인 로그를 이용한 변환 체계


10부터 10억’을 ‘1부터 9’의 값으로 변환하는 것이 스펙트럼을 지나치게 축소한 결과라고 생각된다면, 밑이 다른 로그를 사용해 축소 범위를 마음대로 조정할 수 있는 것도 로그의 장점입니다. 10억은 10을 아홉 번 곱한 값이면서 동시에 2를 30번 곱한 값(1,073,741,824)과도 가깝습니다. 따라서 밑이 2인 로그는 10억의 범위를 30으로 축소하긴 하지만, 밑이 10인 로그보다는 더 관대합니다.


이런 식으로 로그 체계는 밑을 변환함으로써 입맛에 맞게 수의 범위를 축소할 수 있습니다. 또한 로그 체계는 지수적으로 증가하는 데이터를 좌표 평면에 표현하는 데도 큰 도움을 줄 수 있습니다. 한 주기마다 반도체의 집적도가 두 배 증가하는 무어의 법칙을 있는 그대로 좌표평면에 나타내려 한다면, 어느새 숫자의 격차가 너무 커져서 개별 데이터 간의 차이를 식별하기가 굉장히 어려워집니다.


일례로 Intel 4004 모델은 약 2,300개의 트랜지스터를 가진 반면에, Intel 8088 모델은 2만 9,000개의 트랜지스터를 갖고 있으므로 그 격차가 열 배를 넘습니다. 하지만 400억 개의 트랜지스터를 가진 EPYC ROME 모델과 함께 이들을 표시하면 ‘Intel 4004’와 ‘Intel 8088’ 모델은 그 차이가 거의 없어 보이죠. 이는 지수적 증가 또는 감소의 추세를 나타내는 그래프에서 흔히 나타나는 문제입니다.


지수적으로 증가하는 데이터를 그래프에 표시했을 때 발생하는 문제점

오른쪽과 같이 세로축의 간격을 로그스케일로 변경한 그래프는 기존의 그래프보다 데이터를 식별하는 데 월등히 뛰어납니다. 따라서 넓은 스펙트럼의 데이터를 이해하거나 처리할 때는 로그스케일 그래프가 종종 유용합니다. 지수적 패턴을 가진 데이터의 세로축을 로그스케일로 바꾸면 직선 형태의 그래프를 얻을 수 있으며 데이터를 식별하는 데 유리합니다.


심지어 가로축에 로그스케일을 적용해야 하는 데이터도 있습니다. AI 모델의 크기와 전력소비량의 관계가 대표적인 사례입니다. 대형언어모델의 파라미터 개수는 현재 연간 스무 배씩 증가하고 있고, 이에 따른 데이터센터의 전력소비량 역시 폭증하고 있기 때문입니다.


로그스케일 그래프는 보도자료에 빈번하게 사용되므로 이를 모른다면 정보를 잘못 해석하는 문제가 발생합니다. 세로축의 눈금 간격이 동일하다는 사실에만 주목하면 실제 데이터보다 훨씬 작다고 생각하게 되고, 그 오차는 한 눈금마다 수 배씩 증가하게 되겠죠. 따라서 기사에 실린 차트를 볼 때, 축의 눈금이 산술적으로 증가하는지 또는 지수적으로 증가하는지 반드시 확인하는 습관을 길러야 합니다.


로그를 이용한 표현에는 또 다른 이점도 있습니다. 2를 몇 번 연속해서 곱해야 8이 되는가에 답하는 것은 매우 쉬운 편입니다. 2를 세 번 곱하면 8이 되니 답은 3이죠. 로그 체계를 이용하면 ‘3’ 대신 ‘log₂8’을 써도 동일한 답이 됩니다. 하지만 수를 조금만 바꿔서 질문하면 금세 어려운 문제가 됩니다. 2를 몇 번 곱해야 7이 될까요? 2를 두 번 곱하면 4가 되고 세 번 곱하면 8이 되니, 아마도 질문의 답은 ‘2와3 사이의 어떤 수’로 보입니다. 다행히 로그를 이용하면, 정확히 몇인지 알기 어려웠던 이 ‘어떤 수’를 그 자체로 표현할 수 있게 됩니다. 단지 log₂7이라고 답하면 그만이기 때문입니다. 이처럼 로그 체계는 자연수 체계에서 벗어나는 수를 쉽게 다룰 수 있게 된다는 측면에서도 매우 중요한 의미를 가집니다.


밑이 1보다 큰 로그함수의 그래프는 ?의 값이 증가할수록 ?의 값 역시 증가하지만, 그 증가폭이 점점 작아지는 경향을 보입니다. 이런 경향은 앞서 이야기한 감각과 자극의 관계 또는 제품의 가격에 따른 심리적 장벽을 설명하는 데 적합하죠. 기억하실지 모르겠지만, 1장에서 이야기한 ‘키와 나이의 관계’ 역시 로그적 패턴을 보이는 대표적 사례라고 할 수 있습니다.


또한 밑이 2인 로그와 마찬가지로 밑이10인 로그함수의 그래프도 그려볼 수 있습니다. 밑이 10인 로그는 아주 많은 분야에 쓰이며 ‘상용로그’라는 별칭으로도 불리는데, 상용로그가 이렇게 인기 있는 결정적 이유는 인류 대다수가 10진법을 사용하기 때문입니다. 상용로그를 이용하면 10의 자릿수인 숫자는 1에서 2 사이의 수로 표현할 수 있고, 심지어 100만 단위의 숫자도 6에서 7사이의 숫자로 축소할 수 있죠. 특히 상용로그표를 이용하면2⁴⁰과 같이 지수로 표현된 큰 수의 자릿수와 대략적인 값도 알아낼 수 있습니다.



재규격화

다시 소리에 관한 이야기로 돌아가보겠습니다. 사람이 인식할 수 있는 가장 작은 소리의 강도는 1제곱미터당 0.000000000001와트입니다. 편의상 이를 I라 부르겠습니다. 일상 대화에서 측정되는 소리의 강도는 1제곱미터당 0.00001와트인데, 이 값은 I에 비해1,000만 배나 큽니다. 이처럼 소리의 강도는 그 차이가 매우 크므로 로그로 재정의해 표현하는 것이 편리합니다. 이렇게 탄생한 것이 바로 데시벨decibel, dB입니다.


데시벨은 소리의 강도를 I로 나눈 비율에 상용로그를 취하고 10을 곱한 값입니다. 이 식에 따라 일상 대화의 데시벨을 측정하면 70데시벨이 됩니다. 일상적인 대화에 해당하는 소리의 크기가 1제곱미터당 0.00001와트라고 말하는 대신, 데시벨 체계를 이용해 70dB로 표기하는 것은 직관성을 높여줄 뿐 아니라 잉크와 데이터도 절약할 수 있는 방법입니다.


물론 이러한 장점은 데시벨 체계를 모두가 알아야만 얻을 수 있으므로, 사람들 간의 광범위한 합의가 필요하겠죠. 데시벨은 누구나 어디선가 한 번쯤은 들어보았으니 성공한 체계라고 볼 수 있겠습니다.



상용로그 : 천문학자의 수명을 늘려준 수학

로그는 큰 수를 아주 작은 수로 축소해 이해 가능한 범위의 수로 변환하는 역할을 합니다. 하지만 로그의 진정한 장점은 사실 따로 있으니, 그것은 바로 계산입니다. 큰 수로 곱셈과 나눗셈을 해야 할 때 우리는 스마트폰을 꺼내 계산기 어플을 켜는 데 익숙하지만, 불과 100년 전에는 스마트폰은 고사하고 계산기와 컴퓨터조차 흔하지 않았죠. 옛 시대에 계산은 정말 큰 난제였으며 특히 큰 수를 다루고 정밀한 값을 계산해내야 하는 천문학자와 수학자들은 그야말로 중노동에 시달렸습니다.


만약 1.347849와 2.573538을 계산기 없이 손수 곱해야 한다고 생각해보면 한숨부터 나올 것입니다. 다행히 이들을 구원해줄 사람은 생각보다 일찍 나타났습니다. 1550년에 스코틀랜드 성주의 아들로 태어난 존 네이피어John Napier는 수학과 발명에 관심이 많았습니다. 특히 그는 곱셈의 어려움을 잘 알고 있었기에 곱셈을 편리하게 할 수 있는 혁신적인 아이디어를 냅니다. 바로 곱셈을 덧셈으로 바꾸는 지수법칙을 응용하는 것이죠. 지수법칙은 특정 조건에서 곱셈을 덧셈으로 바꿀 수 있습니다. 앞서 이야기했듯 1,024는 2를 열 번 곱한 2¹⁰으로 표현할 수 있고, 4,096은 2를 열두 번 곱한 2¹²으로 표현되는데, 두 수 모두 밑이 2로 같습니다.


따라서 1,024와 4,096의 곱은 직접 계산하지 않고도2¹⁰과 2¹²에서 지수만 더한 2²²라고 말할 수 있습니다. 즉 밑이 같다는 조건만 성립한다면 이들을 표현하는 것은 어렵지 않습니다. 이제 1.347849와 2.573538의 곱셈을 생각해보겠습니다. 사실 이 두 수는 특정한 수의 연속된 곱입니다. 1.347849는 1.01을 30번 곱한 1.01³⁰이며, 2.573538은 1.01을 95번 곱한 1.01⁹⁵이죠. 따라서 두 수의 곱은 지수를 더한 1.01¹²⁵입니다. 그리고 이 값은3.468740입니다.


그런데 이 계산을 가로막는 아주 큰 장벽이 있습니다. 바로 어떤 수가 1.01을 몇 번 곱한 것인지 알아야 한다는 것이죠. 1.347849가 1.01을 30번 곱한 수임을 알려면 1.01을 반복해서 곱한 계산표가 있어야만 합니다. 이 표가 있다면 곱셈이 아주 쉬워집니다. 먼저 표를 손가락으로 쭉 내리면서 1.347849를 찾고, 이 수가 1.01을 몇 번 곱한 건지 알아냅니다. 그다음 2.573538에 해당하는 수를 표에서 찾고, 이 수 또한 1.01을 몇 번 곱한 것인지 확인하죠. 이제 마지막으로 이 둘을 더한 1.01¹²⁵를 찾아, 이에 해당하는 수가 무엇인지 봅니다. 그 값은 3.468740입니다.


네이피어의 위대함은 여기에 있습니다. 이 지루한 표를 자진해서 만들기로 결심했기 때문입니다. 그는 20년의 작업 끝에 1614년에 《경이로운 로그 법칙의 서술Mirifici Logarithmorum Canonis Descriptio》을 출간합니다. ‘로그’라는 단어는 바로 이 네이피어의 책 제목에 있는 logarithm의 앞 세 글자를 딴 것입니다.


이 단어는 그리스어 logos와 arithmos의 합성어인데, logos는 비율 또는 이성을 뜻하고 arithmos는 수를 뜻합니다. 따라서 logarithm은 ‘수의 비율’을 뜻합니다. 1.01을 계속 곱해간다면 수는 이전보다 1퍼센트씩 커집니다. logarithm은 이를 적절하게 표현하는 단어인 셈이죠.


그러나 1.01로 모든 수를 표현하는 데는 한계가 있을 것입니다. 1.01의 거듭제곱으로 수를 표현하면 각 숫자의 차이는 1퍼센트이며, 수가 커질수록 그 격차는 걷잡을 수 없이 벌어집니다. 물론 수의 간격을 줄이는 방법은 있습니다. 1.01이 아니라 1.000001처럼 1에 더 가까운 수를 거듭제곱하면 되죠. 다만 당시에는 컴퓨터가 없었으므로1.000001로 표를 만든다면 천문학적인 시간이 소요되었을 것입니다. 또한 네이피어는 1보다 약간 작은 값을 선택해 표로 만들었기에 아이디어는 훌륭했지만 사용하기에는 다소 불편했습니다.


이런 문제를 해결하기 위해 나선 사람이 바로 헨리 브리그스Henry Briggs입니다. 그는 네이피어가 책을 출간한 지 1년 만에 로그의 중요성을 알아보고 네이피어를 찾아가 네이피어의 로그를 보완하는 새로운 체계를 제안했습니다. 이후 네이피어가 사망했으나 브리그스는 좌절하지 않고 로그를 체계적으로 정비합니다.


그는 1부터 1,000까지의 로그값을 무려 소수점 14자리까지 구한 책 《1부터 1000까지의 로그Logarithmorum Chilias Prima》를 1617년에 발간하고, 1624년에는 1부터 2만까지와 9만부터 10만까지의 로그값을 구한 《로그 산술Arithmetic Logarithmica》을 발간합니다. 이것이 우리가 고등수학 시간에 배우는 밑을 10으로 하는 상용로그표의 시초입니다. 브리그스의 표는 매우 정확해서 지금 사용해도 큰 문제가 없을 정도입니다.


상용로그표에 관한 당시의 반응은 아주 뜨거웠습니다. 당대 최고의 천문학자 요하네스 케플러Johannes Kepler는 이 계산법을 매우 환영했죠. 피에르 시몽 드 라플라스Pierre Simon de Laplace는 로그를 다음과 같이 평가했습니다.

몇 개월치 노동량이 단 며칠의 노동량으로 줄었고, 천문학자의 수명이 두 배로 늘었으며, 실수와 욕지기가 줄어들었다. – 시몽 드 라플라스



| 나가며 | 인생이라는 이름의 알고리즘


제가 수학 강연 요청을 받을 때마다 늘 하는 이야기가 있습니다. 여기서 그 이야기를 들려드리며 이 책을 마무리해보려 합니다. 여러분이 전 세계 주요 도시로 영업을 다니는 아주 바쁜 세일즈맨이라고 해보겠습니다. 아마 여러분은 각 도시를 방문하는 최단 거리로 출장 계획서를 짜서 회사에 제출해야 할 것입니다. 일반적으로 비행 거리가 짧을수록 비행기 티켓도 저렴하니까요. 만약 서울에서 출발해 런던, 뉴욕, 리우데자네이루(리우)를 방문하고 다시 서울로 돌아와야 한다면 총 여섯 가지 경로가 존재하고, 이 중에서 가장 거리가 짧은 경로를 선택하면 됩니다. 이러한 계획 수립은 어렵지 않아 보입니다.


tempImagehytLCo.heic 세 도시를 거쳐 다시 서울로 돌아오는 거리는 순서에 따라 다릅니다.


만약 방문해야 하는 도시가 100군데라면 어떨까요? 이때 계획할 수 있는 경로의 조합은 약 9 ×10¹⁵⁷가지입니다. 일련의 계산에 따르면 우주에 존재하는 원자의 개수는 10⁸²개 정도이니 정말 큰 숫자이죠. 우주의 원자보다 많은 경우의 수를 모두 따지고 그중 가장 최단 거리에 해당하는 출장 경로를 제출하려면, 고성능의 슈퍼컴퓨터를 갖고 있다고 해도 출장 가기 전까지 계산을 마칠 수 없을지 모릅니다. 수학계에서는 이를 ‘여행하는 외판원 문제traveling salesman problem’라 부르며 ‘다항 시간’ 내에 정확한 답을 찾기 어려운 대표 난제로 꼽습니다. 그러니 회사는 여러분에게 완벽한 최단 경로를 요구해서는 안 되며 적당히 좋은 수준의 계획이라면 출장을 승인해줘야 합니다.


저는 최상의 의사결정을 내리기 위해 노력해야 하거나 사업의 세부 계획을 완벽하게 정해야 한다는 생각이 들 때면 여행하는 외판원 문제를 떠올리고는 합니다. ‘완벽한 답’은 존재하지만 그 답은 실제로 찾을 수 없으며, 모든 것이 매우 빠르게 변하는 지금과 같은 세상에서는 완벽한 답이 나온 시점에 그 답이 더 이상 완벽하지 않을 가능성도 있다고 말이죠.

하지만 그렇다고 해서 현실 세계의 복잡한 의사결정과 우리의 삶 같은 중대한 문제들을 대충 해결해야 한다거나 운에 맡겨야만 한다는 뜻은 아닙니다. 제가 주목했던 것은 ‘이러한 문제를 해결하기 위해 수학이 어떤 방법론을 사용하는가’였습니다.


여행하는 외판원 문제와 같이 경우의 수가 너무 많은 문제는 그 경우의 수를 일일이 따지는 ‘정확한 방법exact method’으로 해를 구할 수가 없기 때문에 적당히 좋은 답을 빠르게 찾는 ‘근사적 방법approximate method’ 또는 ‘발견적 방법heuristic algorithms’이라 불리는 방법론을 사용합니다.


발견적 방법은 초기 해를 구하는 구성 단계, 초기 해를 개선하는 지역 개선 단계 그리고 국소적으로 최적화된 경로를 개선하는 확장 단계로 수행됩니다. 이 근사적 방법론은 당면한 아주 복잡하고 중요한 문제, 예를 들어 사업의 세부 계획을 세우거나 경력을 쌓는 것과 같은 장기적 의사결정에도 적용할 수 있어 보입니다.


우리는 특정한 시간과 공간에서 의사결정을 내립니다. 때로는 그 의사결정이 아주 적합할 때도 있고 큰 실수일 수도 있죠. 이처럼 어떠한 의사결정의 적합성을 점수로 평가한 ‘적합도 함수’가 있다고 가정하면 이 적합도 함수는 시간과 공간을 축으로 하는 3차원 지형을 갖게 될 것입니다. 그리고 이 지형을 위에서 바라보면 특정 위치의 적합도를 2차원 지도처럼 표시할 수 있겠죠.

tempImageoaA8G9.heic 2차원 지형도에서 높은 봉우리는 흰색으로 표시됩니다.


여러분과 저는 이 적합도 지형의 가장 높은 영역, 즉 최상의 적합도를 가진 영역으로 올라가길 원할 것입니다. 적합도 지형은 성공의 지형이고 높은 봉우리에 올라갈수록 더 성공했다고 볼 수 있을 테니까요.


하지만 이 적합도 함수 전체를 조망하는 것은 불가능합 니다. 우리는 신이 아니므로 기껏해야 아주 특정한 순간에 행하는 어떤 의사결정의 적합도만 대략적으로 알고 있을 따름이겠죠.

이런 면에서 적합도 함수는 플라톤적 세계에서나 존재하는 이상적인 함수일 것입니다. 하지만 정상으로 올라갈 방법이 없는 것은 아닙니다. 먼저 어느 정도 적합하다고 여겨지는 지형을 선택합니다. 그리고 그 지형을 중심으로 탐색을 수행하며, 조금 더 높은 지형으로 차근차근 이동하면 되죠. 최적해를 찾는 경사하강법처럼 말입니다. 이는 스타트업에서 제품이나 서비스를 출시할 때 접근하는 ‘린lean’ 방식과도 유사합니다.


자원과 시간이 부족한 스타트업은 최소 기능 제품minimum viable product, MVP을 먼저 시장에 내놓고 피드백을 받으며 수정을 거듭해 최종 제품을 완성합니다. 직업과 진로 같은 대부분의 중대한 의사결정도 이와 유사해 보입니다. 정해진 항로를 유지하고 그 항로 내에서 가장 적합한 길을 찾는 것이 안전하고 빠르며 또한 익숙하기 때문입니다.

조금씩 더 높은 곳으로 나아가면 국소적 최적점에 도달합니다.
그러나 한 지형에서 출발해 주변의 더 높은 지형으로 올라가는 방법은 여러분을 국소적 최적해에 가둘 수도 있음을 명심해야 합니다. 다시 말하지만 우리는 전체의 적합도 지형을 조망할 수 없으며 지금 내가 있는 곳보다 조금이라도 더 높은 근처의 지형으로 이동할 수 있을 뿐입니다.

따라서 어떤 영역에서 가장 높은 지점에 도달하면 더 이상 탐색은 이루어지지 않으며, 여러분이 그 지형에 만족한다면 더 높은 적합도 지형을 찾을 가능성은 완전히 사라집니다. 그렇기에 최고라고 생각했던 결과는 사실 전체적인 적합도 지형에서 매우 평범한 수준의 결과일 수도 있죠.


이런 국소적 최적해 문제를 해결하기 위해 근사적 방법이 도입하는 한 가지는 어느 정도의 무작위성을 허용하는 것입니다. 더 높은 적합도 지형을 찾기 위해 동시에 여러 지역의 지형을 탐색하는 한편, 아주 먼 지형도 일부러 탐색해보는 것입니다. 물론 더 많은 시간과 노력이 요구되겠지만, 어떤 문제는 그럴 만한 가치가 있죠.


국소적 최적해에 갇히는 오류를 피하려면 출발지를 다양화해야 합니다.


우스운 말처럼 들릴 수도 있겠지만, 이러한 근사적 방법의 알고리즘은 저에게 무언가를 새롭게 시도할 용기를 주고는 했습니다. 국소적 최적해에 갇히지 않으려면 조금은 멀리 떨어진 적합도 지형을 탐색해야 하고, 때로는 완전히 새로운 영역을 시도해야만 한다는 당위성을 주었죠. 그리고 더 높은 지형을 찾으려는 노력이 실패할 때도 위로가 되었습니다.

아무리 뛰어난 슈퍼컴퓨터라 해도 완벽한 해를 구하거나 전체 지형을 조망하는 것은 불가능하므로 실패하는 것은 당연하며, 실패했다 하더라도 잠시 낮은 지형에 내려와 있을 뿐 다시 일어서서 탐색을 시작하면 그만이라고 말이죠.


돌이켜보면 저는 한 알고리즘을 스승으로 두고 있었던 셈입니다. 그리고 이 스승은 적합도 지형의 정점을 찾는 방법을 매일 저에게 이야기해주고 있습니다.


“직접 부딪치면서 새로운 무언가를 계속 시도하라”고 말입니다.
keyword
매거진의 이전글독서 노트 : 수학은 알고 있다(3)