이 리포트는 최신 대규모 언어 모델(LLM)의 성능과 최적화를 위한 다양한 기법들을 다룹니다. 특히, 검색 증강 생성(RAG) 기법의 역할과 영향에 대해 집중적으로 분석하며, 이 기법이 고객 지원, 의료, 교육 등 다양한 분야에서 실질적으로 어떻게 활용되는지 사례를 제시합니다. RAG는 외부 지식을 통합하여 더 정확하고 관련성 높은 결과를 생성하는 데 도움을 주며, 이는 BERT와 같은 검색기와 GPT-4와 같은 생성기로 구성됩니다. 또한, LLaMA 모델과 같은 다양한 LLM의 성능 평가와 최적화 기법, DeepEval 프레임워크를 통한 평가 방법 등에 대해 논의되며, 최적화 기법으로는 파인튜닝, GPU Kernel Fusion, Early Stopping 등이 포함됩니다.
RAG(Retrieval-Augmented Generation)는 검색 증강 생성 기법으로, 대규모 언어 모델(LLM)의 능력을 향상시키기 위해 설계된 고급 기술입니다. RAG의 핵심 구성요소는 검색기(retriever)와 생성기(generator)입니다. 검색기 구성요소는 외부 지식 소스에서 관련 정보를 식별하고 검색하는 역할을 합니다. 이는 주로 BERT와 같은 모델을 사용하여 쿼리와 문서를 벡터로 변환하고, 이 벡터들 간의 유사성을 바탕으로 문서의 관련성을 판단합니다. 다양한 데이터베이스가 검색기에 사용될 수 있으며, 벡터 데이터베이스, 그래프 데이터베이스, SQL 데이터베이스 등이 그 예입니다. 벡터 데이터베이스는 의미 기반 검색을 위해 자주 사용되지만, 그래프 데이터베이스는 정확한 쿼리 매칭에 능합니다. 생성기 구성요소는 검색기에서 가져온 정보를 바탕으로 일관성 있고 맥락적으로 적절한 텍스트를 생성합니다. 이는 GPT-4와 같은 모델을 사용하여 쿼리와 검색된 문맥을 합쳐 최종 출력을 생성합니다. 이 두 단계의 통합을 통해 RAG 시스템은 더 풍부하고 정확한 응답을 제공합니다.
전통적인 대규모 언어 모델(LLM)은 사전 훈련된 데이터에 기반하여 응답을 생성합니다. 이 방식은 시간이 지남에 따라 데이터가 구식이 될 수 있으며, 모델이 최신 정보를 반영하지 못하는 한계를 가지고 있습니다. 반면, RAG는 생성 능력을 정보 검색 시스템과 결합하여 최신 외부 지식 소스를 통합합니다. 이러한 하이브리드 접근 방식은 RAG 모델이 최신 정보를 액세스하고 통합할 수 있도록 하여 더 정확하고 맥락적으로 관련된 응답을 제공할 수 있게 합니다. 또한, RAG는 전통적 모델과 달리 지속적인 재훈련이 필요하지 않으며, 외부 데이터베이스나 문서를 검색하여 최신 정보를 통합함으로써 더 효율적이고 적응력이 뛰어납니다.
RAG의 주요 장점 중 하나는 정확도와 관련성 향상입니다. 외부 데이터에서 최신 정보를 가져와서 응답을 생성하기 때문에, 생성된 텍스트의 정확성과 맥락적 관련성이 높아집니다. 이는 특히 고객 지원, 의료, 금융, 교육과 같은 분야에서 매우 유용합니다. 그러나 RAG에는 몇 가지 단점도 있습니다. 첫째, 검색과 생성 메커니즘을 결합하는 것이 복잡성을 증가시킵니다. 이로 인해 시스템 통합 및 최적화가 더 어려워질 수 있습니다. 둘째, 검색 과정이 지연을 초래할 수 있으며, 이는 실시간 응답이 필요한 애플리케이션에서 문제가 될 수 있습니다. 마지막으로, 생성된 응답의 품질은 검색된 문서의 품질에 크게 의존합니다. 잘못된 정보를 검색하면 생성된 텍스트도 부정확해질 수 있습니다.
RAG는 고객 지원 서비스에서 실질적인 성과를 보여줍니다. 예를 들어, RAG 기술을 고객 서비스 콜센터에 도입하면서 응답 시간이 단축되고, 서비스의 개인화 수준이 향상되었습니다. Amazon Lex와 Amazon Kendra를 통해 효율적인 정보 검색과 자연어 처리가 가능해졌으며, 이를 통해 고객 만족도가 크게 증가했습니다.
RAG 기술은 의료 분야에서도 그 실효성을 입증하였습니다. 의료 전문가는 최신 연구 논문과 의료 데이터베이스를 실시간으로 검색하여 정확하고 신뢰할 수 있는 의료 정보를 제공받을 수 있습니다. 이를 통해 진단 과정이 개선되고 환자 치료의 정확성이 향상되었습니다.
교육 분야에서는 RAG 기술을 교육 자료 생성에 활용함으로써 학습 자료의 최신성과 맥락적 정확성을 보장합니다. 학생과 교육자는 외부 데이터베이스에서 실시간으로 정보를 검색할 수 있어 학습 경험을 향상시키고 교육 자료의 품질을 높일 수 있습니다.
대규모 언어 모델(LLM)의 이해와 추론 능력 평가는 여러 벤치마크와 평가 메트릭스를 이용하여 이루어집니다. 대표적인 벤치마크로는 Massive Multitask Language Understanding(MMLU)과 Winograd Schema Challenge(WSC)가 있습니다. MMLU는 57개 주제에 걸친 약 16,000개의 질문으로 구성되며, LLM의 정확도를 평가합니다. 이러한 평가는 종종 모델의 인지 능력을 과대 평가할 수 있어, 새로운 벤치마크 도구의 필요성이 대두되고 있습니다.
LLM 성능 평가는 다양한 벤치마크와 메트릭스를 통해 이루어집니다. Benchmarking datasets로는 MMLU 외에도 HELM, HellaSwag 등이 있으며, 성능 평가를 위해 context-free와 context-dependent 메트릭스를 모두 사용합니다. 예를 들어, context-free 메트릭스는 태스크와 무관하게 적용할 수 있는 반면, BLEU score와 같은 context-dependent 메트릭스는 특정 상황에 맞춘 평가를 제공합니다. 또한 G-Eval과 같은 고급 평가 방법은 GPT-4와 같은 '강력한' LLM을 평가자로 활용하여 심층적 평가를 수행합니다.
Google의 Gemma 2 모델은 27억 개의 매개변수와 9억 개의 매개변수 두 버전으로 제공되며, 각각 높은 성능을 보입니다. 예를 들어, 27억 개 매개변수 모델은 Llama 3 70B와 유사한 성능을 보이지만 자원의 절반만을 사용합니다. Claude 3, Llama 3, Gemini 등의 다른 모델들과 비교했을 때, Gemma 2 모델은 자원 활용 효율성이 뛰어나며 여러 태스크에서 우수한 성능을 나타냅니다.
파인튜닝은 사전 학습된 대규모 언어 모델(LLM)을 특정 작업에 맞게 다시 학습시켜 성능을 향상시키는 방법입니다. 파인튜닝은 사전 학습된 모델의 일부 파라미터만 업데이트하여 효율적으로 수행할 수 있습니다. Parameter Efficient Fine-Tuning(PEFT) 기법은 모델 전체를 튜닝하지 않고도 일부 파라미터만 조정하여 튜닝 비용과 시간을 크게 절감할 수 있습니다. LoRA(Low-Rank Adaptation)를 사용하여 파라미터를 저랭크 행렬로 재편성하여 훈련할 수 있으며, QLoRA(Quantized LoRA)는 8비트 양자화 기법을 활용하여 메모리 로드를 줄이면서 성능을 유지합니다.
GPU Kernel Fusion은 여러 개의 커널을 하나의 커널로 합쳐 연산을 수행하는 기법으로, 예를 들어 MatMul과 Add 연산을 합쳐 MatmulAdd라는 하나의 커널로 실행하여 성능 최적화를 달성할 수 있습니다. 이를 통해 메모리 오버헤드를 줄일 수 있습니다. Early Stopping은 생성 모델에서 마무리 토큰이 생성되면 더 이상 토큰을 생성하지 않아 연산 비용을 절감하는 기법입니다.
Meta AI의 LLaMA(Large Language Model Meta AI) 모델은 6.7B, 13B, 32.5B, 65.2B의 4가지 버전으로 출시되었습니다. 이 모델은 GPT-3(175B)보다 모델 사이즈는 훨씬 작지만 모든 벤치마크에서 우수한 성능을 나타냅니다. 예를 들어, Closed-book Question Answering 벤치마크에서 LLaMA-65B는 NaturalQuestions와 TriviaQA에서 SOTA 성능을 기록했습니다. LLaMA 모델은 처리 성능을 높이기 위해 Pre-normalization을 도입하고, ReLU를 SwiGLU로 교체하여 성능을 향상시켰습니다.
RAG 및 대규모 언어 모델(LLM)의 성능을 평가하고 벤치마킹하는 것은 필수적인 과정입니다. LlamaIndex는 생성된 답변의 품질과 검색된 소스의 관련성을 평가하기 위한 주요 모듈을 제공합니다. 평가 방법으로는 단어 기반 메트릭, 임베딩 기반 점수, LLM 기반 평가 등이 있으며, 대표적으로 DeepEval 프레임워크가 이 목적을 위해 사용됩니다. 평가의 주요 항목으로는 정확성, 의미적 유사성, 신뢰성, 문맥의 관련성, 답변의 관련성 및 가이드라인 준수 등이 있습니다. 또한, 검색 과정의 독립적 평가 역시 중요하며, 평균 상호 순위(MRR), 히트율 및 정밀도 같은 메트릭을 사용하여 검색기의 효율성을 평가합니다.
DeepEval은 LLM의 출력을 평가하기 위해 특별히 설계된 오픈 소스 프레임워크입니다. G-Eval, Summarization, Faithfulness, Answer Relevancy, Contextual Relevancy, Contextual Precision, Contextual Recall 등 다양한 기본 메트릭을 제공하여 손쉽게 평가할 수 있습니다. G-Eval 은 사용자 정의 기준에 따라 LLM 출력을 평가하는 프레임워크로, 올바른 사실 기반 평가를 중점으로 합니다. Summarization 메트릭은 원본 텍스트와 요약 텍스트 간의 사실적 정렬과 세부 사항의 포괄성을 중점으로 평가합니다. 각 메트릭은 0에서 1 사이의 점수를 제공하며, 특정 임계값 이상일 때 성공으로 간주됩니다.
QAG(Question-Answer Generation) 프레임워크는 요약 작업에서 임의성과 편향 문제를 해결하기 위해 사용됩니다. QAG는 원본 텍스트나 요약 텍스트를 기반으로 예/아니오 질문을 생성하고, 참조 텍스트를 사용하여 답변을 도출하는 방식입니다. 예를 들어, '광합성은 녹색 식물이 이산화탄소와 물을 사용하여 음식을 합성하는 과정입니다.'라는 텍스트에서 '광합성은 녹색 식물이 빛을 이용하여 음식을 만드는 과정인가요?'라는 질문을 생성하고, 그 답변이 '예'인지를 확인하는 것입니다. 이를 통해 요약 작업의 포괄성과 정렬성을 점수화하여 평가할 수 있습니다. 최종 요약 점수는 포괄성 점수와 정렬성 점수를 결합하여 도출됩니다.
이 리포트는 대규모 언어 모델(LLM)의 성능 개선과 최적화를 위한 중요한 인사이트를 제공하며, 특히 검색 증강 생성(RAG) 기법의 혁신적 역할을 강조합니다. 이를 통해 고객 지원, 의료, 교육 등 다양한 산업 분야에서 실질적인 성과를 달성할 수 있음을 확인했습니다. 또한, 개인화된 데이터 학습과 비용 효율적 서빙 전략을 통해 LLM의 성능을 더욱 극대화할 수 있으며, LLaMA 모델과 같은 사례에서 그 유효성을 입증하였습니다. 그러나 RAG의 복잡성과 데이터 품질 문제는 여전히 중요한 과제로 남아 있으며, 이를 해결하기 위한 추가 연구가 필요합니다. 미래에는 DeepEval 프레임워크와 같은 고급 평가 도구를 활용하여 모델 성능을 더욱 정교하게 평가하고 최적화하는 방향으로 발전할 것입니다.
검색 증강 생성(RAG)은 외부 지식을 통합하여 대규모 언어 모델(LLM)의 성능을 개선하는 기술입니다. RAG는 정보 검색을 담당하는 '리트리버'와 생성된 데이터를 바탕으로 답변을 생성하는 '제너레이터'로 구성되어 있으며, 다양한 산업 분야에서 정확하고 관련성 높은 답변을 제공합니다.
LLaMA는 Meta AI에서 개발한 대규모 언어 모델입니다. 뛰어난 성능과 비용 효율성의 균형을 이루며, GPU Kernel Fusion과 Early Stopping 기법을 통해 모델 서빙 비용을 효과적으로 줄이고 있습니다.
DeepEval은 대규모 언어 모델을 평가하는 오픈 소스 프레임워크입니다. G-Eval, Summarization 등의 다양한 평가 메트릭을 제공하며, QAG 프레임워크를 통해 평가 정확도를 높이는 혁신적인 방법을 제시합니다.