AI 강의 2025 | 박태웅 저 | 한빛비즈 | 2024년 09월 30일
최근 AI를 열심히 공부하고 있다. 나의 적성, 전공등으로 인해 IT프로그래밍은 Catch-Up하지 못했지만 AI기술은 어느정도 따라갈 수 있다는 자신감이 요즘 든다.
나이들어 공부를 해야 하는가라는 반문을 해 보다가도 AI기술을 지금부터 Catch-Up 해 나가지 못하다가는 지난 IT 프로그래밍을 잘 몰라 홀로 섬에 남아져 있다는 기분을 또 다시 느껴야 할지도 모른다는 생각에 용기를 가져 열심히 공부하려고 한다.
AI에 대한 회의감을 갖지만, 그래도 이 흐름은 그저 하나의 유행하는 IT기술이 아님을 직감하게 된다.
공자가 논어(論語)에서 이야기한 가르침을 다시한번 상기해 본다.
“學而時習之 不亦說乎, 배우고 때때로 익히면 또한 즐겁지 아니한가?”
AI초보자에게 쉽게 익힐 수 있는 책을 읽고 주요 내용을 발췌해 본다.
저자에게 AI기술을 쉽게 이해할 수 있게 해 주심에 감사의 말을 전한다.
---------------------------------------------------
GPU 시장은 사실상 엔비디아NVIDIA가 지배하고 있습니다. 이 회사에서 나온 V100이라는 제품은 1초에 125조 번 실수 계산을 합니다. 그다음 모델로, 챗GPT의 학습에 쓰인 A100이라는 물건은 1초에 무려 312조 번의 더하기, 빼기를 할 수 있습니다. V100보다 딥러닝 학습과 추론에서 20배 이상 뛰어난 연산 능력을 보인다고 합니다. 챗GPT는 이런 A100을 1만 대나 썼다고 합니다. 125조×20배×60초×60분×24시간×100일×10,000대=216,000,000,000,000조가 챗GPT가 사용한 하드웨어의 계산량이 됩니다. 정말 무시무시한 숫자가 아닐 수 없습니다. A100에 뒤이어 나온 H100은 이것보다 또 두세 배가 더 빠릅니다. 정말 마술 같은 숫자입니다.
2022년 11월 30일 챗GPT가 나타났습니다. 그 후 불과 1년여 사이에 인공지능Artificial Intelligence: AI은 그야말로 눈부신 발전과 변화를 보여주고 있습니다. 전문가들도, 쏟아져 나오는 논문들을 따라 읽기가 벅차다고 말할 정도입니다.
멀티모달Multimodal은 여러 형태의 정보 형식을 가리킵니다. AI에서 멀티모달은 텍스트, 이미지, 음성, 동영상 등 서로 다른 방식으로 표현된 정보를 함께 처리하거나 활용하는 것을 말합니다.
매개변수가 작아지면 뭐가 좋아질까요? 무엇보다도 제대로 된 온디바이스 AIOn-Device AI, 즉 한 대의 PC나 스마트폰에 올릴 수 있는 AI가 가능해집니다. 챗GPT나 GPT-4 터보처럼 몇천억 개, 조 단위의 매개변수를 가진 거대언어모델들은 크기가 너무 커서 PC나 스마트폰으로는 돌리지 못합니다. 하지만 80억 개 정도의 매개변수라면 돌릴 수가 있습니다. 이렇게 되면 뭐가 좋을까요? 매개변수의 숫자가 적으니 당연히 속도가 빨라집니다. 무엇보다도 내 데이터를 클라우드에 올릴 일이 없으니 개인정보가 샐 염려도 없겠지요. 개인화가 쉬워집니다. 중소기업에서도 자사의 데이터들을 다 넣고 인공지능을 맘껏 돌려볼 수 있다는 뜻이 됩니다. ‘에이전트Agent’의 시대가 옵니다. 이게 아주 의미 있는 일이 되는데요. 내 컴퓨터 또는 내 스마트폰에서 돌리면 프라이버시가 보장되니 당연히 내 데이터를 모두 들여다봐도 아무 일이 없게 됩니다. 그래서 이런 일들이 가능해집니다.
2023년 12월에는 테슬라에서 휴머노이드 옵티머스 젠2Optimus-Gen 2를 공개했습니다. 옵티머스 젠2는 강화학습Reinforcement Learning을 이용했습니다. 강화학습은 행동심리학에서 나온 이름입니다. 유명한 ‘스키너의 상자’를 보면 강화학습의 원리를 쉽게 이해할 수 있습니다. 쥐를 상자에 넣고, 지렛대를 누를 때마다 먹이를 줍니다. 쥐는 처음에는 지렛대와 먹이의 상관관계를 모릅니다. 그러다 우연히 지렛대를 누를 때마다 먹이를 얻게 되면, 쥐는 점차 지렛대를 더 자주 누르게 됩니다.
아틀라스는 그간 휴머노이드의 표준 벤치마크로 불릴 만큼 압도적인 최강자였으나 그동안 두 가지 점에서 우려의 눈길을 받고 있었던 게 사실입니다.
첫 번째가 AI의 등장입니다. 보스턴 다이내믹스는 하드웨어로서의 휴머노이드, 즉 인간이 알고리듬을 짜는 로봇 시절의 최강자였습니다. 그러다 갑자기 AI가 로봇과 결합하고, 테슬라가 강화학습으로 만든 옵티머스 젠2를 내놓습니다. 그러니까 휴머노이드가 AI와 결합하게 되면서 보스턴 다이내믹스가 밀리게 된 거 아닌가 하는 겁니다.
두 번째는 유압식 액추에이터의 경쟁력 약화입니다. 유압식은 강력한 힘과 토크 등 장점도 많지만 그에 못지않게 엄청난 소음, 복잡한 제어 등의 단점을 가집니다. 배터리 지속 시간도 그만큼 짧습니다. 테슬라의 옵티머스 젠2, 피겨AI의 휴머노이드는 모두 전기식 액추에이터를 씁니다.
세 번째로, 올 뉴 아틀라스는 전이학습도 합니다. 오르빗 소프트웨어Orbit Software라는 게 있는데, 각 로봇이 학습한 내용을 서버에 모은 다음, 모든 로봇들에게 전이합니다. 이렇게 되면 공장에 새로 들어온 로봇도 그날 즉시 투입이 가능하게 됩니다. 기존 로봇이 학습한 모든 내용이 전이되기 때문이지요.
지금의 거대언어모델들은 수십조 개의 토큰을 학습한 결과물입니다. 그러니까 남이 본 것, 남이 들은 것, 남이 쓴 것을 읽고 보고 듣고 학습을 한 것입니다. 이렇게 해서는 제대로 된 세계에 관한 모델을 가질 수가 없다는 게 이들의 주장입니다.
‘책으로는 키스를 배울 수 없다’는 것이지요. 이런 주장의 대표 주자는 메타의 수석 AI 과학자 얀 르쿤입니다. 그는 거대언어모델은 결코 인간 수준의 지능에 도달하지 못할 것이라고 말합니다. 르쿤의 관점에서, 거대언어모델은 문자Text라는 한 가지 형태의 인간 지식에 지나치게 의존하고 있습니다. “우리는 언어에 대한 거대언어모델의 유창함 때문에 그들이 똑똑하다고 생각하고 쉽게 속지만, 실제로 현실에 대한 그들의 이해는 매우 피상적”이라고 그는 말합니다. 그리고 “대부분의 인간 지식은 실제로 언어가 아니므로 그 시스템은 아키텍처를 바꾸지 않는 한 인간 수준의 지능에 도달할 수 없습니다”라고 덧붙입니다.
CPU라는 훌륭한 칩이 있는데 왜 또 GPU가 있어야 할까요? 두 칩이 잘하는 일이 서로 다르기 때문입니다. CPU는 순차적 계산Serial Computing에 특화돼 있습니다. ‘만약 ~라면 무엇을 해라(if~ then~)’와 같은 일을 말합니다. 순서대로 이어서 계산을 하는 것이지요. 대부분의 프로그램들이 이런 순차 계산을 합니다.
그런데 GPU는 동시에 병렬로 수많은 계산을 할 수 있습니다. 더하기, 빼기와 같은 실수 계산을 하는 데 특화되어 있습니다.
그런데 왜 ‘계산전용칩’이라고 하지 않고 그래픽칩이라고 할까요? 컴퓨터 모니터의 해상도를 흔히 픽셀(화소)의 개수로 표현합니다. 가령 XGA는 1,024×768로 표현하는데, 가로, 세로 각각 1,024개와 768개의 픽셀, 곱해서 모두 78만 6,432개의 화소가 있다는 뜻입니다. 이만큼의 점들을 가지고 이미지를 표현합니다. 화소가 많을수록 이미지를 더 섬세하게 표현할 수 있겠지요? 그래서 고급 제품일수록 화소 수가 많습니다. 화소 수가 수백만 개가 넘어가면 이미지를 표현하는 데 필요한 계산 능력이 기하급수적으로 올라갑니다.
GPU는 이렇게 애초에는 그래픽 계산을 위해 만들어졌는데, 뜻밖에 인공지능 시대를 만나 더욱 빛을 발하게 되었습니다. 압도적인 병렬계산 능력 덕분이지요.
새로운 접근법은 사진의 차이점들을 구분하는 것까지 모두 인공지능에 맡깁니다. 그러니까 고양이 사진을 15만 장 주고 ‘이 15만 장의 사진들 간 차이점을 네가 다 잡아내라’ 하는 셈이지요. 잡아낸 특징들이 1,000만 개일 수도 있고, 1억 개일 수도 있겠지요. 이 특징들 중에 어떤 것은 ‘고양이’라는 잠재된 패턴과 밀접한 관계가 있을 것이고, 어떤 특징들은 그다지 관계가 없거나, 아무 관계가 없을 겁니다. 이 1,000만 개, 1억 개의 특징들 하나하나에 대해 얼마나 밀접하게 관계가 있는가에 따라 가중치를 주는 거예요. 이렇게 매긴 가중치를 ‘매개변수’라고 부릅니다.
그런데 여기서 새로운 문제가 생깁니다. 인공지능이 맞히기는 기가 막히게 잘 맞히는데, 왜 잘 맞히는지를 인간이 알 수가 없다는 것입니다. 설명을 할 수가 없다는 것이지요. 설명을 하려면 1,000만 개, 1억 개의 매개변수를 다 열고 하나하나 짚어가면서 ‘왜 이 매개변수에는 0.0000023점을 주고, 저 매개변수에는 0.00000001점을 줬는지’ 설명할 수 있어야 하는데, 인간의 자연 수명으로는 죽을 때까지 1억 개의 매개변수를 열기도 바쁘기 때문입니다.
저는 카파시의 의견에 동의합니다. 현재의 거대언어모델은 할루시네이션을 없앨 수 없습니다. 그것은 동전의 양면과 같기 때문입니다. 물론 챗GPT에 비해 GPT-4 터보의 할루시네이션은 체감할 수 있을 만큼 크게 줄었습니다. 계속해서 줄어들고 있지요. 그러나 없앨 수는 없을 것이라고 저는 생각합니다. 검색 증강 생성Retrieval-Augmented Generation: RAG과 같은, 할루시네이션을 낮추려는 여러 시도들도 나타나고 있습니다.
프롬프트 인젝션은 쉽게 말해 교묘한 요구를 입력해서 인공지능이 규칙 밖의 행동을 하게 만드는 것을 말합니다. 챗GPT와 같은 거대언어모델들은 이런 조작에 취약한 모습을 보입니다. 이 문제가 심각한 것은 정상적인 질문에 대해서도 폭주할 때가 있기 때문입니다. 시스템의 안정성도 떨어진다는 것을 알 수 있습니다.
앞서 설명했듯이 지금의 AI는 블랙박스입니다. 왜 그렇게 작동하는지를 구체적으로 설명할 수 없습니다. 그러니 부분만 고치는 건 할 수 없습니다. 전체를 다시 학습시킬 수밖에 없지요. 마이크로소프트의 이런 응급조처는 그러므로 어쩔 수 없는 일이었다고도 할 수 있습니다.
가장 큰 변화는 역시 이미지를 이해한다는 것입니다. 오픈AI 쪽이 공개한 예시는 놀랍습니다. 먼저 사진을 GPT-4에게 보여줍니다. 질문: 이 그림을 보고 뭐가 웃긴지 알려주고, 각 패널을 하나씩 설명해줘. GPT-4: 스마트폰에 오래된 VGA 커넥터를 꽂으려고 하고 있네요. 라이트닝 케이블(아이폰 단자) 패키지에 VGA 사진을 붙였어요. VGA 커넥터에 라이트닝 커넥터를 붙여놓았군요. 크고 오래된 VGA 커넥터를 작은 최신형 스마트폰 포트에 꽂으려고 하는 게 이 사진의 웃긴 점입니다. 이렇게 답을 하기 위해서 GPT-4는 여러 가지를 해야 합니다. 우선 이미지 안에 있는 글자를 읽어야 하고, 사진도 이해할 수 있어야 합니다. 커넥터의 역사도 알고 있어야 합니다. 어느 것이 오래된 커넥터인지, 그게 무슨 기능을 하는지 다 알고 있어야 하는 것이지요. 끝으로 이게 왜 웃긴지를 설명하려면 인간이 어디서 웃는지를 이해해야만 합니다. 그러니까 GPT-4는 이 과정들을 다 했다는 것이 됩니다.
토큰Token부터 시작합니다. 토큰은 어떤 기호, 상징, 기념품 혹은 화폐의 한 형태로 사용되는 조각을 의미합니다. 과거에 승차권으로 쓰인 ‘버스 토큰’을 기억하시는 분들도 있을 텐데요, 암호화폐에서도 토큰이 화폐의 한 형태를 나타내는 말로 쓰입니다. 컴퓨터 과학에서는 프로그래밍 언어에서 텍스트의 최소 단위를 나타내는 말로 쓰였습니다. 변수명, 연산자, 예약어 등을 토큰이라고 부릅니다.
자연어 처리Natural Language Processing: NLP에서는 언어를 작은 단위로 나누는데 이때 나뉜 단어, 구두점, 특수문자, 접두사, 접미사 등을 숫자(정수)로 표기한 것을 토큰이라고 부릅니다. 우리가 이 책에서 말하는 ‘토큰’은 바로 이 뜻입니다.
어텐션 모델부터 알아봅시다. 어텐션은 트랜스포머의 심장이라고 할 수 있습니다. 어텐션은 단어들 간의 관계를 수학적으로 계산합니다. 단어들이 서로 얼마나 관련이 있는지를 따져서 점수를 매기는 겁니다.
트랜스포머는 ‘멀티 헤드 어텐션Multi-Head Attention’이라고 해서 여러 개의 어텐션을 동시에 사용합니다. 여러 개의 어텐션이 내놓은 값을 비교해본다는 것인데요, 마치 여러 명이 하나의 주제를 놓고 토론하는 것과 비슷합니다. 이렇게 해서 문장의 다양한 측면을 더 잘 반영하게 됩니다.
라틴어 Vector는 ‘운반자’라는 뜻입니다. 점 A를 점 B까지 운반하는 데 필요한 것을 나타내기 위해 쓰였습니다. 18세기 천문학자들이 태양 주변의 행성의 공전을 조사하면서 처음 사용했습니다. 그러니까 벡터의 크기는 A와 B 사이의 거리입니다. 거리가 멀수록 커지겠지요. 방향은 B가 A로부터 놓인 방향을 말합니다. 그러니까 거리와 방향을 함께 표시하는 게 벡터 값입니다.
인공지능에서는 벡터 값이 어떻게 사용될까요? 앞에서 단어 간의 관계를 어텐션 매커니즘을 통해서 찾아낸다고 했지요. 그렇다면 수많은 단어들 간에도 서로 간의 관계에 따라 거리와 방향이 있을 겁니다. 벡터 값을 가진다는 뜻입니다. 앞에서 본 것처럼 ‘축구’는 ‘오늘’보다 ‘학교’와 서로 가까운 거리와 방향을 가질 것입니다. 물론 거리와 방향 두 가지 값만 가지고 있진 않습니다. ‘고양이 사진 찾기’에서 본 것처럼 고차원 벡터 값을 갖습니다. 구글에서 만든 BERTBidirectional Encoder Representations from Transformers라는 딥러닝 언어모델은 토큰을 786차원에 걸쳐서 표현합니다.
뉴런은 세포체와 가지돌기(예전의 수상돌기), 축삭(밧줄기둥 모양)돌기, 축삭말단(축삭돌기의 끝)으로 이뤄져 있습니다. 가지돌기는 다른 뉴런으로부터 정보를 받아들이는 역할을 하고, 축삭돌기는 다른 뉴런으로 정보를 내보내는 역할을 합니다. 인간의 뇌에는 대략 860억 개쯤의 뉴런이 있습니다. 시냅스는 수십조에서 100조 개에 이릅니다. 뉴런 간의 연결이 그만큼 복잡하게 얽혀 있다는 뜻입니다.
그러니까 규모를 키우는 게 무엇보다도 중요하다는 것입니다. 이 때문에 챗GPT의 출현을 알리는 〈타임〉의 표지 제목이 “인공지능 군비경쟁이 모든 것을 바꿔놓고 있다”였던 것입니다. 군비경쟁을 하듯 규모를 키우는 시도들이 앞다투어 나타나고 있다는 것입니다. 챗GPT가 무려 1,750억 개의 매개변수, 5조 개의 문서, 1만 개의 A100 GPU로 학습한 이유가 여기에 있습니다. 넉 달 뒤에 오픈AI가 내놓은 GPT-4는 규모를 공개하지 않았습니다만, 여러 가지를 고려할 때 1조 개가 넘는(아마도 1조 8,000억 개) 매개변수를 가지고 있을 것이라는 게 정설에 가깝습니다.
“저는 갑자기 이런 것들이 우리보다 더 똑똑해질 수 있다는 쪽으로 생각이 바뀌었습니다.” 힌턴은 〈MIT 테크놀로지 리뷰〉와의 인터뷰에서 차세대 거대언어모델, 특히 오픈AI가 2023년 3월에 출시한 GPT-4를 통해 기계가 자신이 생각했던 것보다 훨씬 더 똑똑해질 수 있다는 사실을 깨달았다고 말합니다. 힌턴은 40년 동안 인공 신경망을 생물학적 신경망을 모방한 부실한 시도로 여겨왔습니다. 하지만 이제는 상황이 바뀌었다고 생각합니다. “무섭습니다”라고 그는 말합니다. “기계는 우리와 완전히 다른 존재입니다. 마치 외계인이 착륙했는데 영어를 너무 잘해서 (그가 외계인이라는 것을) 사람들이 깨닫지 못하는 것 같다는 생각이 들 때가 있습니다.” 힌턴은 우리가 막대한 컴퓨팅 비용을 기꺼이 지불한다면 신경망이 학습에서 생물을 이길 수 있는 결정적인 방법이 있다고 생각합니다. 게다가 더 무서운 것은 소통입니다. 힌턴은 이렇게 이야기합니다. 우리가 무언가를 배우고 그 지식을 다른 사람에게 전수하고 싶을 때, 배운 걸 그대로 복사하듯 전달할 방법은 없습니다. 하지만 만약 각자의 경험을 가진 1만 개의 신경망이 있고, 그중 누구라도 자신이 배운 것을 모두와 즉시 공유할 수 있다면 어떨까요? 이는 마치 1만 명의 사람이 있는데 한 사람이 무언가를 배우면 우리 모두가 그것을 아는 것과 같습니다.
이런 일을 아주 제대로 해보자 하고 만든 게 랭체인LangChain18입니다. 랭체인은 ‘Language’와 ‘Chain’의 조합입니다. 대규모 언어모델을 기반으로 애플리케이션을 쉽게 개발할 수 있게 해주는 오픈소스 프레임워크Framework입니다. 프레임워크는 ‘뼈대’, ‘골조’라는 뜻입니다. 조립식 주택은 골조를 세우고 나면 나머지 벽체와 지붕 등은 모듈을 가져다 붙이기만 하면 되지요. 소프트웨어 프레임워크란 이처럼 애플리케이션을 개발할 때 공통적으로 필요한 기능들을 미리 만들어놓은 것을 말합니다.
랭체인이 제공하는 기능 일부를 소개하면 다음과 같습니다.
• 언어모델 가져오기: 거의 모든 거대언어모델을 가져와서 사용할 수 있게 해줍니다.
• 문서 로더: 나중에 처리할 수 있게 데이터를 문서 형태로 올립니다.
• 채팅 모델: 채팅으로 입력과 출력을 하는 언어모델을 쓸 수 있게 합니다.
• 검색: 검색 증강 생성RAG을 쓸 수 있게 합니다.
• 임베딩 모델: 입력한 문장의 벡터 값을 구해 자연어 검색이 가능하게 합니다.
• 도구Tools: 거대언어모델이 외부 시스템과 상호작용할 수 있도록 합니다.
AI에서도 오픈소스의 움직임이 거셉니다. 메타가 2024년 7월 23일(미국 현지 시각) 라마3.1을 공개했습니다. 라마3.1은 4,050억 개의 매개변수를 가진 역대 최대 크기의 오픈소스 인공지능 모델입니다. 메타는 이 모델이 오픈AI의 GPT-4o, 앤스로픽의 클로드3.5 소네트보다 뛰어나다고 주장했습니다. GPT-4는 매개변수가 1조 8,000억 개쯤이라고 알려져 있습니다. 3분의 1도 안 되는 적은 크기로 비슷한 성능을 낸다는 것입니다.