1.1 AI 시대가 드러낸 칩의 힘
지금은 AI 시대이다.
AI는 사람의 질문에 답하고, 글과 이미지를 만들며, 자동차와 로봇이 주변 상황에 맞게 움직이도록 돕는다. 2016년 알파고가 이세돌과의 바둑 대결에서 승리했을 때만 해도 놀라운 사건으로 받아들여졌다. 2022년 OpenAI의 ChatGPT가 등장한 데 이어 Anthropic의 Claude, Google의 Gemini 등 여러 AI 어시스턴트가 등장하면서 누구나 AI와 자연스럽게 대화하며 도움을 받을 수 있게 되었다. AI는 어느새 우리의 일과 생활 속에 들어와 있다. 그런데 이 모든 일은 결국 컴퓨터가 수행한다. 그 안에서는 무엇이 이 일을 해내고 있을까?
이러한 모습들은 사실 아주 오래전부터 사람들이 이루고자 했던 목표였다. 사람과 대화하는 컴퓨터(1960년대), 상황을 판단하고 움직이는 로봇(1970년대 초), 스스로 운전하는 자동차(1970년대 후반)를 만들기 위해 아주 오랜 과거부터 수많은 연구와 시도가 이어져 왔다. 제한된 환경에서 성과를 거두기도 했지만, 현실의 복잡한 상황에서도 기대하는 수준으로 동작하게 만드는 일은 쉽지 않았다.
이 목표를 이루기 위한 여러 종류의 접근 방법 중, 오늘날 쓸 만한 수준에 이른 AI의 근간이 된 것이 인공신경망 방식이다. 사람의 뇌에서 수많은 신경세포가 연결되어 정보를 주고받고 의사 결정을 하는 모습에서 아이디어를 얻어, 그 과정을 수학적으로 단순화한 것이다. 이러한 접근을 바탕으로 만든, 여러 수학적 연산이 연결된 구조를 AI 모델이라고 부른다. 다양한 형태의 AI 모델이 연구되어 왔고, 이 기본적인 아이디어도 오래전부터 연구되어 이어져 온 방식이었다.
AI 모델이 요구하는 연산을 컴퓨터에 시키려면, 그 연산을 어떤 순서로 할지 정해놓은 프로그램이 필요하다. 우리는 이해하기 쉬운 언어로 된 코드(Code)를 작성해 프로그램을 만들며, 그 프로그램을 보통 소프트웨어(Software)라고 부른다. 그리고 그 프로그램의 지시를 실제 연산과 동작으로 바꾸는 칩 같은 물리적인 부품을 하드웨어(Hardware)라고 부른다. 다시 말하면, 소프트웨어가 무엇을 어떻게 처리할지 정하면 하드웨어가 그 일을 실제로 수행하게 되는 것이다. AI 모델을 실행하는 코드도, 우리가 일상적으로 작성하는 코드도 프로그램이 되어 컴퓨터 안에서 같은 방식으로 수행된다.
과거 AI 모델을 사용하는 데 있어 문제는 모델이 요구하는 연산을 과거의 하드웨어가 충분히 감당하기 어려웠다는 데 있었다. 복잡한 문제를 다루도록 모델의 규모를 키울수록 연산량이 막대하게 늘어났고, 같은 연산을 수없이 반복해야 했다. 모델에 쓰이는 수치와 연산 도중의 중간 결과를 담아둘 공간도 필요했다. 연산을 빠르게 처리하는 능력과, 많은 정보를 기억하고 꺼내오는 능력이 함께 요구되었던 것이다. 모델의 규모를 키우면 연산에 너무 오랜 시간이 걸리고, 기억 공간이 부족해 아예 수행할 수 없는 경우도 있었다. 이는 새로운 모델을 실험하고 발전시키는 데에도 큰 제약이 되었다. 즉, 소프트웨어의 능력을 하드웨어가 뒷받침하기 어려웠고, 그로 인해 소프트웨어가 발전하기 어려운 상황이었다.
이 한계를 넘어설 수 있게 한 중요한 변화가 칩(Chip) 기술의 발전이었다. 칩은 반도체 위에 아주 작은 전자 회로를 모아 만든 부품으로, 컴퓨터 안에서 연산이나 기억 등의 역할을 맡는다. 우리가 흔히 보는 작고 검은 네모 부품은 칩을 보호하고 외부와 연결할 수 있도록 감싼 형태다. 〈그림 1-1〉은 이러한 칩의 외형을 보여준다. 연산을 담당하는 칩은 많은 연산을 동시에 더 빠르게 처리할 수 있도록 끊임없이 발전했다. 메모리 칩도 더 많은 정보를 담고 빠르게 주고받을 수 있게 되었다. 그 결과, 이전에는 시도하기 어려웠던 규모의 AI 모델을 만들고 활용할 여건이 마련되고, 우리는 AI 모델 연산을 통한 다양한 AI 기술을 접하고 있다.
칩 기술의 발전은 기존 프로그램을 빠르게 실행하는 데서 그치지 않고, 연구자들이 더 큰 모델과 새로운 방법을 시험할 기회도 넓혀주고 있다. 실험 시간이 줄어들면 결과를 확인하고 다음 아이디어를 시도하는 과정도 빨라졌고, 여기에 풍부해진 데이터와 연구 성과가 더해지면서 소프트웨어의 발전에도 속도가 붙었다. 더 강력한 칩이 새로운 모델을 가능하게 하고, 발전한 모델이 다시 더 많은 연산 능력과 기억 공간을 요구하며 소프트웨어와 하드웨어 두 분야가 서로의 발전을 이끌게 된 것이다.
칩의 발전이 최신 AI 기술에 놀라운 변화를 만들어낸 것은 사실이다. 하지만 어떤 응용 기술이든, 컴퓨터가 일을 수행하는 기본 방식과 그 내부에서 작동하는 원리는 크게 변하지 않았다. 단순하게 정리하면, 칩을 가지고 있는 컴퓨터라는 전자 장치 위에서 소프트웨어와 하드웨어가 맞물린다. 소프트웨어에서는 사람이 작성한 코드가 무엇을 어떻게 처리할지 정하고, 하드웨어에서는 칩이 그 지시를 실제 연산과 동작으로 바꾼다. 즉, 복잡하고 연산량이 많은 AI 모델을 실행할 때도, 숫자 두 개를 더하는 간단한 일을 할 때도, 코드로 작성된 프로그램에 따라 컴퓨터가 칩으로 그 일을 처리하는 방식과 원리는 변하지 않는다.
코드가 정한 일이 실제 물리적인 동작으로 바뀌는 곳이 칩이다. 그런데 우리는 아직 컴퓨터 화면에서 보는 모습만으로는 그 아래에서 어떤 일이 벌어지는지 알기 어렵다. 코드가 지시한 연산은 어떻게 컴퓨터 내부에서 이루어질까? 필요한 정보는 어디에 기억되고, 어떤 길을 따라 움직일까? 이 책은 이러한 질문을 따라, 컴퓨터 내부에서 동작의 중심을 맡는 칩을 이해하며 코드 아래에서 벌어지는 일들을 들여다보려고 한다. 사람이 작성한 코드가 칩의 실제 동작으로 이어지는 과정, 바로 ‘코드 아래 세상’을 이해하기 위해서다.


〈그림 1-1〉 칩(Chip) — 컴퓨터 내부에 자리 잡은 작고 검은 네모 부품. 왼쪽은 시스템 반도체 칩, 오른쪽은 메모리 반도체 칩의 실물이다.