내 삶을 차리는 독서의 시작
지난 글에 이어 <AI 미래> 2장 '인공지능이란 무엇인가'를 읽고 밑줄 친 내용을 토대로 생각을 쓴 글입니다.
스테이블 디퓨전 모델에서 밑줄 친 부분을 보겠습니다.
스테이블 디퓨전 모델의 본래 이름을 잠재(Latent) 디퓨전 모델이다. 여기서 '잠재'라는 말에 주목할 필요가 있다. 다른 디퓨전 모델들은 이미지에 직접 노이즈를 더하고 빼는 식으로 작동하지만, 스테이블 디퓨전 모델은 기존 이미지의 크기를 1/48로 줄인 '잠재 이미지'에 대해서 노이즈를 더하거나 빼는 식으로 작동한다.
해당 분야 경험이 없으니 막연합니다. 조금 더 내용을 볼까요?
다시 정리하면 스테이블 디퓨전 모델은 기존 이미지의 크기를 줄인 잠재 이미지에 디퓨전 과정을 적용해 처리 속도도 높이고 필요한 메모리 용량도 현저하게 줄였다. 이 덕분에 일반적인 사용자들이 사용하는 보통 사양의 컴퓨터에서도 구동할 수 있었다. 덕분에 이를 연구 개발하는 생태계가 크게 활성화되는 효과도 얻을 수 있었다.
두 개의 이름에 얽힌 사연에 대해 생성형 인공지능이 알고 있는 바를 물었습니다. 흥미롭게도 제미나이와 챗GPT가 다르게 답을 내놓습니다.
챗GPT는 책에서 내놓은 설명의 부연으로 봐도 될 듯한데, 제미나이는 잠재 디퓨전 모델이라는 이름이 스테이블 디퓨전 모델로 바뀌었다는 명확한 근거는 없다고 말합니다.[1]
이어서 특별히 다음 포기말에 관심이 가는 이유는 아마도 제가 '응용'에 초점을 두고 읽기 때문이 아닐까 싶습니다.
파인 튜닝은 말 그대로 미세 조정으로, 이미 사전 학습을 통해 충분히 학습된 모델을 아주 조금만 추가 학습시키는 것을 말한다.
같은 이치로 다음 내용에도 밑줄을 치며 읽었습니다.
스테이블 디퓨전 사용자들 사이에는 파인 튜닝한 다양한 모델들을 공유하는 일도 매우 활성화되어 있다. 국내에서 '시비타이'라 불리는 Civit AI는 파인 튜닝한 모델들을 올리고 내려받을 수 있는 대표적인 공유 사이트이다. <중략> Civit AI에 가보면 'Mixer'라는 이름이 붙은 파인 튜닝 모델들을 쉽게 볼 수 있다. 이들은 2개 이상의 파인 튜닝 모델들을 말 그대로 섞은 것이다. <중략> 일반 사용자들도 쉽게 사용할 수 있도록 되어 있기 때문에 정말 다양한 블렌딩 모델들이 만들어지고 있다. <중략> 동일한 모델에서 살짝 파인 튜닝된 모델을 섞으면 의미 있는 결과가 나올 수 있다.
파인 튜닝에 대한 내용을 읽고 나니 종합적으로 느껴지는 바는 마치 오픈소스 기술을 선택할 때 커뮤니티 활성화를 바라보는 시각이 투영되었습니다. 실질적인 차이는 알 수 없지만, 특정 모델 인스턴스를 판단할 때 비슷한 효과나 기능을 하지 않을까 싶은 생각이 들었습니다.
트랜스포머라는 이름은 저에게도 친숙합니다.
트랜스포머는 챗GPT로 대표되는 텍스트 생성 모델 GPT의 기반이 된 구조이다. 트랜스포머라는 이름은 전압을 바꾸는 변압기를 뜻하기도 하고, 변신 로봇을 뜻하기도 한다. <중략> 이 신경망 구조로 원래 하려고 했던 일이 언어를 번역하는 일이었기 때문이다.
트랜스포머 구조의 배경이 되었다는 논문 초록을 몇 차례 읽은 덕분일 듯합니다. 책에서 트랜스포머 구조의 핵심 기능을 임베딩과 어텐션 두 가지로 짚어주네요. 트랜스포머 구조의 기원이 된 논문을 브라우저에 띄워 놓고 읽다 멈춘 지가 꽤 오래되었는데, 이제 논문 읽기는 포기해도 될 듯합니다. ;)
임베딩 혹은 임베딩 벡터는 2013년에 나온 논문에서 처음 등장했다. 임베딩은 입력되는 자연어 텍스트를 단어 단위로 받아들여서 단어의 의미를 다차원의 벡터 속성으로 바꾸는 일을 한다. <중략> 입력되는 자연어 텍스트를 임베팅 벡터로 바꾼다는 것은 단어의 의미를 고차원 벡터 공간의 한 점으로 표시하는 것이다. 단어가 가질 수 있는 다양한 의미의 속성을 고차원 공간에 매핑하는 것이라고 볼 수 있다.
비록 책 내용에서는 많이 벗어날 수도 있지만 흥미로운 상상을 하게 됩니다. 임베딩 벡터는 마치 삶에서 지나온 많은 순간에 기억 속에 보관했을 수 있는 많은 압축된 경험을 단어가 연결할 수 있는 상태로 변환한다는 생각이 들었습니다. 물론 책 내용을 근거로 인공지능의 수행 방식과 우리의 뇌가 비슷하게 작동한다는 전제를 깐 상상일 뿐입니다.
계속해서 밑줄 친 내용을 봅니다.
워드투벡터는 사람이 의도적으로 입력해 준 단어들의 관계를 이미 알고 있었던 것이 아니라, 수많은 문장을 모다 놓은 말뭉치를 통해 통계적인 방법으로 파악한다. 단어의 속성과 의미를 백과사전으로 학습하는 것이 아니라 말뭉치를 통해서 스스로 알아내는 것이다. 이러한 임베딩을 통해서 인공지능은 개별적인 단어의 의미를 파악할 수 있다.
여기까지 읽고 나니 왜 '임베딩'이라고 했는지 알 듯합니다. 책을 읽기 전에는 사람들이 왜 임베딩이라고 하는지 직관적으로 납득이 되지 않았거든요.
두 번째 핵심 기능인 어텐션을 설명하는 내용이 등장합니다.
그런데 단어의 의미는 단지 그 단어만으로 결정되지 않는다. 단어의 앞뒤에 있는 다른 단어들과의 관계에 따라 그 의미가 달라진다. 우리는 이것을 맥락이라고 한다. 단어의 의미는 문장의 맥락에 따라 달라질 수 있다. 맥락을 파악해야만 자연어 문장의 의미를 제대로 이해할 수 있는 것이다.
읽다 보니 <단단한 영어공부>에서 텍스트를 반드시 콘텍스트와 함께 이해해야 한다고 설명하는 구절이 떠올랐습니다. 더불어 <단단한 영어공부>에서 비슷한 관점으로 인상 깊었던 관련 구절을 찾아보았습니다.
언어의 의미가 사회문화적으로, 또 역사적으로 확장되어 나가는 원리에 부합합니다. <중략> 단어는 공적인 의미와 사적인 의미를 모두 갖고 있습니다. 예를 들어 보겠습니다. 텀블러는 '손잡이가 없는 긴 잔이나 휴대용 물병'이라는 사전적 의미가 있지만, 저에게만큼은 '강의의 동반자', '겨울철 추운 거리의 소중한 친구'라는 의미도 있습니다. 누군가에게 후드티는 모자가 달린 패션 아이템으로의 의미가 크겠지만 제겐 바람을 막아 음악을 듣게 해 주는 고마운 '모바일 음악감상 공간'입니다.
다시 책으로 돌아가 봅니다.
인공지능이 맥락을 파악하도록 하기 위해서 나온 아이디어가 바로 어텐션 메커니즘이다. <중략> 입력된 문장이 다른 문장이 아닌 입력된 문장 자신의 단어들 사이의 연관성을 파악하는 것이다. 이를테면 입력된 문장 속의 단어 중 대명사가 있다면 그 대명사가 어떤 단어를 가리키는지를 파악하는 것이다.
크로스 어텐션이라는 기술도 소개합니다.
문법 구조가 다른 언어 사이에서는 어순이 달라질 수도 있고, 단어의 성 구분이 없는 언어에서 있는 언어로, 혹은 그 반대로 갈 수도 있다. 이러한 경우에 크로스 어텐션이 역할을 한다.
마스크드 멀티 헤드 셀프 어텐션Masked Multi-Head Self Attention 설명도 있습니다.
아직 생성되지도 않은 뒤에 나올 단어를 미리 보면 반칙인 셈이다. 트랜스포머의 디코더 부분을 학습시킬 때는 자기 지도 학습 방식을 활용한다.
아래 그림은 논문에서 트랜스포머 핵심 구성 요소에 대한 묘사입니다.
흥미롭게도 트랜스포머가 널리 알려진 계기일 듯한 GPT 모델은 논문을 그대로 구현하지는 않았다고 합니다.
GPT 모델은 트랜스포머 구조를 모두 사용하지 않고 오직 디코더 부분만을 사용한다. 인코더와 크로스 어텐션으로 연결되는 부분도 사용하지 않는다.
저자는 흥미로운 주장을 합니다.
대규모 언어 모델 속에는 인간이 있다.
논란이 있을 수 있지만, 상당 부분 동의합니다.
언어 자체는 추상적인 것이지만, 언어는 또한 인간 경험의 표상이기도 하다. 언어에는 인간이 생물학적인 몸을 통해 경험한 것들이 잔뜩 묻어 있다. <중략> 파라미터에 생물학적 육체를 제외한 인간의 나머지 많은 것들이 담긴 셈이다.
이어서 '생성이란 과연 무엇일까?' 절은 2장에서 가장 인상적이었습니다.
수많은 이미지를 통해서 이미지를 구성하는 개념과 속성을 학습한다. 그러한 개념과 속성을 재구성해서 새로운 이미지도 만들어 낼 수 있는 것이다.
그중에서 가장 인상적인 다발말(=구절)은 다음 내용입니다.
이미지를 생성한다고 말하지만 사실 이미지 생성 모델이 하는 일은 이미 존재하는 이미지를 찾아내는 것에 가깝다. 바둑에 비유해 보자. 바둑에서 가능한 수는 우주에 존재하는 원자의 수보다 훨씬 많다. <중략> 바둑 기사의 일이란 이러한 어마어마한 가능성 속에서 가장 유리한 수를 '찾아내는 것'이라고 할 수 있다. <중략> 우리가 창작이라고 여기는 많은 인들이 사실은 이미 어딘가에 존재하는 것을 애써 찾아내는 것일 수도 있다.
저자는 나아가 생성이 아니라 발견이라고 합니다.
화가가 원하는 그림을 찾아내는 일이라고 볼 수 있다.
매력적인 주장입니다.
우리가 생성이라고 말하던 것이 사실은 방대한 가능태 공간에서 뭔가를 애써 발견하는 것이라는 통찰을 얻을 수 있는 말이기도 하다. <중략> 사실상 무한한 가능성의 공간에서 의미 있는 것을 찾아내는 과정이 바로 이미지 생성 모델이 하는 일이라고 할 수 있다.
앞선 저자의 표현 '대규모 언어 모델 속에는 인간이 있다'와 '생성이 아니라 발견'을 엮어 보면 마치 자연에서 발견하는 일처럼 인공 지능 덕분에 인류의 방대한 유산이 하나로 결합된 가운데에서 발견이 가능한 세상이 되었다고 상상할 수 있습니다.
생성 인공지능은 무한한 가능성의 공간을 탐험하는 인간의 여정에 함께하는 동반자이다. 대표적인 이미지 생성 인공지능인 미드저니는 직역하면 '여행 중'이라는 뜻이다. 아마 인공지능이 인간의 여정에 함께하는 동반자라는 생각에서 지은 이름이 아닐까. 이제 싫든 좋든 인간의 힘만으로는 할 수 없었던, 그 누구도 가 본 적이 없는 곳으로 떠나는 여정이 시작되었다.
[1] 둘은 같은 프롬프트를 사용하여 얻은 결과입니다. 사용한 프롬프트는 다음과 같습니다.
- 스테이블 디퓨전 모델의 이름에 Stable 이란 표현이 들어간 근거와 경위를 구분해서 설명해 줄 수 있나요?
- 원래 이름이 잠재 디퓨전 모델이었다고 하는데, 어느 시점에 어떤 사건을 겪으며 바뀐 것인가요?
(69회 이후 링크만 표시합니다.)
69. 시각적 이미지와 감정적 이미지를 통해 동작을 배운다
71. 나에게 인공지능이란 무엇인가?
73. 나를 지배한 사고의 틀을 해체하면 만날 또 다른 나
76. 잠재력을 믿고 명확한 비전 수립 이후는 하도록 놔두기