머신러닝AI2024. 9. 5. 21:42

 이 이야기가 어떤 도움이 될지는 잘 모르겠지만, 여러가지 참고가 될 수도 있지 않겠는가 기대를 해본다.

 

 처음에 사람의 지능이나 기억 등에 관심을 갖게 된 것은 환상특급이라는 미국 SF 시리즈를 접했을 때이다. 정확히 기억은 안나지만, 사람의 기억에 대한 이야기이며, 사람의 기억을 비디오로 재생하는 모습이 기억난다. 거기서 사람의 기억은 영상으로 그대로 보여졌다. 90년 전후의 기억이다.

 

 이 때의 첫 의문은 정말 사람의 머리속 기억이 저렇게 영상으로 기억될까? 였다. 그리고 곧바로 그렇지 않을 것이라고 생각했다. 영어사전을 첫장부터 계속 넘기면서 본다고 해보자. 과연 그것이 영상으로 머리속에 남아있을까? 우리는 초인적인 능력을 발휘하면 머리속에서 그것을 모두 찾아낼 수 있을까? 전혀 그렇지 않을 것이라고 생각한 것이다. 상식과 부합하지 않다고 봤다.

 

 이후에는 이러한 지능에 대한 여러가지 고민 속에 유물론적 사고관이 자리잡기 시작했다. 그것은 진화론, 특히 지금은 진화심리학이라고 알려진 것과 함께했다. 그렇게 아예 기존에는 전혀 개념이 없던, 정신의 작동에 대해서 여러가지 내적인 질문/답변을 통해 이런저런 가설을 세우고 정리할 수 있다는 사실을 깨닫게 되자, 지능을 이해하고 구현할 수 있다는 생각이 중고등학생 시절 들기 시작했다. 돌이켜보면 사실은 별로 이해한 것도 없었지만, 아예 모호한 것에서 어떠한 틀이 생겼다고 판단되면, 사람은 그것을 대부분 이해했다고 착각하게 된다.아마도 1950년대 최초로 AI를 논하던 서양의 학자들이, 곧 그것을 만들 수 있다고 믿었던 것도 비슷한 맥락이라고 생각한다. 조금만 체계가 잡히는 것처럼 보여도 곧 나머지는 시간문제처럼 여겨지게 된다. 여러가지의 논리적인 체계를 수립하고 독서의 과정 중에서 타인의 의견까지 확인되면 자신감이 생기는 것도 있었다. 여러 학자들의 단편적인 주장들이 내 추측과 다르지 않다는 것을 알게 되었던 것이다. 

 

 그렇게 96년경 대학 학부에 들어가기 전부터도 나는 지능을 구현할 수 있을 것이라는 확신을 가졌으며 이를 위해 여러가지 관련 지식을 찾기 시작했다. "인지과학" 학회에 참여하거나, 여러가지 대학교 교양을 그러한 분야로 정해서 들었다. 그런데 전공을 전산학을 하고 수업을 인공지능을 들었지만, 의외로 그 수업은 수학적인 지식을 쌓거나 단순 알고리즘에 대한 것이 전부였다. 돌이켜보면 그 모든 것이 기초였지만, 당시에는 내가 만들고자 했던 인공지능과는 거리를 좁히기는 어려웠다. 그러한 것들은 지능이 보여주는 복잡성 대비해서는 너무 "단순했고, 피상적이었다".

 

 그러던 와중에 복잡계와 인공생명을 접하게 되었다. 인터넷을 통해서 지속적으로 정보를 확인하고, 책을 보다보니 두 분야가 눈에 들어왔다. 가장 인상깊은 것은 인공생명 내에서 소개한 'Life Game'이었다. 즉, 단순한 법칙이 대규모로 되먹임으로 반복되면 창발성이 발생한다는 단순한 논리며, 자가 복제하는 생명이 탄생한다는 것이다. 그리고 신경망이나 진화학습 알고리즘을 접하던 것이 2000년이 조금 넘은 시기였던것 같다. 그러다가 한동안 병역문제를 해결하기 위해 2000년부터 2004년까지 소프트웨어 개발자 생활을 했고, 오직 광범위한 프로그래밍 문제에 메달리게 되었다. 어찌보면 이 시기는 코딩이나 오픈소스, Fast Prototyping 등 공학적인 관심을 다양하게 발산하던 시기였다고 생각한다. OS나 디버깅 등 원없이 이러한 소프트웨어 개발 시기를 보냈다. 나는 제품을 만들고 고쳐야했으며 거기에 충실히 임했다. 그런 후에 병역 문제가 해소되자, 전부터 생각하던 AI를 공부하기 위해 석사과정을 지원했다.

 

 다만, 입학후 당시에 학계에서 유행하던 알고리즘은 SVM(Support Vector Machine)이었고, 학교는 충실히 그 방향을 따랐다. 그 모델의 수학적인 완성도나 OCR 개선, high resolution, 필기체 생성 등 과제가 몸담았던 랩의 중요한 과제들이었고, 인공생명이나 신경망 같은 것에 대한 관심은, 학계 전체적으로 그 추상적인 것들을 어떻게 해결해야 할지 갈팡질팡하는 논리적 혼란을 겪으면서 진행되던 시기였다. 신경망은 학습할 때마다 결과가 다른 변덕스러운 녀석이었으며(유전자 알고리즘도 마찬가지였다), 신경망이 조금만 복잡해져도 잘 학습되지 않았고, 실험 결과는 며칠이나 걸려도 구하기 어려웠다. 신경망이 한참 각광을 받다가 천덕꾸러기가 된 시기였다. 이를 타개하려면 Hiton교수 랩에서 deep nets라는 이름으로 우회해서 논문이 등록되는 최소 2006년을 기다려야 했다.

 

 그러한 학계 맥락에도 불구하고, 기본적인 머신러닝의 절차. 즉 데이터를 준비하고 다듬고, Feature를 만들고 다양한 모델을 돌리며, 그것을 코딩하고 결과를 얻는 과정에 대해서는 잘 배울 수 있었다. 이론을 다지기는 짧았지만, 실무는 잘 이해할 수 있었다. 당시의 AI란 통계 모델이었으며, 가급적 Feature는 다양한 데이터에 대해서도 일관성을 갖추도록 최선을 다해서 변이가 줄어드는 것을 잘 선택해야 했으며, 그에 기반하여 단순한 모델들이 그것을 잘 학습하게 하는 것이 지상 목표였다. 특히 석사과정인 나에게는 더욱 그랬다. 우리가 아는, 사람의 일반적인 지능과는  다른 것이었지만, 그러한 노력들이 이를테면 인쇄체 인식분야에서는 꽤 빠르고 정확한 성능에 다다르는 것은 가능하게 되었다. 즉 변화가 다양한 현실에 대해서 최대한 그 다양성을 없애려는 것이 오히려 그 시기 내 노력의 대부분이었다고 생각한다. 모델의 개선이란 쉽지 않은 수학적인 주제 중의 하나였다.

 

 그래서 "복잡한 지능적 문제"는 도대체 인간이 어떻게 푸는지 감을 잡을 수도 없었다. 예컨데 인쇄된 문서가 아니라 자연상태의 간판같은 것들을 찍어서 인식하는 문제(scene text recognition)는 너무도 그 변이를 표준화할 수 없어서, 완전히 풀기 불가능할 정도의 문제였다. 랩에서 그런 이야기를 종종 들었던 기억이 있다.

 

 그럼에도 불구하고 언급했던 것처럼 통계 모델들이 향하는 본질은 이해할 수 있었다. 그것은 데이터를 통해서 공간상에 여러가지 경계선을 긋는 작업이었도 이를 기반으로 분류를 행해주는 일을 주로 하는 수학적인 과정이었다.

 

 다만, 2004~2006년 당시에 '진화'와 '신경망'이라는 개념은 내게 크게 다가왔다. 도대체 지능을 환원적으로 바라보고 구현할 수 없다면, 그것이 가늠할 수도 없이 복잡하다면, 신경망 같은 구조에서 창발성을 기다려야 하고, 그 구조는 진화알고리즘 같은 것으로 계속 바꿔줘야 한다고 생각했다. 2006년까지 석사과정을 마치면서, 내 머리속에 떠오른 이 지능 구현에 대한 해결책은 다음과 같았다.

 

 1. 신경망을 구성한다(혹은 다른 모델일 수도 있겠다. 그런데 다른 창발성을 일으킬 수 있는 모델이 떠오르지 않았다.)

 2. 유전자 알고리즘으로 계속 구조를 바꾸고

 3. 자연과 비슷한 시뮬레이터(경쟁과 생존이 있는) 상에서 그것을 계속 실험하고 진화시킨다

 4. 그러다가 말을 하고(?) 지능을 갖추면 멈춘다.

 5. 이것을 엄청나게 반복한다.

 

 사실 여전히 나는 이 방법론이 실제 지능의 문제를 개선시킬 것이라고 믿는다. 중간에 너무나 비약이 크지만(3번과 4번사이에 간격이 너무 크다고 생각한다) 다른 뾰족한 방법이 없었다. 따라서 나는 당시에 3번 즉 시뮬레이터를 연구해야한다고 생각했다. 과연 어떠한 복잡도로 자연과 유사한 시뮬레이터를 만들어야 지능을 탄생시킬 정도로 할 수 있을까? 너무 단순하면 잘 학습이 안되지 않을까, 너무 복잡하면 구현하기가 어렵고 느리다. 물리적인 환경은 어디까지 해야할까? 그리고 당시에 선배들의 논문 속에 '진화연산신경망'이라던가 이런 개념들이 너무나 인상 깊었다. 이 시뮬레이터의 틀을 그 복잡성 관점에서 수학적으로 분석할 수 있지 않을까?

 

 그 시기 즈음에, 따라서 저런 방법론을 가지고, 사업을 해서 돈을 번 후에 연구소를 만들어서 지능을 만들 수 있지 않을까 상상하던 시기다. 지능에 대한 유물론적인 접근을 나는 할 수 있다고 믿었기 때문이다. 병행하여 신경과학이라던가 여러가지 생물의 구조나, 굉장히 초기 진화 단계의 생명체나 뇌(이를테면 곤충이나 미생물) 같은 것에도 관심을 가졌다. 그런 것들이 모두 재료가 되거나 힌트가 될 수 있다고 생각했기 때문이다. 다양한 책을 접했으나 특별한 돌파구를 찾지는 못했다. 여전히 시뮬레이션이 그 시기 내 가장 큰 관심사였다. 하지만 이러한 주제에 진지하게 접근하기는 쉽지 않았다.

 

 그런데 돌이켜보면 실제 학계는 내가 노력하는 방향과는 다소 차이게 있게 발전하고 있었다. 내 석사시절이 끝날 시기 즈음에 토론토 대학 Hinton 교수 연구실에서는 신경망을 끈질기게 팠었고, 결국에는 고전적인 back progation방법 외에 학습 방법 몇가지를 추가로 개발하며면서, 실질적으로는 젊은 연구자들(Alex)에 의해 GPU를 이용해 신경망 크기를 늘리는 묘안을 생각한 한 것이다(2012발표). 어떻게 보면 나는 시도해보지 못했을 방법이라고 고백할 수 있다. 복잡계를 통해 어떤 단순한 기능이 있고 그 기능을 반복하면서 창발성이 일어난다는 힌트는 가지고 있었지만, 그것이 엄청나게 큰 신경망을 통해서 학습이 안정될 수 있다고는 잘 상상이 되지 않았고 그러한 것을 상상해야 할지도 모르던 시절이다.

 

 그러나 힌튼 교수팀은, 그때까지도 모호했지만, 그 두가지의 원동력을 발견한 셈이다. 즉 신경망을 키워도 적절한 속도로 학습할 수 있는 방법을 찾았으며, 신경망을 키워도 GPU를 통해서 계산할 수 있는 현실성을 갖추게 된 것이다. 그것이 곧바로 구글의 대규모 데이터와 투자가 만나면서 2010년도 초반의 CNN 랠리가 시작되었다. 사실 나는 그때는 신경망으로 뭔가 문제가 잘 해결된다는 것이 신기했다. 다만 그 신경망을 키우는 문제에 대해서는 여전히 다른사람과 같이 무지했다. 그저 데이터가 엄청많으면 CNN이라는 사람의 시각과 비슷한 방법으로 아주 일부 문제가 해결될 수 있구나 정도를 인지했다.

 

 오히려 그 시기는 구글 딥마인드의 강화학습이 더 매력적이었다. 시뮬레이터에서 시뮬레이션하면서 진화시킬 수 있는 방법을 마침내 찾게 된 것이다. 아타리 게임을 자동으로 하면서, 학습할 수 있는 것들의 학습 체계 구성은 내게 너무나 매력적이었다. 그러나 사실 강화학습은 데이터를 실시간으로 만들어서 대량 학습시킬 수 있는 것과 다르지 않았다. 당시에 깨달아야 했던 것은 신경망이 커져도 학습이 가능하다는 것과, 신경망을 키우면 더 복잡한 문제를 잘 풀 수 있게 구성할 수 있다는 것이어야 했다. 그리고 그것은 일리야 서츠케버가 OpenAI에 재직하면서 2020년 전후에 점점 더 강하게 깨달은 것이기도 했다. 그것은 수백억어치의 컴퓨팅과 엄청난 데이터 등 몇가지를 추가로 필요로 했기 때문에, 쉽게 알아내기는 어려운 방향이었다.

 

 그러나 과학자들은 생각보다 더 빠르게 신경망의 크기를 키워갔고, 이후에는 자연어 corpus라는 label을 하지 않아도 되는 거대한 학습 데이터를 재발견했으며, 이렇게 대량의 학습을 시킨 후에 fine tuning을 통해 사람처럼할 수 있다는 것을 깨달은 것이 바로 2020년대 전후의 이야기다. Google BERT를 시작으로 Transformer구조가 나오면서 사실은 이것이 조금씩 알려지기 시작한 것이다. 그리고 OpenAI의 ChatGPT출시는 2020년 후에 벌어지게 되었다. Google도 BERT크기를 경험하면서 더 키워볼 생각을 아마 했을 것이다. 그러나 OpenAI는 실제로 그것을 실행하고 그리고 발표까지 해버렸다. 

 

 돌이켜보면 이 2020년을 전후한 이 10년 남짓한 시기가 바로 완전하게 대규모 신경망에 대해서 인류가 깨닫게 된 시점이라고 생각한다. 그리고 인터넷에 널려있는 대규모의 언어데이터와 연산량, 그리고 적절하게 학습시킬 수 있는 신경망 학습법과 구조가 현대의 LLM을 탄생시켰다. 즉 digital brain을 실제로 작동시켜서 어느 정도 수준에 올라올 수 있다는 점을 보여주었다.

 

 물론 이 LLM이 사람만큼의 능력을 보여주지는 않는다. LLM은 상당히 복잡한 예외들에서도 단순한 논리들은 일정수준 이상 안정적으로 학습하는게 기존의 여느 모델대비 크게 향상된 점이다. 그리고 개인적으로는 흡사 사람의 뇌와 비슷한 방식으로 작동한다고 믿는다. 여러모로 LLM은 digital brain(사람과 비슷한 구조로 신경망을 가지고 작동된다)을 따르며, 과연 무엇이 다를까 싶을 정도로 인간 뇌와 유사한 능력을 보여준다. 여전히 인공신경망의 뉴런은 사람의 실제 신경세포와 매우 다르다고 하지만, 여러 부분 유사할 것이라는 강력한 믿음을 가지고 있는 것이다.

 

 또한 최근에는 이 digital brain을 연구함으로써 사람의 뇌를 더 이해하게 되고 그에 기반해 뇌를 더 자세히 분석해서 이를 digital brain개선에 이용할 수 있는 것이 아닌가 생각이 들기도 한다. 그리고 이는 Google/OpenAI/Anthropic등의 회사에서 자신이 만든 LLM모델을 가지고 연구하고 있다. 어떻게 단어의 의미가 신경망에 반영되고 그것을 신경망을 어떻게 수정해야 변형시킬 수 있는지 보고 있는 것이다. 다만 아직도 얀 르쿤같은 경우에는 실제 지능의 문턱에 오지 못했다고 생각한다. 그리고 나는 여전히 더 커진 연산량을 바탕으로 지속 진화를 통해 신경망을 개선하는 강화학습 형태의 무엇인가가 등장할 수 있다고 믿는다.

 

 여기서 얻은 또하나의 깨달음은 바로 제프 호킨스의 생애에 대한 점이다. 이 분은 팜파일럿의 창업자로 내가 꿈꾸었던 것과 동일하게 회사를 성공시키고 매각한 후 산타페에 인공지능 연구소를 차려서 연구를 하고 있다! 그리고 본인만의 다양한 방향으로 여러가지 연구를 하고 있다. 하지만 연구는 다양한 집단 지성하에 경쟁해야만 의미를 갖는게 아닌가라는 것을 이 분을 통해서 깨달았다. 인공지능의 연구란 개인이 어떤 돌파구를 마련하겠다고 진행할 수 있는 것이 아니다. 그것은 급격한 새로운 시도와 그것이 이전과 완전히 새로운 문을 열어주는 것들을 반복해야 한다. 엄청난 자금과 공유, 그리고 시도와 집단 지성은 불가능한 일을 해내는 거의 유일한 방법 같아 보인다. 그것이 내 개인적인 깨달음이고, 아마 앞으로도 그렇게 흘러가리라 생각한다.

 

 여하튼 내가 생각했던 것과 전혀 다르게 AI는 발전해버렸지만 아직도 꿈꾸고 있는 셈이다. 이미 인간은 구현되어 우리 눈앞에서 지능을 작동시키고 있고, 단지 우리는 그 세부만을 모를 뿐이다. 언제고 발견되기를 인간이 지구상에서 생각을 시작하는 순간부터 기다리고 있는 셈이다. 곧 그 의미를 파악할 수 있는게 아닌가 여전히 생각한다. digital brain이 2020년에 우리 앞에 나타나고 더 발견되기를 기다리고 있다.

 

반응형
Posted by 작동미학