KFTC TREND

LLM 어디까지 활용해 봤니?

글/사진. IT협업팀 정제현 차장, IT협업팀 강서연 과장, 데이터분석팀 임선규 과장

ChatGPT로 촉발된 AI가 화두에 오른 지 불과 2년이 채 지나지 않았지만, 이제 AI는 생활 곳곳에 스며들어 있습니다. 우리 원 분들도 단편적이지만 업무 곳곳에 AI 도구들을 활용하고 계십니다. 이번엔 이에 조금 더 보탬이 되고자 RAG라는 최근 주목받고 있는 AI 기법에 대해 소개하겠습니다.

완벽할 줄만 알았던 LLM의 치명적인 단점

ChatGPT는 때로는 놀라울 만큼 똑똑해 보이지만, 때로는 그대로 신뢰할 수 없는 존재라는 것도 이제 대부분 아실 겁니다. 이는 미래사업실에서 게시한 ‘생성형 AI를 활용한 업무 생산성 향상 지원방법 및 유의점 안내’에도 잘 나타나 있는데요. 특히 ‘금융결제원 본관에서 분당센터로 가는 최적의 경로를 알려줘’라는 질문에 환각*을 보여줘, 생성형 AI 서비스를 절대적으로 신뢰할 수 없다는 것을 알 수 있었습니다. 이를 극복하기 위한 방안으로 프롬프트 엔지니어링의 중요성에 대해서도 설명해주셨는데요. AI가 우리의 요구사항을 잘 이해할 수 있도록 구체적이고 명확하게 지시하는 방법과 팁을 제공해주셨습니다.

* 환각(Hallucination, 할루시네이션) : 생성형 인공지능(AI)이 사실이 아닌 내용을 사실처럼 그럴듯하게 대답하는 현상

앞서 말씀드린 환각 문제나 부정확한 정보 제공 등 ChatGPT로 대표되는 LLM(Large Language Models, 거대언어모델)에는 몇 가지 한계가 존재합니다. 그 이유는 다음과 같습니다.

첫째, LLM은 지속적으로 학습할 수 없다. 즉, 사전에 학습된 정보를 기반으로 동작하기 때문에 최신의 정보를 반영할 수 없어 부정확한 결과를 낳을 수 있습니다. 최신 데이터를 필요로 하는 애플리케이션에서는 사용하기 어렵고, 금융 뉴스나 기술 트렌드와 같이 신규 정보가 중요한 업무에서는 사용할 수 없습니다.
둘째, LLM은 특정 도메인에 대한 깊이 있는 지식을 갖출 수 없다. LLM은 말 그대로 언어모델이기 때문에 보편적인 지식을 학습하여 정보를 제공합니다.

사실 기업의 업무에서 직접적으로 필요한 정보들은 결국 내부의 민감 데이터를 사용해야 하는데, 현재 유명한 LLM에는 기업의 입맛에 맞도록 특정 데이터를 학습시킬 수는 없기 때문에 어쩔 수 없는 한계처럼 보이기도 합니다. 우리 원도 유의사항 가이드에 제시했듯, 업무 관련 소스코드나 업무추진 과정에서 생산된 업무자료 및 회의자료, 업무 프로세스 등은 LLM에 학습시킬 수 없습니다.

LLM의 한계를 뚫다, RAG

위에 언급했듯이 원래는 특정 전문 지식을 LLM에 학습하기에는 한계가 있었습니다. 그러나 최근에는 ‘도메인 특화 LLM’이라는 이름으로 여러 가지 서비스가 등장하고 있습니다. 법률, 의료, 제조, 유통, 금융 등 특정 도메인에 깊이 있는 전문지식을 이해하고 관련 정보를 생성할 수 있는 AI라고 보시면 됩니다. 일례로 법률 관련 문서들을 특화해서 학습하여 법률 정보를 검색하고 요약해 제공하는 법률 특화 플랫폼 ‘Predictice’라는 것도 있고, 의료 분야에서는 생의학 정보의 자연어 처리를 통해 임상 정보를 제공하는 것에 특화된 ‘GatorTronGPT’라는 서비스도 있습니다. 국내에서도 도메인 특화 LLM 개발이 활발한데, 최근 LLM 전문기업인 ‘업스테이지’와 법률 서비스 ‘로톡’을 운영하는 ‘로앤컴퍼니’가 협력해 법률 특화 LLM을 개발한다는 소식이 있습니다.

이러한 도메인 특화 LLM을 가능하게 하기 위해서는 (1) 먼저 특정 도메인 지식에 집중된 정보를 사전에 학습하고 (2) 파인튜닝**을 통해 성능을 높이는 방법을 주로 사용합니다. (1)에서 사전학습하는 데이터의 양이 일반 LLM에 비해 상대적으로 적을 수밖에 없어서 오히려 추론의 편향성이나 환각 현상이 더 많이 발생할 가능성이 높습니다.

** 파인튜닝(Fine-tuning) : 사전 훈련된 모델의 가중치가 새로운 데이터에 대해 훈련되는 전이학습의 접근 방식

그래서 이를 보완하기 위해 적은 데이터로 성능을 끌어올리기 위한 기술이 활발하게 연구되고 있는데요. 그중 하나가 바로 RAG(Retrieval Augmented Generation, 래그)라고 할 수 있습니다. RAG는 기본적인 LLM의 한계를 극복하고 보다 신뢰성 높은 결과를 제공하기 위한 기술이라고 이해해주시면 됩니다.

<RAG의 과정>

검색(Retrieval)

사용자가 입력한 질문과 관련된 정보를 외부 데이터베이스나 문서에서 찾아내는 것

예) ‘최근 블록체인 기술 동향’에 대해 질문하면 RAG 시스템이 관련된 뉴스 기사나 문서를 검색해서 필요한 정보를 추출한다. 이때 벡터화를 통해 문서의 의미를 파악하고, 가장 관련성이 높은 문서를 선택한다.

증강(Augmentation)

검색된 정보를 바탕으로 질문에 대한 답변을 생성하기 위해 문맥을 추가하는 단계(LLM이 더 정확하고 유익한 답변을 생성할 수 있도록 도와주는 단계)

예) ‘최근 블록체인 기술 동향’이라는 질문에 대해 검색된 여러 문서에서 스마트 계약과 디파이(DeFi)에 대한 내용이 포함된 문서들을 찾았다면, 이 문서들의 벡터를 쿼리 벡터와 결합하여 관련 정보를 강화한다.

생성(Generation)

증강된 정보를 바탕으로 LLM이 질문에 대한 답변을 작성

예) 앞서 검색되고 증강된 정보를 바탕으로 ‘최근 블록체인 기술은 스마트 계약과 디파이(DeFi) 분야에서 많은 발전이 있었습니다.’와 같은 답변을 생성한다.

활용도 높은 RAG의 실제 사용기

최근 국내 기업에서도 RAG를 활용하는 사례가 증가하고 있습니다. KB국민카드는 ‘이벤트 Q&AI’ 서비스를 통해 고객에게 정확한 이벤트 정보를 제공합니다. ‘스켈터랩스(Skelter Labs)’의 GPT 기반 질의응답 챗봇 해결책인 ‘벨라 큐나(BELLA QNA)’를 도입했다고 하는데요. RAG를 통해 매일 업데이트되는 최신의 이벤트 정보를 자동으로 반영해서 고객 응대 효율성을 크게 향상했다고 합니다.

또 삼성 SDS에서도 RAG를 활용한 클러스터 진단 도구를 개발했는데요. 삼성에서 제공하는 클라우드 서비스 내의 ‘쿠버네티스 엔진(Kubernetes Engine)’에서 발생하는 문제를 진단하고 해결책을 제공하는 도구입니다. 운영환경에서 발생하는 다양한 문제들 중 빈번하게 발생하지 않고 예측하기 어려운 문제에 대해 상시 업데이트되는 기술 지원 문서, 해결 사례 등을 즉시 반영할 수 있기 때문에 보다 신뢰도 높은 정보를 얻을 수 있다는 평입니다.

이러한 사례들은 RAG가 금융 분야에서 어떻게 활용될 수 있는지를 잘 보여주며, 기업들이 RAG를 통해 최신 정보 제공과 정확성 문제를 해결하고 있음을 시사합니다. 개념만 소개하고 가면 재미가 없겠죠?! 저희가 간단하게나마 ‘금융 IT 뉴스에 대한 질의응답이 가능한 챗봇’을 구현해 보았습니다. 백문이 불여일견! 한 번 보시지요!

  • ● 금융 IT 뉴스 데이터셋
    수집기간 : 2021.4.12 ~ 2023.12.29
    기사 수 : 3013 건
    • 금융일반, 정부정책, 클라우드, AI, 데이터, 메타버스, 보안, 블록체인, 비대면 업무환경, 인재양성, 업무자동화, 기타

    ● 챗봇 기술요소
    • GPT 시리즈(gpt-3.5-turbo, gpt-4,
      gpt-4-turbo, gpt-4o)
    프레임워크 : LangChain
    벡터 저장소 : Chroma DB, FAISS, Sqlite 3
    인터페이스 : Streamlit

위 챗봇은 3년 가까이 금융 IT 관련 뉴스들을 모니터링하며 수집한 데이터를 이용했습니다. 총 12개 분야로 카테고리를 나누고, 각 분야에 대한 뉴스를 저희가 직접 분류했습니다. 이번에 구현한 챗봇에 반영되지는 않았지만, 올해의 따끈한 뉴스들도 수집하고 있습니다. RAG를 구축할 때 필요한 LLM은 OpenAI에서 제공하는 API(Application Program Interface, 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식)를 활용하였으며 GPT 시리즈들을 사용했습니다.

동영상에서 볼 수 있듯 사용자가 원하는 시점에 맞는 특정 주제나 키워드에 대한 최신 뉴스를 검색할 수 있습니다. 그리고 긴 뉴스 기사를 요약해서 볼 수 있기 때문에, 바쁜 일정 속에서도 핵심정보를 빠르게 파악할 수 있도록 도와줍니다. 전반적인 트렌드나 주요 이슈를 한눈에 파악할 수 있습니다. 또한, 대부분의 LLM은 그 출처를 정확히 알기 어려워 공식적인 사용에 한계가 있는 반면, 현재 저희가 구현한 챗봇은 각 뉴스의 출처를 명확히 제공하여 정보의 신뢰성을 높여줍니다.

이러한 RAG 기반 챗봇을 활용한다면 우리는 시장 조사 및 분석을 더욱 손쉽게 하여 업무 효율성을 높이며 의사결정에도 도움을 얻을 수 있을 것입니다. 예를 들어 새로운 금융 규제나 기술 변화에 대한 정보를 신속하게 습득함으로써 보다 빠른 대응력을 가질 수 있습니다. 또 금융산업에서 발생할 수 있는 다양한 리스크 요소들을 사전에 인지하고 대비할 수 있는데요. 특정 기업의 데이터 유출 사고가 발생할 경우, 관련 뉴스를 실시간으로 모니터링하고 유사 사례와 대응 방안을 분석해서 신속한 대응책을 마련할 수 있을 것입니다. 특히 시시각각 업데이트되는 보안 취약점 관련 조사 및 대응에도 챗봇이 최신 뉴스의 실시간 확인과 유사 사례 파악을 할 수 있을 것입니다.

마무리하며

시범적으로 구현한 챗봇의 데이터셋은 금융 IT 관련 뉴스였기 때문에 이와 관련한 활용 가능성을 살펴보았는데요. 기업 내부의 어떤 데이터든 활용하여 이와 같은 챗봇을 구현하고 사용할 수 있습니다. 예를 들면, 규정 정보를 데이터셋으로 사용하여 ‘규정 전문가 챗봇’을 만들 수도 있고, 현재 컨플루언스에 집적되고 있는 비정형데이터를 대상으로도 각종 업무에 대한 정확도 높은 질의응답이 가능할 것입니다. 퀄리티 높은 개발 노하우가 쌓여있는 테크 블로그, 각 운영팀에서 작성하고 계시는 운영 노하우와 기록들이 기업 내 자산으로 더욱 빛을 발휘할 수 있게 될 것입니다. ‘규정 전문가 챗봇’이 등장한다면 먼 훗날 직무기본과정-규정 시험이 사라지는 건 아니겠죠? (농담입니다^^)

RAG라는 개념의 이해를 통해 생성형 AI를 우리 원 업무에 활용할 수 있는 가능성에 대해 조금이나마 인사이트를 드릴 수 있었기를 바랍니다.