brunch

You can make anything
by writing

C.S.Lewis

by 박송이 Oct 08. 2024

RAG 완벽 가이드: 세 가지 패러다임으로 보는 RAG

기본 RAG부터 최신 모듈형 RAG까지 모두 알아봐 drill게요

2024.07.22 |  vol. 45  |  구독하기  |  지난호 보기


미래에 할 수 있는 경험을 사전 예약하신 퓨처드릴 구독자, 드릴러 여러분 안녕하세요! AI와 UX의 알쏭달쏭한 점들을 시원하게 알려 drill 퓨처드릴 에디터 쏭입니다.       



오늘은 환각을 완화하는 방법으로 큰 주목을 받는 RAG에 대해 자세히 알아보는 시간을 가지려고 합니다. 각 기술에 대한 자세한 소개보다는 RAG가 어떤 패러다임으로 발전해 오고 있는지 큰 틀에서 소개해 드릴게요.


RAG의 세 가지 기술 패러다임에 대해 소개하고 어떤 과정으로 진행되는지, 각 패러다임에 대한 한계점과 여기서 얻을 수 있는 UX 인사이트까지 모두 알려 Drill 게요~!


모두 follow me ~ 



시작하기 - Turning On the Drill




환각(Hallucination) 없는 인공지능은 불가능한 걸까?


여러분 혹시 "세종대왕 맥북 던짐 사건"에 대해 아시나요? 이 사건은 실제로 존재하지 않지만, ChatGPT가 처음 출시되었을 때 인공지능을 공부하는 사람들 사이에서 큰 화제가 되었습니다. 사람들은 ChatGPT에게 이 사건에 관해 물어보았고, AI는 마치 실제로 있었던 일인 것처럼 술술 설명을 해주었습니다. 이에 따라 AI의 환각 문제는 뉴스에도 소개되었고, 많은 사람들의 관심을 끌게 되었습니다.


이 사건은 단순한 농담처럼 보일 수 있지만, AI 기술의 중요한 한계를 드러냈습니다. AI 모델이 잘못된 정보를 사실처럼 만들어내는, 이른바 '환각(hallucination)' 문제는 여전히 중요한 과제로 남아있습니다. 많은 사람들이 기술의 발전으로 이러한 문제는 곧 해결될 것이라고 낙관했지만, 실제로는 그렇지 않았습니다.


오늘은 "Retrieval-Augmented Generation for Large Language Models: A Survey" 논문을 통해 지금까지 RAG가 어떻게 발전해 왔는지 패러다임을 중심으로 자세히 살펴보려고 합니다. RAG는 검색(Retrieval)과 생성(Generation)을 결합하여 AI의 정보 생성 능력을 향상하는 혁신적인 기술입니다. 이 접근 방식은 AI가 단순히 학습된 데이터에 의존하는 것이 아니라, 외부 데이터베이스나 문서에서 직접 정보를 검색하여 더 정확하고 풍부한 응답을 생성할 수 있도록 합니다.


아래의 글들을 통해 기본 RAG부터 모듈형 RAG까지 함께 알아보아요~!



RAG의 기본개념과 역사부터 톺아보기



1. RAG의 기본 개념과 구성 요소


RAG(Retrieval-Augmented Generation)는 대형 언어 모델의 정보 생성 능력을 향상하기 위해 검색과 생성을 결합하는 기술입니다. 이 접근 방식은 모델이 단순히 학습된 데이터에 의존하는 것이 아니라, 외부 데이터베이스나 문서에서 직접 관련 정보를 검색하여 응답을 생성할 수 있게 합니다. 기본 RAG는 프롬프트를 통해 검색된 정보를 활용하는 초기 형태로 시작했으며, 고급 RAG로 발전하면서 하이브리드 검색, 재귀적 검색, 서브쿼리 등의 기술을 도입해 정보의 정확성과 관련성을 높였습니다. 또한, 데이터 인덱싱 최적화, 재순위화, 프롬프트 압축 등 다양한 최적화 기법을 통해 AI의 환각 문제를 줄이고, 모듈 간 상호작용을 강화하여 보다 정교하고 정확한 정보 제공을 가능하게 했습니다.


핵심 구성 요소 1 : 검색 (Retrieval)

출처 : https://qdrant.tech/articles/what-is-rag-in-ai/


 검색은 인공지능이 외부의 지식을 활용하여 사용자의 질문을 처리하는 과정입니다. 사용자의 질문(예: "How to do X?")을 임베딩 모델을 통해 숫자로 변환하여 컴퓨터가 이해할 수 있는 형태로 만듭니다. 이후, 이 변환된 질문을 벡터 데이터베이스에서 검색하여, 외부 지식이 담긴 작은 텍스트 덩어리들이 저장된 벡터들과 비교합니다. 이 과정에서 사용자의 질문과 수학적으로 높은 유사도를 가진 텍스트 모음을 여러 개 찾을 수 있습니다. 이를 통해, 인공지능 모델의 추가 학습 없이도 외부 지식을 효과적으로 활용하여 보다 정확한 정보를 제공할 수 있으며, 환각 문제를 줄일 수 있습니다.  


핵심 구성 요소 2 : 생성 (Generator)

출처 : https://qdrant.tech/articles/what-is-rag-in-ai/


생성 단계는 인공지능 모델이 결과를 생성하는 과정입니다. 이 단계에서는 사용자의 질문(예: "How do I do X?")과 검색 단계에서 찾은 n개의 관련 텍스트 덩어리들을 결합하여 인공지능 모델에 입력으로 제공합니다. 모델은 이 결합된 정보를 바탕으로 최종 답변(예: "X can be done by...")을 생성합니다. 즉, 검색( Retrieval) 단계에서 얻어진 정보로 질문의 컨텍스트를 보강하고, 이를 통해 생성( Generation) 단계에서 더욱 정확하고 관련성 높은 답변을 도출하는 것입니다. 이 과정에서 검색된 내용은 모델이 답변을 생성할 때 참조되는 증강된 정보(augmented information)로 활용되어, 더 풍부하고 정밀한 답변을 제공하게 됩니다.  



2. Timeline of RAG : RAG는 어떻게 발전되어 왔는가? 

Rag 연구 타임라인  (출처:arVix)


위의 이미지는 RAG의 발전 과정을 트리 형태로 보여줍니다. 이 이미지에서는 RAG가 어떻게 시작되었는지부터, 이 논문이 나오기 전까지 어떤 방법들이 제안되었는지를 한눈에 볼 수 있습니다. 크게는 증강 기법이 활용되는 단계와, 그 안에서 증강되는 데이터의 종류로 구분됩니다. 이 트리를 통해, 예를 들어 미세조정을 할 때 구조화된 데이터를 활용하여 RAG를 어떻게 효과적으로 사용할 수 있을지에 대한 참고 자료를 쉽게 찾을 수 있겠죠?


이처럼 다양한 방법이 제안되었지만, 오늘은 구체적인 방법론보다는 RAG가 어떻게 발전해 왔는지에 대한 큰 그림을 살펴보겠습니다. 이미지를 참고하면서 RAG의 기술 패러다임을 이해해 보세요. 아래에서 이미지와 함께 자세히 설명해 드리겠습니다!



3. Rag에 대한 세 가지 기술 패러다임 소개 


Rag 연구 타임라인  (출처:arVix)


RAG는 크게 기본 RAG(Naive RAG) -> 고급 RAG(Advanced RAG) -> 모듈형 RAG(Modular RAG)로 발전되어 왔습니다. 기본 RAG는 질문과 관련 있는 정보를 추가함으로써 환각을 완화하는 기본적인 방식을 제안합니다. 두 번째 고급 RAG는 검색 단계를 사전 검색과 사후 검색으로 나누어 검색 기법을 보완하였습니다. 마지막 모듈 RAG는 여러 가지 모듈들을 다양하게 조합하는 방식으로 검색과 생성을 대체합니다. 


위의 이미지를 보시게 되면 모델 조정이 얼마나 필요한지? (Low / High) 그리고 외부 지식이 얼마나 필요한지 (Low / High), 두 가지 축으로 Fine-tuning, 프롬프트 엔지니어링 그리고 RAG를 배치하였습니다. Fine-tuning은 모델 조정이 많이 필요하지만, 추가적인 외부 지식은 조금 필요합니다.. 프롬프트 엔지니어링은 모델 조정과 외부 지식이 모두 적게 필요하다는 점에서 장점이 있군요! 마지막으로 오늘 다룬 RAG는 모델 조정은 적게 필요하지만, 외부 지식은 많이 필요하다는 차이가 있습니다. 



4. 세 가지 기술 패러다임 이미지로 살펴보기

기본 RAG부터 모듈형 RAG까지 어떻게 구성되어 있는지 위의 이미지를 보시면 한눈에 확인할 수 있습니다. 고급 RAG를 보시면 왼쪽의 기본 RAG에서 주황색으로 사전 검색과 사후 검색이 추가된 것을 확인할 수 있습니다. 반면 제일 오른쪽의 모듈 RAG를 보시면 기본과 고급 RAG의 구조를 완전히 벗어나 여러 가지 모듈들로 이루어진 모습을 보실 수 있습니다. 이렇게 모듈형 RAG에서는 각 기능을 담당하는 모듈을 여러 개 조합해 검색과 생성을 합니다.  





첫 번째 패러다임 : 기본 RAG (Naive RAG)



기본 RAG 연구 패러다임은 ChatGPT의 광범위한 활용 이후 주목받기 시작한 초기 방법론을 대표합니다. 기본 RAG는 전통적인 프로세스인 인덱싱, 검색, 생성으로 이루어집니다.



Naive RAG의 검색-생성 과정


1. 인덱싱 (Indexing) : 외부 지식 데이터를 가져와 검색이 가능하도록 준비하는 단계

원본 데이터를 정리하고 추출하여 다양한 파일 형식을 평문으로 변환합니다. 그다음 텍스트를 더 작은 크기로 나눕니다. 언어모델은 한 번에 처리할 수 있는 텍스트의 길이에 제한이 있으므로 가능한 작은 텍스트 단위로 나누는 것이 중요합니다. 마지막으로 작게 나눈 텍스트들을 컴퓨터가 이해할 수 있도록 벡터로 변환합니다. 이렇게 생성된 벡터들이 이후 검색 과정에서 사용자가 입력한 내용과의 유사성을 계산하는 데 사용됩니다. 


2. 검색 (Retrieve) : 사용자의 입력을 문서에 검색하여 정보를 검색하는 단계
사용자의 입력을 기반으로, 내용을 벡터로 변환합니다. 질문 임베딩과 위의 인덱싱 단계에서 작게 나눈 문서 블록 임베딩 간의 유사성을 계산합니다. 유사성 수준에 따라 상위 K개의 문서 블록이 현재 질문에 대한 증강된 컨텍스트 정보로 선택됩니다.

3. 생성 (Generation) : 증강된 정보를 원래 질문과 통합해 답변을 생성하는 단계
주어진 질문과 관련 문서(2단계에서 선택된 상위 n개의 문서 블록)들은 새로운 프롬프트로 결합됩니다. 이후 대형 언어 모델은 제공된 정보를 기반으로 질문에 답하는 임무를 수행합니다.



접근방식은 좋았지만 여전히 한계는 있습니다.


검색 품질 : 외부 데이터가 있으면 무조건 질문과 잘 맞는 내용을 찾을 수 있을까?  

사용자가 입력한 내용과 외부에서 주어진 지식 중 어떤 것도 일치하지 않는다면 어떨까요? 아무리 외부의 지식을 활용한다고 해도 사용자가 질문한 내용과 연관 있는 내용이 하나도 없다면 환각은 해결되지 않을 것입니다.


응답 생성 품질 : 유의미한 정보를 추가해 주면 무조건 답변이 만족스러울까?

외부 지식이 있더라도 모델이 질문에 적절한 답을 생성하지 못한다면 어떨까요? 외부 지식은 충분히 있고 검색도 잘 되었는데 질문에 대한 적절한 답을 생성하지 못한다면 환각 문제는 해결되었지만, 사용자의 만족도는 높지 않을 것입니다. 



증강 과정 : 검색된 내용은 무조건 생성 작업에 도움이 되는 걸까?

여러 검색된 내용이 생성 작업에 얼마나 중요한지 또는 관련성이 있는지를 판단하는 것이 어려우며, 증강 과정은 각 구절의 가치를 적절히 균형 있게 조절해야 합니다. 검색된 내용이 서로 다른 문체나 톤에서 올 수 있으며, 증강 과정은 이러한 차이를 조화시켜 출력의 일관성을 보장해야 합니다. 



Insight for AI UX  


1. 명확한 피드백과 사용자 안내를 제공하기.
사용자에게 시스템의 데이터와 응답 생성 한계에 대해 명확히 안내하고, 불확실성 상황에서도 유용한 정보를 제공하는 피드백 메커니즘을 포함시키는 것이 중요합니다.

2. 품질 개선을 위한 피드백 루프를 설계하기.
응답의 품질을 지속적으로 개선하기 위해 사용자 피드백을 통합할 수 있는 시스템을 설계해야 합니다.



두 번째 패러다임 : 고급 RAG (Advanced RAG)



고급 RAG는 기본 RAG의 단점을 극복하기 위해 나왔습니다. 검색과 생성 품질 측면에서, 고급 RAG는 사전 검색 및 후속 검색 방법을 시도했습니다. 아래의 이미지를 보시게 되면 기본 RAG에서 검색 전 과정과 검색 후 과정이 추가된 것을 보실 수 있습니다. 아래 설명에서 검색 전 과정과 검색 후 과정에서 어떤 것들이 이루어지는지 설명드릴게요. 


고급 RAG의 검색-생성 과정


검색 전 프로세스 (Pre-Retrieval Process)

사전 검색 과정에서는 데이터 인덱싱을 최적화하여 콘텐츠의 품질을 높이는 것이 목표입니다. 이를 위해 텍스트의 표준화와 일관성을 확보하고, 청크 크기 조정 및 그래프 구조 도입으로 인덱스 구조를 최적화합니다. 또한, 날짜와 목적 등의 메타데이터를 추가하여 검색 효율성을 높이며, 문서와 질문의 일치를 개선하기 위해 정렬 최적화를 실시합니다. 마지막으로, 다양한 검색 기술을 조합하여 검색의 일관성과 정확성을 향상합니다.


검색 후 프로세스 (Post-Retrieval Process)

검색된 문맥을 LLM에 입력할 때는 문맥 창의 제한을 초과하거나 노이즈가 발생할 수 있는 문제가 있습니다. 이를 해결하기 위해 후처리 기법이 사용됩니다. 재순위화는 가장 관련성이 높은 정보를 문맥의 주요 위치로 이동시켜 중요 정보를 강조하고, 프롬프트 압축은 불필요한 노이즈를 줄이고 핵심 문단을 부각해 문맥의 길이를 단축시킵니다.



기본 RAG를 보완했지만 그래도 한계는 있습니다. 


제한된 처리 능력 : 활용할 수 있는 데이터의 양과 종류에 한계가 있다. 

고급 RAG는 기존 데이터의 색인화와 검색 품질 개선에 중점을 두지만, 여전히 처리할 수 있는 데이터의 양과 종류에 제한이 있을 수 있습니다. 예를 들어, 특정 도메인이나 고유한 정보의 처리에서 성능 한계가 있을 수 있습니다.


정보의 최신성 : 데이터가 빠르게 업데이트되지 않을 수 있다. 

데이터 색인화 과정에서 정보가 업데이트되지 않거나 오래된 데이터가 포함될 수 있어, 최신 정보를 반영하는 데 어려움이 있습니다. 이에 따라 검색 결과의 정확성과 신뢰성이 떨어질 수 있습니다.


제한된 맥락 이해 : 사용자의 의도를 정확히 이해하기에 한계가 있다. 

검색된 문서와 질문의 매칭을 개선하려는 노력에도 불구하고, 여전히 문맥이나 의미를 깊이 이해하는 데 한계가 있을 수 있습니다. 이에 따라 검색된 정보가 질문에 완벽히 부합하지 않을 수 있습니다.



Insight for AI UX   


1. 데이터의 한계를 명확히 하기

RAG 시스템의 성능이 특정 도메인이나 고유한 정보에서 제한될 수 있음을 인식하고, 사용자 경험을 설계할 때 데이터가 제공하는 정보의 범위와 한계를 명확히 해야 합니다. 


2. 최신성과 관련된 정보를 명확히 확인할 수 있도록 돕기

데이터가 업데이트되지 않거나 오래된 정보가 포함될 가능성을 고려해 사용자에게 최신 정보를 제공하는 기능을 강화할 필요가 있습니다. 실시간 정보 업데이트를 위한 시스템을 통합하거나, 사용자가 검색할 때 최신성과 관련된 정보를 명확히 확인할 수 있는 방법을 제공함으로써 신뢰성을 높일 수 있습니다. 




세 번째 패러다임 : 모듈형 RAG (Modular RAG)



모듈형 RAG 구조는 전통적인 기본 RAG 프레임워크인 인덱싱, 검색, 생성을 벗어나, 전체 과정에서 더 큰 다양성과 유연성을 시도합니다. 


모듈들은 어떤 방법으로 조합될 수 있을까요?

모듈형 RAG의 조직적 접근 방식은 유연하여 특정 문제 맥락에 따라 RAG 프로세스 내의 모듈을 교체하거나 재구성할 수 있습니다. 앞에서 다뤘던 기본 RAG는 검색(retrieval)과 생성(generation)의 두 가지 모듈로 구성할 수 있습니다. 


모듈 추가 또는 교체 (Adding or Replacing Modules)

모듈 추가 또는 교체는 RAG 시스템의 기존 구조를 유지하면서 기능을 더 좋게 만들기 위해 새로운 모듈을 추가하거나 기존 모듈을 바꾸는 방법입니다.


모듈 간 흐름 조정 (Adjusting the Flow between Modules)

모듈 간 흐름 조정은 언어 모델과 검색 모델이 더 잘 협력하도록 만드는 방법입니다. 이러한 방법들은 RAG 시스템이 더 유연하고 효과적으로 작동하도록 돕습니다.



어떤 모듈들이 있나요?


검색 모듈

LLM 생성 코드, 쿼리 언어, 맞춤형 도구를 사용해 다양한 데이터 출처(검색 엔진, 텍스트, 표, 지식 그래프 등)에서 직접 검색을 수행합니다.


메모리 모듈

LLM의 메모리 기능을 활용하여 현재 입력과 유사한 기억을 찾으며, Self-mem은 검색 강화 생성기를 통해 무제한 메모리 풀을 생성하고 모델의 출력을 데이터 분포에 맞게 개선합니다.


추가 생성 모듈

LLM을 활용하여 검색된 콘텐츠의 중복성과 노이즈 문제를 해결하며, 더 높은 관련성을 가진 정보를 생성합니다.


작업 적응 모듈

RAG를 다양한 작업에 맞게 조정하며, UPRISE는 제로샷 작업 입력에 대한 프롬프트를 자동으로 검색하고, PROMPTAGATOR는 몇 샷 쿼리 생성기를 활용해 작업 특화형 검색기를 생성합니다.


정렬 모듈

쿼리와 텍스트 간의 정렬 문제를 해결하기 위해 retriever에 학습 가능한 Adapter 모듈을 추가하며, PRCA는 강화 학습으로 context adapter를 훈련시키고, AAR은 LLM 선호도를 학습하여 보편적인 플러그인을 제공하며, RRR은 강화 학습을 통해 쿼리 재작성으로 정렬을 개선합니다.


검증 모듈

검색된 정보와 쿼리 간의 관련성을 평가하여 LLM의 환각 문제를 줄이고 RAG의 견고성을 향상합니다.



모듈형 RAG는 완벽할까요?


모듈형 RAG도 앞의 두 패러다임을 개선한 최신 방법이지만 그럼에도 한계는 존재하는데요, 앞으로 또 어떤 패러다임이 등장해 모듈형 RAG의 한계들을 극복할지 방향성이 기대됩니다. 아래는 모듈형 RAG가 가지고 있는 한계들입니다.


컨텍스트 길이: 더 많은 정보들 사이에서 어떻게 관련 있는 정보를 검색할 것인가?

LLM의 컨텍스트 윈도우 크기가 확장됨에 따라, RAG가 높은 관련성과 중요한 컨텍스트를 포착하기 위해 어떻게 적응해야 할지에 대한 과제가 있습니다.


견고성: 반사실적인 정보는 어떻게 처리해야 할까?

반사실적이고 적대적 정보를 처리하는 능력은 RAG에서 측정하고 개선해야 할 중요한 부분입니다.


다중 모달 RAG: 어떻게 멀티모달 정보들을 검색하고 생성할까?

RAG 시스템에 대한 많은 연구 노력이 있었지만, 대부분 텍스트 기반 작업을 중심으로 이루어졌습니다. 이미지, 오디오, 비디오, 코드 등과 같은 다양한 도메인에서 문제를 해결하기 위해 RAG 시스템의 모달리티를 확장하는 데에 대한 관심이 증가하고 있습니다.


평가: 어떻게 더 다양한 지표로 평가할 수 있을까?

RAG를 사용한 복잡한 응용 프로그램 개발이 확대됨에 따라, 컨텍스트 관련성, 창의성, 콘텐츠 다양성, 사실성 등을 더 정확하게 평가할 수 있는 섬세한 메트릭과 평가 도구 개발에 주목이 집중되고 있습니다. 또한 RAG에 대한 해석 가능성 연구와 도구 개발의 필요성도 증가하고 있습니다.




 Insight for AI UX


1. 반사실적 정보 처리하기.
반사실적 정보나 왜곡된 정보가 포함되지 않도록 시스템이 스스로 검증할 수 있는 기능을 통합하거나, 정보의 출처와 신뢰성을 명시하는 기능을 제공하는 것이 좋습니다. 


2. 다양한 모달리티 제공하기.

텍스트 외에도 이미지, 오디오, 비디오 등 다양한 모달리티를 활용할 수 있는 기능을 제공함으로써, 사용자가 원하는 정보를 더 직관적이고 효과적으로 얻을 수 있도록 지원합니다. 


3. 다양한 평가 지표 개발하기.
컨텍스트 관련성, 창의성, 콘텐츠 다양성 등을 정확하게 측정할 수 있는 평가 도구를 개발하고, 사용자에게 명확한 피드백을 제공하여 시스템의 효과성을 지속적으로 개선할 수 있도록 해야 합니다. 




마무리하기 - Turning Off the Drill



여러분, 오늘 내용 어떠셨나요? 


오늘은 RAG(Reinforced Answer Generation)의 기본 개념부터 모듈형 RAG로의 발전 과정, 그리고 각 패러다임에서 어떤 과정을 통해 검색 - 생성이 이루어지는지 살펴보았습니다. 또한 패러다임별 한계점은 무엇인지 짚어보고 그와 관련된 UX 인사이트까지 다루었는데요, 항상 최신의 기술만이 협업에서 사용되는 것은 아니기 때문에 기본 모듈의 과정과 한계점도 잘 숙지해 두시고 이런 문제들을 어떻게 해결할 수 있을지 생각해 보신다면 오늘 뉴스레터에서 많은 것을 얻어가시리라 생각됩니다. 



이전에 다루었던 프롬프트 엔지니어링 기본편과 오늘 다룬 RAG뿐만 아니라 기본적인 프롬프트 엔지니어링에 대한 요약 설명을 담은 파일을 발견하게 되어서 여러분께 공유해 드리려고 합니다. 



파일링크 : https://big-picture.com/media/the_prompt_engineering_cheat_sheet.pdf

오늘도 긴 글 읽어주셔서 감사합니다. 더 좋은 글로 찾아뵙겠습니다. 





오늘의 단어: 정밀도(Precision), 정확도(Accuracy), 재현율(Recall)


정밀도(Precision), 정확도(Accuracy), 재현율(Recall)은 모델의 성능을 평가하는 데 사용되는 세 가지 중요한 지표입니다. 


1. 정밀도 (Precision)
정밀도는 모델이 "이건 맞아"라고 예측한 것 중에서 실제로 맞은 것의 비율입니다. 

예를 들어: 우리가 스팸 메일 필터를 만들고 있다고 가정해 볼까요. 정밀도는 필터가 스팸이라고 판단한 메일 중 실제로 스팸인 메일의 비율입니다. 즉, 스팸이라고 분류된 메일 중에서 실제로 스팸인 비율이 높으면 정밀도가 높습니다.


2. 정확도 (Accuracy)
정확도는 전체 예측 중에서 맞게 예측한 비율입니다. 

예를 들어: 100개의 메일 중 90개를 제대로 분류했다면, 정확도는 90%입니다. 즉, 전체 예측 중에서 맞춘 비율이 높으면 정확도가 높습니다.


3. 재현율 (Recall)
재현율은 실제로 맞아야 하는 것 중에서 모델이 "이건 맞아"라고 예측한 비율입니다.

예를 들어: 만약 실제로 50개의 스팸 메일이 있는데, 필터가 40개를 스팸으로 정확히 분류했다면, 재현율은 40/50 = 80%입니다. 즉, 실제 스팸 메일 중에서 얼마나 많은 메일을 스팸으로 잡아냈는지를 측정합니다.


요약


- 정밀도 (Precision): 모델이 맞다고 한 것 중 얼마나 맞았는가

- 정확도 (Accuracy): 전체 예측 중 얼마나 맞았는가

- 재현율 (Recall): 실제로 맞아야 하는 것 중 얼마나 맞았는가






AI Experience (AIX)의 이모저모를 전해드리는 '퓨처드릴'입니다!

퓨쳐드릴은 네 명의 에디터가 매주 돌아가면서 글을 작성하고 있습니다. 


퓨쳐드릴 뉴스레터는 월요일 아침 8시에 발송됩니다. 

새로운 뉴스레터를 받아보고 싶으시다면 https://futuredrill.stibee.com/ 여기서 구독해 주세요:)

매거진의 이전글 프롬프트 엔지니어링 가이드 A to Z (기초편)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari