성공적인 AI서비스를 만들기 위한 요건
AI, 이제 모든 이야기 주제에서 AI를 거론하지 않고는 할 이야기가 없을 정도로 우리 생활 전반에 스며들었습니다. 세상이 시시각각 너무도 빠르게 변하고 있다는 이야기마저도 이제 더 이상 무의미하다는 생각이 듭니다.
기침약을 복용할 때 두 약을 같이 복용해도 되는지, 건조한 피부 타입에는 어떤 기초 화장품을 바르는게 좋을지, 고양이 보험을 들때는 어떤 보험사가 합리적이고 보장범위가 넓은지, 엑셀을 다룰때 이럴 때는 어떤 함수를 써야하는지 등 오히려 생각하고 고민하기도 전에 ChatGPT나 Gemini를 찾는 것이 습관화 되어 점점 머리가 굳는 듯한 느낌도 듭니다.
하지만, 아직 많은 기업에서는 (특히 금융/공공과 같은 산업분야) 인터넷이 차단된 내부망과 제한적으로 인터넷 사용이 허용되는 외부망 등 '망분리'라는 것이 있기에 우리가 언제 어디서나 최신 AI기술을 활용하는 것처럼 사내에서 사용할 수 없는 기업들이 꽤 있습니다.
물론, 이러한 망분리가 적용된 회사가 아니라해도 사내 정보유출과 같은 우려심도 있기에 개인적으로 AI를 활용하는 것처럼 자유롭지 않기도 하지요.
이러한 상황이다 보니, 현실적으로 사내에서 ChatGPT와 같은 외부 AI를 자유자재로 사용하는 것이 어렵습니다. 실제로 많은 기업들이 프로젝트성으로 띄워 자체 RAG 기반의 챗봇을 구축하거나, 시범적인 운영을 위해 오픈소스를 활용하여 자체 RAG를 구축하기도 합니다.
여기서 중요한 점은 바로 '양질의 데이터'입니다.
큰 돈을 들여 AI Agent를 위한 프레임워크를 구축하는 사업이든, 제한이 있지만 내부 자원을 적극 활용하여 오픈소스를 통해 시범적으로 구축하는 사업이든, 어떤 모델을 쓰는지도 중요하지만 결국 '어떤 학습 데이터를 사용했느냐'에 따라 답변의 퀄리티가 매우 다르기 때문입니다.
그렇다면 이런 상황에서 어떻게 해야 퀄리티 높은 AI 챗봇이든 에이전트든 잘 만들 수 있을까요?
(이는 비단 AI 챗봇이나 에이전트 뿐만 아니라 모든 업무에서도 필요한 과정인 것 같습니다.)
사내 서비스를 준비한다는 가정하에 현재 팀내, 사내에서 구성원들이 공통적으로 겪고 있는 불편함이 무엇인지를 정확히 알아야 합니다. (대외 서비스를 준비한다면, 사용 대상이 되는 타겟층들의 불편함은 무엇인지를 정확히 알아야겠지요.)
따라서 불편한 점, 개선할 점이 무엇인지 모두 추출하여 리스트업을 합니다.
현재 업무 프로세스에서 불편한 점들을 발견했다면, 담당자를 포함하여 해당 서비스를 만들기 위해 필요한 모든 구성원들이 '무엇'을 만들지에 대해 하나의 시각으로 바라봐야 합니다. 이때 중요한 건, 해당 서비스 구현을 담당할 팀의 리소스를 파악하고, 구현할 서비스의 중요도 및 난이도, 구현해야할 시기와 소요시간을 고려하여 구현할 서비스의 우선순위를 가름하는 것입니다.
AI챗봇을 포함한 AI에이전트는 사실 조금 더 편리하고 빠르게 지원해주는 것이 1차 목적이기에 (사업규모에 따라 다르겠지만) 먼저 큰 욕심은 버리고 비교적 쉬우면서도 불편함을 해소할 수 있는 기대효과가 큰 콘텐츠 먼저 접근하는 것이 중요합니다.
저의 사견입니다만, AI를 활용하여 어떤 서비스를 만들어 낼 때 욕심을 내기보다 scope이 작은 범위부터 시작하여 시행착오를 겪는 것이 중요합니다. 요이땅! 하고 프로젝트를 시작할 시점과 구축이 다 되어갈 시점에서의 기술 격차가 꽤 크기 때문입니다.
해당 서비스를 위해 학습할 양질의 데이터를 수집합니다. 이때, 각 부서 별 히스토리 혹은 문서가 체계적으로 관리되고 있다면 아주 다행이지만, 사실 그렇지 못한 부서나 팀이 생각보다 꽤 많은 것도 사실입니다.
자고로 데이터란, 처음부터 자연스레 쌓인다기보다 '이렇게 사용하겠다'라는 목적이 수립되고, 이후에 '이런 데이터가 필요하겠구나'라며 모이기 때문에 이미 보유한 데이터라 하더라도 막상 목적에 따라 쓰임이 없는 데이터들도 꽤 많습니다.
만약 학습에 적절한 기존데이터가 없을 경우, 학습에 쓰일만한 데이터를 수집할 방안을 찾습니다.
쓰임이 있는 양질의 데이터가 충분히 있다해도 학습과정에서 정제 과정은 필수 불가결합니다. 문서의 양이 너무 많은 경우 비슷한 주제별로 문서를 나누거나, excel파일 그대로 사용하는 대신 오롯이 텍스트로 구성되어 있는 csv파일로 변환하는 과정이 필요합니다.
예를들어, 1000페이지로 구성된 PDF파일과 20페이지 정도의 PDF파일이 있다고 가정 했을때, RAG에 학습(편의상 chunking 및 embedding을 학습이라고 표현하겠습니다.)하는 과정에서 1000페이지 PDF파일 하나를 학습한 것보다 20페이지 PDF파일 50개를 학습한 것이 더 정확하게 찾을 수 있습니다.
질의에 따라 답변을 어떻게하면 가장 직관적이고, 쉽게 제공할 수 있는지 고려해야 합니다.
예를들어 화면에 어떤 입력방법을 알려줘야 하는 경우라면, 텍스트로 페이지와 버튼의 위치를 블라블라 설명해주기보다 한 장의 이미지로 보여주는 것이 훨씬 직관적이지요.
이때, 해당 질의에 대한 답변에서 이미지를 보여주는것이 베스트겠지만, 이미지를 보여줄 수 없거나, 또는 이미지를 보여준다해도 매번 다른 이미지를 보여준다면 사용자의 입장에서는 상당히 혼란스러울 수 있습니다.
우리는 이미 알고 있습니다. AI서비스를 제공할 때 중요한 것은 '쓸모 있는 데이터'가 뒷받침이 되어야 한다는 것을요. 물론 GPU를 포함한 인프라와 어떤 언어모델을 사용할지도 중요하지만, 일관된 답변을 제공하기 위해서는 학습에 쓰일 데이터를 얼마나 명확하게 정제하는지에 따라 달라지기 때문입니다.
정확히 알고 싶은게 무엇인지, 어떤 결과를 도출해내고 싶은지, 어떤 도움을 받고싶은지 등 '원하는 것'이 무엇인지를 명확히 추출하는 것을 고민하는 것이 첫번째 요건이라면, 기존에 보유한 데이터를 어떻게 효율적으로 활용할지, 기 보유한 데이터가 없다면 어떻게 수집할지를 고민하는것이 성공적인 AI서비스를 만들기 위한 두번째 요건이라고 할 수 있습니다.