요새 이걸로 세상이 바뀔 분위기인데,
맥락을 강조하는 구조론 식구라면 한번씩 봐두는 것도 좋을듯.
학습법은 단순 무식한데, 효과는 아시는대로.
chatGPT는 instructGPT라는 방법을 사용해서 훈련한 제품명이다.
Training language models to follow instructions with human feedback(논문 이름)
https://arxiv.org/abs/2203.02155
아래는 이 instructGPT의 훈련법에 대한 그림. 영어가 부담스러우면 쌩까도 된다.
말을 하는 개와 그 개의 말을 평가하는 훈련사를 각각 만든다. 훈련사가 잘하는 지를 평가하고 가르치는 리얼 인간이 또 있다. 즉, 개는 훈련사가 훈련시키고, 훈련사는 리얼 인간이 훈련시킨다. 내가 개를 예시로 든 이유는 여전히 강화학습을 하기 때문. 학습법의 큰 흐름은 알파고와 비슷하다고 보면 대강 맞다. 알고리즘의 질로 보면 알파고에서 달라진 것은 없다. 다만 바둑의 룰이 단순한 것과 달리, 인간 대화의 룰이 훨씬 복잡하기 때문에 룰을 익히고 알려주는 단계가 복잡하다는 차이가 있다. 아무튼 챗지피티는 여전히 바둑을 두고 있다고 볼 수 있다. 바둑을 일종의 대화로 볼 수 있기도 하고.
0. 베이스모델 구축(무맥락 GPT만들기) : 개가 단독으로 인터넷 페이지를 열람
온라인의 다양한 종류의 (무맥락) 텍스트 데이터를 열심히 읽고 외운 놈을 만든다. 참고로 이때 읽는 페이지는 전 지구인이 1년 동안 읽는 정도로 많다. 이렇게 많이 읽히는 이유는 많이 읽힐 수록 나중에 성능이 잘 나왔기 때문.
1. 사전학습(최초의 맥락 학습): 리얼 인간이 직접 개의 행동(말)을 교정
2. 평가모델 만들기(가상의 훈련사 키우기) : 리얼 인간이 훈련사를 육성
3. 지침에 따른 훈련사의 개 조련(최종 현장 실습) : (훈련된) 훈련사가 개를 훈련하기
훈련사에 지침(instruct)을 주고, 그 지침대로 개를 훈련시키도록 한다. 이때 리얼 인간은 빠진다.
0번만 훈련하고 말을 걸면 GPT-3.5의 성능이 나오는데 그 품질이 조악하다.(GPT4는 개선됨) 말은 되는데 질문의 요지를 제대로 파악하지 못 한다. 허언증 환자와 비슷해 보인다. 무맥락 정보를 읽었기 때문. 배경 지식 없이 텍스트만 읽었다고 보면 된다.
그래서 맥락을 주입하는 1, 3번의 훈련을 하는데, 이는 실제 사용자(민원인)가 개한테 다양한 맥락의 질문(=지침)을 하는 상황을 가정한 것이다.
이는 현장지식이 없는 공무원이 실습을 하여 맥락을 익히는 것과 비슷하다. 1번은 리얼인간이 조련하는 반면, 3번은 가상 훈련사가 조련하는 차이가 있다. 0번 보다는 훨씬 적은 훈련양을 가지지만 실제 사용자가 할 법한 다양한 상황을 재현하여 훈련하기 때문에 수천 종류는 된다. 가령 시를 만들어줘라는 질문에 대응하고자 비슷한 상황을 미리 해보는 것이다. 당신이 챗지피티를 보고 신기하다고 생각했던게 실제로는 거의다 미리 해본 훈련에 의한 것이다.
(추가) 4. 이미지를 익히는 방법 > 이미지에 나와 있는 모든 객체에 이름을 붙일 수 있는 모델을 만들고
그 이름으로 문장을 만드는 훈련을 한다. 이때 문장은 이름의 확장판 정도로 생각할 수 있다.
이 짓을 졸라 많이 한다. 그래도 1번 보다는 적다. 이렇게 만들어진 모델을 1, 2, 3번과 결합하여 추가 훈련을 한다.
모든 단계에서 사용되는 "훈련"은 일종의 복잡한 조건문을 익히는 것으로 생각하면 된다. ~~~하면 ~이다를 매우 많이 암기하는 것. 문장도 이런 식으로 암기한다. 앞 단어를 보고 뒷 단어를 떠올릴 수 있도록 암기하거나 질문에 대한 답변을 암기하는 식. 대단한 기술 없음. 생성형모델이라는 이름이 붙은 이유가 저 조건문을 사용하기 때문. 질문(조건)을 입력하면 답변을 "생성"한다. 가령 고양이 그림을 입력하면 고양이라는 라벨을 생성한다. 즉 생성형이라고 해서 특별한 알고리즘이 아니란 말이다. 바둑돌을 놓은 것도 개 입장에서는 일종의 생성이다. 어쨌건 요런, 수많은 조건문이 중첩되어 인간을 흉내내는데, 그게 꽤 그럴싸하다는게 재밌는 지점. 이런 인공지능을 두고 중국어방 논증이 괜히 나오는 게 아니다.
실제 서비스단계에서 문제가 생기거나 탈옥(악성 사용자)이 발생하면 2번과 3번을 추가적으로 훈련하여 방어를 한다. chatGPT 이전에는 단순히 1번으로만 질의응답용 개를 키우면 된다고 생각했다가 이게 잘 안 되니 2번과 3번을 추가하여 맥락을 유연하게 익히도록 한 것이 성능향상에 주효했다. 리얼 인간이 개를 직접 가르치기만 해도 충분할 것 같지만 가상 훈련사를 통한 간접교육을 추가적으로 많이 시킨게 결과가 더 풍부하다(다양성측면).
참고로 이루다는 0번만 혹은 1번까지만 한 것으로 알려져있다. 대신 20대 여대생의 말로 이루어진 데이터만을 사용하여 학습. 과거를 기억하지 못 한다고 비판을 많이 받았는데, 최근 출시된 GPT4에서 이 문제가 사실상 해결되었다. 이전에는 입력 단어의 개수가 512정도여서 그걸 넘으면 처리할 수 없었는데 GPT4에서 이를 10배 정도로 키웠다. A4 40장 정도와 비슷하다고. 당신이 이루다한테 건 말은 512보다 훨씬 적었는데도 그는 다 기억하지 못했다고 느끼겠지만, 실제로 이루다는 인격을 형성하고자 디폴트로 입력되는 데이터가 상당하다. 그래서 당신의 대화는 많이 기억하지 못하는 것. 이루다가 논증에 취약하기도 하고. 인간이 추상화 된 맥락만 기억하거나 5개의 숫자 정도만을 기억할 수 있는 것과 비교하면, 전혀 다른 접근법을 취한다고 볼 수 있다. 아마 이루다 3가 출시되면 이 기술을 적용해서 기억력이 좋아질 것. 물론 이 기억력은 그 기억력과는 좀 다른 개념이다. 한 번에 볼 수 있는 내부 칠판의 크기가 커졌을뿐, 그거 넘으면 리셋되는 건 과거와 같다. 현재 인공지능은 기술의 질적 발전은 거의 없고 용량만 계속 키우고 있다고 보면 된다.
최초의 딥러닝은 2012년쯤에
알파고는 2017년쯤?에
인공지능 번역기는 구글에서 2017년쯤에
생성형 모델(GPT 등)은 구글에서 2018년쯤에
추가학습법은 OpenAI(일론머스크가 창립에 기여한 회사)에서 2022년에 나왔는데,
장사 잘하는 마이크로소프트가 잽싸게 2022년말에 OpenAI에 투자하고 서비스로 출시해버린 거.
엔지니어 구글은 굼떠서 기술만 열심히 만들었을뿐, 돈버는 재주가 없어서 손가락만 빠는중.
오픈소스 진영에 들어있지 않은 애플과 삼성은 딥러닝 기술에 대한 논문이 전무.
관전포인트는 이 기술이 가장 필요한 기업이 애플과 삼성이라는 것.
뭐 대강 이런 식으로 이 바닥이 돌아가고 있다.