GraphRAG

지식 그래프와 LLM: Fine-Tuning vs. Retrieval-Augmented Generation (GraphRAG) 완벽 비교

hsystems 2026. 4. 30. 09:56
728x90
반응형

많은 조직에서 챗봇이나 가상 비서처럼 질문에 답하거나 창의적인 텍스트를 생성하는 비즈니스 사용 사례를 위해 LLM을 고려하고 있어요. 하지만 보통 지식 단절, 환각, 사용자 맞춤화 부족 같은 제한 사항에 직면하게 되죠.

이런 과제를 해결하는 방법으로 Fine-tuningRetrieval-Augmented Generation(RAG) 두 가지 접근 방식이 있어요. LLM Fine-tuning은 LLM 성능을 최적화하려고 질문-답변 쌍을 제공하는 지도 학습 단계를 포함해요. 반대로, Retrieval-Augmented Generation(RAG)은 LLM이 외부 정보에 접근하기 위한 자연어 인터페이스 역할을 하는 방식이에요. 다시 말해, 답변을 만들 때 내부 지식에만 의존하지 않는다는 뜻이죠.

이번 글에서는 LLM의 한계를 억제하기 위해 Fine-tuning과 RAG를 사용할 때 장단점을 살펴볼게요. 그리고 이미 Knowledge Graph를 사용해서 데이터를 정리하고 관리하는 조직에 각 접근 방식이 어떤 의미를 가지는지도 함께 고려해 볼 거예요.

LLM의 한계

Midjourney's idea of a knowledge graph chatbot.
Knowledge Graph 챗봇에 대한 Midjourney의 아이디어.

2022년 11월 ChatGPT가 출시된 이후로, 많은 사람들이 창의적인 콘텐츠를 만들거나 텍스트 요약 및 번역 같은 일반적인 Natural Language Processing 작업을 해결하기 위해 LLM을 애플리케이션에 통합하는 걸 고려하기 시작했어요.

하지만 비즈니스 사용 사례에 LLM을 바로 적용하면 심각한 문제가 생길 수 있어요. 가장 중요한 문제들을 한번 살펴볼까요?

지식 차단 (Knowledge Cutoff)

지식 차단 (Knowledge Cutoff)은 LLM이 학습 후에 발생한 사건은 알지 못한다는 뜻이에요. 예를 들어 2024년에 일어난 일에 대해 ChatGPT에 물어보면 다음과 같은 답변을 받을 거예요.

ChatGPT의 지식 마감일입니다. 작성자별 이미지.

훈련 데이터 세트에 없는 이벤트에 대해 LLM에 문의하는 경우에도 똑같은 문제가 발생해요. 지식 마감일은 공개적으로 이용 가능한 모든 정보와 관련 있지만, LLM은 지식 마감일 이전에도 이용 가능했을 개인 정보나 기밀 정보에 대한 지식을 갖고 있지 않죠.

예를 들어, 많은 회사에는 공개적으로 공유하지 않는 기밀 정보가 있지만 해당 정보에 대한 질문에 답변할 수 있는 맞춤형 LLM에 관심이 있을 수 있어요. 반면, LLM이 알고 있는 공개적으로 이용 가능한 정보는 이미 오래된 정보일 수도 있고요.

환각

LLM이 만들어내는 모든 것을 맹목적으로 믿을 수는 없어요.

LLM은 실제처럼 들리는 출력을 생성하도록 훈련되었지만 항상 정확하지는 않을 수 있거든요. 어떤 유효하지 않은 정보는 다른 정보보다 발견하기가 더 어려운데, 특히 누락된 데이터의 경우 LLM은 교육에서 기본 사실이 부족하다는 점을 인정하는 대신 설득력 있게 들리는 (하지만 잘못된) 답변을 만들어낼 가능성이 높아요.

예를 들어, 연구나 법원 인용문을 확인하는 것이 더 쉬울 수 있겠죠. 2023년에 한 변호사가 곤경에 처했는데, ChatGPT가 생성한 법원 인용문을 맹목적으로 믿었기 때문이에요. 그 이후로 사람들은 ChatGPT 및 Gemini와 같은 공개 LLM이 생성하는 정보에 대해 더욱 경계하게 되었지만 여전히 위험하답니다.

LLM은 또한 Wikidata ID를 포함해서 모든 종류의 식별 번호에 대해 주장적이면서도 잘못된 정보를 계속해서 생성하고 있어요.

ChatGPT의 환각. 작성자별 이미지.

위 스크린샷에서 ChatGPT는 단호한 응답을 제공했지만 정확하지 않아요. ChatGPT가 러시아 가수에게 포인트를 준 위키데이터 ID랍니다.

기타 문제

LLM에는 다른 문제들도 있어요.

  • Bias – LLM은 훈련 데이터로부터 편향을 물려받아 차별적이거나 불공평한 결과를 초래할 수 있어요.
  • – 악의적인 사용자는 LLM을 조작해서 유해하거나 오해의 소지가 있는 콘텐츠를 생성하는 프롬프트를 만들 수 있죠.
  • – LLM은 상식적인 추론이나 상황의 맥락에 대한 이해가 필요한 작업으로 어려움을 겪는 경우가 많아요.
  • – LLM 출력 이면의 추론이나 소스를 이해하기 어려울 수 있으며, 이로 인해서 출력에 대한 신뢰도가 낮아지고 디버깅 노력이 복잡해져요.

간결함을 위해 이에 대해 자세히 다루지는 않을게요. 대신, 이러한 과제를 극복하기 위한 첫 번째 옵션인 감독된 Fine-tuning을 살펴볼게요.

LLM의 감독된 Fine-tuning

Fine-tuning은 LLM을 위한 목표 교육 접근 방식이에요. 이는 LLM의 성과를 최적화하기 위해 추가 질문-답변 쌍을 제공하는 지도 교육 단계를 의미하죠. LLM은 이러한 데이터 샘플을 반복적으로 처리함으로써 이해도를 높이고 특정 영역에서 질문에 답하거나 텍스트를 생성하는 능력을 향상시키는 거예요.

Fine-tuning을 통해 LLM의 기존 기능을 사용하면서 고유한 요구 사항에 맞게 조정할 수 있어요. Fine-tuning과 도메인별 사전 학습을 결합하면 도메인별 LLM이 금융과 같은 분야의 전문적인 작업을 더욱 정확하게 수행할 수 있답니다.

메모: LLM Fine-tuning의 주요 사용 사례는 내부 지식을 업데이트하고 확장하는 것, 그리고 특정 작업(예: 텍스트 요약 또는 자연어를 데이터베이스 Query로 번역)에 대한 모델을 Fine-tuning하는 것이에요. 개인화된 예술 콘텐츠 생성, 콘텐츠 필터링, 추천을 위한 사용자 선호도 및 행동 패턴 분석 등 창의적인 목적을 위한 모델을 준비할 수도 있죠. 이 글에서는 LLM의 내부 지식을 업데이트하고 확장하기 위해 Fine-tuning 기술을 사용하는 첫 번째 사용 사례에 대해 알아볼 거예요.

Fine-tuning은 어디에 적합할까요?

LLM 교육 방법을 자세히 설명하는 건 이 블로그 게시물의 범위를 벗어나요. 궁금하시다면 Andrej Karpathy의 비디오를 시청하고 LLM 교육의 다양한 단계를 알아보세요.

LLM을 만드는 첫 번째 단계는 기본 LLM을 개발하기 위한 모델 사전 훈련을 포함해요. 기본 LLM은 일반적으로 수십억, 심지어 수조 개의 토큰에 달하는 거대한 텍스트 모음을 사용하여 사전 훈련되죠. 교육 비용은 수십만 달러, 심지어 수백만 달러에 달할 수 있는데, 이는 대부분의 조직이 피하고 싶어하는 비용이에요.

최근에 Microsoft의 논문(2024년 6월 게시)에서는 Gradient checkpoint 및 Low-Rank Adaptation과 같은 기술이 Fine-tuning 프로세스 중에 메모리 병목 현상을 줄일 수 있음을 보여주었어요. 이렇게 하면 Fine-tuning 시간과 비용 효율성이 높아지지만, 지금까지 비용 절감이 입증된 실제 사례는 없어요.

Supervised fine-tuning flow. Image by Tomaž Bratanič. Icons from [Flaticon](https://www.flaticon.com/).
Supervised Fine-tuning 흐름. 이미지: Tomaž Bratanič. 아이콘: Flaticon.

따라서 가장 일반적인 첫 번째 단계는 사용 사례에 맞게 사전 훈련된 기본 LLM을 선택하는 거예요. 이 선택을 할 때 다음과 같은 몇 가지 사항을 고려해야 해요.

  • The 매개변수의 수 LLM에서는 데이터의 복잡한 패턴을 학습하고 표현하는 능력을 결정해요. 모델이 클수록 학습 및 추론을 위해 더 많은 계산 능력과 메모리가 필요하죠. 또한 훈련 시간이 더 길어질 수도 있어요. 이러한 모델을 Fine-tuning하려면 리소스 집약적일 수 있으므로 GPU 및 TPU와 같은 강력한 하드웨어가 필요해요.
  • The 기본 LLM의 Fine-tuning 모델을 사용하는 방법을 나타내요. 일부 라이센스에는 상업적 사용, 배포 또는 수정이 제한될 수 있어요. 오픈 소스 모델은 Fine-tuning 및 사용자 정의에 더 많은 유연성을 제공하는 반면, 독점 모델은 더 나은 성능이나 특정 기능을 제공하지만 더 제한적인 라이센스를 제공할 수 있죠. 법적 문제를 피하려면 라이센스 조건을 준수해야 해요.
  • Bias 기본 모델의 문제는 적절하게 해결되지 않으면 Fine-tuning 중에 증폭될 수 있으며, 이는 Fine-tuning 모델에 의해 불공평하거나 차별적인 동작으로 이어질 수 있어요. Bias를 식별하고 완화하려면 데이터 밸런싱 기술, Bias 감지 도구, 공정성 인식 교육 알고리즘을 사용하는 등 추가 데이터 전처리 및 평가 단계가 필요해요. 초기 교육 데이터 세트에서 알려진 Bias가 가장 적은 기본 LLM을 선택하려고 노력해야겠죠.
  • 모델이 제대로 제어되지 않으면 독성이 있거나 유해한 콘텐츠가 생성될 수 있다는 사실을 의미해요. 독성을 최소화하고 긍정적인 사용자 경험을 유지하며 피해를 방지하려면 훈련 데이터를 필터링하고 안전 레이어와 지속적인 모니터링을 구현하려고 노력해야 해요. 가능하다면 알려진 독성이 가장 적고 Fine-tuning 중에 독성을 감지하고 완화하는 메커니즘을 포함하는 기본 LLM도 선택하세요.

기본 LLM을 선택한 후 다음 단계는 이를 Fine-tuning하는 거예요.

훈련 데이터 세트 준비

Fine-tuning의 첫 번째 단계는 기본 LLM을 Fine-tuning하는 데 사용할 데이터 세트를 준비하는 것이에요.

사전 훈련에 비해 Fine-tuning은 다음과 같은 기술로 인해 계산 비용 측면에서 상대적으로 저렴해요. LoRA and QLoRA. 하지만 훈련 데이터 세트를 구성하는 것은 훈련 자체보다 더 복잡하고 비용이 많이 들 수 있어요.

전담 애노테이터 팀을 확보할 여유가 없는 일부 조직은 실제로 메타화하여 LLM을 사용하여 LLM을 Fine-tuning하기 위한 교육 데이터 세트를 구성해요. 예를 들어 Stanford의 Alpaca 훈련 데이터 세트는 OpenAI의 LLM을 사용하여 생성되었어요. 52,000개의 교육 지침을 제작하는 데 드는 비용은 약 USD $500로 비교적 저렴하죠. Vicuna 모델은 ShareGPT에 게시된 ChatGPT 대화 사용자 사용으로 Fine-tuning되었어요. 이 모델을 훈련하는 데 드는 비용은 USD $140이에요.

H2O는 또한 다음과 같은 프로젝트를 개발했어요. WizardLM LLM을 Fine-tuning하기 위해 문서를 질문-답변 쌍으로 변환하는 프로젝트죠.

하지만 내부 지식을 확장하기 위해 LLM을 Fine-tuning하는 데 도움이 될 수 있는 좋은 질문-답변 쌍을 준비하기 위해 Knowledge Graph를 사용하는 것과 관련된 구현을 아직 본 적이 없어요. 이는 회사별 데이터를 저장하기 위해 Knowledge Graph에 의존하는 조직에 우려되는 사항이죠. 데이터 저장소에서 훈련 데이터 세트를 생성하는 것은 문제가 될 가능성이 높아요. 이를 수행할 수 있는 방법은 커뮤니티 보고서 요약 단계인 Microsoft의 그래프 RAG 제안이지만, 그 아이디어는 아직 테스트되지 않았어요.

Fine-tuning의 한계

LLM의 주요 문제는 아직 밝혀지지 않은 부분이 많다는 점이에요. 예를 들어, 똑같은 질문에 대해 두 가지 다른 답변을 내놓을 수도 있고, LLM이 내부 지식 저장소에서 어떻게든 이 둘을 결합할 수도 있을까요?

만약 여러분이 Knowledge Graph의 데이터를 사용해서 LLM을 학습시키려고 한다면, Knowledge Graph의 정보 중 일부는 관계를 살펴볼 때만 의미가 있다는 걸 고려해야 해요. 이런 관계를 학습 데이터 세트에 통합하려면 관련 `쿼리`를 미리 정의해야 할까요? 아니면 더 일반적인 방법이 있을까요? 아니면 주제-술어-객체 표현을 나타내는 `노드`-`관계`-`노드` 패턴을 사용해서 관련 쌍을 생성할 수도 있을까요?

이런 고민은 잠시 접어두고, Knowledge Graph에 저장된 정보를 기반으로 질문-답변 쌍으로 이루어진 훈련 데이터 세트를 어떻게든 만들었다고 가정해 볼게요. 결과적으로 LLM은 업데이트된 지식을 갖게 되겠죠. 하지만 모델을 Fine-tuning해도 지식 차단 문제는 해결되지 않아요. 그저 지식 차단을 나중으로 미루는 것뿐이죠.

게다가 Fine-tuning 방식으로 환각 현상을 줄일 수는 있지만, 완전히 없앨 수는 없어요. LLM은 답변을 제공할 때 출처를 인용할 수 없거든요. 그래서 답변이 사전 훈련 데이터에서 나온 건지, Fine-tuning 데이터 세트에서 나온 건지, 아니면 LLM이 그냥 만들어낸 건지 알 수가 없어요. LLM을 사용해서 Fine-tuning 데이터 세트를 생성하는 경우, 가짜 출처가 포함될 가능성도 항상 존재하죠.

또한 Fine-tuning된 모델은 질문하는 사람에 따라 자동으로 다른 응답을 제공할 수 없어요. 마찬가지로, 접근 제한이라는 개념도 없죠. 즉, LLM과 상호 작용하는 사람은 누구나 LLM의 모든 정보에 접근할 수 있다는 뜻이에요.

Fine-tuning을 사용해야 하는 경우

Fine-tuning의 한계를 염두에 두고, 천천히 변경되거나 업데이트되는 데이터에 대해서만 Fine-tuning 기술을 통해 LLM의 내부 지식을 업데이트하는 걸 추천해요.

예를 들어, 특정 시간 종속적인 정보가 필요하지 않다면 Fine-tuning된 모델을 사용해서 역사적인 관광 명소에 대한 정보를 제공할 수 있어요. 하지만 응답에 특별한 시간 종속적인(실시간) 정보나 개인화된 프로모션을 포함하려는 순간 문제가 발생할 수 있죠.

마찬가지로, Fine-tuning된 모델은 회사가 지난주에 얼마나 많은 신규 고객을 확보했는지 물어볼 수 있는 분석 워크플로우에는 적합하지 않아요.

Fine-tuning은 앱이 고도로 전문화된 작업이나 도메인에서 뛰어난 성능을 요구할 때 가장 유용해요. 특정 데이터 세트에 대해 모델을 훈련함으로써 특정 관심 영역의 뉘앙스와 세부 사항에 더 잘 맞도록 응답을 커스터마이징할 수 있죠. 이 프로세스는 모델의 본질적인 이해 및 생성 기능을 향상시켜 전문적인 `쿼리`를 더 효과적으로 처리하고, 더 정확하고 상황에 맞는 결과를 만들어낼 수 있게 해줘요.

Retrieval-Augmented Generation

검색 증강 LLM 애플리케이션의 기본적인 아이디어는 답변을 생성하기 위해 내부 LLM 지식에만 의존하지 않는다는 거예요.

RAG는 LLM을 사용해서 자연어로 데이터베이스 `쿼리`를 구성하고, 외부에서 제공된 정보를 기반으로 답변을 구성하거나, 검색용 플러그인이나 에이전트를 사용하는 등의 작업을 해결해요. LLM의 내부 지식을 사용하는 대신, RAG를 사용하면 LLM을 회사 정보나 개인 정보에 대한 자연어 인터페이스로 활용할 수 있죠.

Retrieval-Augmented Generation의 작동 방식

Retrieval-augmented generation. Image by Tomaž Bratanič. Icons from [Flaticon](https://www.flaticon.com/).
Retrieval-Augmented Generation. 이미지: Tomaž Bratanič. 아이콘플랫아이콘.

RAG는 LLM에 적절하게 표현된 질문과 데이터 저장소의 관련 문서 세트를 제공하는 도구예요. 그런 다음 데이터 소스의 정보를 기반으로 답변을 생성하죠. 이는 답변을 생성하기 위해 LLM의 내부 지식에 의존하지 않는다는 걸 의미해요. 대신 LLM은 여러분이 전달한 문서에서 관련 정보를 추출하고 요약하는 데에만 사용돼요.

에이전트 및 도구 호출 지원의 도입은 RAG 성장의 촉매제 역할을 했어요.

에이전트는 LLM을 데이터베이스 및 API와 같은 외부 지식 소스에 연결하는 중개자 역할을 해요. 결과적으로 LLM은 방대한 실시간 데이터 풀을 활용해서 지식 부족을 극복하고 최신 정보에 액세스할 수 있죠. 상담원은 사실 확인 서비스와 확인 도구를 LLM 워크플로에 통합할 수 있으며, 이를 통해 사실 오류의 위험을 완화하여 LLM 결과의 신뢰성을 높일 수 있어요.

기본 도구 호출 기능은 이를 한 단계 더 발전시켜요. LLM은 복잡한 계산이나 데이터 분석과 같은 특정 작업을 위해 외부 도구를 직접 호출할 수 있으므로 더 넓은 범위의 문제를 처리하고 전반적인 기능을 확장할 수 있죠. 예를 들어, ChatGPT 도구에서 웹 응답을 받고 작성 또는 분석에 도움을 주기 위해 파일을 업로드하는 것은 LLM 애플리케이션에 대한 RAG 접근 방식으로 생각할 수 있어요. ChatGPT 인터페이스는 인터넷에 액세스할 수 있으므로 LLM은 최신 정보에 액세스하고 이를 사용해서 최종 답변을 구성할 수 있답니다.

브라우징 플러그인이 포함된 ChatGPT. 작성자별 이미지.

이 예시에서 ChatGPT는 2024년 NBA MVP를 수상한 사람이 누구인지 대답할 수 있었어요. 하지만 ChatGPT의 지식 마감 날짜는 2022년 1월이라 내부 지식으로는 누가 2024 NBA MVP를 수상했는지 알 수 없었죠. 대신 인터넷을 통해 외부 정보에 접근했는데, Bing 기능으로 탐색 기능을 사용해서 최신 정보로 질문에 답변할 수 있었어요. 이런 기능은 OpenAI 플랫폼 내부에 통합된 증강 메커니즘을 제공하는 거죠.

Retrieval-Augmented Generation 구현

시스템에 RAG를 구현하는 방법은 여러 가지가 있어요.

LangChain은 LLM을 사용해서 애플리케이션을 개발하고 배포하기 위한 라이브러리인데, LLM을 RAG 기술과 통합하기 위한 도구를 제공하고 있어요. LangChain 라이브러리를 사용하면 LLM이 실시간 정보에 액세스할 수 있도록 해줄 수 있어요. 예를 들어 Google 검색, Vector Database, 또는 Knowledge Graph 같은 것들이죠.

예를 들어 LangChain은 Cypher Search Chain을 추가했는데, 자연어 질문을 [Cypher]() 문을 사용해서 Neo4j와 같은 Graph Database에서 정보를 검색하고 제공된 정보를 기반으로 최종 답변을 구성해줘요. Cypher Search Chain을 사용하면 LLM은 최종 답변을 구성하는 것뿐만 아니라 자연어 질문을 Cypher 쿼리로 번역하는 데에도 사용되는 거죠.

Cypher search in LangChain. Image by Tomaž Bratanič.
LangChain의 Cypher 검색. 이미지: Tomaž Bratanič.

검색이 강화된 LLM 워크플로를 위한 또 다른 인기 있는 라이브러리는 LlamaIndex에요. 이전에는 GPT Index로 알려져 있었죠. LlamaIndex는 LLM의 성능을 향상시키는 포괄적인 데이터 프레임워크인데, 개인 또는 사용자 정의 데이터를 사용할 수 있도록 지원해줘요.

LlamaIndex는 API, PDF, 문서부터 SQL 또는 Graph Database까지 모든 것을 포함해서 다양한 데이터 소스와 형식을 쉽게 수집해서 기존 데이터를 LLM에 통합할 수 있는 데이터 커넥터를 제공해요. 또한 Index와 그래프를 사용해서 수집된 데이터를 구조화하는 효율적인 메커니즘을 제공해서 데이터가 LLM과 함께 사용하기에 적합하게 정렬되도록 해준답니다. 고급 검색 및 쿼리 인터페이스를 통해 사용자는 LLM 프롬프트를 입력하고 컨텍스트 검색 및 지식 강화 출력을 다시 받을 수 있어요.

LlamaIndex는 생성 및 연결을 지원하는데, Property Graph Index는 비정형 데이터에서 풍부한 Knowledge Graph를 구축한 다음 이를 유연한 방식으로 쿼리해서 정보 내의 통찰력과 관계를 찾아내죠. Knowledge Graph 생성을 건너뛰고 Neo4j와 같은 Graph Database 도구에 이미 있는 것을 LlamaIndex 프로젝트에서 직접 사용할 수도 있어요.

Neo4j의 기본 Property Graph 모델 덕분에, Neo4j Graph Database에 구축된 Knowledge Graph는 트랜잭션 데이터, 조직 데이터, 그리고 Vector Embedding을 하나의 데이터베이스에 결합해서 전체 애플리케이션 설계를 단순화할 수 있어요. LlamaIndex의 Property Graph Index와 함께 사용하면 그래프 내에서 특정 유형의 정보를 쿼리하는 사용자 정의 솔루션을 만들 수 있죠.

Retrieval-Augmented Generation (RAG)의 장점과 단점

Fine-tuning과 비교했을 때, RAG 방식은 몇 가지 분명한 장점이 있어요.

  • 답변에 정보 출처를 인용할 수 있어서 정보의 유효성을 검사하고, 필요에 따라 기본 정보를 변경하거나 업데이트할 수 있죠.
  • LLM이 질문에 답하려고 내부 지식에 더 이상 의존하지 않기 때문에, 환각 현상이 발생할 가능성이 줄어들어요. 대신 관련 문서에 제공된 정보를 사용하거든요.
  • 문제를 LLM 유지 관리에서 데이터베이스 유지 관리, Query 및 컨텍스트 구성과 관련된 문제로 바꾸기 때문에, LLM이 사용하는 기본 정보를 변경, 업데이트, 유지 관리하는 게 더 쉬워요.
  • 답변은 사용자의 상황이나 액세스 권한에 따라 개인화될 수 있다는 점도 좋죠.

하지만 RAG의 제한 사항도 잊지 마세요!

  • 답변의 품질은 스마트 검색 도구 성능에 달려있어요. 스마트 검색 도구가 데이터 저장소에서 충분히 관련성 높은 문서를 찾아 LLM에 제공할 수 있어야 하죠.
  • 애플리케이션은 데이터베이스든 다른 데이터 저장소든 특정 Knowledge Graph에 접근할 수 있어야 해요.
  • Large Language Model의 내부 지식을 완전히 무시하면 답변할 수 있는 질문 수가 제한될 수 있어요.
  • 때로는 LLM이 지침을 따르지 않아서 컨텍스트가 무시되거나, 컨텍스트에서 관련 답변 데이터를 찾지 못하면 환각 현상이 계속 발생할 수도 있답니다.

LLM을 위한 Fine-tuning과 RAG 비교

두 접근 방식의 주요 차이점은 아래 표에 잘 설명되어 있어요.

비교 포인트 Fine-tuning RAG
데이터 요구 사항 대량의 작업별 레이블이 지정된 데이터 사전 훈련된 LLM, 별도의 정보 검색 시스템, 생성을 위해 잠재적으로 일부 레이블이 지정된 데이터
  특정 작업에 내부 LLM 지식을 적용합니다. 외부 지식 소스를 통합하여 최신 정보에 액세스할 수 있습니다.
  해당 영역의 작업에 대해 더 정확하며 영역 외부에 대한 환각이 발생하기 쉽습니다. 환각에 덜 취약합니다. 정확성은 검색된 데이터 및 LLM 처리에 따라 달라집니다.
  다양한 작업/도메인에 대한 재교육 필요 검색 시스템 데이터 소스를 수정하여 새로운 도메인에 더 쉽게 적응하거나 지식을 업데이트할 수 있습니다.
투명성과 설명 가능성 답변 뒤에 추론을 설명하기가 어렵습니다. 더 나은 투명성을 위해 출처 인용을 허용합니다.
개발 및 배포 데이터 준비 및 Fine-tuning 기술에 대한 전문 지식이 필요합니다. LLM과 함께 검색 시스템을 구축하거나 통합해야 합니다.

Fine-tuning은 명확하고 잘 정의된 도메인이 있는 작업, 그리고 특정 제품에 대한 감정 분석이나 데이터베이스 Query 생성과 같이 대량의 레이블이 지정된 데이터에 대한 액세스에 아주 적합해요. 기본 LLM의 컨텍스트를 새 데이터로 업데이트하고, 외부 데이터 소스에 대한 의존성을 완전히 제거할 수 있죠.

하지만 RAG가 더 정확하다는 연구 결과도 있어요 (이 연구와 이 연구를 참고해보세요!). 최신 정보에 대한 액세스가 필요하거나, 질문 답변 시스템 및 고객 서비스 챗봇처럼 기존 Knowledge Graph와의 통합이 필요한 작업에 더 적합하다는 의미겠죠?

Graph Database가 있는 RAG (예: )는 여러 가지 장점을 제공해요. 상호 연결된 엔터티가 있는 풍부한 Knowledge Graph에 접근하면 더 포괄적인 답변을 얻을 수 있고, 새로운 영역과 진화하는 지식에 대한 적응성도 높아지죠. RAG가 답변을 생성하는 데 사용하는 관계와 데이터 포인트에 대한 통찰력도 얻을 수 있고요. 또한 정적 훈련 데이터에 의존하는 Fine-tuning LLM과는 달리, Fine-tuning에서 부족한 설명 가능성과 최신 정보에 대한 액세스를 제공한다는 점도 매력적이에요.

특히 잘 정의된 영역에서 고도로 전문화된 지식이 필요할 때는 Fine-tuning을 사용해서 RAG를 보완할 수 있어요. 하지만 대부분의 애플리케이션에서 RAG는 더 비용 효율적이고 시간 효율적인 접근 방식을 제공하죠. 훈련 데이터 세트를 준비하고 지도 학습 단계를 거치는 대신, 지식 저장소가 포함된 사전 훈련된 LLM을 바로 사용할 수 있거든요. 게다가 RAG는 Fine-tuning과 동일한 수준의 기술 전문 지식이 필요하지 않아요.

사실 대부분의 회사가 틈새 기술을 위해 맞춤형 LLM을 만들 필요는 없어요. RAG를 통해 사전 훈련된 LLM과 도메인별 데이터를 결합하면 기업이 강력한 언어 모델 내에서 자체 데이터를 사용하기에 충분하기 때문에 매력적인 선택지가 될 수 있죠.

많은 팀이 Graph Database를 사용해서 RAG를 효과적으로 구현하는 방법을 연구하고 있어요. "GraphRAG"라는 용어도 점점 많이 쓰이고 있죠. Microsoft나 애틀랜타 에모리대학교 팀처럼 RAG 시스템의 결과를 개선하기 위해 RAG와 함께 그래프를 가장 잘 사용하는 방법에 대한 아이디어를 제시하는 곳도 있답니다. 이 조합에 대해 더 자세히 알고 싶다면 Neo4j의 GraphRAG 선언문을 한번 살펴보세요. 자세하게 분석되어 있을 거예요.

Neo4j 및 LLM 시작하기

LangChain을 사용해서 Neo4j Knowledge Graph와 Generative AI 모델을 통합하는 방법에 대한 무료 GraphAcademy 과정이 준비되어 있어요.

  • ChatGPT
  • Fine-tuning
  • RAG

에이치시스템즈LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.

👉 에이치시스템즈 홈페이지

728x90
반응형