ChatGPT가 보급되고, LLM에 대한 관심도 커졌다. 직접 학습시킬 수 있는 서비스까지 나오고 나니, PDF를 학습시켜 개인 어시스턴트처럼 활용하는 강의나 책이 정말 많이 나오고 있다. LLM과 같은 텍스트 기반 외에 영상, 이미지 등에 대해서도 정말 많은 AI 모델이 나오고, 서비스가 나오고 있다.
이 글에서는 GPT에 대해서 얘기를 해보려고 한다.
GPT를 쓰지 않지 않는다고 해서, GPT의 효용이나 효율 등에 부정하는 것은 아니다. 분명 GPT는 많은 분야에서 일의 방식을 바꾸고 있고, 꽤 Practical 영향을 끼치고 있다. 아마 내 삶에서도 많은 부분이 바뀔 수 있을 것 같지만, 아직 경험하진 않고 있다.
GPT와 이를 사용하는 사람들을 지켜보고 있자면 드는 생각이 있다. GPT를 써보지 않고 작성했기 때문에 편견과 잘못된 오해가 많을 것이다. 누군가 바로잡아주면 좋을 것 같다.
관대하다.
ChatGPT와 같이 “서비스”로 GPT를 사용하고 있는 사람들은, 굉장히 서비스에 관대하다. 일반적으로 서비스를 이용하는 사용자들은, 심지어 유료 서비스를 이용하는 사용자라고 하면, 내가 기대한 결과가 나오지 않을 때 바로 불평으로 이어지기 마련이다. 하지만 GPT 사용자는 내가 입력한 프롬프트에서 원인을 찾는다. 즉, 서비스가 불완전(?)하다고 인지하고 이를 받아들인다.
이런 현상을 보고 들은 생각인데, 서비스의 일부를 아주 러프한 AI로 구현하여 서비스하면 사용자가 과연 관대할까 라는 생각도 들었다.
고도화된 검색엔진 같다.
실제로 검색엔진 같지 않다는 얘기는 들었다. 방대한 양의 데이터로 학습하여, 단순히 검색한 원문을 기반으로 알려주는 것을 넘어, 관점을 가지기도 한다고.
그래서 여기저기 돌아다니는 GPT 캡쳐를 돌아보면, 어떤 관점이 잘못되는 경우도 있고, 교정하면 사과(?)를 하면서 계속 업그레이드된다는 것이다. 이 과정을 조금 과장해서 얘기해 보자면, 구글 검색이랑 크게 다르지 않은 것 같다. 구글 검색도 내가 검색하고 접속한 사이트들을 기반으로 사용자에게 맞춰진 결과가 나온다. 검색 과정에서 링크를 클릭하고, 클릭하지 않는 것이 정답, 오답을 체크하는 것 같다.
고도화된 검색엔진 같다고 했지만, 사실 이것만으로도 효용은 충분하긴 하다. Exact matching 없이 이해를 통해 동작하는 검색엔진이라니. 심지어 좋게 말하면 재구성, 나쁘게 말하면 짜깁기를 잘해서 콘텐츠도 만들어 주니 말이다.
블랙박스라서 무섭다 or 거부감이 든다.
내가 사용하는 서비스나 오픈 소스는 대부분 블랙박스가 아니다. 물론 서비스의 경우 동작 원리를 오픈하진 않지만, 어느 정도 유추가 가능하다. 어떻게 업체와 제휴해서 사용하고, 어떤 기술을 사용했는지가 보인다. 물론 보이지 않는 경우에도 뭔가 대단한 기술력이 있겠다는 생각에서 멈춘다.
GPT는 귀동냥으로 들은 바에 의하면 만든 사람도 블랙박스인 것으로 안다. 애초에 신경망 구조로 된 딥러닝이 그렇다는 것으로 들은 적이 있다. 이 말은 내가 학습시킨 데이터가 어떻게 구조화 되어있는 지 모르지만, 프롬프트를 통해 그 학습에 기반한 결과를 받을 수 있다는 의미이다. 이렇게 아무도 모른다는 점이 서비스를 만드는 주체에겐 너무 강점이 되는 것 같다. 마치 이렇게 얘기할 수 있다는 것이다.
“모두 알다시피” 우리도 당신이 입력한 데이터가 어떻게 구조화 되어있는지 모릅니다.
작년 이맘때쯤 보안 사고가 많이 나기도 했고, 자체적으로 사내에 GPT를 구축하는 형태로 넘어갔던 것 같다. 뭐 사실 이러한 부분은 기술과 관계없이 발생할 수 있는 “사고”인데, 블랙박스라고 모두가 인지한 상황이 (조금) 우려이긴 하다.
개발자를 대신한다는 생각 (?).
꽤 많은 곳에서 GPT의 발전으로 개발자를 대신한다고 얘기한다. 과거에 개발자가 있어야만 할 수 있던 일을 이제 없어도 할 수 있다는 얘기도 하고, 심지어 개발자를 대체할 수 있다고 얘기하는 분들도 있다. 추측해 보건대, 마케팅 용이지 않을까 싶다. 특정 도메인의 특정 결과물을 위해 개발자가 할 수 있는 일들을 대체할 수 있는데, 앞부분을 생략하고 얘기한 것이 아닐까.
개발자가 하는 일은 정말 많다. 누군가는 개발자가 개발 외에 기획을 포함한 다양한 역할이 있기 때문에 대체할 수 없다고 하지만, 사실 그렇게 물리적인 무언가가 아니더라도 힘들다고 생각한다. 개발자가 “개발”로서 하는 일은 SI, SM으로 분류하기도 한다. 정말 쉽게 얘기하면 “만드는 일”과 “유지보수”이다.
개발자로서 일하다 보면 유지보수만 하는 프로젝트도 있다. 과거 개발자들이 만들어놓은 시스템을 이해하고 버그를 수정하거나 기능을 추가하는 등의 작업을 한다.
만약 회사를 다니고 사내 프로젝트가 그렇다면 “와 새로 짜고 싶다”는 생각이 들 때가 많지만 그럴 수 없기 때문에 평소보다 더 시간을 쓰면서 개발한다. 만약 외주로 프로젝트를 받았는데, 레거시가 있는 경우 왠-만하면 설득해서 새로 개발한다.
기존 코드를 완전히 이해하고 영향(버그)을 주지 않으면서 개발해야 하기 때문이다.
GPT가 “만드는 일”을 할 수 있다고 쳐도, “유지보수”를 할 수 있을까 의구심이 있다. (솔직히 만드는 것도..)
정리해 보면, 나에게 GPT는 Assistant 같은 느낌이다. 그런데 종종 틀리기도 해서 혼내야하는 Assistant.
그래서 GPT는 공부할 때 (정답을 알려주는 사람이 있을 때) 사용하거나 본인 분야에서 보조로 써야한다고 생각한다.
이런 면에서 오히려, 프로그래밍을 배울 때 좋은 보조인 것 같다. 프로그램을 실행해 보면 정답을 알 수 있으니까.
그래서 난 언제쯤 쓰려나.