산가지와 Positional Embedding

하늘 아래 새로운 것은 없다. 단지 내가 발견하지 못했을 뿐이다.

산가지 숫자 표기법이 있다. 가느다란 막대를 일정하게 놓아 숫자를 표시하는 방법이다. 주판이 없었던 시절부터 쓰였고, 최소한 춘추전국시대, 약 2,500년 전부터 쓰였다고 짐작된다. 시장에서 거래를 하거나, 세금을 걷거나, 수 관련된 정보를 취합할 때 간단하게 이용할 수 있는 계산법으로 여겨진다. 산가지가 널리 쓰이던 시절에 이에 능한 사람은 곧 셈에 능한 것이고 명석한 사람으로 우대 받았다. 

산가지로 숫자를 표시하는 방법은 단순하다. 10진법을 기본으로 한다.  자리수 마다 1~9까지의 숫자를 표시한다. 막대가 세로로 하나 있으면 1, 막대가 세로로 나란히 두개 있으면 2다. 5도 막대기 하나로 표시하되, 이는 가로로 놓는다. 6은 가로로 놓은 막대기 하나와 세로로 놓은 막대하나, 즉 직교하는 막대기 두 개로 표시한다. 큰 자리 수를 표시할 경우 중간에 숫자 0이 있다면 (예를 들어 101처럼) 그 자리를 적당히 비워 비어있는 숫자 0을 표시한다.

이해하기 쉬운 방법이지만 실제 셈을 하다보면 문제가 발생한다. 가장 큰 문제는 중간에 0이 두 개 있을 경우 하나 있을 때와 구분하기 어렵다. 예를 들어 606과 6006은 모두 6 사이를 적당히 띄워 표시해야 한다. 누구는 공간이 넉넉해 간격을 많이 띄울 수도 있다. 누구는 비교적 좁게 띄울 수도 있다. 사람마다 띄우는 간격이 달라 다른 사람이 표시한 숫자를 알 수가 없다. 또 하나의 문제는 1의 자리가 0일 경우 이를 표시하기 어렵다. 나는 60을 의도했지만 6이라고 읽는 사람들이 있다. 산가지 표식의 1의 자리 위치를 표시할 방법이 없다.

2,500년 전 사람들도 틀림없이 이런 문제를 겪었을 것이다. 그리고 그럴 듯한 해결책을 찾아냈다. 바로 자리수를 암시할 수 있는 추가 정보를 나뭇가지를 놓는 방법을 달리하여 표현해보는 것이다. 예를 들어 111을 표시한다면 첫 번째 1은 세로로, 두 번째 1은 가로로, 세 번째 1은 다시 세로로 놓는다. 일의 자리수를 놓을 때 세로로 놓는다는 점을 정해 놓으면 그 다음부터 십의 자리, 백의 자리를 놓을 때 이 규칙에 맞게 가로 세로를 변경하면 혼동될 일이 없다. 101 과, 1001의 구분도 가능하다. 나뭇가지 두 개가 가운데 간격을 두고 모두 세로로 놓여있다면 이것은 101이다. 만약 나뭇가지 두 개가 가운데 간격을 두고 첫 번째 것은 가로, 두 번째 것은 세로로 놓여있다면 이 것은 1001일 가능성이 크다. 100001를 표현한 것일 수도 있으나 산가지로 이 정도 큰 수를 표시할 일은 극히 드물었으리라 생각한다.

수는 기호와 상대적 위치로 정보를 표시한다. 현대는 인도-아라비아 숫자로 여겨지는 0부터 9까지 기호를 주로 이용한다. 산가지로 0을 표현할 수 있었다면 위 문제는 훨씬 간단히 해결했을 것이다. 하지만 추상적인 수에 대한 고려가 없이,  세상 사물을 세아리는 (Counting) 목적으로만 수를 쓴다면, 0을 표현하는 기호를 고안하는 것이 간단치 않았을 것이다. 따라서 숫자 ‘0’의 발명과 이용은 단순히 9개의 숫자에서 하나를 더 한 것 이상 의미를 지닌다. 세상에 존재하는 수에서 세상에 존재하지 않는 수로의 거대한 도약이다. 유리수에서 무리수의 발견, 무리수에서 허수의 발견 등 현대 수학에 도달하기 위한 몇 차례의 도약이 있었다.

이야기가 잠시 딴 길로 빠졌다. 산가지를 다르게 놓는 것으로 자리수를 표현 하는 것, 비록 두 가지 방법으로 절대적 위치가 아닌 왼쪽, 오른쪽 숫자와의 상대적 위치를 표현하는 이 것이, 포지션 인코딩(Position Encoding)이다. 풀어 쓰면 자리 수에 대한 추가 정보를 남겨 놓는 것이다. 따라서 이 수를 읽는 사람이 혼돈되지 않도록, 숫자 전체를 보지 않고도 숫자 하나만을 봐도 이 것이 어느 자리에 위치 하는지 알게한다. 이는 사람 뿐 아니라 컴퓨터에게도 마찬가지다.

거대한 도약을 거쳐 이 아이디어는 현대의 ChatGPT 와 같은 생성형 AI(Generative AI) 언어모델의 위치 정보 표시로 발전한다. ChatGPT와 같은 AI는 글을 어떻게 읽을까? 하나의 단락을 읽는다고 가정하자. ChatGPT는 사람과는 다른 독특한 끊어읽기 패턴이 있다. 글자가 아닌 Token이라는 단위로 읽는다. 주어지는 Token을 순서대로 읽어나가는 것은 사람과 다르지 않다. 다만 ChatGPT에게는 Token의 위치 정보를 함께 제공한다. 위 산가지 예에서 산가지를 놓는 방식으로 아주 미약한 추가정보 (홀수 위치 자리수 인지, 짝수 위치 자리수 인지를 표시하는 1bit 정보)를 함께 제공하는 것과 달리, ChatGPT에게는 현재 읽는 문맥이 시작점으로 부터 몇 번째 정보 인지를 가늠할 수 있는 정보를 추가로 준다. 따라서 같은 토큰이라도 문맥의 첫 번째 나온 것과 중간에 나온 것은 다른 값을 가진다. 만약 이러한 정보가 없다면, 굉장히 긴 문맥을 이해하고 답변해야 하는 일을 수행하지 못하고 항상 지엽적인 정보만을 이용해서 답변하는 경향이 강하게 될 것이다. 

모두를 놀라게한 ChatGPT 일지라도 그 뒤에서 돌아가는 신경망의 구조는 완전히 새로운 것이 아니다. 세상에 이미 존재하는 것의 더 넓고, 더 깊은 복잡한 모델링으로 이루어진다. ‘기호(symbol)로 이루어진 순열(sequence) 내에서 각 기호의 위치를 알 수 있도록 한다’라는 매우 단순한 원칙이 산가지를 놓는 방법이나, 생성형 AI를 위한 입력 임베딩을 구성할 때 동일하게 적용된다. 생성형 AI 적용 이후에도 이 방법은 계속, 빠른 속도로 개선, 진화하고 있다. 아주 긴 시퀀스라도 그 위치 정보를 간결하고 중복되지 않도록 모델링, 저장토록 진화하고 있다.

ChatGPT의 학습이나 추론 과정도 뇌 속에서 일어나는 신경 전달 물질이 유발하는 전기 자극의 모델링이다. 그리고 반드시 더 복잡하고 최신의 것이 더 나은 것은 아니다. 단순한 것은 단순한 나름의 쓰임이 있으며, 복잡하고 어려운 것은 목적에 맞는 쓰임이 있다. 현대 과학과 기술의 발전으로 복잡하고 어려웠던 것 대안이 더 쉽고, 또 사용 가능하도록 바뀐 것이다.

길게 보면 문제도 반복되고, 해결 방법도 반복된다. 이 것은 우리의 인식, 사고, 감정은 쉽게 바뀌지 않기 때문이다. 인간이라는 종으로 규정되는 개체 내에서 세상과 소통한다는 근본적인 제약은 요즘말로 종족 특성, ‘종특’인 것이다. 따라서 복잡해보이는 현상과 문제도 인간이라는 개체와 그 환경으로 환원해서 살펴보면 문제와 해결이 몇 가지 유형으로 줄어드는 것이다. 향후에도 이 자리수 표기법은 빠르게 발전할 것이다. 이미 수권 분량의 문서를 ChatGPT에 줄때 효율적으로 위치 정보를 입력하는 방법이 고안되고 있다. 이 것은 0이 몇 개 있을 지 고민하고 산가지를 다른 방향으로 놓아 해결한다는, 1bit의 정보를 추가하겠다는 누군가의 2,500년 전 아이디어에서 출발한 것이다. 

우리집 아파트 APT.

아파트의 생애가 있다면, 우리집은 임종 임박의 노인이다. 대한민국에서 아파트의 수명이란 사람보다 짧은 편이라 우리집은 고작 40살 남짓을 살았을 뿐이지만 노인 소리를 듣게 되었다. 주위의 비슷한 시기에 태어난 또래들은 새 아파트로 다시 태어났고, 몇몇 아파트만 노쇄한 상태로 함께 마지막을 기다린다. 앞서거니 뒤서거니 하면서 그렇게 아파트의 종말, ‘멸실’로 향해간다. 

내가 이 집을 가진 것은 5년이 넘었고, 거주 한 것은 4년이 안되었으니 나는 고작 우리집의 삶 전체의 1/10 정도의 인연만 있는 것이다. 이 인연의 깊이란, 사람의 수명이 80년이라고 보면 70살이 넘어 주민센터의 고전음악 교육 특강이나 노인 대상의 수영 체조반에서 만난 정도일 것이다. 우리집의 탄생부터 젊은 날들, 그리고 탄탄한 중년의 세월은 나는 알지 못한다. 가끔 우리 동네 인스타그램에 사람들이 올려주는 40년 전의 아파트와 초등학교 사진, 그리고 동네 도서관에 걸려있는 ‘우리도시의 역사’ 사진을 보고 그 시절을 상상해 볼 뿐이다.

내가 살기 이전 우리 집이 함께했던 많은 사람들도 알지 못한다. 이 집을 우리한테 판 개포에 집을 하나 더 가지고 있던 부부, 그리고 전세로 사시다 옆 아파트에 청약이 당첨되어 이사가신 다른 가족을 계약할때 만났을 뿐이다. 예전에 우리집의 등기부 등본을 살펴본 일이 있는데 20년이 넘는 꽤나 오랜 기간 평촌 신도시에 사시는 누군가의 소유였던 기간이 있었다. 그 분이 아마 우리집과 가장 큰 인연을 가진, 사람으로 치면 반평생을 함께한 부부 같은 분이 아니었나 싶다. 

우리 집은 그런 혈기 왕성한 시절을 모두 겹겹 접힌 계절 속에 넣어두었다. 현재는 뒷방 노인인지라 여기저기 하자로 가득하다. 처음 우리 집에 와서 엘리베이터에서 내린 처제가 다 뜯어진 벽의 페인트와 녹이슬어 바스러질 것 같은 현관문의 경첩을 보고 놀란 일이 있다. 나도 수리 전의 집을 보고 다소 용기를 내어 계약서에 도장을 찍었다. 아파트에 사는 모두와 관리사무소 분들은 무엇이 보기 싫다고 하여 더 이상 새 것으로 칠하거나 바꾸지 않는다. 최대한 망가지지 않도록 유지하면서 멸실 시점까지 버텨내는 것이 공통의 목표다.

내가 4년 전 입주 할때 우려되는 삶의 질 하락에 나름대로 인테리어를 한다고 벽지도 새로 발랐다. 몇 년이 지나니 콘크리트에서 올라오는 냉기와 단열이 잘 되지 않는 집안 탓에 스믈스믈 벽지 안쪽에서 곰팡이가 피어 오른다. 아이 방처럼 북향에 위치한 방의  면과 면이 맞닿은 모서리가 특히 심하다. 주기적으로 닦아 내지만 이내 곰팡이가 생겨버리고 보기 싫은 얼룩덜룩 자국을 남긴다. 아파트 건물 전체가 냉정하게 보면 아무도 돌봐주지 않는 6개월 정도의 시한부 인생이다. 심지어 같은 동 다른 라인에서 큰 화재가 난 적이 있는데 수리하지 않고, 이제 빈 집으로 내버려두는 모양이다. 

아파트는 모르겠지만 우리집은 아직 잘 돌봐주는 사람이 있다. 요즘 와이프는 집꾸미기에 한창이다. 조명을 새로 달고, 액자를 옮겨 걸고, 가구를 다시 배치한다. 청소도 열심히 한다. 고작해야 6개월 정도의 시한부 치장이다. 하지만 하루라도 정돈되고 깨끗한 집에서 살고 싶다는 평소의 지론대로 반짝반짝한 집을 만들어놨다. 값비싼 (우리집 가구들은 내 기준으로는 다 비싸다) 가구와 미드 센추리 스타일의 간접 조명, 모던한 액자가 어우러지는, 그야말로 40년 된 아파트 생애 최대의 변신을 하고 있다.

우리 집이 태어나고  젊은 시절인 1980년대와 1990년대, 우리아파트 주민들에게는 인테리어라는 개념조차 없었을 것이다. 아버지들에게 집은 밥해먹고 자고 일을 나가기 위한 공간이다. 어머니들에게 집은 아침, 점심, 저녁을 마련하고 아이들을 키우는 공간이다. 우리 집도 얼룩이 잘 눈에 띄지 않는 누런색 벽지, 몇 년 마다 바꿔도 부담없는 적당한 장판, 고장이 없다면 절대로 버리지 않는 가전과 오래된 가구들로 가득했을 것이다. 반면 지금은 점차 집에 있는 시간이 늘어남에 따라, 휴식 뿐 아니라 각종 엔터테인먼트와 가족간의 유대 공간으로 바뀐다. 그 과정에서 소유자의 개성을 마음껏 뽐내는 공간이 되었다. 지금 우리집은 인스타그램에 나오는 집 같다. 

품고 살던 사람들의 땀과 휴식, 청결을 책임지는 것이 집의 용도라면, 그것에 충실해서 40여년 세월을 우리 집도 살아왔던 것이다. 이제는 집의 용도가 아닌, 아름다움이나 정갈함을 목표로 대변신 하고 있다. 처음의 가정처럼 아파트도 생애가 있다면, 우리집도 지금 생 마지막 순간을 치장하고 있는 것이다. 그리고 나는 이것이 잠재된 가능성을 찾지 못하거나 누군가 알려주지 않고 평생을 살아온 주인공이, 마지막에 도움을 받아 새로 태어나는 모습처럼 보인다. 헐리우드 영화나 19세기 영문 소설들의 진부한 주제지만 그만큼 확실하고 감동적인 느낌마저 든다.

덧붙여 솔직히 말하자면 우리집과 비슷한 나이의 나에게도 그런 순간이 한 번 왔으면 좋겠다. 삶이 다 할때까지 서서히 쇠락하는 것이 아닌 마지막 순간의 섬광이, 그리고 상승이 번뜩했으면 한다. 내가 나의 쓰임으로 규정되는 것이 아닌 내가 원하는 이상향으로 보여지는 순간, 정점이 한번 쯤 찾아왔으면 좋겠다. 내 에너지가 쇠락하여 스스로 그런 에너지를 내뿜지 못한다면 축적한 돈, 쌓아온 인연, 조금씩의 시간을 써서 연마한 기술을 이용한 그런 순간이 왔으면 좋겠다. 마지막까지 반전이 없는 영화도 재미없지만, 인생이라면 더 쓸쓸하다.

내년 우리집을 떠나는 순간을 가끔 상상하곤 한다. 나의 이사는 곧 이 집의 끝을 의미하기에 내가 경험한 다른 이사의 순간들 보다 조금은 발걸음이 무거울 것 같다. 그래서 우리집의 마지막을 생애 최고의 순간으로 치장하는 지금은 어찌보면 미래의 나의 무거움을 가볍게 하는 행위이다. 연민 속에 함께 정점의 끝을 다듬는 것이다. 우리집이 아닌 내 정점의 순간을 만드는 것이다. 

우리집 아래에 사는 거동이 어려우신 노파는 이 아파트가 지어진 41년 전부터 사셨다고 자랑스럽게 말한다. 그 분이 이 집을 떠날 때 뒤돌아본 집의 텅빈 모습은 어떨까?  그 것이 찰나의 순간이 아닌 감정을 충분히 느낄 만큼의 길이를 가진 시간이라는 것을 나는 상상할 수 없다.