🌱스스로 성장하는 AI 개발자가 되고 싶다면
#인공지능 

GPT-4 Technical Report 정리

OpenAI가 GPT-4 모델을 출시하면서, 성능 지표와 실험 결과가 포함된 technical report를 함께 공개했습니다. technical report에는 무슨 내용이 있는지 쉽고 빠르게 살펴봅시다!

2023-03-21 | 신승연

ChatGPT를 만든 OpenAI에서 GPT-4를 공개했습니다. ChatGPT는 GPT-3.5 모델을 이용해 개발된 서비스인데요, ChatGPT의 열풍이 지금도 뜨거운 만큼 다음 버전인 GPT-4도 출시되자마자 관심이 집중되고 있습니다. OpenAI가 공개한 약 100페이지 분량의 문서는 GPT-4의 성능을 보여주는 technical report와 GPT-4가 적절하지 않은 prompt(폭력적/선정적인 내용, 혐오 발언, 범죄 관련 내용 등)를 어떻게 걸러내도록 학습되었는지 설명하는 system card로 구성되어 있습니다. 이번 글에서는 technical report 부분을 정리해 드리겠습니다!

OpenAI는 GPT-4를 다음과 같이 정의하고 있습니다.

GPT-4, a large multimodal model capable of processing image and text inputs and producing text outputs

텍스트 입력을 받아서 텍스트를 생성했던 기존의 GPT 모델과 다르게, 이미지 입력도 받을 수 있다는 ‘멀티모달(multimodal)’을 강조한 표현이죠. 실제로 technical report에 나온 결과를 보면, GPT-4는 이미지 형태로 제시된 시험 문제와 논문을 이해하고, 인터넷 밈 이미지의 유머 포인트를 이해하는 등 뛰어난 이미지 처리 성능을 보였습니다. 그냥 ChatGPT에 이미지 부분을 붙여 놓은 것 아닌가 생각할 수도 있지만, 텍스트 처리 쪽도 ChatGPT와 기존의 언어 모델보다 좋은 성능이 나왔다고 합니다. 뒤쪽에서 더 자세히 살펴봅시다.

이번 technical report에서는 GPT-4로 할 수 있는 것들과 GPT-4의 한계를 주로 다루고 있습니다. technical report 내용에 따르면 GPT-4는 트랜스포머(transformer) 스타일의 모델이고, 문장의 다음 토큰을 예측하는 방식으로 학습되어 있습니다. 그 이후에는 Reinforcement Learning from Human Feedback (RLHF; 생성된 텍스트를 사람이 평가하고 강화 학습을 통해 모델 파라미터를 조정하여 성능을 향상시키는 방법) 기법으로 fine-tuning이 진행되었습니다. 추가적으로, OpenAI는 technical report에서 모델의 구조와 크기, 하드웨어 정보, 데이터셋 구성 방법, 모델 학습 방법과 같은 정보는 공개하지 않겠다고 하네요. 조금 아쉬운 부분입니다.

GPT-4 모델의 scaling

모델의 성능과 모델 학습에 들어가는 비용 사이에는 trade-off가 존재하기 마련입니다. 모델의 크기와 학습 데이터셋의 크기가 커질수록 모델의 loss 값은 감소하는데, 기존 연구들을 통해 정확히는 우하향하는 지수함수의 형태를 띠는 power-law를 따른다는 사실이 알려져 있습니다. [1], [2]

GPT-4의 성능을 본격적으로 이야기하기 전에, OpenAI는 scaling에 관한 내용을 먼저 언급하고 있습니다. scaling 내용이 먼저 나오는 이유는 바로 GPT-4 모델이 아주 크기 때문입니다. GPT-4의 파라미터 수는 정확하게 밝혀지지 않았지만, GPT-3 모델에 약 1750억 개의 파라미터가 존재한다고 하니 그보다는 훨씬 많을 것이라고 예측됩니다. 이렇게 큰 모델은 튜닝을 한 번 하는 데도 엄청나게 많은 시간과 비용이 들게 되죠. OpenAI가 GPT-4 프로젝트를 진행하면서 중점적으로 생각했던 부분이 바로 scaling이 잘 되는 모델을 구현하는 것이었다고 합니다. 학습 시간이 GPT-4의 1/1000, 1/10000인 작은 모델의 성능 데이터로도 GPT-4의 성능이 정확하게 예측되도록 하는 것입니다.

GPT-4 모델의 scaling

결론적으로 OpenAI의 내부 데이터와 HumanEval 데이터셋으로 진행된 실험에서, 작은 모델들의 loss 값으로부터 계산된 power-law 함수로부터 GPT-4의 성능을 성공적으로 예측할 수 있었다고 합니다. 흥미로운 점은, 모델의 크기가 커질수록 성능이 감소하는 문제를 설계하는 대회인 Inverse Scaling Prize의 수상작 중 하나인 hindsight neglect라는 태스크에서, GPT-4는 가장 많은 파라미터를 가지고 있음에도 불구하고 다른 모델에 비해 높은 정확도를 보였다고 합니다.

GPT-4의 성능

OpenAI가 GPT와 같은 언어 모델을 개발할 때 중요하게 생각하는 목표 중 하나는 더 복잡한 상황에서 자연어 텍스트를 이해하고 생성하는 것이라고 합니다. 그래서 GPT-4의 성능을 테스트하기 위해 선택된 방법은 사람을 위해 만들어진 시험 문제를 풀게 하는 것입니다. 시험 문제들은 객관식과 주관식 문항 모두를 포함하고 있고, 필요한 경우 이미지도 input에 함께 넣었습니다. 실험에 사용되었던 전문적, 학술적인 시험 대부분에서 GPT-4는 사람과 비슷한 점수를 얻었다고 합니다. 특히, 미국 변호사 시험에서는 상위 10%의 성적을 기록했다고 합니다. 이는 하위 10%를 기록했던 ChatGPT보다도 뛰어난 성능입니다.

전문적, 학술적인 시험에서 GPT-4의 성능

RLHF fine-tuning 이전의 base GPT-4 모델로도 비슷한 성능을 얻었다는 사실로부터, OpenAI는 GPT-4가 시험 문제를 푸는 능력이 RLHF보다는 pre-training 자체에서 비롯되었을 것이라고 예상하고 있습니다. OpenAI는 언어 모델을 위한 여러 benchmark 데이터를 사용하여 base GPT-4의 성능 평가를 진행하기도 했습니다. 그 결과 기존의 ChatGPT는 물론 PaLM, LLaMA 등 최신 모델의 성능을 뛰어넘었고, 특정 benchmark에 맞춰 학습된 다른 모델보다도 대부분 좋은 성능을 보였다고 합니다. 그리고 MMLU (Massive Multi-task Language Understanding) benchmark를 번역하여 테스트함으로써 GPT-4가 영어 뿐만 아니라 다른 언어를 이해하는 데도 기존 모델보다 뛰어나다는 것을 입증했습니다. 또한, OpenAI API의 사용자들을 대상으로 진행한 테스트에서도 사용자들은 ChatGPT의 답변보다 GPT-4가 생성한 답변을 선호하는 경향을 보였습니다. OpenAI는 언어 모델을 평가할 때 benchmark를 자유롭게 만들고 테스트해볼 수 있도록 하기 위해 프레임워크 OpenAI Evals를 오픈소스로 공개했습니다.

GPT-4의 이미지 이해 능력

원본 이미지의 prompt와 GPT-4의 답변을 가로 방향으로 재배치하였음

GPT-4의 가장 중요한 특징 중 하나는 텍스트 prompt뿐만 아니라, 텍스트와 이미지가 혼합된 prompt도 처리할 수 있다는 것입니다. GPT-4는 텍스트와 사진이 포함된 문서와 도표, 스크린샷 등 다양한 종류의 이미지에서도 텍스트 prompt를 처리하는 것과 비슷한 성능을 보였습니다. 그리고 이미지와 텍스트 prompt를 함께 사용할 때도 few-shot prompting, chain-of-thought 등 언어 모델을 위한 여러 기법들을 사용할 수 있었습니다. 예시 사진을 보면, 온라인 커뮤니티 레딧(Reddit)에 올라왔던 이미지와 함께 “각각의 사진을 설명하면서, 이 이미지가 왜 웃긴지 알려줘.”라는 prompt를 입력했습니다. 놀랍게도 GPT-4는 세 개의 이미지가 무엇을 나타내는지 각각 설명하고, 결국에는 “작은 스마트폰 충전 포트에 (주로 컴퓨터 모니터에 쓰이는) 커다란 VGA 케이블을 연결한 것이 재미있다.”라는 결론을 도출했습니다.

GPT-4의 한계

GPT-4의 성능을 보면 아주 놀랍지만, 이런 GPT-4 모델에도 한계는 존재합니다. GPT-4는 이전 버전의 GPT 모델들과 비슷한 한계점을 가진다고 하는데요, 대표적으로 hallucination(환각)이라고 불리는 현상이 있습니다. GPT는 주어진 prompt를 바탕으로 가장 그럴듯한(확률이 높은) 문장을 생성할 뿐, 생성된 텍스트가 ‘맞는 말’인지 검증하지는 못합니다. 그래서 틀린 사실을 이야기하는 경우가 자주 있는데, 이런 현상이 바로 hallucination입니다. 다음 사진처럼 ChatGPT의 엉뚱한 답변을 담은 이미지들이 인터넷에서 많이 돌기도 했죠.

ChatGPT의 hallucination

출처: https://twitter.com/yechanism_/status/1627881535037923329/photo/1

GPT-4는 ChatGPT에 비해 이런 hallucination이 많이 줄어들었다고 합니다. OpenAI 내부의 사실 검증 테스트로 평가한 결과 GPT-4는 최신 버전의 ChatGPT보다 19%p 높은 점수를 얻었습니다. TruthfulQA와 같은 공개 benchmark 테스트에서는 ‘옳은 문장’과 ‘그럴듯하지만 틀린 문장’을 구분하는데, RLHF 이전의 GPT-4 base 모델은 ChatGPT와 큰 성능 차이가 없었지만 RLHF 이후에는 많이 개선되었다고 합니다. 그리고 GPT-4의 또 다른 한계점은 2021년 9월 이후의 정보는 알지 못한다는 것입니다. 모델 학습에 사용된 데이터셋이 한정되어 있고, GPT-4가 경험을 통해 새로 학습하지는 못하기 때문이죠.

GPT-4의 위험성, 그리고 이를 완화하기 위한 노력

GPT-4가 전문적인 텍스트를 더 잘 이해하게 되면서, ‘전문 지식이 있다면 위험한 답변을 줄 수 있는 prompt’를 구별하는 데 전문가들의 도움이 필요했습니다. 예를 들면, 간단한 재료와 장비를 사용해서 특정 화학 약품을 합성하는 방법을 묻는 것 등이 있습니다. OpenAI는 각 분야의 전문가들에게 테스트를 요청해서 모델을 수정했다고 합니다. 초기 버전의 GPT-4는 위험한 화학 약품을 합성하는 방법을 실제로 알려줬지만, 출시 직전의 버전에서는 미안하지만 알려줄 수 없다는 답변을 생성했습니다.

위험한 prompt의 예시

RLHF는 텍스트가 사용자의 의도에 맞게 생성되도록 하는 데 큰 도움이 되었지만, RLHF 과정에 참여하는 사람들에게 안내 사항이 충분하게 주어지지 않았을 때, 안전하지 않은 prompt(어떻게 폭탄을 만드는가?)에 대해 답변을 생성하는 일이 있었습니다. 반대로, 별로 위험하지 않은 질문(담배를 저렴하게 살 수 있는 곳은?)에도 답변을 차단하는 경우가 있었죠. 이런 문제를 해결하기 위해, OpenAI는 RLHF 학습에 안전성과 관련된 더 많은 prompt를 포함시켰고, Rule-Based Reward Model(RBRM)이라는 기법을 도입했습니다. RBRM은 여러 개의 zero-shot GPT-4 classifier로 구성되어 있는데, 유해한 내용을 걸러내거나 무해한 내용을 걸러내지 않았을 때 GPT-4 policy model에 reward signal을 제공한다고 합니다. RBRM은 GPT-4 policy model의 output과 사람이 만든 평가 지표(생성된 텍스트를 걸러내는 이유에 관한 문항들), 그리고 때때로 prompt까지 입력받습니다. 그 다음, 답변에 적절하지 않은 내용이 포함된 경우 거절 답변을 대신 생성하는 쪽에 reward를 부여합니다.

그 결과, GPT-4는 ChatGPT에 비해 안전하지 않은 답변을 생성하는 빈도가 더 적었다고 합니다. RealToxicityPrompts 데이터셋으로 실험한 결과 GPT-4는 0.73%의 경우에서만 적절하지 않은 텍스트를 생성했는데, 이는 ChatGPT의 결과인 6.48%와 대비됩니다. 그러나 OpenAI는 이른바 ‘jailbreak’라고 불리는 방법들로 가이드라인을 무력화하고 위험한 답변을 생성하는 방법이 아직 존재한다는 것을 인지하고 있고, 모니터링 등을 통한 안전성 강화의 중요성을 강조하고 있습니다.

마무리하며…

개인적으로, 이번 technical report에서 가장 인상적이었던 부분은 GPT-4의 이미지 이해 능력, 그리고 이미지의 내용으로부터 prompt에서 요구한 내용을 도출하는 능력이었습니다. 부록에 추가적으로 제공된 결과들도 살펴보면 대학 수준의 공학 문제를 해설하고, 논문의 스크린샷으로부터 논문을 요약하는 등 놀라운 것들이 많았습니다. 다만 OpenAI가 GPT-4 모델의 구조를 공개하지 않았기 때문에 그 정도의 성능이 어떻게 나오게 된 것인지 알 수 없어서 아쉽네요. 요즘 GPT뿐만 아니라 다른 언어 모델도 많이 개발되고 있는데, 언어 모델이 어느 정도까지 발전할지 기대가 됩니다.

* GPT-4는 현재 유료 구독 서비스인 ChatGPT Plus를 통해 사용할 수 있고, API waitlist 신청도 받고 있습니다. 관심 있는 분들은 신청해보시는 것도 좋을 것 같습니다🙂

References