당신이 AI 개발을 하게 된다면, 고려해야 할 5원칙
AI 전문가라고 할 정도면 어느 정도 이미 알고 있을거고 공감할 거라고 생각한다. 하지만 비전문가 입장에선 AI란 난해하고 까다로울 수밖에 없다. 특히나 그게 주 업무가 아닌 상태에서 얽히게 된다면 골치아플 것이다. 전문가가 뭐라고 뭐라고 쏼라쏼라 말하는 게 잘 이해도 안 될 것이다. 당연한 일이다. 누구라도 자신이 전문분야가 아닌 일을 하면 이해하기 어려우니까.
하지만 그런 일에 엮일 사람들은 앞으로 계속 늘어날 것이다. 왜냐하면 AI의 범주는 넓고, 또 넓어지고 있으며, 기존에는 들어가지 못하던 많은 분야에 도입되고 있기 때문이다. 어쩌면 당신은 AI와 1도 관계 없는 직종이라고 생각했는데, 어느날 사장이 와서 '오늘부터 AI 서비스 도입하려고 하니까 진행해'라고 오더가 떨어질 수도 있다.
물론 당신이 리더라면, 나서서 저런 걸 생각해야 한다.
혹시나 그런 사람이 있다면 도움이 될까하여, 정리해본다.
1. 사람이 할 수 없는 걸 AI한테 요구하지 마라.
AI는 도깨비방망이가 아니다. 모든 걸 해결할 수 없다. AI의 목적은 기본적으로 '사람을 흉내내는 것'이다. 사람이 수행하는 업무의 방식을 수리적으로, 기계적으로 모사하여 따라하는 것이다. 당연히 사람이 못하는 건 기본적으로 쉽게 되지 않는다.
물론 때때로 AI를 통해 사람이 못하던 영역을 놀라운 방법으로 풀어내는 경우는 굉장히 많다. 하지만 그건 당신이 고민할 부분이 아니다. 기술자들과 연구자들이 할 일이지. 그리고, 사람이 할 수 있는 일이라면 왜 AI가 필요할까도 고민할 필요가 없다. 신입사원도 월급 200은 받아가겠지만 ChatGPT는 월 20달러에 문서 초안 작성하는데 1분도 안 걸린다. 초보라도 쉽게 할 수 있는 일을 더 빠르게 하는 게 목적이란 걸 분명히 염두해 둬야 한다.
그러니까 성능 95% 같은 소리좀 하지 마라. 당신은 당신 업무에 대한 어떤 질문을 받아도 그 자리에서 95% 정확도로 다 말할 수 있나?
2. Garbage in, garbage out (GIGO)
쓰레기를 넣으면 쓰레기가 나온다. 다시 말하지만, AI는 사람이 일을 하는 방식을 모사하는 데에서부터 시작한다. 당연히 쓰레기같은 데이터를 넣으면 쓰레기같은 결과가 나온다. AI의 성능은 당신이 준비한 수준이 최대치이다.
AI 과제를 진행하다보면, 자기들이 돈 냈으니 알아서 잘 하겠지 라며 방치하려는 사람들이 많다. 하지만 AI 과제를 수행하러 온 AI 전문가들은 당신들의 일에 대해 쥐뿔도 모른다. 그 사람들이 그 일을 이해하고 거기에 적절한 데이터를 마련할 수 있다고 생각한다면, 당신은 당신의 일이 전문성이라곤 쥐꼬리만큼도 없는 하찮은 일로 치부하고 있는 것이다. 전문가를 통해 정제된 양질의 데이터만이 좋은 성능을 보장할 수 있다. 그리고 모델은 십중팔구, 당신이 준비한 데이터의 수준을 넘어서지 못할 것이다.
그럼에도 해야 하는 건, 사람이 하는 것보다 싸고 빠르니까, 이다.
3. 대체 뭘 준비해야 하냐 하면, Input & Output
위의 경우, '데이터좀 주세요'하면 정리되지 않은 불특정 문서 더미를 던져주고 끝내는 곳이 허다하다. 당연히 몰라서 그런 거니 그거 가지고 뭐라고 하지는 않는다. 다만, 이쪽은 '그런 거 말고 이러이러한 거 필요해요'라며 상세한 이야기를 해야하고 그런 게 몇 번 핑퐁이 오가고 나면 일정은 한도끝도 없이 늘어진다. 그런 걸 막으려면 애초부터 준비하고, 아예 과제 시작하기 전에 모으고 있는 게 베스트다.
그러려면 먼저 '당신이 원하는 결과'부터 구체적으로 정의해야 한다. 예를 들면, 날씨를 예측하는 모델을 만들고자 하면 '내일 부산에 비가 내릴지 말지'를 예측하는 걸 목표로 삼을 수 있다. 그럼 부산에 비가 내렸는지 아닌지에 대한 데이터들이 필요하다. 그럼 그 데이터를, 위에서 정의한대로, 사람이 뽑으려면 어떤 데이터가 필요한가? 그건 그 도메인 전문가인 본인이 제일 잘 알 것이다. 당연히 AI 전문가는 그걸 답해줄 방법이 없다.
입력 데이터와 출력 데이터만 잘 준비되어 있어도 일은 훨씬 수월하게 진행될 수 있다. 당장은 그 데이터로는 불가능하다는 결론이 나와도 차후에는 가능해질 수 있다. 특히나 그 데이터로 사람이 판별을 할 수 있다면.
4. 좋은 데이터란? 바로 그 데이터.
아까 GIGO를 언급했듯이 AI에서 데이터는 생명이다. 인터넷에 대충만 쳐봐도 데이터의 중요성을 다루는 글들은 한무더기 볼 수 있을 것이다. 너무 많아서 다 스크랩하기가 어려울 지경이다. 그런데 그렇게 되면 더 중요한 건, 대체 '좋은 데이터'가 뭘까?
특히나 LLM같이 굉장히 추상적인 AI 모델에서는 이 부분이 어렵다. 이건 나름 전문가를 자처하는 나로서도 어렵다. 나도 그걸 이해 못해서 한참을 해멨고, 당연히 AI를 다뤄보지 않은 입장에선 명확하게 머릿속에 그려지지 않는 게 당연하다, 만.
그럼에도 여기에서 말하자면, '당신이 하려고 하는 바로 그 일에 대한 데이터'가 제일이고, 거기에 가까울수록 높은 성능을 기대할 수 있다.
예를 들면, 위의 날씨 이야기에선 실제 기상 관측 데이터만큼 좋은 게 없다. 그 측정이 정밀할수록 더 효과적일 것이다. 시간적/공간적인 해상도도 높을 수록 좋을 것이다. 물론 그럴수록 데이터의 규모가 기하급수적으로 커지므로 그걸 다 갖다 쓰는 게 불가능할 가능성이 높지만, 준비할 수 있다면 준비하는 게 최선이다.
LLM의 경우에는, 애초에 모델 자체가 '언어'라는 추상적인 영역을 다루기 때문에 사람들이 어려워한다. 하지만 결국 가장 좋은 데이터는 '당신이 그 LLM을 통해 일을 하는 바로 그 시나리오 데이터 그 자체'가 제일 좋다. LLM이 언어를 구사할 수 있다고 사람과 똑같다고 착각해서는 안 되며, 애초에 사람도 해당 업무를 직접 해 보기 전에는 제대로 못하는 게 일반적이다. 모델은 배우지 않은 일을 하지 못한다. ChatGPT도 처음엔 끝말잇기도 못했다.
문서를 요약하는 일을 예로 든다면, 보통 아무 문서나 가져와 요약한 내용과 매치시킬 수 있다. 그런 걸 학습해도 LLM은 훌륭하게 문서를 요약할 수 있을 것이다. 하지만 3줄로 요약하라거나, 개조식으로 요약하라고 할 때 말을 안 들을 수 있다. LLM 입장에선, '그런 데이터는 못 봤는데요?'가 될 수도 있는 것이다. 물론, 요즘 나오는 LLM은 그 정도는 다 진작에 튜닝해서 나오기 때문에 웬만큼은 잘 할 것이지만. 한편 업무상에 쓰는 고유한 표 형식같은 게 있으면 제대로 못할 수도 있다. 그런 건 처음 보니까. 회의록을 요약한다면, 회의록의 형식이라든가, 어떤 사람의 발언이 중요하게 요약에 반영되야한다거나 등등이 실제에 맞춰서 조정될 필요가 있을 수도 있다. 그런 요건들이 복잡할 경우, 일반적으로 튜닝된 LLM은 추가적인 튜닝 없이는 제대로 답변하기 어려울 수도 있다.
뭐, 그것도 사람 기준으로 생각하면 답이 나올 문제다.
당신이 그 AI를 사용할 때 나올 수 있는 모든 데이터들을 갖추는 게 제일 좋다. 그게 불가능하다면, 가급적 그와 유사하게 나올 수 있는 데이터를 찾든가 만들어야 한다. 경우의 수가 너무 많다면 주로 나오는 경우를 커버하는 데이터들을 갖춰야 한다. 모든 건 그게 있고나서 시작할 수 있다.
5. 제일 중요한 것, 그건 '대체 이걸로 뭘 하려는건데?'
가끔 있다. 자기들은 AI를 몰라서, 뭘 할 수 있는지 모르니까 그거부터 정해달라고. 그럼 이쪽에선 이렇게 답해줄 수 있다. '우린 그쪽 업무를 모르는데요?'
판타지라도 뭐든 내밀면 그게 가능한지, 혹은 가능한 수준으로 축소해서 한다면 어디까지 가능할지를 논의할 수 있다. 하지만 대뜸 저렇게 나오면 아무것도 진행할 수 없다. 그러면 과제가 표류하기 마련이다.
물론 보통 저정도까지 막 나가진 않고, 보통은 추상적으로라도 정해온다. 다만 너무 추상적이라 논의하기 애매하다거나, 자꾸 새로운걸 붙여서 한도끝도 없이 늘어나거나 하는 게 문제다. 그런 걸 막으려면.
명확하게 목표를 정해야 한다. 목표를 정하면 결과값 데이터들이 어떤 것들이 나올지 명확해지고, 그 결과를 사람이 뽑아내려면 뭐가 필요한지도 현업 전문가라면 알 것이다. 그렇다면 그런 데이터로 실제와 가장 가까운 데이터를 어떻게 취득해야 할지도 답이 나올 것이다.
뭘 하려는지가 불분명하면 사람도 답을 가져올 수 없다. 하물며 사람도 그런데, 사람보다 머리 딱딱한 컴퓨터가 답을 해주기를 바라는 것 자체가 무리인 거다. 당신이 팀원들에게 목적도 불분명한 업무지시를 한다면 일도 안 되고 팀원들에게 욕만 먹을 게 분명하듯이, AI가 상대로도 마찬가지다. 물론 AI는 욕은 안 할 테니 그 부분은 안심해도 된다.
위 이야기들은 대단히 기본적인 이야기지만, 실제로 보면 의외로 저기에서 벗어난 이야기들이 많이 나온다. 일단, 문제정의부터 제대로 하지 못한 채로 오는 경우가 많다. 데이터가 없거나, 저렇게 Input & Output으로 정리되지 않은, 과제 목적과 전혀 상관없는 내용의 RAW 데이터가 날아오는 경우도 종종 있다. 사람도 못하는 걸 위에서 막 던질때도 많고, LLM 같은 경우는 더더욱 막 날아오는 경우가 많다.
저 위에 추가로 하나 덧붙이자면, AI는 절대로 처음부터 고도로 숙련된 그 분야의 전문가 수준이 될 수 없다는 게 있다. 당연한거다. 최소 10년은 수많은 실전 데이터로 학습된 사람의 두뇌와, 고작 PoC하며 2~3개월간 학습한 AI 모델의 성능이 맞먹는다면 그거야말로 부당한 일이다. 당연히 먼저 도입하고 발전시켜야지, 시작하자마자 성능 떨어진다고 버려서야 나중에도 발전이 있을 리가 없다.
결론적으로, AI는 신입사원이라고 생각하면 편하다. 성가시고 반복적인 잡무를 빠르고 효과적으로 도와줄 수 있지만, 어쨌건 신입사원이 할 수 있는 일은 내가 가르쳐 준 일 뿐이고, 내가 못하는 일이나, 내가 제대로 가르쳐주지 못하는 일은 못하는 게 당연하다. 물론 AI가 사람보다 나은 점도 많지만 대개는 빠른 계산속도로 더 많은 데이터를 대량으로 처리 할 수 있기에 발생하는 차이이다. 그런 관점으로만 생각해도 좀 더 쉽게 AI를 이해할 수 있을 거라고 본다.