빌딩 검색 증강 생성 기반 챗봇에 대한 사실

    From Marovi AI
    Revision as of 08:35, 20 February 2025 by Felipefelixarias (talk | contribs)

    라이선스: 원작과 번역은 CC BY 4.0 라이선스하에 있습니다.

    수정 알림: 이 페이지의 텍스트는 AI 모델 또는 크라우드소싱에 의해 수정되었습니다. 오류나 부정확한 해석이 있을 수 있습니다.

    저자: 라마 아키라주, 안방 쉬, 디팍 보라, 탄 유, 루 안, 비샬 세스, 아디티야 슈클라, 프리탐 군데차, 흐리다이 메타, 아쉬윈 자, 프리트비 라지, 아비나브 발라수브라마니안, 무랄리 마람, 구루 무투사미, 시바케시 레디 안네팔리, 시드니 놀스, 민 두, 닉 버넷, 션 자비야, 아쇼크 마란난, 맘타 쿠마리, 수르비 자, 이선 데레젠스키, 아누팜 차크라보르티, 수바시 란잔, 아미나 테르파이, 아눕 수리야, 트레이시 머서, 비노드 쿠마르 타니가찰람, 타마르 바, 산자나 크리슈난, 재스민 자크식, 나베 알가리치, 제이콥 리버만, 조이 콘웨이, 소누 나이야르, 저스틴 보이타노 - NVIDIA - rakkiraju, anbangx, dbora@nvidia.com

    ArXiv 링크: https://arxiv.org/abs/2407.07858v1

    초록

    생성 AI를 기반으로 한 엔터프라이즈 챗봇은 직원 생산성을 향상시키기 위한 산업 내 이 기술의 가장 탐구된 초기 응용 프로그램으로 빠르게 부상하고 있습니다. 검색 증강 생성(RAG), 대형 언어 모델(LLM), Langchain/Llamaindex 유형의 LLM 오케스트레이션 프레임워크는 생성 AI 기반 챗봇을 구축하는 데 중요한 기술 구성 요소로 작용합니다. 그러나 성공적인 엔터프라이즈 챗봇을 구축하는 것은 쉽지 않습니다. 이는 RAG 파이프라인의 세심한 엔지니어링을 요구합니다. 여기에는 의미론적 임베딩 및 LLM의 미세 조정, 벡터 데이터베이스에서 관련 문서 추출, 쿼리 재구성, 결과 재정렬, 효과적인 프롬프트 설계, 문서 접근 제어 준수, 간결한 응답 제공, 관련 참조 포함, 개인 정보 보호, 그리고 이러한 모든 활동을 조율하는 에이전트 구축이 포함됩니다. 이 논문에서는 NVIDIA에서 IT 및 HR 혜택, 회사 재무 수익, 일반 엔터프라이즈 콘텐츠에 대한 세 가지 챗봇을 구축한 경험을 바탕으로 효과적인 RAG 기반 챗봇을 구축하기 위한 프레임워크를 제시합니다. 이 논문의 기여는 세 가지로 나뉩니다. 첫째, 언급된 과제를 해결하는 엔터프라이즈급 RAG 기반 챗봇을 구축하기 위한 FACTS 프레임워크를 소개합니다. FACTS 기억법은 RAG 기반 챗봇이 올바르게 수행해야 하는 다섯 가지 차원을 나타냅니다 - 즉, 콘텐츠 신선도(F), 아키텍처(A), LLM의 비용 경제성(C), 테스트(T), 보안(S)입니다. 둘째, RAG 파이프라인의 15개 제어 지점과 각 단계에서 챗봇 성능을 최적화하기 위한 기술을 제시합니다. 마지막으로, 대형 LLM과 소형 LLM 간의 정확도-지연 시간 절충에 대한 엔터프라이즈 데이터의 실증적 결과를 제시합니다. 우리의 지식에 따르면, 이는 안전한 엔터프라이즈급 챗봇을 구축하기 위한 요소와 솔루션에 대한 전체적인 관점을 제공하는 최초의 논문입니다.

    1 소개

    챗봇은 기업 내에서 관련 정보를 찾기 위한 검색 도구의 확장으로 점점 더 자리 잡고 있습니다. 인사 혜택, IT 지원, 판매 문의, 엔지니어링 문제 등 어떤 것이든, 기업용 챗봇은 이제 생산성을 높이는 도구로 자리 잡았습니다. 2022년 11월 OpenAI의 Chat-GPT(2)가 등장하기 전까지, 기업들은 대화 흐름을 기반으로 한 내부 개발 챗봇에 의존했습니다. 이러한 봇은 의도 이해를 위한 광범위한 훈련과 응답 생성에 대한 세심한 조정이 필요했으며, 최선의 경우에도 추출적 답변만 제공할 수 있었습니다. 정보 검색 및 질문 응답(IRQA) 솔루션과 결합된 대화 관리 시스템을 기반으로 구축된 초기 봇들은 취약하고 기능이 제한적이었습니다. 이전 세대의 언어 모델과 GPT 모델이 존재했지만, 광범위한 기업 사용에 필요한 정확성, 견고성, 신뢰성이 부족했습니다(5).

    Chat-GPT의 출시, 벡터 데이터베이스의 출현, 그리고 검색 증강 생성(RAGs)의 광범위한 사용은 챗봇 분야의 새로운 시대의 시작을 알렸습니다. 이제 LLMs는 자연어로 된 간단한 프롬프트로 사용자 의도를 이해할 수 있어 복잡한 의도 변형 훈련의 필요성을 없애고, 기업 콘텐츠를 일관되게 합성하여 스크립트된 의도 인식을 넘어선 대화 능력을 챗봇에 부여합니다. LLMs는 사용자 쿼리에 대한 일관되고 사실적이며 논리적인 응답을 생성하는 능력을 제공하는 반면, 벡터 데이터베이스 기반 정보 검색(IR) 시스템은 LLMs의 신선한 콘텐츠 검색 능력을 증강합니다. LangChain(1)과 Llamaindex(9)와 같은 도구는 챗봇 구축을 용이하게 하고, 메모리, 에이전트, 프롬프트 템플릿 및 전체 흐름을 포함한 복잡한 워크플로우의 조정을 지원합니다. 벡터 검색 기반 IR 시스템, LLMs, LangChain과 같은 프레임워크는 RAG 파이프라인의 핵심 구성 요소를 형성하며, Chat-GPT 이후 시대의 생성 AI 챗봇을 지원하고 있습니다.

    챗봇 도메인 데이터 소스 데이터 유형 접근 제어 샘플 쿼리 상태
    NVInfo Bot 기업 내부 지식 SharePoint, GoogleDrive, Slack, Confluence, ServiceNow, Jira 문서, HTML, PDF, 슬라이드 본사 주차장에서 밤새 주차할 수 있나요? 초기 액세스 테스트
    NVHelp Bot IT 지원, HR 혜택 ITHelp의 지식 기사, HR 혜택 페이지 텍스트, PDF, 문서 직원 주식 구매 계획에 등록하는 방법은? 운영 중
    Scout Bot 재무 수익 회사 뉴스, 블로그, SEC 제출, 수익 관련 인터뷰 HTML, PDF, 문서 아니요 지난 3년간 NVIDIA의 수익은 얼마인가요? 운영 중

    엔비디아에서 우리의 주요 동기는 기업용 챗봇을 구축하여 직원 생산성을 향상시키는 것이었습니다. 초기의 열정은 수많은 도전 과제를 해결해야 한다는 현실과 마주하게 되었습니다. 우리는 Chat-GPT 이후의 시대에도 성공적인 기업용 챗봇을 만드는 것이 유망하지만 쉽지 않다는 것을 배웠습니다. 이 과정은 RAG 파이프라인의 세심한 엔지니어링, LLM의 미세 조정, 프롬프트 엔지니어링, 기업 지식의 관련성과 정확성을 보장하고, 문서 접근 권한을 존중하며, 간결한 응답을 제공하고, 관련 참조를 포함하며, 개인 정보를 보호하는 것을 요구합니다. 이 모든 것은 신중한 설계, 능숙한 실행, 철저한 평가가 필요하며, 많은 반복을 요구합니다. 또한, 속도와 비용 효율성을 최적화하면서 사용자 참여를 유지하는 것이 필수적입니다. 우리의 여정을 통해, 기업용 대화형 가상 비서를 완벽하게 만드는 것은 모든 음표가 중요성을 지니는 완벽한 교향곡을 이루는 것과 같다는 것을 배웠습니다!

    이 논문에서는 효과적이고 안전하며 비용 효율적인 챗봇을 구축하는 데 있어 우리의 경험과 전략을 공유합니다. 실무자의 관점에서 다음 질문들에 답변합니다:

    • 기업용 생성 AI 기반 챗봇을 구축하고 배포할 때 고려해야 할 주요 과제는 무엇입니까? 우리는 신선한 콘텐츠(F)를 유연한 아키텍처(A)로 제공하면서 비용 효율적(C)이고, 잘 테스트되며(T), 안전한(S) 솔루션을 제공하려는 시도에서 얻은 결과를 제시합니다 - (FACTS).
    • 사용자가 수용할 수 있는 수준의 품질을 RAG 시스템으로 챗봇을 구축하는 방법은 무엇인가요? 우리는 RAG 파이프라인의 15가지 제어 지점과 각 제어 지점 및 전체 RAG 파이프라인을 최적화하기 위한 기술을 제시합니다.

    2 사례 연구

    우리 회사의 콘텐츠 환경에는 권위 있는 지식과 비권위적인 콘텐츠가 모두 포함되어 있습니다. 권위 있는 콘텐츠는 IT 도움말 기사, ServiceNow와 같은 플랫폼의 HR 리소스, Confluence, SharePoint, Google Drive 및 NVBugs, GitHub과 같은 엔지니어링 도구의 프로젝트 문서를 포함합니다. 직원이 생성한 콘텐츠는 Slack 및 MS Teams와 같은 플랫폼에서 이러한 소스를 보완합니다. 이 논문에서는 RAGs와 LLMs를 사용하여 NVIDIA에서 구축한 세 가지 봇을 소개합니다. 이 봇들은 아래에 간략히 소개되어 있습니다. 세 가지 봇 모두 NVBot 플랫폼이라는 자체 개발 생성 AI 챗봇 플랫폼을 기반으로 구축되었습니다. 우리 봇이 답변할 수 있는 몇 가지 쿼리는 표 1에 나와 있습니다.

    • NVInfo Bot은(는) 기업 콘텐츠(약 5억 개의 문서, 크기 ≈ 7TB)에 대한 질문에 답변하며, 인트라넷 검색을 보완합니다. 다양한 데이터 형식을 관리하고 문서 접근 제어를 시행합니다. 기술 스택에는 LangChain, 검색 및 문서 접근 제어를 처리하기 위한 벤더 벡터 데이터베이스, LLM 모델(여러 LLM 모델 선택 가능), 맞춤형 웹 UI가 포함됩니다.
    • NVHelp Bot은 IT 지원 및 HR 혜택에 중점을 두고 있으며, 약 2천 개의 다중 모드 문서(텍스트, 표, 이미지, PDF, HTML 페이지 포함)를 포함하고 있습니다. 이는 NVInfo bot과 유사한 기술 스택을 사용하지만 데이터 볼륨은 더 작습니다.
    • 스카우트 봇은 공개 출처에서의 재정 수익에 관한 질문을 처리하며, 구조화된 데이터와 비구조화된 데이터를 관리합니다 (약 4천 개의 다중 모드 문서에는 텍스트, 표, PDF, HTML 페이지가 포함되어 있습니다). 기술 스택에는 오픈 소스 벡터 DB, LangChain, Ragas 평가, 선택 가능한 LLM 모델, 맞춤형 웹 UI가 포함됩니다.

    이 논문의 나머지 부분에서는 앞서 언급한 세 개의 챗봇을 구축하면서 경험한 도전 과제와 얻은 교훈을 요약한 FACTS 프레임워크를 소개합니다. 먼저 각 챗봇에 신선한 기업 콘텐츠를 제공하는 문제를 다루는 도전 과제부터 시작합니다.

    그림 1. 챗봇을 구축할 때 일반적인 RAG 파이프라인의 제어 지점.
    그림 1. 챗봇을 구축할 때 일반적인 RAG 파이프라인의 제어 지점.

    3 LLM 기반 챗봇에서 기업 데이터의 신선도 보장하기 (F)

    LLM 기반 챗봇에서 기업 데이터를 신선하게 유지하는 것은 여러 가지 도전 과제를 제시합니다. 강력한 기초 모델은 도메인별 및 기업별 지식이 부족하여 종종 부족한 점이 있습니다. 일단 훈련되면 이러한 모델은 본질적으로 시간이 멈춘 상태가 되며, 훈련되지 않은 기업 콘텐츠를 사용할 때 원하지 않거나 부정확한 정보를 제공할 수 있습니다.

    정보 검색 증강 생성(RAG)은 의미적 매칭을 통해 벡터 데이터베이스에서 관련 정보를 검색한 후 LLM에 전달하여 응답을 생성하는 과정입니다. RAG 파이프라인에서는 벡터 데이터베이스와 LLM이 협력하여 최신 기업 지식을 제공합니다. 그러나 RAG 파이프라인에는 여러 제어 지점이 있으며, 각 지점이 잘 조정되지 않으면 챗봇의 정확도가 떨어지고 환각이나 관련 없는 응답이 발생할 수 있습니다. 또한, 문서 접근 권한 제어는 검색 및 검색 과정을 복잡하게 하여 데이터 보안과 관련성을 보장하기 위해 신중한 관리가 필요합니다. 더 나아가, 다중 모드 콘텐츠는 프레젠테이션, 다이어그램, 비디오, 회의 녹음 등 구조화된, 비구조화된, 반구조화된 데이터를 처리하기 위해 다중 모드 검색기를 필요로 합니다. 이러한 과제를 해결하는 것은 기업 챗봇의 정확성과 신뢰성을 유지하는 데 중요합니다. (3)에서 영감을 받아, 우리는 사례 연구에서 시각화된 그림 1에 RAG의 15개 제어 지점을 식별했습니다. 각 제어 지점은 번호로 표시되어 있습니다. 이 섹션의 나머지 부분에서는 RAG 제어 지점을 해결하기 위한 우리의 통찰력과 학습 내용을 제시합니다.

    3.1 학습 내용

    그림 4에서는 RAG 파이프라인의 15개 제어 지점에 대한 요약 설명, 각 제어 지점과 관련된 도전 과제, 그리고 각 제어 지점을 최적화하기 위한 우리의 제안된 접근 방식을 제시합니다. 각 제어 지점은 RAG 및 RAGOps 흐름에 대해 각각 RAG-C[num] 및 RAG-Op[num]으로 레이블이 지정됩니다. 아래에서는 새로운 기업 콘텐츠를 관리하기 위한 몇 가지 주요 학습 및 통찰력을 제시합니다.

    메타데이터 강화, 청킹, 쿼리 재구성, 쿼리 재정렬: 우리는 RAG 파이프라인의 메타데이터 강화, 청킹, 쿼리 재구성 및 쿼리 재정렬 단계가 챗봇 응답의 품질에 가장 큰 영향을 미친다는 것을 발견했습니다. LLM 응답 생성 품질은 검색 관련성에 크게 의존합니다. 검색 관련성은 다시 문서 메타데이터 강화, 청킹 및 쿼리 재구성에 크게 의존합니다. 우리는 청크 토큰 크기의 올바른 구성을 찾기 위해 그리드 검색 기반의 자동 ML 기능을 구현하고, 다양한 프롬프트 변형을 실험하며, 최적의 설정을 찾기 위해 다양한 청크 재정렬 전략을 탐구했습니다. 검색 관련성과 응답 품질 및 정확성에서 상당한 개선을 이루었지만, 전체 파이프라인을 최적화하기 위해 아직 더 많은 작업이 필요하다고 믿습니다.

    하이브리드 검색: 벡터 데이터베이스는 일치하는 엔티티(예: 사람 이름, 장소, 회사 이름 등)를 처리하는 데 그다지 뛰어나지 않다는 것을 알게 되었습니다. 렉시컬 검색(예: 엘라스틱 서치)과 벡터 검색을 결합하여 더 나은 검색 관련성과 더 넓은 범위를 제공했습니다. 렉시컬 및 벡터 기반 검색의 강점을 결합한 하이브리드 검색 기능을 지원하는 인프라를 구축하면 검색 과정의 정확성과 속도를 향상시킬 수 있습니다.

    그림 2. 복잡한 쿼리를 처리하기 위한 에이전트 아키텍처
    그림 2. 복잡한 쿼리를 처리하기 위한 에이전트 아키텍처

    에이전틱 아키텍처: ‘FY2024의 Q1부터 Q4까지 NVIDIA의 수익을 비교하고 이 기간 동안 수익 변화에 기여한 주요 요인에 대한 분석적 논평을 제공하라’와 같은 질문은 쿼리 분해 및 조정이 가능한 복잡한 에이전트가 필요합니다. 그림 2는 Scout 봇에서 이러한 질문을 처리하기 위해 구현한 메커니즘 중 하나를 보여줍니다. 세 개의 봇을 구축한 경험을 통해 우리는 IR 시스템과 LLM이 복잡한 쿼리에 답변하기에 불충분하다는 것을 깨달았습니다. 복잡한 쿼리를 처리하기 위해서는 복잡한 에이전트와 다중 에이전트 아키텍처가 필요합니다.

    LLM을 미세 조정할 것인가, 말 것인가? LLM을 미세 조정할지 여부는 기본 모델 사용과 도메인별 맞춤화 사이의 균형을 맞추는 중요한 결정입니다. LLM에 있어서는 하나의 크기가 모두에게 맞지 않습니다. 일부 사용 사례는 기본 모델로 잘 작동할 수 있지만, 다른 경우에는 맞춤화가 필요합니다. 맞춤화를 고려할 때, 프롬프트 엔지니어링, P-튜닝, 파라미터 효율적 미세 조정(PEFT), 전체 미세 조정(FT) 등 여러 옵션이 있습니다. 미세 조정은 데이터 라벨링, 훈련, 평가에 상당한 투자가 필요하며, 이는 시간과 비용이 많이 들 수 있습니다. LLM을 맞춤화할 때 효율성과 정확성을 보장하기 위해 테스트 및 품질 평가 프로세스를 자동화하는 것이 중요합니다. 그림 3은 OpenAI의 GPT-4 모델과 일부 오픈 소스 모델을 NVHelp 봇 도메인의 약 245개 쿼리에 대해 비교한 정확도 대 지연 시간 트레이드오프 평가를 보여줍니다. 우리의 결과는 Llama3-70B 모델이 여러 측면에서 답변 품질에 뛰어나면서도 수용 가능한 지연 시간을 유지한다는 것을 보여줍니다.

    그림 3. NVHelp 답변 품질 및 지연 시간 메트릭 비교, 다양한 모델 간
    그림 3. NVHelp 답변 품질 및 지연 시간 메트릭 비교, 다양한 모델 간

    다중 모드 데이터 처리: 기업 데이터는 다중 모드입니다. 구조화된, 비구조화된, 다중 모드 데이터를 처리하는 것은 다재다능한 RAG 파이프라인에 필수적입니다. 우리의 경험에 따르면, 문서의 구조가 일관되고 사전에 알려져 있는 경우(Scout 봇이 처리했던 금융 수익 분야의 SEC 제출 데이터에 대한 EDGAR 데이터베이스에서 발견되는 것처럼), 섹션 제목과 부제목을 사용하여 섹션 수준의 분할을 구현하고 이를 청크의 맥락에 통합하면 검색 관련성이 향상됩니다. 또한, Unstructured.io와 같은 솔루션은 PDF에서 콘텐츠를 추출하고 구조화하는 데 특화되어 있어 비구조화된 문서를 맥락과 함께 구문 분석하고 청크화하는 데 유용하다는 것을 발견했습니다.

    RAGOps: RAG 파이프라인이 배포된 후에는 효과적인 건강 모니터링이 필수적입니다. 응답 품질이 낮을 경우, 문제의 원인이 검색 관련성에 있는지 LLM 응답 생성에 있는지를 판단하기 위해 철저한 오류 분석이 필요합니다. 검색 관련성을 디버깅하려면, 개발자는 벡터 데이터베이스에 저장된 청크와 그에 관련된 메타데이터, 쿼리가 어떻게 재구성되었는지, 어떤 청크가 검색되었는지, 그리고 그 청크들이 어떻게 순위가 매겨졌는지에 대한 자세한 정보가 필요합니다. 마찬가지로, LLM 응답이 잘못된 경우에는 응답 생성에 사용된 최종 프롬프트를 검토하는 것이 중요합니다. 인용 문제의 경우, 개발자는 원본 문서 링크와 해당 청크로 추적해야 합니다. RAGOps/LLMOps 및 Ragas와 같은 평가 프레임워크는 RAG 파이프라인의 정확성 개선 주기 동안 빠른 반복을 가능하게 하는 데 필요한 자동화를 제공하는 데 중요합니다.

    각 제어 지점에 대한 자세한 내용은 그림 4에 나와 있습니다. 요약하자면, RAG 시스템을 챗봇에 구현하는 것은 유망하지만, 안전하고 정확한 데이터 검색을 보장하기 위해 세심한 계획과 지속적인 평가가 필요합니다.

    그림 4. RAG 제어 지점, 도전 과제 및 해결책
    그림 4. RAG 제어 지점, 도전 과제 및 해결책
    그림 5. 스카우트 봇: 다중 부분 쿼리
    그림 5. 스카우트 봇: 다중 부분 쿼리
    그림 6. NVHelp Bot: HR 혜택에 대한 질문에 답변
    그림 6. NVHelp Bot: HR 혜택에 대한 질문에 답변

    4 생성 AI 챗봇을 위한 유연한 아키텍처 구축 (A)

    AI의 급속한 발전을 따라가는 것은 빠르게 흐르는 강을 항해하는 것과 같습니다. 벡터 데이터베이스와 임베딩 모델에서 LLM, 에이전트 아키텍처, 로우코드/노코드 플랫폼, RAG 평가 프레임워크, 프롬프트 기법에 이르기까지 모든 측면이 빠르게 진화하고 있습니다. 동시에, 기업 내 부서들은 자체 챗봇과 AI 코파일럿을 구축하여 생성 AI를 탐구하고 있습니다.

    이 동적인 환경에서 공통적이고 유연하며 적응 가능한 플랫폼을 구축하는 것이 중요합니다. NVIDIA에서는 챗봇 생태계가 크게 성장했으며, 이는 많은 기업에서 볼 수 있는 경향을 반영합니다. 초기 세 개의 챗봇을 구축하면서 보안, 가드레일, 인증, 프롬프트, 사용자 인터페이스, 피드백 메커니즘, 사용 보고, 모니터링 및 평가에서 중복된 노력을 피하기 위해 공통 플랫폼의 중요성을 깨달았습니다.

    이를 해결하기 위해 우리는 NVBot 플랫폼(Figure 7)을 개발했습니다. 이 모듈형 플랫폼은 플러그 가능한 아키텍처를 갖추고 있어 개발자가 자신의 사용 사례에 가장 적합한 LLM, 벡터 데이터베이스, 임베딩 모델, 에이전트 및 RAG 평가 프레임워크를 선택할 수 있습니다. 또한 보안, 가드레일, 인증, 권한 부여, 사용자 경험 및 모니터링과 같은 필수 기능을 위한 공통 구성 요소를 제공합니다. 추가적으로, 이 플랫폼은 시민 개발을 지원하여 여러 팀이 테스트된 프롬프트, 워크플로우, 가드레일 및 미세 조정된 모델을 공동으로 사용할 수 있도록 기여할 수 있습니다.

    우리의 봇 생태계가 확장됨에 따라 우리는 중요한 질문에 직면했습니다: 조직은 여러 개의 도메인별 봇을 구축해야 할까요, 아니면 단일 기업용 봇을 구축해야 할까요, 아니면 하이브리드 접근 방식을 선택해야 할까요? 도메인별 챗봇은 맞춤형 환경에서 뛰어난 성능을 발휘하는 반면, 기업 전반에 걸친 챗봇은 일반적으로 모든 직원에게 중앙 집중식 지식 기반을 제공합니다. 우리의 경험을 통해 우리는 어느 하나를 선택할 필요가 없다는 것을 깨달았습니다.

    새로운 건축 패턴이 등장하고 있으며, 기업 전반에 걸친 챗봇이 '교환기' 역할을 하여 특정 분야의 데이터로 조정된 전문 봇에게 문의를 전달합니다. 이러한 멀티봇 아키텍처는 사용자가 통합된 인터페이스를 제공받으면서도 전문 챗봇의 동시 개발을 가능하게 합니다. 우리의 NVBot 플랫폼은 기업 내 여러 챗봇의 공존과 조율을 지원합니다. 단일 봇과 여러 전문 봇 간의 논쟁은 계속되고 있습니다. 우리는 중앙 정보 봇과 함께 도메인별 봇이 공존하는 환경을 상상하며, 프로그래밍 IDE 및 협업 도구와 같은 작업 환경에 통합된 생성 AI 기능인 '코파일럿'이 이를 지원합니다. NVIDIA에서는 도메인별, 기업 전반, 코파일럿의 세 가지 챗봇 변형을 적극적으로 탐구하고 있으며, 생성 AI가 작업 효율성과 정보 접근성을 재구성하고 있습니다.

    그림 7. 여러 챗봇이 구축되고 있는 NVBot 플랫폼의 아키텍처.
    그림 7. 여러 챗봇이 구축되고 있는 NVBot 플랫폼의 아키텍처.

    5 챗봇 배치의 비용 경제학 (C)

    생성 AI 기반 챗봇의 비용 경제학을 이해하는 것은 여러 중요한 요소를 포함합니다. 주요 상업적 대형 언어 모델(LLM)의 높은 비용은 지속 가능하지 않을 수 있으며, 여러 사용 사례에서 비용이 상당히 증가할 수 있습니다. 또한, 특정 요구를 충족하기 위해 다양한 LLM을 테스트하는 과정에서 보이지 않는 비용이 종종 누적됩니다. 게다가, 상업적 LLM 벤더 API를 사용할 때 민감한 기업 데이터를 보호하기 위해 민감한 데이터 유출을 감지하고 방지하는 가드레일과 감사 및 법적으로 허용된 학습을 위한 게이트웨이가 필요합니다. 또한, 긴 컨텍스트 길이를 가진 대형 LLM은 일반적으로 응답 시간이 느려 전체 효율성에 영향을 미치므로 비용과 지연 시간 간의 절충점을 고려해야 합니다.

    더 큰 모델 대 더 작은 모델: 더 큰 상업용 LLM과 더 작은 오픈 소스 LLM은 점점 더 많은 사용 사례에 대해 실행 가능한 대안이 되고 있으며, 이를 통해 기업에 비용 효율적인 대안을 제공합니다. 오픈 소스 모델이 더 큰 상업용 모델을 따라잡으면서, 3의 NVHelp 봇 실증 평가에서 입증된 바와 같이 점점 더 유사한 정확도를 제공하고 있으며, 일반적으로 더 큰 모델에 비해 더 나은 지연 성능을 가지고 있습니다. 또한, GPU 최적화를 통해 추론 모델의 처리 시간을 더욱 단축할 수 있습니다. 예를 들어, NVIDIA의 Tensor RT-LLM 추론 라이브러리로 최적화된 오픈 소스 모델은 비최적화 모델보다 더 빠른 성능을 보여주었습니다. 이러한 전략은 비용 효율성을 유지하면서 높은 성능과 보안 표준을 유지하는 데 도움을 줍니다.

    LLM 게이트웨이: 벤더 LLM API를 사용해야 한다면, 회사 전반의 감사, 구독 및 비용 관리를 위해 내부 회사 LLM 게이트웨이를 구현하는 것이 좋습니다. 내부 회사 LLM 게이트웨이를 구현하면 LLM 사용, 구독 및 데이터 추적을 보안 감사 목적으로 간소화할 수 있습니다. 이 중앙 허브는 관리가 간편해지고 자원의 효율적인 할당을 보장합니다. NVIDIA IT에서는 감사 목적으로 인바운드 및 아웃바운드 페이로드를 기록하는 LLM 게이트웨이를 구현했으며, 이 데이터는 접근 제어 권한으로 보호됩니다. 우리의 LLM 게이트웨이는 LLM API 호출의 구독 및 비용 관리를 돕습니다.

    요약하자면, 하이브리드 및 균형 잡힌 LLM 전략을 개발하는 것은 비용 관리와 혁신을 가능하게 하는 데 필수적입니다. 이는 비용을 관리하기 위해 더 작고 맞춤화된 LLM을 사용하면서 LLM 게이트웨이를 통해 대형 LLM을 책임감 있게 탐색할 수 있도록 하는 것을 포함합니다. LLM 구독 및 비용을 추적하고 Gen-AI 기능 사용 및 생산성 향상을 평가하여 ROI를 측정하고 모니터링하는 것이 중요합니다. 클라우드 기반 LLM 사용 시 민감한 기업 데이터의 보안을 보장하려면 데이터 유출을 방지하기 위한 가드레일을 구현하고 감사 및 법적으로 허용된 학습을 위한 LLM 게이트웨이를 구축해야 합니다. 마지막으로, 비용, 정확성 및 지연 시간 간의 절충점을 인식하고, 더 작은 LLM을 대형 모델의 정확도에 맞추어 맞춤화하되 긴 컨텍스트 길이를 가진 대형 LLM은 응답 시간이 길어지는 경향이 있음을 유의해야 합니다.

    6 RAG 기반 챗봇 테스트 (T)

    생성 AI 솔루션을 테스트하는 것은 인간의 응답 검증이 필요하기 때문에 시간이 오래 걸릴 수 있습니다. LLM은 'LLM-as-a-judge' 접근 방식을 사용하여 점점 더 많이 사용되고 있습니다. 그러나 LLM을 인간 대리인으로 사용할 때는 주의가 필요합니다. LLM을 심판으로 사용하는 것은 평가에서 내재된 편견을 강화하는 자기 충족적 예언 시나리오로 이어질 수 있기 때문입니다.

    • 보안 테스트: 보안 테스트 자동화는 안전성을 저해하지 않으면서 개발 속도를 유지하는 데 필수적입니다. 강력한 보안 프레임워크와 회귀 테스트 데이터셋은 챗봇이 잠재적 위협에 대해 탄력성을 유지하도록 보장합니다. 우리는 보안 분야의 내부 RED 팀과 협력하여 챗봇의 각 주요 버전에서 테스트할 수 있는 데이터셋을 준비하고 있습니다.
    • 프롬프트 변경 테스트: 생성 AI 모델은 프롬프트 변경에 매우 민감할 수 있습니다. 정확성을 유지하기 위해 각 프롬프트 변경 시 전체 회귀 테스트가 필요합니다.
    • 피드백 루프: 수집된 피드백과 RLHF 사이클을 통합하는 것은 지속적인 개선을 위해 매우 중요합니다. 이는 LLM 모델이 시간에 따라 우리의 솔루션과 언어 모델을 정제할 수 있게 하여 챗봇이 점점 더 능숙해지도록 합니다. 그러나 선택한 기초 모델이 맞춤화를 제공하지 않는다면, 모델을 인간의 피드백에 맞추는 것이 어려워집니다. 피드백이 중요하고 여러 분야에서 제공된다면, 모델 맞춤화가 하나의 옵션이 될 수 있습니다. 현재 우리는 사용자 피드백을 수집하기 시작했지만, 아직 RLHF를 사용한 지속적인 학습 파이프라인을 구축하지 않았습니다. 이를 자동화할 수 있는 도구를 갖추는 것은 이러한 챗봇의 생산 후 라이프 사이클 관리에 필수적입니다.

    6.1 학습 내용

    긴 테스트 주기를 위한 계획: RAG 기반 챗봇의 효과적인 테스트는 긴 테스트 주기를 예상하는 것이 필요합니다. 이 중요한 단계를 간소화하기 위해 테스트 자동화와 정확성 평가를 향상시키는 데 초점을 맞추십시오.

    대표적인 실제 데이터 세트 구축: 목표 솔루션의 강점을 완전히 반영하는 포괄적인 실제 데이터 세트를 구축하는 것이 중요합니다. 이는 챗봇이 실제 사용에서 직면할 시나리오에 대해 테스트되도록 보장합니다.

    평가 자동화: LLM을 평가자로 활용하면 확장 가능한 테스트 옵션을 제공할 수 있지만, 인간 평가의 품질은 비교할 수 없습니다. 자동화 도구는 가능한 경우 보조 수단으로 사용해야 하며, 인간의 감독을 대체해서는 안 됩니다.

    인간 피드백과 지속적인 학습 통합: 인간 피드백과 체계적인 오류 분석을 허용하는 메커니즘을 구축하십시오. 이러한 피드백을 기반으로 반복적인 개선을 우선시하여 챗봇의 성능과 적응성을 지속적으로 개선하십시오.

    7 RAG 기반 챗봇 보안 (S)

    신뢰 구축은 생성 AI 챗봇을 배포할 때 가장 중요합니다. 위험을 완화하기 위해 환각, 독성, 공정성, 투명성 및 보안을 위한 가드레일이 필수적입니다. 강력한 기초 모델은 이러한 가드레일에서 점점 더 나아지고 있습니다. 그러나 여전히 탈옥, 적대적 공격 및 기타 보안 문제의 가능성이 많이 있습니다. 이러한 보안 위험 외에도 생성 AI 기반 챗봇은 파생 위험에 취약합니다(아래 설명 참조). 우리의 봇은 모두 내부 기업용 챗봇이기 때문에, 우리는 기업 콘텐츠 보안과 민감한 데이터에 대한 가드레일링에 더 중점을 두었습니다. 아래에서는 우리의 경험을 바탕으로 RAG 기반 챗봇을 보호하기 위한 학습과 통찰을 요약합니다. 이러한 과제를 해결하는 것은 기업 환경 내에서 RAG 기반 챗봇의 무결성과 보안을 유지하는 데 필수적입니다.

    7.1 학습 내용

    기업 콘텐츠 접근 제어: 기업 문서는 접근 제어에 의해 보호되며, RAG 기반 챗봇은 응답 생성 시 접근 제어 목록(ACL)을 준수해야 합니다. 이러한 준수를 보장하기 위해, 우리는 문서 ACL을 효과적으로 준수하는 것으로 알려진 IR 제품을 특별히 선택했습니다.

    생성형 AI의 파생 위험: 챗봇은 원본 데이터 소스의 맥락을 결여한 응답을 생성할 수 있어 오해를 초래할 가능성이 있습니다. 또한, 향상된 검색 방법은 기업 콘텐츠가 부적절하게 보호될 경우 민감한 데이터 노출 위험을 높일 수 있습니다. NVInfo 봇 여정의 일환으로, 우리는 사용한 벡터 검색 솔루션이 검색 중 민감한 데이터를 자동으로 필터링할 수 있도록 민감한 데이터 필터링 및 분류 기능을 활용하는 것 외에도 민감한 데이터 보호 장치를 구현했습니다.

    데이터 거버넌스 및 콘텐츠 보안: 효율적인 지식 접근은 민감한 데이터 유출 위험을 증가시킬 수 있습니다. 따라서 무단 접근 및 데이터 유출을 방지하기 위해 배포 전에 데이터 거버넌스를 우선시하는 것이 중요합니다. NVIDIA에서는 문서 민감도 분류 및 챗봇에서 민감한 콘텐츠를 제외하기 위한 기업 콘텐츠 보안 이니셔티브를 시작했습니다.

    엔터프라이즈 가드레일링: 생성형 AI 응답을 특정 기업 정책 및 규칙에 맞추는 가드레일을 구현하는 것은 필수적입니다. 이러한 가드레일은 챗봇이 생성한 콘텐츠가 확립된 규범과 윤리적 지침을 준수하도록 하여 잠재적인 법적 및 평판상의 손상을 방지하는 데 도움을 줍니다. NVInfo 봇에서는 초기에는 LLM 프롬프트에 많은 가드레일을 구현했습니다. 그러나 나중에 모든 LLM이 이러한 프롬프트를 일관되게 따르지 않는다는 것을 깨달았습니다. 따라서 Nemo Guardrails (13)를 사용하여 쿼리 및 응답의 사전 및 사후 처리 중에 이러한 가드레일을 구현했습니다.

    8 관련 연구

    우리의 작업은 우리가 제시한 모든 FACTS 차원(신선도, 아키텍처, 비용, 테스트, 보안)에서 RAG 품질을 다루는 다양한 주제의 RAG 논문과 비교할 수 있습니다. 공간 부족으로 인해 우리는 선택된 작업과 우리의 작업을 대조합니다. Barnett et. al. (3)는 RAG 시스템을 엔지니어링할 때 발생하는 7가지 실패 지점을 제시했습니다. 그들의 작업에서는 세 개의 챗봇을 구축하면서 얻은 발견을 제시하여 검색 증강 생성(RAG)을 올바르게 수행하는 데 있어 도전 과제를 강조합니다. Wenqi Glantz (6)는 12개의 RAG 고통 지점을 설명하고 해결책을 제시했습니다. 우리는 챗봇을 구축할 때 유사한 도전을 직접 경험했습니다. 그러나 이러한 작업 중 어느 것도 복잡한 쿼리, 테스트, 문서 보안 처리, 유연한 아키텍처의 필요성과 관련된 도전을 논의하지 않습니다. 우리의 작업에서는 위에서 언급한 RAG의 실패/고통 지점에 기반을 두고 있을 뿐만 아니라, RAG 파이프라인의 15개 제어 지점을 제시하고 각 단계에 대한 구체적인 해결책을 제공합니다. 또한, 우리는 통찰력을 확장하여 복잡한 쿼리 처리, 테스트 및 보안을 다루기 위한 실용적인 기술을 제시합니다. 우리는 복잡한 쿼리 처리를 위한 에이전트 아키텍처 구현 중 하나에 대한 참조 아키텍처, 주관적인 쿼리 응답을 테스트하고 평가하기 위한 전략, 문서 ACL 및 보안을 처리하기 위한 인식을 제고했습니다. 또한, 유연한 생성 AI 기반 챗봇 플랫폼에 대한 참조 아키텍처를 제시합니다.

    ChipNemo (10)는 도메인 적응 언어 모델을 사용하여 RAG의 도메인 특정 질문에 대한 성능을 향상시키는 증거를 제시합니다. 그들은 3,000개의 도메인 특정 자동 생성 샘플로 e5-small-unsupervised 모델을 미세 조정했습니다. 우리는 Scout Bot에서 e5-large 임베딩 모델을 미세 조정하려고 시도했습니다. 우리의 결과는 유의미한 개선을 보여주지 않았습니다. 우리는 현재 실험을 반복하기 위해 고품질의 인간 주석 데이터를 수집하고 있습니다. 이는 우리의 작업에 있어 미래에 탐구할 중요한 방향이 될 수 있습니다. 또 다른 흥미로운 기술은 Setty et. al. (15)에 의해 제시된 Hypothetical Document Embeddings (HYDE) 기법을 사용하여 RAG 성능을 향상시키는 방법입니다. HyDE는 쿼리에 응답할 때 이론적 문서를 생성하기 위해 LLM을 사용한 후 원래 질문과 가설적 답변 모두와 유사성 검색을 수행합니다. 이는 유망한 접근 방식이지만 아키텍처를 복잡하게 만들 수 있습니다.

    능동적 검색 증강 생성(FLARE) (7)은 가설적인 다음 문장을 반복적으로 합성합니다. 생성된 문장이 낮은 확률의 토큰을 포함할 경우, FLARE는 그 문장을 검색을 위한 새로운 쿼리로 사용하고 문장을 재생성합니다. Mialon et al. (12)은 언어 모델에서 고급 증강 생성 방법에 대한 연구를 검토합니다. Self-refine (11)은 반복적인 피드백과 개선을 통해 RAG의 초기 답변을 향상시키는 에이전트를 구축합니다. ReAct (16) 에이전트는 복잡한 쿼리를 재귀적으로 처리하는 데 널리 사용됩니다. RAG 평가 측면에서, RAGAS (4)와 ARES (14)는 LLM을 심판으로 활용하여 RAG 시스템을 평가하기 위한 자동 RAG 벤치마크를 구축합니다. Zhu et al. (17)은 검색자, 데이터 생성, 재작성기, 독자를 포함한 RAG 파이프라인에서 LLM의 집중적인 사용을 개관합니다. 우리는 우리의 FACTS 프레임워크를 통해 안전한 기업용 챗봇을 구축하는 데 있어 독특한 관점을 제공한다고 믿습니다.

    9 결론

    이 논문에서는 NVIDIA에서 세 개의 챗봇을 구축한 경험을 강조하며 효과적인 RAG 기반 챗봇 개발 접근 방식을 제시했습니다. 우리는 콘텐츠 신선도(F), 아키텍처(A), LLM 비용(C) 관리, 테스트 계획(T), 보안(S)의 중요성을 강조하는 FACTS 프레임워크를 설명했습니다. 또한 RAG 파이프라인 내에서 15개의 중요한 제어 지점을 식별하고 각 단계에서 챗봇 성능을 향상시키기 위한 전략을 제공했습니다. 더 나아가, 우리의 실증 분석은 대형 및 소형 LLM을 비교할 때 정확성과 지연 시간 간의 절충점을 드러냅니다. 이 논문은 안전하고 효율적인 엔터프라이즈급 챗봇을 구축하기 위한 필수 요소와 실용적인 솔루션에 대한 전체적인 관점을 제공하며, 이 분야에 독특한 기여를 합니다. 효과적인 RAG 기반 챗봇을 구축하기 위해서는 여러 분야에서 더 많은 작업이 필요합니다. 여기에는 복잡하고 다중 파트 및 분석 쿼리를 처리하기 위한 에이전트 아키텍처 개발, 자주 업데이트되는 대량의 엔터프라이즈 데이터를 효율적으로 요약하는 것, 다양한 RAG 제어 지점을 자동으로 최적화하기 위한 자동 ML 기능 통합, 주관적인 응답 및 대화를 평가하기 위한 보다 견고한 평가 프레임워크 생성이 포함됩니다.

    참고 문헌

    • (1) Langchain. https://github.com/langchain-ai.
    • (2) Achiam, J., Adler, S., Agarwal, S., Ahmad, L., Akkaya, I., Aleman, F. L., Almeida, D., Altenschmidt, J., Altman, S., Anadkat, S., et al. GPT-4 기술 보고서. arXiv preprint arXiv:2303.08774 (2023).
    • (3) Barnett, S., Kurniawan, S., Thudumu, S., Brannelly, Z., and Abdelrazek, M. 검색 증강 생성 시스템을 설계할 때의 일곱 가지 실패 지점. arXiv preprint arXiv:2401.05856 (2024).
    • (4) Es, S., James, J., Espinosa-Anke, L., and Schockaert, S. Ragas: 검색 증강 생성의 자동 평가. arXiv preprint arXiv:2309.15217 (2023).
    • (5) Galitsky, B. 기업용 챗봇 개발. Springer, 2019.
    • (6) Glantz, W. 12개의 rag 문제점과 제안된 해결책.
    • (7) Jiang, Z., Xu, F. F., Gao, L., Sun, Z., Liu, Q., Dwivedi-Yu, J., Yang, Y., Callan, J., and Neubig, G. 능동적 검색 증강 생성. arXiv preprint arXiv:2305.06983 (2023).
    • (8) Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., Küttler, H., Lewis, M., Yih, W.-t., Rocktäschel, T., et al. 지식 집약적 NLP 작업을 위한 검색 증강 생성. Advances in Neural Information Processing Systems 33 (2020), 9459–9474.
    • (9) Liu, J. LlamaIndex. https://github.com/jerryjliu/llama_index(2022).
    • (10) Liu, M., Ene, T.-D., Kirby, R., Cheng, C., Pinckney, N., Liang, R., Alben, J., Anand, H., Banerjee, S., Bayraktaroglu, I., et al. Chipnemo: 칩 설계를 위한 도메인 적응 LLM. arXiv preprint arXiv:2311.00176 (2023).
    • (11) Madaan, A., Tandon, N., Gupta, P., Hallinan, S., Gao, L., Wiegreffe, S., Alon, U., Dziri, N., Prabhumoye, S., Yang, Y., et al. Self-refine: 자기 피드백을 통한 반복적 정제. Advances in Neural Information Processing Systems 36 (2024).
    • (12) Mialon, G., Dessì, R., Lomeli, M., Nalmpantis, C., Pasunuru, R., Raileanu, R., Rozière, B., Schick, T., Dwivedi-Yu, J., Celikyilmaz, A., et al. 증강 언어 모델: 설문 조사. arXiv preprint arXiv:2302.07842 (2023).
    • (13) Rebedea, T., Dinu, R., Sreedhar, M., Parisien, C., and Cohen, J. Nemo guardrails: 프로그래머블 레일을 사용한 제어 가능하고 안전한 LLM 응용 프로그램을 위한 도구 키트. arXiv preprint arXiv:2310.10501 (2023).
    • (14) Saad-Falcon, J., Khattab, O., Potts, C., and Zaharia, M. Ares: 검색 증강 생성 시스템을 위한 자동 평가 프레임워크. arXiv preprint arXiv:2311.09476 (2023).
    • (15) Setty, S., Jijo, K., Chung, E., and Vidra, N. 금융 문서에 대한 RAG 기반 질문 응답 모델의 검색 개선. arXiv preprint arXiv:2404.07221 (2024).
    • (16) Yao, S., Zhao, J., Yu, D., Du, N., Shafran, I., Narasimhan, K., and Cao, Y. React: 언어 모델에서 추론과 행동의 시너지. arXiv preprint arXiv:2210.03629 (2022).
    • (17) Zhu, Y., Yuan, H., Wang, S., Liu, J., Liu, W., Deng, C., Dou, Z., and Wen, J.-R. 정보 검색을 위한 대형 언어 모델: 설문 조사. arXiv preprint arXiv:2308.07107 (2023).