검색 증강 생성(RAG)과 미세 조정(fine-tuning) 비교
RAG와 미세 조정(fine-tuning)은 모두 대규모 언어 모델(LLM)을 향상하는 것을 목표로 합니다. RAG는 기반 LLM을 수정하지 않고 이 작업을 수행하는 반면, 미세 조정(fine-tuning)은 LLM의 가중치와 매개 변수를 조정해야 합니다. 미세 조정(fine-tuning) 및 RAG 아키텍처를 모두 사용하여 모델을 사용자 정의할 수 있는 경우가 많습니다.
대규모 언어 모델 위에 구축
LLM은 인공지능(AI)의 한 유형으로, 머신 러닝(ML) 기술을 사용해 인간의 언어를 이해하고 생성합니다. 이러한 ML 모델은 텍스트를 생성, 요약, 번역, 재작성, 분류, 범주화, 분석하는 등의 작업을 수행할 수 있습니다. 엔터프라이즈 수준에서 이 모델을 가장 많이 사용하는 사례는 챗봇처럼 질문-답변 시스템을 구현하는 것입니다.
LLM 파운데이션 모델은 다양한 활용 사례를 지원하기 위해 일반적인 지식을 사용하여 학습됩니다. 하지만 조직 고유의 도메인별 지식은 갖추지 않았을 수 있습니다. RAG와 미세 조정(fine-tuning)은 원하는 결과를 생성할 수 있도록 원하는 데이터로 LLM을 조정하고 알려주는 두 가지 방법입니다.
예를 들어, 고객과 상호 작용하는 챗봇을 구축한다고 가정해 보겠습니다. 이 시나리오에서 챗봇은 회사를 대표하므로, 챗봇이 고성과 직원처럼 작동하기 바랄 것입니다. 판매하는 제품, 준수하는 정책 등 회사에 관한 미묘한 의미 차이를 이해하는 챗봇 말입니다. 직원에게 공부할 문서와 따라야 할 스크립트를 제공하여 교육하듯이, RAG와 미세 조정(fine-tuning)을 사용하여 챗봇이 가진 지식 기반을 바탕으로 구축하는 방법으로 챗봇을 학습시킵니다.
Red Hat 리소스
RAG의 정의 및 작동 방식
RAG는 데이터 리포지토리, 텍스트 컬렉션, 기존 도큐멘테이션 등 원하는 소스에서 정보를 검색하여 LLM 내에서 데이터를 보완합니다. 데이터를 검색한 후 RAG 아키텍처는 해당 데이터를 LLM의 컨텍스트로 처리하고 혼합된 소스에 따라 답변을 생성합니다.
RAG는 정기적으로 업데이트되는 정보를 사용해 모델을 보완하는 데 가장 유용합니다. 선택한 외부 소스와의 커뮤니케이션 라인을 LLM에 제공하면 결과가 더 정확해집니다. 데이터 소스를 인용하도록 RAG를 엔지니어링할 수 있기 때문에 결과가 형성된 방식을 추적하기가 쉽고 이에 따라 투명성을 높이고 신뢰를 구축할 수 있습니다.
위의 예시로 돌아가 보겠습니다. "반품 정책은 어떻게 되나요?"와 같은 질문에 답변하는 챗봇을 구축하려는 경우 RAG 아키텍처를 사용할 수 있습니다. 회사의 반품 정책을 자세히 설명하는 문서에 LLM을 연결하고 챗봇이 이 문서에서 정보를 가져오도록 지시할 수 있습니다. 정보 소스를 인용하고 사용자가 자세히 읽어 볼 수 있게 링크를 제공하도록 챗봇에 지시할 수도 있습니다. 그리고 반품 정책 문서가 변경되면 RAG 모델이 최신 정보를 가져와 사용자에게 제공하도록 엔지니어링할 수도 있습니다.
RAG 활용 사례
RAG는 사용자의 데이터 상호 작용을 단순화하는 방식으로 정보를 소싱하고 구성할 수 있습니다. RAG 아키텍처를 사용하면 모델은 온프레미스 데이터 소스와 클라우드 기반 데이터 소스에서 인사이트를 가져와 LLM에 컨텍스트를 제공할 수 있습니다. 따라서, 외부 데이터와 내부 문서 및 소셜 미디어 피드까지 사용하여 질문에 답변하고 컨텍스트를 제공하고 의사결정에 필요한 정보를 제공할 수 있습니다.
예를 들어, 쿼리에 대해 회사 정책, 절차, 도큐멘테이션과 관련된 구체적인 답변을 제공하는 RAG 아키텍처를 만들 수 있습니다. 이렇게 하면 문서를 수동으로 검색하고 해석하는 데 드는 시간을 절약할 수 있습니다.
미세 조정(fine-tuning)의 정의
미세 조정(fine-tuning)은 의도를 LLM에 전달하여 모델이 목표에 맞게 결과를 조정할 수 있도록 하는 방법이라고 생각하면 됩니다. 미세 조정(fine-tuning)은 사전 학습된 모델이 도메인별 태스크를 더 효과적으로 수행할 수 있도록 소규모 특정 데이터세트를 사용해 추가로 학습시키는 프로세스입니다. 이러한 추가 학습 데이터는 모델의 아키텍처에 포함됩니다.
챗봇의 예로 돌아가 보겠습니다. 의료 분야에서 환자와 상호 작용하는 챗봇을 만드는 경우를 가정하겠습니다. 이 시나리오에서는 모델이 업무와 관련된 의학 용어를 이해하는 것이 중요합니다. 미세 조정(fine-tuning) 기술을 사용하면 환자가 챗봇에게 'PT 서비스'에 대해 질문하면 챗봇이 이를 '물리 치료 서비스'로 이해하고 적절한 리소스로 환자를 안내할 수 있습니다.
미세 조정(fine-tuning) 활용 사례
미세 조정(fine-tuning)은 모델이 액세스할 수 있는 정보를 해석하도록 학습시키는 데 가장 유용합니다. 예를 들어, 특정 산업에서 사용되는 약어 및 조직 가치 등 미묘한 의미 차이와 용어를 이해하도록 모델을 학습시킬 수 있습니다.
미세 조정(fine-tuning)은 이미지 분류 태스크에도 유용합니다. 예를 들어, 자기공명영상(MRI) 관련 작업의 경우 미세 조정(fine-tuning)을 사용하여 이상 징후를 식별하도록 모델을 학습시킬 수 있습니다.
미세 조정(fine-tuning)은 조직에서 다른 사람과 커뮤니케이션할 때, 특히 고객 지원 상황에서 올바른 어조를 적용하는 데 도움을 줄 수도 있습니다. 응대하는 상대방의 정서나 감정을 분석하도록 챗봇을 학습시킬 수 있고, 더 나아가 조직의 가치를 지키면서 사용자에게 도움이 되는 방식으로 모델을 학습시킬 수 있습니다.
RAG와 미세 조정(fine-tuning) 중에서 선택할 때 고려할 사항
RAG와 미세 조정(fine-tuning)의 차이를 이해하면 어느 AI 리소스를 배포하는 것이 요구 사항에 부합할지에 대해 전략적인 결정을 내릴 수 있습니다. 다음은 고려할 몇 가지 기본적인 질문입니다.
팀의 기술 역량 수준은 어떤가요?
RAG로 모델을 사용자 정의하려면 코딩 및 아키텍처 기술이 필요합니다. 기존의 미세 조정(fine-tuning) 방법과 비교하면, RAG는 더욱 액세스 가능하고 간단한 방식으로 피드백을 얻고 트러블슈팅하고 애플리케이션을 수정할 수 있습니다. 모델을 미세 조정(fine-tuning)하려면 자연어 처리(NLP), 딥러닝, 모델 구성, 데이터 재처리, 평가에 대한 경험이 필요합니다. 전반적으로 더 많은 기술과 시간이 소요될 수 있습니다.
정적 데이터인가요, 동적 데이터인가요?
미세 조정(fine-tuning)은 시간 경과에도 변하지 않는 일반 패턴을 학습하도록 모델에 지시합니다. 학습 데이터세트의 정적 스냅샷에 기반하기 때문에 모델의 정보가 오래되어 재학습이 필요할 수 있습니다. 이와 달리 RAG는 선택한 소스에서 특정한 실시간 정보를 검색하도록 LLM에 지시합니다. 즉, 모델이 최신 데이터를 가져와서 애플리케이션에 알리므로 정확하고 관련성 높은 결과를 얻을 수 있습니다.
예산은 어느 정도인가요?
전통적으로 미세 조정(fine-tuning)은 많은 데이터와 컴퓨팅 리소스를 요구하는 딥러닝 기술입니다. 따라서 미세 조정(fine-tuning)을 통해 모델에 정보를 제공하려면 데이터에 레이블을 지정하고 높은 비용의 고사양 하드웨어에서 학습을 실행해야 합니다. 이뿐만 아니라 미세 조정(fine-tuning)된 모델의 성능은 데이터의 품질에 좌우되고 고품질 데이터를 확보하려면 많은 비용이 들 수 있습니다.
이와 달리 RAG는 미세 조정(fine-tuning)보다 비용 효율이 높은 편입니다. RAG를 설정하려면 데이터를 LLM에 연결하는 파이프라인 시스템을 구축해야 합니다. 이렇게 직접 연결하면 신규 데이터를 생성하는 데 시간, 에너지, 리소스를 사용하지 않고 기존 데이터를 사용해 LLM에 정보를 제공함으로써 리소스 비용을 절감할 수 있습니다.
Red Hat의 지원 방식
Red Hat의 오픈소스 솔루션과 AI 파트너 에코시스템은 대규모 언어 모델 운영(LLMOps) 프로세스에 RAG 및 미세 조정(fine-tuning)을 구현하는 데 도움을 줄 수 있습니다.
Instructlab을 사용하여 미세 조정(fine-tuning) 실험
Red Hat과 IBM이 만든 InstructLab은 생성형 AI(생성 AI) 애플리케이션에 사용되는 LLM에 기여하기 위한 오픈소스 커뮤니티 프로젝트입니다. 합성 데이터를 사용하여 LLM 미세 조정(fine-tuning)을 더 쉽게 할 수 있도록 하는 프레임워크를 제공합니다.
InstructLab의 합성 데이터로 LLM을 향상하는 방법
Red Hat Enterprise Linux AI로 고유한 파운데이션 모델 만들기
생성 AI로 애플리케이션을 구축할 준비가 된 엔터프라이즈를 위해 Red Hat® Enterprise Linux® AI는 데이터를 사용해 더 신속하게 활용 사례를 해결하는 데 필요한 파운데이션 모델 플랫폼을 제공합니다.
Red Hat Enterprise Linux AI는 오픈소스 라이센스 LLM의 Granite 제품군과 InstructLab 모델 조정 툴을 단일 서버 환경에 통합합니다. 이에 따라, 데이터 사이언스 경력이 없는 도메인 전문가도 하이브리드 클라우드 전반에서 확장 가능한 AI 모델을 더 쉽게 미세 조정(fine-tuning)하고 기여할 수 있습니다.
Red Hat Enterprise Linux AI는 또한 신뢰할 수 있는 엔터프라이즈 제품 배포, 1년 365일 프로덕션 지원, 확장된 모델 라이프사이클 지원 및 Open Source Assurance 법적 보호를 포함한 Red Hat 서브스크립션의 혜택을 제공합니다.
Red Hat OpenShift AI를 통해 애플리케이션 확장
모델을 Red Hat Enterprise Linux AI로 학습시킨 후에는 Red Hat OpenShift® AI를 통해 프로덕션용으로 확장할 수 있습니다.
Red Hat OpenShift AI는 유연성과 확장성을 갖춘 머신 러닝 운영(MLOps) 플랫폼으로, AI 지원 애플리케이션을 구축, 배포, 관리하는 데 유용한 툴을 제공합니다. 임베딩을 생성하는 LLM, 결과 생성에 필요한 검색 메커니즘, 벡터 데이터베이스에 대한 액세스 등 기반 워크로드 인프라를 제공합니다.
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.