고객사의 PoC를 올해 8월부터 11월까지 약 3개월간 진행했고, 최종 보고를 11월 말에 진행하였다.
입사 후 처음으로 진행한 프로젝트의 발표를 맡게 되어서 무척 떨렸으나,, 그래도 했다!
고객사 측에서 최종보고에 포함되었으면 좋겠다고 요청한 내용과, 발표 후 질의응답 시간에 나왔던 내용들을 아래에 정리하겠다.
임베딩 조정(embedding tuning)과 파인튜닝(fine-tuning)은 서로 다른 개념이다.
차이를 명확히 정리하면:
✅ 정리하면:
- 임베딩 조정 → 벡터/유사도 측면에서 미세 튜닝, 파인튜닝 아님
- 파인튜닝 → 모델 가중치를 재학습하여 답변 능력 자체를 개선
메타정보는 원본 데이터 자체가 아니라, 그 데이터를 설명하는 정보이다. (= 문서 외부에서 문서를 설명하는 정보)
✅ 간단히 말해, “이 문서가 무엇인지, 어디에 속하는지, 어떤 구조인지 알려주는 부가 설명”이다.
예를 들어) 문서가 있고, 그 문서 안에 텍스트가 있을 때
| 메타정보 | 설명 |
|---|---|
| doc_id | 문서를 구분하는 고유 ID |
| title | 문서 제목 |
| category | 이 문서가 어떤 분야에 속하는지 |
| source | 발행 기관 또는 수집 경로 |
| year | 문서의 시기 |
| page_num | 원본 페이지 번호 |
| chunk_order | 문서 내에서 청크가 몇 번째인지 |
| chunk_id | 청크 식별자 |
| abstract / keyword | 문서 내용을 추출·요약한 추가 정보 |
메타정보는 아래 목적을 위해 존재한다.
검색 정확도 향상
예: 분야, 연도, 출처 정보로 필터링 가능.
문서 구조 복원
예: chunk_order, page_num이 있어야 원본 문서 흐름 유지.
후처리 및 UI 표시
예: 검색된 문서의 제목, 페이지 번호를 사용자에게 제공.
추후 데이터 관리 및 확장성 확보
예: doc_id 기준으로 문서 전체를 관리 가능.
메타정보 = RAG 시스템이 문서를 잘 이해·검색·관리할 수 있도록 붙이는 설명 데이터
doc_id, chunk_id, source, page_num 등즉, 메타정보가 개념이라면, 메타데이터는 그 개념을 구현한 데이터 구조라고 생각하자.
{
"doc_id": "12345",
"title": "연구보고서 2025",
"author": "홍길동",
"page": 3,
"content_chunk": "본문 내용..."
}
doc_id, title, author, page 등은 메타정보이고, Milvus에 넣을 때 필드로 구성하면 메타데이터가 된다.정리하면:
- 메타정보 = 데이터를 설명하는 정보(개념)
- 메타데이터 = 그 정보를 DB 필드/구조로 구현한 것 [RAG 구축을 위해 문서에 부여한 모든 구조적 정보]
- 벡터 DB는 저장 효율과 검색 속도를 위해 모든 메타데이터를 넣지 않고, 검색·필터링에 필요한 핵심만 저장하는 구조이다.
임베딩 조정은 문서 검색 품질을 높이기 위해 벡터 표현과 가중치를 최적화하는 과정이다.
임베딩 조정은 검색 문제를, 프롬프트 조정은 답변 품질 문제를 해결하는 데 효과적이다. ⭐
메타데이터는 문서 식별·구조·범주 정보를 포함해 RAG 검색의 정확도를 높인다.
메타정보는 Markdown 등 구조적 형식으로 구축해 모델이 문서 구조를 이해하도록 돕는다.
RAG는 새 데이터 추가 시 전체 재임베딩 여부를 상황에 따라 결정해야 한다. ⭐
데이터 증가나 도메인 편향은 기존 정확도에 영향을 줄 수 있어 임베딩 재조정이 필요할 수 있다.
모델이 변경되면 벡터 공간과 답변 방식이 달라지므로 임베딩과 프롬프트 모두 다시 조정해야 한다. ⭐
RAG는 초기 구축 후에도 지속적인 피드백과 유지보수가 필수적이다.