2024 Sep 23
외부 데이터를 활용한 대규모 언어 모델(LLM)은 실제 과제를 수행하는 데 있어 뛰어난 능력을 보여주고 있습니다. 외부 데이터는 모델의 특정 도메인 전문성과 시의성(= 시간적 시점에 대한 관련성)을 강화할 뿐 아니라 환각(hallucination) 발생을 줄여 결과물의 제어 가능성과 해석 가능성을 높이는 데 기여합니다. 검색 기반 생성 (RAG, Retrieval-Augmented Generation) 및 파인튜닝과 같은 외부 데이터를 LLM에 통합하는 기술은 점점 더 주목받고 있으며, 다양한 분야에서 널리 응용되고 있습니다. 그럼에도 불구하고, 데이터로 강화된 LLM을 다양한 전문 분야에 효과적으로 배치하는 것은 여전히 큰 도전 과제로 남아 있습니다. 이러한 도전 과제는 관련 데이터 검색 및 사용자 의도 해석에서부터 복잡한 과제를 해결하기 위한 LLM의 추론 능력을 온전히 활용하는 것에 이르기까지 광범위한 영역에 걸쳐 있습니다. 우리는 데이터로 강화된 LLM 응용에 있어 만능 해결책이 존재하지 않는다고 믿습니다. 실제로 성과 부진은 종종 작업의 핵심 초점을 올바르게 파악하지 못하거나, 작업이 본질적으로 여러 능력을 조합해야 하는 경우로 인해 발생합니다. 이러한 능력을 분리해 문제 해결에 최적화하지 못했기 때문입니다.
이 논문에서는 RAG 작업 분류 방법을 제안하며, 외부 데이터의 유형과 작업의 주요 초점에 따라 사용자 쿼리를 네 가지 수준으로 분류합니다: 명시적 사실 쿼리(= explicit fact query), 암시적 사실 쿼리(= implicit fact query), 해석 가능한 근거 쿼리(= interpretable rationale query), 숨겨진 근거 쿼리(= hidden rationale query). 우리는 이러한 쿼리 수준을 정의하고, 관련 데이터셋을 제공하며, 이러한 과제를 해결하는 데 있어 주요 도전 과제와 가장 효과적인 기술을 요약합니다. 마지막으로, 외부 데이터를 LLM에 통합하는 세 가지 주요 형태를 논의합니다: 컨텍스트 제공, 소형 모델 활용, 파인튜닝. 각각의 강점, 한계, 그리고 적합한 문제 유형을 강조합니다. 본 연구는 독자들이 LLM 응용 개발 시 데이터 요구 사항과 주요 병목현상을 철저히 이해하고 분해할 수 있도록 돕고, 다양한 도전 과제에 대한 해결책을 제시하며, 이러한 응용을 체계적으로 개발하는 데 있어 가이드 역할을 하는 것을 목표로 합니다.
대규모 언어 모델(LLM)은 광범위한 세계 지식과 정교한 추론 능력을 포함하여 놀라운 역량을 보여주고 있습니다. 그러나 이러한 발전에도 불구하고, 다양한 전문 분야에 효과적으로 적용하는 데는 여전히 중요한 과제들이 존재합니다. 여기에는 모델의 환각(= hallucination), 특정 도메인 지식과의 불일치(= misalignment with domain-specific knowledge) 등과 같은 문제가 포함됩니다. 특히 초기 학습 데이터셋에 포함되지 않은 비공개 데이터나 온프레미스 데이터와 같은 도메인별 데이터를 통합하는 것은 특정 산업의 요구를 충족시키기 위해 LLM 응용 프로그램을 맞춤화하는 데 매우 중요합니다. 검색 기반 생성(RAG) 및 파인튜닝과 같은 기술을 통해 데이터를 활용한 LLM 응용 프로그램은 기존의 일반적인 LLM만으로 구축된 응용 프로그램에 비해 여러 측면에서 우위를 보여주고 있습니다.
이러한 발전에 대한 기대감에도 불구하고, 개발자들은 높은 성공률(예: 질의응답에서의 높은 정확도)을 달성하기 위해 많은 인적 자원을 투자해야 하는 어려움에 직면하고 있습니다. 다양한 연구에서는 검색 기반 생성(RAG)이나 파인튜닝과 같은 기술을 기반으로 한 데이터로 강화된 LLM 응용 프로그램을 구축하는 과정에서 특히 법률, 의료, 제조와 같은 전문 분야에서 발생하는 도전과 좌절을 강조하고 있습니다.
이러한 도전 과제는 데이터 파이프라인 구축(예: 데이터 처리 및 색인 생성)에서부터 LLM의 능력을 활용하여 복잡한 지능형 추론을 수행하는 데 이르기까지 광범위하게 걸쳐 있습니다. 예를 들어, 금융 분야 응용 프로그램에서는 고차원 시계열 데이터를 이해하고 활용해야 하는 경우가 자주 발생하며, 의료 분야에서는 의료 이미지나 시계열 의료 기록이 필수적입니다. 이러한 다양한 형태의 데이터를 LLM이 이해할 수 있도록 하는 것은 반복적으로 나타나는 과제입니다.
한편, 법률 및 수학 응용 분야에서는 LLM이 서로 다른 구조 간의 장거리 의존성을 이해하는 데 어려움을 겪는 경우가 많습니다. 또한, 특정 응용 분야에 따라 LLM 응답의 해석 가능성과 일관성에 대한 요구가 증가하고 있습니다. 그러나 LLM은 본질적으로 낮은 해석 가능성과 높은 불확실성으로 특징지어지는 경우가 많아 이러한 요구를 충족시키는 데 어려움이 따릅니다. 특히 정밀성과 책임이 중요한 분야에서는 LLM의 투명성을 높이고 불확실성을 줄이는 것이 결과에 대한 신뢰성과 신뢰를 높이는 데 매우 중요합니다.
도메인 전문가와 개발자들과의 광범위한 논의, 그리고 그들이 직면한 문제들을 면밀히 분석한 결과, 데이터로 강화된 LLM 응용 프로그램이 만능 해결책이 아님을 깊이 이해하게 되었습니다. 특히 전문 분야에서는 현실적인 요구가 매우 복잡하며, 주어진 데이터와의 관계나 필요한 추론의 난이도에서 크게 차이날 수 있습니다. 그러나 개발자들은 종종 이러한 차이를 인식하지 못한 채, 성능 저하 문제로 가득 찬 솔루션 (비유하자면, 여기저기 물이 새는 집과 같은)을 만들어내는 경우가 많습니다. 반면, 서로 다른 수준의 요구와 그에 따른 독특한 도전 과제를 충분히 이해할 수 있다면, 그에 맞게 응용 프로그램을 구축하고 단계적으로 견고하고 신뢰할 수 있는 프로그램(마치 한 단계씩 튼튼한 집을 짓는 것처럼)을 만들어갈 수 있을 것입니다.
하지만, 기존의 연구와 관련된 설문 조사는 종종 이러한 수준 중 하나 또는 특정 기술 주제에만 초점을 맞추고 있습니다. 이러한 한계를 극복하기 위해, 우리는 이 포괄적인 설문 조사를 작성하게 되었습니다. 이 조사는 서로 다른 쿼리 수준을 명확히 정의하고, 각각에 수반되는 고유한 도전 과제를 식별하며(Figure 01), 이를 해결하기 위한 관련 연구와 노력을 나열하는 것을 목표로 합니다. 이 설문 조사는 독자들이 데이터로 강화된 LLM 응용 프로그램에 대한 조감도를 갖도록 돕고, 이러한 응용 프로그램을 체계적으로 개발하는 방법에 대한 안내서 역할을 할 것입니다.
데이터로 augmented된 LLM application은 도메인별 데이터를 기반으로 하는 질문-응답 봇에서부터 복잡한 데이터 파이프라인 내에서의 의미적 처리 연산자, 또는 다중 에이전트 시스템에서 특정 단계를 처리하는 에이전트에 이르기까지 다양한 형태를 취할 수 있습니다. 그러나 일반적으로 데이터로 augmented된 LLM application은 다음과 같은 공식을 따른다:
$$ f: \mathcal{Q} \xrightarrow{\mathcal{D}} \mathcal{A} $$
여기서 $\mathcal{Q}$ , $\mathcal{A}$ 그리고 $\mathcal{D}$는 각각 사용자의 입력(Query), 기대되는 응답(Answer), 제공된 데이터(Data)를 나타냅니다. Application의 task인 $f$는 $\mathcal{D}$를 기반으로 $\mathcal{Q}$ 에서 $\mathcal{A}$ 로 mapping하는 것입니다.