[딥러닝 철학] 일리야 수츠케버 GPT-4 인터뷰

함지율·2024년 5월 20일
0

디그다의 꿈 속

목록 보기
5/12
post-thumbnail

딥러닝의 거장 일리야 수츠케버와 젠슨 황 인터뷰 내용에서 얻은 영감을 적어보고자 한다.

AlexNet

알렉스 넷은 이미지넷 대회에서 압도적인 성능으로 우승한 모델이다. 이로인해 딥러닝이 이미지 인식 분야에서 매우 효과적이라는 것을 입증하였고, 이후 딥러닝이 폭발적으로 성장하였다.

일리야의 철학은 "학습"이였다. 그때 당시 기존의 연구들은 우아한 이론 예를 들면, 베이지안 추론, 커널 함수와 같은 접근 방법 등이 대부분 제안되었다. 하지만, 이러한 방법들은 이미지넷의 정말 어렵고 많은 이미지를 맞추기엔 역부족이라 생각하였다. (그때 당시 이미지넷은 정말 풀기 어려운 문제였다.) 따라서 일리야는 이렇게 어려운 데이터를 "학습" 모두 학습할 수 있다면 이 문제를 풀 수 있을거라 생각했다. 또한 More Deeper and More Bigger 라는 딥러닝 모델 규모의 중요성에 대해 주장했다. 이러한 철학이 AlexNet에 녹아들어있는 것이다.

Open-AI, GPT의 탄생

일리야는 Open-AI에서 두 가지 철학을 가지고 프로젝트를 시작했다고 한다.

첫 번째, 압축을 통한 비지도학습이다(Unsupervised learning through compression). 딥러닝에서 '압축'이라는 말은 잘 사용되지 않았다. 그리고 해당 시기에는 비지도학습은 누구도 풀지 못한 아주 어려운 문제였다.

일리야는 데이터의 좋은 '압축'이 비지도학습으로 이어질 것이라 생각하였다. (아직 이해가 잘 되지 않았다.) 사람들은 갑자기 GPT가 실제로 훈련 데이터를 '압축'한다는 걸 깨달았다고 한다. 자동회귀 생성모델을 훈련시키면 데이터가 '압축'된다는 것은, 수학적 의미가 있다.

핵심은 데이터를 정말 잘 '압축'하면 그 안에 숨겨진 모든 비밀을 '추출'할 수 있다는 철학이다.

정말 좋은 다음 문자나 무언가의 예측은 데이터의 '압축'이라는 생각을 검증해주었고, '압축'은 데이터의 비밀을 발견한다는 특성이 있다 (좋은 예측 모델 = 데이터의 압축 이라는 아이디어).

비지도학습에서 어려운 부분은 학습할 데이터를 어디서 가져올 것인가 보다는 (물론 지금은 중요하다) 왜 '비지도학습'을 시켜야하는지가 관건이었다. 아무도 '비지도학습'이 더 좋다고 할 수 있는 근거가 없었다.

근데, GPT를 통해 이러한 철학이 잘 작동한다는 것을 직접 확인한 것이다. 예측과 압축을 통해 신경망이 표현을 배우는 것이고 더 잘 압축해서 더 잘 다음을 예측한다.

더 잘 압축한다는 것은 신경망이 텍스트를 생성한 과정의 어떤 표현을 배우게 되는데, 이 텍스트는 실제로 세계를 투영한 것이다. 다음 단어를 예측하는 것이 더 적확해진다는 것은, 모델이 세상에 대한 이해의 더 높은 해상도, 더 높은 선명도를 얻게 된다는 것이다. 이는 사전학습 과정에서 일어난다.

더 직관적으로 애기하면, 복잡한 소설책 한권을 주고 “그래서 범인은? ___” 이라는 다음 토큰을 예측할 수 있다는 것은 앞의 모든 복잡한 소설 내용을 압축하고 추상화하며 사용 가능한 표현을 배움. 그리고 이는 Next Token Prediction을 통해 일어난다.

그렇다면 어떤 가이드를 주었을 때, 신경망이 어떤 쓸모를 가지게 되는 것 아닐까?
이는 강화학습을 도입하게된 계기이다. 모델과 소통하며 우리가 원하는 것이 무엇인지를 강화학습을 통해 학습한다.

두 번째, 강화학습을 통해 인공지능에게 쓸모를 더한다. 단순히 세상을 잘 이해만 하고 있는 신경망이 아니라 본인이 어떠한 일을 해야하는지 쓸모에 대해 알려준다면? 이러한 철학에서 Chat GPT, GPT-4 에서 엄청난 발전을 이루었고 여러 챗봇 회사에서 GPT-4 에 닿지 못한 아주 미세하지만 정말 중요한 영역이라고 생각이 든다.

Multi-modal GPT-4

ChatGPT와의 가장 큰 차이점은 GPT-4기반이 다음 단어를 더 잘 예측하도록 구현되었다는 점이다.
또한, ChatGPT와 GPT-4의 큰 차이점은 비전에 대한 이해이다.

비전을 학습한 이유가 무엇일까?
첫 번째 이유는 간단히 멀티 모달리티가 '유용하기' 때문이다. 신경망이 보도록 하는 것은 유용하다. 세상은 매우 시각적이며 인간은 매우 시각적인 동물이기 때문이다. 따라서, 비전이 없으면 신경망의 유용성은 여전히 상당하지만 더 커질 여력을 포기하는 것이다. 보는 것은 단순히 유용하다.

두 번째 이유는 이미지를 통해 배우면서 세상을 더 많이 배울 수 있다. 인간이 태어나서 배울 수 있는 언어의 수는 제한되어 있으며 가능한 많은 정보원을 얻는 것이 정말 중요해진다. 우리는 확실히 비전으로 많이 배울 수 있다. 이는 신경망에도 동일하게 적용된다(무수히 많은 언어를 배울 수 있다는 점은 제외하고). 수십억 개의 단어만으로는 세상에 대해 배우기 어려운 것들도 단어가 수 조개가 되면 더 쉽게 배울 수 있다.

예를 들어보자. 색상에 대해 생각해보자. 분명히 색상을 이해하려면 '봐야'한다. 텍스트로만 학습한 AI라면? 시각적 정보라도 천천히 텍스트로 유출되어 학습될 수 있다. 하지만 천천히, 빠르지 않게.. 비전을 추가하고 비전으로 세상을 배우면 텍스트에서 포착되지 않은 추가적인 정보들을 배울 수 있다. 하지만, 이분법적으로 텍스트로 비전의 정보를 학습하지 못하는 특별한 정보가 비전에 있다고 말하는 것이아니다. 교환비 같은 것이다. 특히 학습하는 존재가 인간처럼 제한된 수의 단어를 접한다면 다양한 정보원이 훨씬 더 중요해진다.

실제로 다이어그램이 많이 나오는 수학 문제를 맞추는 성능이 대폭 상승되었다.

신경망의 Next Step

1. 인공지능의 신뢰성
신경망의 신뢰성이란, 문서 요약을 요청했을 때 정말로 중요한 내용이 모두 담겨있는지 알려줄 수 있다면? 신경망의 신뢰성과 쓸모는 엄청나다. 그리고 신경망이 잘 모르는 내용을 인간에게 더 잘 이해할 수 있도록 요청할 수 있다면? 신경망 스스로 앎과 모름을 정확하게 파악하고 있다는 것이다.

2. 의도를 명확하게 파악하는 능력

GPT-4를 사용하면서 놀랐던 기능은?

  1. GPT-4의 신뢰성
  2. 어떠한 문자나 단어로 시작하는 식으로 '시를 쓸 수 있음'
  3. 비전 측면
    4. 신경망이 진짜 작동한다는 것이 놀라움

일리야는 "신경망이 진짜 작동한다는 것이 가장 놀랍다"고 했다. 알렉스 넷을 만들 때 처럼 항상 작은 모델로만 시작했는데, 이제는 더 이상 작지 않고 훨씬 더 발전했다. 하지만, 근본은 같은 신경망이다. 규모가 커지고 더 많은 데이터를 학습했을 뿐...

우리는 그저 학습 알고리즘만 개발해 인공 뉴런을 훈련시키면 될 것 같다는, 그 논증이 놀랍도록 정확하다.

인터뷰가 끝났다...


나의 생각

정말 놀랍다.. 신경망에 담겨있는 철학에 1시간 인터뷰 동안 계속해서 전율이 돋았던 것 같다.
Pre-trained 된 모델을 가져온다는 것은 세상을 대변하는 데이터의 집합을 이해하는 똑똑한 박사를 섭외한 것과 같다. 그 박사에게 본인이 온 회사에서 무엇을 해야하는지 안대로 눈을 가리고 갑자기 일을 시키면 당연히 일을 못할 것이다. 하지만, 어떤 일을 해야하는지 의도를 알려주고 가이드라인을 준다면? 이는 일리야의 두 번째 철학과 완전히 동일한 생각임을 알 수 있었다.

정리하면, Pre-trained 된 모델은 데이터 집합을 정말 잘 이해하는 모델이다. 이러한 선명한 표현을 어떻게 쓸 것인지 어떤 가이드라인을 주냐에 따라 모델의 표현력은 정말 달라질 수 있다. 이는 인공지능 생태계의 주요한 질문이자 철학이라고 생각이 들었다.

일리야는 강화학습을 선택하여 에이전트를 만들어서 풀었다. 나는 어떻게 풀것인가? 나는 어떻게 신경망이 세상을 이해하도록 가이드라인을 줄 것인가? 어떻게 소통할 수 있을 것인가? 에 대한 물음이 앞으로의 연구 방향성임을 확실히 느낄 수 있었다.

Masked Autoencoder, CLS Token, Learnable Token

2024년 5월 22일 연구실 세미나 느낀점
연구실 세미나를 듣다가 갑자기 떠오른 생각이있다. 복기해보면,

일리야 수츠케버는 "Unsupervised learning through compression" 철학을 정말 정말 강조하였다. 왜 잘될까? Next Token Prediction 을 잘하려면 이전까지의 모든 정보를 정말 잘 이해하고 있어야한다. "정말 잘!!" 이해해야 바로 다음의 어떤 말이 나올 지 예측할 수 있다.


그러면 NLP에서 사용되는 [CLS] Token, ViT에서 사용되는 [CLS] Token, 추가적인 학습을 위한 Learnable Token, 표현학습을 잘 하기 위한 대표적인 논문인 Masked Autoencoder 를 바라보는 시선이 조금 달라졌다. 어떻게 달라졌는가?

Masking 을 통한 표현학습을 잘 한다는 것은 무엇을 의미할까? 빈칸을 잘 채워야하니까 특징 추출을 잘 한다? 뭔가 soul 이 부족하다. Mased Autoencoder 논문을 보면 이미지의 75% 까지 마스킹 시키는 것을 볼 수 있다. 그러면 남은 25%의 패치는 남은 75% 의 Patch에 대한 정보를 잘 담고 있어야한다. 그러면 남은 25% 의 패치가 단순히 정보를 잘 담고 있다? 조금 더 예민하게 생각해보자. 해당 이미지는 단 25% 의 패치로 설명할 수 있는 "Compression" 된 특징이다. 즉, 단순히 표현 학습을 잘 했고, 정보를 잘 담고 있는 것을 넘어 "Unsupervised learning through Compression" 이고, 이를 위한 Unsupervised learning 기법은 Masking을 사용한 것이다. 일리야는 "Next Token Prediction" 을 사용했다.


그래, 뭐 당연한 애기하는거 아니야? 라고 생각할 수 있다. 맞다. 당연하지만 정말 예민하게 받아들여야하는 부분이라고 생각한다. 다른 예시로 [CLS] Token 을 생각해보자. ViT 에서 Patch Embedding을 통한 표현을 학습하는데 왜 난데 없이 [CLS] Token 으로 Classification을 할까? 그리고 이게 왜 될까? 특징을 담고 있는 벡터는 Patch Embedding 된 벡터들 아닌가? 근데 왜 [CLS] Token 으로 최종 예측을 할 수 있는가? 바로 "Compression" 이다. Patch로 잘라서 넣은 것도 이미지를 잘 이해하기 위해서 새로 제안한 방법이지만 여기에 [CLS] Token 을 사용하였고 이게 예측을 잘 한다는 것이다.


일리야 수츠케버의 딥러닝 철학의 "Unsupervised learning through Compression" 은 제각기 다른 형태로 주요 딥러닝 기법으로 자리잡아가고 있다. 그러면 내 연구에서는 어떻게 이러한 철학을 녹여 낼 수 있을까?


나의 연구

나의 연구 목표는 3D 이상 탐지를 하는 것이다. 여기서 Point MAE 라는 Masked 방식으로 학습된 피쳐를 뽑을 수 있는 Backbone 을 활용한다.

중요한 사실 하나가 있다. 이렇게 Compression 된 특징이 나의 Downstream Task 에 적합하게 유도된 특징인가? 총으로 비유하면 사람에게 해를 입히기 위해 설계된 총이 있는데 나는 치유하는데 사용하고 싶다면, 총 자체는 발사가 잘 되지만 목표가 다르다. 그러면 Compression 이 잘 되었다고 볼 수 있는가?

좋다. 잘 안되었다면 어떻게 잘 되게 할 수 있을까? 어떤 재료, 아이디어, 철학으로 총알의 성질과 방향을 틀어줄 수 있을까?

정말 간략한 방법으로는
1. Learnable Feature(like [CLS]) 을 도입하여 내 Task 에 맞는 Compression 으로 변환한다던지,
2. 내 역할을 수행해 줄 수 있는 agent(Pre-trained Network) 를 둔다던지,
3. 출력된 특징들을 나의 Task 에 맞도록 Post-Processing 을 해주는 방법들이 떠오른다.

그러면 여기서 추가되어야 할 것은 데이터의 특성이다. ViT 에서는 CNN 의 Inductive Bias 를 지적하고 새로운 형태를 제안했다. RNN, LSTM, CNN 모두 데이터의 형태에 맞춘 Inductive Bias 를 가진다. 그러면 3D Point cloud 에는 어떻게 맞추면 될까? 3D Point cloud 가 가지고 있는 성질은 무엇인가?


  1. 순서가 없다.
  2. 정형 데이터가 아니다.

+ 결함에 대한 guided가 없다.
결함에 대한 guide 를 supervised learning을 통해 주는 것이 아니라 text prompt 로 준다면 더 잘 이해할 수 있지 않을까?

기존의 결함에 대한 guid 는 정상의 특징과 다른 경우에 결함으로 파악하는데 만약에 뾰족뾰족한 특징들이 정상이라면 이는 어떻게 할 것인가? 어떻게 반영하는 것이 최선인가?


자 좋다. 그러면 갑자기? 결함에 대한 guid 로 화제가 전환되었는데, 어떻게 결함에 대한 guid로 주는 것이 좋을까?

  1. 인간은 보자마자 뭔가 흠이 있으면 이를 결함으로 판단한다. 하지만 인공 신경망은 그렇게 설계되어있지 않다. LLM 이 학습한 결함에 대한 shape 은 이미 많이 외부로 노출되어있다.(왜냐하면 visual 정보를 이미 높은 수준으로 이해하고 있기 때문이다.) 3D & Text CLIP 논문을 찾아보고 해당 Encoder 를 찾아보고 이를 Text 에 반영한다면 어떨까? Memory Bank를 사용한다면 이러한 벡터를 저장한다고 보면될 것 같다.
    Point MAE 벡터와 Text Vector 와의 융합으로 성능을 높인다? 정말 이게 될까ㅋㅋㅋ(근데 될 듯)

  2. 또는, 정말 말도 안되는거 같지만, (X,Y,Z) 좌표를 verbalization 을 통해 LLM의 agent로 수행하도록 한다면?? 정확하게 anomaly point 같은 정보만 출력해달라고 요청하고 해당 point 만을 사용해서 anomaly detection을 한다면 어떨까?

여기에 추가로 Learnable Token 이나 Prompting 관점을 추가적으로 녹여본다면 진짜 좋은 연구가 될 것 같다.

Multi-Modal 연구를 더 깊이 살펴봐야겠다.

profile
꿈 꾸는 디그다

0개의 댓글