본문 바로가기

일상생활

일반적으로 사용되는 챗봇의 원리

최근에 떠오르고 있는 Chat GPT나 구글의 바드는 일반저긍로 다음의 원리와 같이 작동할 것이다.

이를 간단하게 해설하도록 하겠다.

 

먼저, 우리는 데이터들을 수집해야한다. 예를들어, 코딩, 문장, 질문, 그에 대한 정답들을 데이터세트 형태로 모으고 이를 supervised learning을 한다.

 

두번째는 이렇게 만들어진 모델에서도 중복된 데이터들이 있을 것이고 이에 대한 차등을 주며 reward model을 추가적으로 생성한다.

 

그러면 우리는 2개의 네트워크가 생성되었다.

 

하지만 지속가능한 챗봇모델을 만들려면 강화학습이 일반적으로 필요하다.

따라서 PPO와 같은 믿을 수 있을 정도로만 업데이트 되는 안전한 강화학습 모델에 supervised learning 네트워크를 기본 모델로 사용하고 (Actor라고 생각하면 된다.), supervised learning 네트워크 생성하는 문장을 평가하는 Reward model (일반적으로 Critic이라고 생각하면 된다.)을 통해 반복적으로 학습하게 되며 이를 반복하면서 진화하게 된다.

 

즉, PPO를 NLP 형식으로 바꾼 것으로 이해하면 편하다.

 

조금 더 간단하게 설명하면, PPO에는 2개의 네트워크 모델이 존재하는데, 이를 각각 Actor, Critic 모델로 보아도 무방하다. 초기 단계 데이터 수집에서 supervised learning을 통해 Actor 모델을 학습시키고, 추가적으로 사람들이 생각하는 자연스러운 답을 통해 Reward 모델을 학습시킨다. 학습된 2개의 네트워크를 PPO에 적용시키는 것이 현재 일반적으로 사용되는 Chatbot의 형태이다.

 

물론 PPO를 사용하지 않을 수 있다.

출처: https://www.researchgate.net/figure/The-actor-critic-proximal-policy-optimization-Actor-Critic-PPO-algorithm-process_fig3_339651408
출처: https://lynnn.tistory.com/73