open AI의 GPT와 함께 LLM에 대해서 알아보자.
Open AI의 GPT3는 Generative Pre-trained Transformer의 약자로
당시의 언어 모델은 너도 나도 트랜스포머를 사용하는 것이고, 누가 더 트랜스포머를 크게 만드는 것에 중점을 두던 시절이다.
딥러닝 알고리즘의 발전 방향은 간단한 모델을 몇개 더 이어 붙여서 알고리즘의 성능을 올리자는 아이디어가 성행하던 시절이다. ( 새로운 모델을 개발하는 것이 아닌 )
기술적인 진입장벽이 높지 않았다.
GPT 3를 기점으로 크게 변화하게 된다. 마이크로소프트 이외에는 상업적으로 지피티 3를 사용할 수 없다.
Instruct GPT는 GPT 3.5로 GPT 3의 언어 이해는 잘 수행하는 점에서 사람의 지시가 주어졌을 때 유용하면서 안전하게 응답할 수 있도록 개발된 모델이다.
GPT 3에서 Instruct GPT로 발전할 수 있었던 핵심적인 기술은 RLHF이다. 사람의 피드백으로부터 강화학습을 한다는 개념이다.
초거대 언어모델을 만들기 위해서는 해당 부분을 잘 구현하는 것이 핵심기술이 된다.
Step1. Supervised fine-tuning
언어 이해만 가능하고 사람의 지시를 이행할 수 있는 능력은 없는 GPT3를 가져와서 어느정도 응답을 할 수 있도록 사람을 통해서 학습을 한다. 각각의 질문에 대해서 어떻게 응답을 할지 사람 label을 부여한다.
Step2. Reward model training
GPT3가 어느 정도 사람의 지시에 대해 응답을 생성할 수 있는 수준이 된다. RM으로 reward model을 만든다. 스텝1 이후에 응답을 하나만 만들도록 하지 않고 4가지 응답을 만들도록 시킨다. 사람 Labelier가 붙어서 4개의 응답 중에 뭐가 더 선호되는지 랭킹을 매긴다.
질문이 나왔을 때, 질문과 응답이 주어졌을 때 ranking score를 예측하는 것이다. Ranking score는 사람이 선호를 많이 할 수록 score가 높아지도록 한다.
Step3. RL via PPO
새로운 prompt를 준다. Instruct GPT는 step1을 통해서 fine-tuning된 모델이다.
해당 모델이 새로운 질문(State)에 대해서 응답(action)을 ranking score(Reward)를 강화학습에 대한 보상으로 이어져서 Reward를 Maximize하도록 자기가 State의 action을 선택하게 된다.
PPO는 Open AI에서 만든 유명한 강화학습 알고리즘이다.
Instruct GPT에 Conversational UI로 대화 유저인터페이스를 붙인 형태이다.
Instruct GPT를 사용하기 위해서는 코드를 작성하여 API call를 사용해야 했는데, Conversational UI를 통해서 MAU(monthly active user)에 두달만에 도달하였다.
ChatGPT의 초창기에는 사용자가 인위적인 거짓말을 하면서 이에 대해 negative feedback을 꺼려했지만 버전이 업되면서 이러한 점이 개선되면서 사실성을 따지고 이에 대해서 설명을 이어가게 되었다.
두가지 milestone에 집중을 하게 되었다.
Open AI는 이제 기술적인 디테일을 공개하지 않는다. 또한 Context Length는 응답을 생성할 때 앞에 나누 대화 중에 몇 개의 토큰까지를 고려해서 응답을 내는가를 고려한다.
최근에는 multilingual로 하나의 모델이 다양한 언어에 대해서 잘하는 것을 말한다.
GPT-4의 단점에 대해서 알아보자
다른 경쟁 모델에 대해서 알아보자.