성장/세미나

[AI] 우리 회사가 chatGPT를 만들 수 있을까?

코드아키택트 2023. 4. 9. 21:34
반응형

최근 생성형 언어모델인 chatGPT와 생성형 이미지 모델인 stable Difusion이 큰 반향을 일으키고 있다. 이와 더불어, 여러 업계에서 이 모델을 활용 내지는 자신들의 도구로 내제화 하려는 노력들도 엿보인다. 대학원에서 잠시나마 언어모델을 공부했던 내용을 조금이나마 살려 각 회사들이 자신들 버전의 chatGPT를 만들 수 있을지 huggingface의 세미나 내용을 토대로 이야기 해본다

※ 다소 부정확한 내용들이 포함되어 있을 수 있으니, 정확한 이해를 위해서 원 세미나 또는 논문을 참조하시기 바랍니다

https://www.youtube.com/live/2MBJOuVq380?feature=share

TL;DR

  • chatGPT는 언어모델(Language Model, 이하 LM),  강화학습(Reinforcement Learning, 이하 RL), 사람 피드백 기반 강화학습(?)(Reinforcement Learning from Human Feedback, 이하 RLHF)
  •  chatGPT용 학습 데이터를 생성하는데 약 1천만 달러(1300원/1달러 기준 약 130억 원) 지출 및 마이크로소프트와 openAI가 협업
  • chatGPT는 Fintune(학습된 모델을 자신이 가진 데이터셋을 이용해 용도에 맞게 조정하는 과정)이 불가능함

 

chatGPT의 삼요소

chatGPT는 위에 언급했듯, LM, RL, 그리고 RL과 사람의 피드백을 결합한 RLHF이 세가지로 구성되어 있다. 이들을 쪼개서 조금이나마 이해를 해보도록 하자(나도 잘 모르지만)

언어모델의 중심 Transformer(또는 attention)

어텐션 하면 뉴진스가 떠오른다. 아무튼. 우리가 어떤 문장을 번역하거나, 이해할 때 단어를 좌에서 우로 훑는다기 보다는 특정 단어에 집중해서 서로간의 관계성을 보는 경향이 있다. 가장 많이 나오는 비유가 "Je suis etudiant"라는 프랑스어는 Je = I, suis = is, etudiant = student 라는 관계를 가지기 때문에 두 문장 쌍이 있으면 각각 프랑스어와 영어간 관계를 통해 효율적으로 번역을 수행 할 수 있다.

Transformer가 무엇인지 모르지만 번역을 해준다

Transformer는 그 전에 나온 모델들과 다르게 위에서 설명한 attention기법을 적극활용한 모델로 자연어처리(Natural Language Processing, 이하 NLP)분야에서 클리셰가 되었고 컴퓨터 영상처리 분야에서도 적극 활용되는 것으로 알고 있다. 위 예시처럼 입력과 출력값 사이의 관계사이의 attention 뿐만 아니라 문장 자체의 attention(self attention)을 이용해 우리가 생각하는 문법 비슷한 것을 학습 시킬 수도 있다. 여기서 문법 비슷한 것이라고 하는 이유는 비유적으로 우리가 아는 문법이라고 말하지만, 언어모델은 기본적으로 확률 통계에 기반해서 가장 그럴싸한(maximum likely hood) 값을 학습하기 때문에 그렇게 설명했다. 즉 통계가 알려주는 값과 우리가 아는 문법은 차이가 존재 할 수 밖에 없다.

 아무튼 언어모델은 attention기법을 이용해 문장간 구조를 파악하는 역할 등을 이용해 번역, 감성분석, 오타 탐지, 개체명 인식(문장에 등장하는 단어가 장소인지 인물인지 등 탐지) 등에 쓰이는 모델이다.

RLHF- 아직 완벽하지 못한 AI를 개선해주는 모델

어려운 부분에 봉착했다. RL은 내가 요즘 공부하고 있지만 아무튼 최대한 왜 필요한지 비벼보겠다. 인터넷 밈으로 유명한 내용을 참조해보자

인터넷 밈 세종대왕 맥북프로던짐사건(Feeback 전후)

우리는 일반 상식으로 세종대왕 시절에 맥북프로가 없다는 것을 알고 있다. 그러나 인공지능의 경우 앞의 설명과 같이 최대한 그럴싸한(maximum likelyhood)기반으로 만들기 때문에 질문에 이어질 내용으로 가장 그럴싸한 내용들을 생성해준다. 몇몇 모델들은 reasoning이라고 하는 논리 추론관계(예를 들면 세종대왕 시절 맥북프로가 없다는 사실추론)를 통해 위와 같은 오류를 방지하지만, 그게 하나하나 논리적 관계를 손보는 과정이 필요하기 때문에(Knowledge base QA 였던거 같다) 상당히 시간과 노력이 많이 드는 방식이라고 한다. 그래서 통계적으로 가장 그럴싸한 방식을 채택하는 경우가 많은데 위와같은 오류가 생성되는 것이다. 

이런 이유때문에 사람들의 피드백을 통해 이 내용이 적합한지 판단하는 과정이 필요하다. 이때 사람들의 피드백을 모사할 수 있는 모델이 필요한데 이를 RL을 이용해 해결하며, 사람의 피드백을 거치는 RL이라 해서 RLHF라 하나보다(정확한건 나도 찾아봐야지)

RL보면 항상 나오는 개념도

그래서 RL이라는게, 다른 AI들과는 달리 어떤 행동을 취했을때 돌아오는 상태(S)와 보상(R)을 기준으로 학습이 진행되는 모델이다. 마치 강아지가 맨바닥에 대소변을 누면 혼내고(대소변을 눈 행동 a 그로 인한 방 상태 s, 혼내는 보상 r), 배변 패드에 누면 칭찬 또는 간식(대소변을 눈 행동 a 그로인한 상태 s,  칭찬 또는 간식 보상 r)로 학습을 시키는것과 유사한 거라고 보면 된다. 우리에게 친숙한 사례로는 deepMind의 AlphaGo가 있다.

아무튼 chatGPT에는 위 내용이 발전된 것이 쓰였다.

다시 돌아와 사람의 feedback을 통해 학습된 RL인 RLHF가 chatGPT에 피드백을 제공하며 "맥북프로던짐사건"과 같은 오류들을 끊임없이 수정하며 개선하는 것이다.

RLHF를 위한 인터페이스

그럼 이런 생각도 들 수 있다. "사람의 피드백은 어떤 형태여야 할까?". 어려운 일이다. wikipedia의 경우 한번이라도 editing을 해본 사람은 전체 사용자 중 2%도 되지 않는다고 한다. 간단한 설문조사도 귀찮아 하는데 AI한테 피드백을 주라고 하면 쉽게 할리가 없다. OpenAI뿐만 아니라 Meta등 에서도 이러한 피드백을 쉽게 받을 수 있는 방법을 고심한 모양이다. 

8단계 평가로 이루어진 과거 방식
2단계로 바뀐 현재 방식

내가 참조한 세미나에 의하면 위 그림처럼 2단계로 바뀐 이유는 그게 가장 좋기 때문이 아니라 사람들이 그나마 쉽게 피드백을 줬기 때문이라고 한다. 아마 이런 뜻인것 같다. AI가 마음에 들지 않는 답을 줬을 때 가장 좋은 피드백은 답이 이러저러한 방식으로 나왔으면 좋겠는데 그렇지 못했다와 같은 긴 설명문 일지도 모른다. 근데 나라도 그러면 안할 것 같다. 그래서 도입한 방식이 좋아요와 싫어요라고 한다.

질문 : 위 셋 중 각 회사는 해당 인재 또는 시스템을 구비할 수 있는가?

대략적인 설명이 끝났으니 첫번째 질문을 던져봐야 할 시기가 되었다. 몇몇 기업 또는 회사들이 내부적으로 위와같은 시스템을 도입하고 싶어한다. 자기 회사만의 chatGPT를 만들기 위해서는 결국 위 셋을 구현 할 수 있어야 한다. 그럼 그 수준이라는게 얼마나 되는가. 내가 생각에는 언어 모델 연구조직 1+3(박사1, 석사3), RLHF 1+3(박사1, 석사3) MLOPS개발자2~3은 되야 한다고 생각한다. 물론 내가 비 AI 전공 연구실에서 AI연구했을때를 기준으로 추산한 것이어서 실제는 다를지도 모른다. 아무튼 각 주제에 대해 제대로 할 수 있는 사람이 필요할텐데 옥석을 가리는 일도 쉽지 않을 것이고 AI만 깡으로 하는 회사에서도 GPT부터 시작해서 chatGPT까지 2018년부터 2023년까지 연구한 결과라는 점을 감안해야한다. 다시말해, 우리나라 Top IT회사가 아니라면 제대로된 "xx형 chatGPT"는 사실상 불가능하다고 보는게 맞다.

그럼 위 기술력이 갖춰졌다는 가정 하에 현실적인 부분으로 넘어갈 차례다

1000만달러 = 130억, 데이터만 준비하는데 쓰인 돈

우선 한번 짚고 넘어가야할 것은 openAI의 chatGPT가 정확히 어떻게 만들어졌는지는 제대로 공개되지는 않았다고 한다(세미나 기준). 그럼에도 어느정도는 입소문으로 이미 알고있는 모양이다. 그 중 학습을 위해 높은 품질의 데이터가 쓰였다고 하며 이를 생성하기 위해 사람들을 고용해 작업을 시키는데 약 1000만 달러(텐 밀리언 이랬으니까)가 소비되었다고 한다. 데이터만 1000만 달러라면 나머지는 얼마나 들까. 

또한 위 결과는 openAI가 마이크로소프트와 협업한 덕분에 비교적 저렴하게 해결했을 때 그 정도로 해결할 수 있었다고한다. opensource 커뮤니티에서도 여러 좋은 데이터를 제공하지만 현실적으로 opensource형 chatGPT를 만들만한 데이터는 못된다는게 세미나 내용이었다. 

그러니까 데이터에만 130억을 쓸 각오가 되어있어야 할텐데 그럴만한 곳이 몇이나 될까.

Finetune은 불가능하다

보통 언어모델하면 Finetune이라는 방법으로 용도에 맞게 사용하는 과정을 거친다. 그러나 chatGPT는 finetune이 불가능하다고 한다. 아마 정확한 표현은 sourcecode가 공개되어 있지 않아 사내의 사설 서버에서 학습을 돌려 자신만의 finetune이 불가능하다는 뜻이 더 맞을 것 같다. 왜냐하면 RLHF이기 때문에 사람들이 입력한 문장을 통해 openAI의 chatGPT는 계속 학습이 될 것이다. 그래서 얼마전 기사에 삼성의 내부 기밀 내용을 chatGPT의 질문으로 입력해 학습데이터로 사용되어 기밀유출 문제가 있었다. 

Fintune이 불가능하다는 것은 맨땅에 하나하나 쌓아 올려가야 할텐데 어려운 일이 될 것이다. 세미나에서는 deepMind등에서 도입한 다른 방법들도 이야기했는데, 관심있으신 분들은 확인해 보는 것이 좋을 것 같다.

 

마무리하며

요즘 많은 이들이 chatGPT를 말하지만 정확히 chatGPT가 무엇인지 말할 수 있는 사람은 많지 않아보인다. 개인적인 목적으로 chatGPT가 무엇인지 진단해보고, 많은 분들이 다짜고짜 chatGPT를 만들어보자(아저씨적인 자세로)라고 하는 것을 보고 이 기술을 실현시키기위해 무엇이 필요한지 진단해보고자 했다.

최근 경제와 관련된 GPT 모델인 bloomberGPT도 출시되었다고 한다. 위에 언급했듯 데이터에만 130억을 써야하며 그리고 bloomberg라면 그만한 양의 데이털르 이미 가지고 있었을 것이다. 내가 정리한 내용이 누군가에겐 조그마한 단서가 되길 바라며 글을 마친다.

 

끝.

 

 

 

참조 및 이미지 출처

https://jalammar.github.io/illustrated-transformer/

 

The Illustrated Transformer

Discussions: Hacker News (65 points, 4 comments), Reddit r/MachineLearning (29 points, 3 comments) Translations: Arabic, Chinese (Simplified) 1, Chinese (Simplified) 2, French 1, French 2, Japanese, Korean, Persian, Russian, Spanish 1, Spanish 2, Vietnames

jalammar.github.io

https://twitter.com/yechanism_/status/1627881535037923329?s=20

https://www.clien.net/service/board/park/17963552

https://docs.google.com/presentation/d/1eI9PqRJTCFOIVihkig1voRM4MHDpLpCicX9lX1J2fqk/edit#slide=id.g1b240dbd68e_0_76

반응형