I. LLM은 이미 강력한 기능을 갖추고 있는데 왜 RAG(검색 증강 생성)가 필요한가요?
LLM은 상당한 역량을 입증했지만 몇 가지 과제가 남아 있습니다:
- 착각 문제: LLM은 통계 기반의 확률적 접근 방식을 사용하여 단어 단위로 텍스트를 생성하는데, 이 메커니즘은 본질적으로 논리적으로 엄격해 보이지만 사실에 근거하지 않은 출력, 이른바 '장대한 허구적 진술'의 가능성을 내포하고 있습니다;
- (a) 적시성 문제: LLM이 확장됨에 따라 학습 비용과 주기가 증가합니다. 결과적으로 최신 정보가 포함된 데이터를 모델 학습 프로세스에 통합하기 어렵기 때문에 LLM은 "현재 가장 좋아하는 영화를 추천해 주세요"와 같이 시간에 민감한 문제에 제대로 대처할 수 없게 됩니다;
- 데이터 보안 문제: 일반적인 LLM에는 기업 내부 데이터와 사용자 데이터가 없으며, 기업은 보안을 보장한다는 전제하에 LLM을 사용하고자 하며, 가장 좋은 방법은 모든 데이터를 로컬에 저장하고 기업 데이터의 모든 비즈니스 계산을 로컬에서 수행하는 것입니다. 온라인 빅 모델은 요약 기능만 완성합니다;
RAG를 소개합니다.
RAG(검색 증강 생성)는 LLM이 질문에 답하거나 텍스트를 작성하는 작업에 직면했을 때 먼저 대규모 문서 라이브러리를 검색하여 해당 작업과 밀접한 관련이 있는 자료를 걸러낸 다음, 이러한 자료를 기반으로 후속 답변 생성 또는 텍스트 작성 과정을 정밀하게 안내하는 기술 프레임워크로, 이러한 방식으로 모델 출력의 정확성과 신뢰성을 향상시키는 것이 핵심입니다. 이러한 방식으로 모델 산출물의 정확도와 신뢰도를 향상시키는 것이 목표입니다.

RAG 기술 아키텍처 다이어그램
RAG의 주요 모듈은 무엇인가요?
- 모듈 1: 레이아웃 분석
- 로컬 지식 파일 읽기(pdf, txt, html, doc, excel, png, jpg, 음성 등)
- 지식 문서 복구
- 모듈 II: 지식창고 구축
- 지식 텍스트 세분화 및 문서 텍스트 구성
- 문서 텍스트 삽입
- 문서 텍스트 작성 색인
- 모듈 3: 빅 모델 미세 조정하기
- 모듈 IV: RAG 기반 지식 퀴즈
- 사용자 쿼리 임베딩
- 쿼리 리콜
- 쿼리 정렬
- 상위 K개의 관련 문서를 연결하여 컨텍스트를 구성했습니다.
- 쿼리 및 컨텍스트에 기반한 프롬프트 작성
- 대형 모델에 프롬프트를 입력하여 답을 생성합니다.
퀴즈에 LLM을 직접 사용하는 것보다 RAG의 장점은 무엇인가요?
RAG(검색 증강 생성) 접근 방식을 사용하면 개발자는 추가 정보 리소스를 주입할 수 있는 외부 지식 기반에 연결하기만 하면 각 특정 작업에 대해 대규모 모델을 다시 학습시킬 필요 없이 답변의 정확도를 크게 향상시킬 수 있습니다. 이 접근 방식은 전문 지식에 크게 의존하는 작업에 특히 적합합니다. 다음은 RAG 모델의 주요 이점입니다:
- 확장성: 모델 크기와 교육 오버헤드를 줄이면서 지식창고 확장 및 업데이트 프로세스를 간소화하세요.
- 정확성: 사용자는 출처를 인용함으로써 답변의 신뢰성을 확인할 수 있으며, 이는 곧 모델 결과에 대한 신뢰도를 높일 수 있습니다.
- 제어 가능성: 지식 콘텐츠의 유연한 업데이트 및 개인화된 구성을 지원합니다.
- 해석 가능성: 모델 예측이 의존하는 검색 항목을 표시하여 이해도와 투명성을 높입니다.
- 다용도성: Q&A, 텍스트 요약, 대화 시스템 등 다양한 애플리케이션 시나리오에 맞게 RAG를 미세 조정하고 사용자 지정할 수 있습니다.
- 적시성: 검색 기술을 사용하여 최신 정보 개발을 포착하면 내재적 학습 데이터에만 의존하는 언어 모델에 비해 즉각적이고 정확한 응답을 보장할 수 있다는 분명한 이점이 있습니다.
- 도메인 사용자 지정: 텍스트 데이터세트를 특정 산업 또는 도메인에 매핑함으로써 RAG는 타겟팅된 전문 지식 지원을 제공할 수 있습니다.
- 보안: 데이터베이스 수준에서 역할 파티셔닝과 보안 제어를 구현하여 데이터 사용량 관리를 효과적으로 강화하는 RAG는 데이터 권한 관리를 위한 미세 조정 모델의 잠재적 모호성보다 높은 보안성을 입증합니다.
V. RAG와 SFT를 비교, 대조하고 차이점이 무엇인지 알려주세요.
실제로 SFT는 위의 LLM 문제에 대한 가장 일반적이고 기본적인 솔루션 중 하나이며, LLM 애플리케이션 실현의 기본 단계이기도 합니다. 그런 다음 두 가지 접근 방식을 여러 측면에서 비교할 필요가 있습니다:

물론 이 두 가지 방법은 양자택일이 아니며, 비즈니스 요구사항과 두 가지 방법의 장점을 결합하여 합리적으로 사용하는 것이 합리적이며 필요합니다.

모듈 1: 레이아웃 분석
레이아웃 분석이 필요한 이유는 무엇인가요?
RAG(검색 증강 생성) 기술의 핵심 가치는 검색과 생성을 결합하여 텍스트 콘텐츠의 정확성과 일관성을 개선하는 데 있지만, 특히 구조화 또는 반구조화 정보를 처리해야 하는 경우 문서 구문 분석, 지능형 저작, 대화 구성과 같은 특정 애플리케이션 영역에서 레이아웃 분석을 포함하도록 그 기능적 경계를 확장할 수 있습니다.
이러한 유형의 정보는 특정 레이아웃 구조에 포함되는 경우가 많으며 페이지 요소와 그 상호 관계에 대한 깊은 이해가 필요하기 때문입니다.
또한 웹 페이지, PDF 파일, 서식 있는 텍스트 레코드, Word 문서, 이미지 데이터, 음성 클립, 표 형식 데이터 및 기타 복잡한 콘텐츠와 같이 풍부한 멀티미디어 또는 다중 모드 구성 요소가 포함된 데이터 소스를 RAG 모델과 마주하게 되면 이러한 비텍스트 정보를 효율적으로 수집하고 활용할 수 있도록 기본적인 레이아웃 분석 기능을 갖추는 것이 매우 중요합니다. 이 기능은 모델이 다양한 정보 단위를 정확하게 파싱하고 이를 의미 있는 전체 해석으로 성공적으로 통합하는 데 도움이 됩니다.
1단계: 현지 지식 문서 수집
Q1: 현지 지식 문서 수집은 어떻게 하나요?
로컬 지식 파일 액세스에는 여러 데이터 소스(예: .txt, .pdf, .html, .doc, .xlsx, .png, .jpg, 오디오 파일 등)에서 정보를 추출하는 프로세스가 포함됩니다. 파일 유형에 따라 파일에 포함된 지식을 효과적으로 얻으려면 특정 액세스 및 구문 분석 전략이 필요합니다. 다음에서는 다양한 데이터 소스에 대한 액세스 방법과 어려움을 소개합니다.
Q2: 서식 있는 텍스트 텍스트의 콘텐츠를 가져오는 방법은 무엇인가요?
- 소개: 서식 있는 텍스트는 레이아웃이 비교적 깔끔하기 때문에 주로 txt 파일에 저장되므로 비교적 간단하게 얻을 수 있습니다.
- 실용적인 기술:
- [레이아웃 분석 - 서식 있는 텍스트 텍스트 읽기]
질문: PDF 문서의 콘텐츠는 어떻게 얻나요?
- 소개: 데이터의 PDF 문서는 텍스트, 그림, 표 및 기타 다양한 스타일의 데이터를 포함하여 더 복잡하므로 구문 분석 프로세스가 더 복잡해집니다!
- 실용적인 기술:
- [레이아웃 분석 - PDF 파싱 매직 pdfplumber
- 레이아웃 분석 - PDF 파서 PyMuPDF
질문 4: HTML 문서의 콘텐츠를 가져오는 방법은 무엇인가요?
- 소개: 데이터의 PDF 문서는 텍스트, 그림, 표 및 기타 다양한 스타일의 데이터를 포함하여 더 복잡하므로 구문 분석 프로세스가 더 복잡해집니다!
- 실용적인 기술:
- 레이아웃 분석 - HTML 구문 분석 BeautifulSoup
Q5: 문서 콘텐츠를 어떻게 얻나요?
- 소개: 문서 데이터는 텍스트, 그림, 표 및 기타 다양한 스타일의 데이터를 포함하여 더 복잡하므로 구문 분석 프로세스가 더 복잡해집니다!
- 실용적인 기술:
- 레이아웃 분석 - 독스 구문 분석 아티팩트 파이썬-docx]
Q6: OCR을 사용하여 이미지의 콘텐츠를 가져오는 방법은 무엇인가요?
- 소개: 광학 문자 인식(광학) 캐릭터 인식, OCR)은 텍스트 정보가 포함된 이미지 파일을 분석하고 인식하여 텍스트 및 레이아웃 정보를 얻는 프로세스입니다. 또한 이미지의 텍스트를 인식하여 텍스트의 형태로 반환하는 것을 의미합니다.
- 생각:
- 텍스트 인식: 잘 위치한 텍스트 영역을 인식하는 것으로, 주요 문제는 각 텍스트가 무엇인지, 이미지의 텍스트 영역을 문자 정보로 변환하는 문제를 해결하는 것입니다.
- 텍스트 감지: 텍스트가 있는 위치와 텍스트 범위가 문제 해결의 핵심입니다;
- 현재 오픈 소스 OCR 프로젝트
- 테서랙트
- PaddleOCR
- EasyOCR
- chineseocr
- chineseocr_lite
- TrWebOCR
- cnocr
- hn_ocr
- 이론적 연구:
- 레이아웃 분석 - 그림 구문 분석 도구 OCR]
- 실용적인 기술:
- [레이아웃 분석 - OCR 테세랙트]
- [레이아웃 분석 - OCR 매직 패들OCR]
- [레이아웃 분석 - OCR 아티팩트 hn_ocr]
Q7: ASR을 사용하여 음성 콘텐츠를 얻는 방법은 무엇인가요?
- 별칭: 자동 음성 인식 AutomaTlc Speech RecogniTlon, (ASR)
- 소개: 음성 신호를 해당 문자 메시지로 변환하는 것은 기계가 인식과 이해를 통해 음성 신호를 해당 텍스트 또는 명령으로 변환할 수 있는 '기계의 청각 시스템'과 같습니다.
- 목표: 사람 말의 어휘 내용을 컴퓨터가 읽을 수 있는 입력(예: 키 입력, 이진 코드 또는 문자 시퀀스)으로 변환합니다.
- 생각:
- 음향 신호 전처리: 특징을 보다 효과적으로 추출하기 위해서는 원래 신호 추출에서 분석할 신호를 캡처하여 사운드 신호 필터링, 프레이밍 및 기타 전처리 작업을 수행해야 하는 경우가 많습니다;
- 특징 추출: 음향 모델에 적합한 특징 벡터를 제공하기 위해 사운드 신호를 시간 영역에서 주파수 영역으로 변환합니다.
- 음향 모델링: 음향 특성을 기반으로 음향 특징에 대한 각 특징 벡터의 점수를 계산합니다.
- 언어 모델링: 언어 관련 이론을 기반으로 사운드 신호가 일련의 가능한 구문에 해당할 확률을 계산합니다.
- 사전 및 디코딩: 기존 사전을 기반으로 구문 시퀀스를 디코딩하여 가능한 최종 텍스트 표현을 얻습니다.
- 이론 튜토리얼:
- 레이아웃 분석을 위한 음성 인식
- 실용적인 기술:
- [음성-텍스트 레이아웃 분석]
- 위텍스트프로세싱의 레이아웃 분석
- [레이아웃 분석 - ASR 도구 Wenet]
- 레이아웃 분석 ASR 교육
2단계: 지식 문서 복구
Q1: 지식 문서 복구가 필요한 이유는 무엇인가요?
로컬 지식 문서 학습은 여러 소스 데이터(txt, pdf, html, doc, 엑셀, png, jpg, 음성 등)를 읽은 후 여러 줄의 단락을 여러 단락으로 나누기 쉽기 때문에 단락이 분할되는 경우가 발생하므로 콘텐츠 로직에 따라 단락을 다시 정리해야 합니다.
Q2: 지식 문서를 복구하려면 어떻게 해야 하나요?
- 방법론 I: 규칙 기반 지식 문서 복구
- 방법 2: Bert NSP 기반 컨텍스트 접합
3단계: 레이아웃 분석 - 최적화 전략
- 이론적 연구:
- [레이아웃 분석 - 최적화 전략]
4단계: 숙제
- 과제 설명: 위의 방법론을 사용하여 [SMP 2023 ChatGLM 금융 빅 모델 챌린지]의 [ChatGLM 평가 챌린지 - 금융 트랙 데이터 세트]의 레이아웃을 분석합니다.
- 작업의 효율성: 다양한 방법의 효과 및 성과 분석
모듈 II: 지식창고 구축
지식창고 구축이 필요한 이유는 무엇인가요?
RAG(검색 증강 세대)로 지식창고를 구축하는 것은 다음과 같은 여러 가지 이유로 매우 중요합니다:
- 모델 기능 확장: GPT 제품군과 같은 대규모 언어 모델은 강력한 언어 생성 및 이해 기능을 갖추고 있지만 학습 데이터 세트의 범위에 따라 제한이 있으며 특정 사실이나 상세한 배경 정보를 기반으로 하는 일부 질문에 정확하게 답변하지 못할 수 있습니다. RAG는 지식 기반을 구축함으로써 모델 자체의 지식 한계를 보완하여 모델이 가장 최신의 정확한 정보를 검색하여 답변을 생성할 수 있도록 합니다.
- 실시간 정보 업데이트: 지식창고를 실시간으로 업데이트하고 확장하여 모델이 최신 지식 콘텐츠에 액세스할 수 있도록 할 수 있으며, 이는 뉴스 이벤트, 과학 및 기술 발전 등과 같이 시간에 민감한 정보를 처리하는 데 특히 중요한 기능입니다.
- 정확도 향상: RAG는 검색과 생성 프로세스를 모두 결합하여 답변을 생성하기 전에 관련 문서를 검색함으로써 질문에 대한 답변의 정확도를 향상시킵니다. 이러한 방식으로 모델에서 생성된 답변은 내부의 매개변수화된 지식뿐만 아니라 신뢰할 수 있는 출처의 외부 지식 기반에 기반합니다.
- 과적합 및 환각 감소: 대규모 모델은 때때로 내재적 패턴에 지나치게 의존하여 환각, 즉 합리적으로 보이지만 그렇지 않은 답변을 생성하는 오류를 겪을 수 있습니다. RAG는 지식창고에서 확실한 증거를 인용함으로써 이러한 오류의 가능성을 줄일 수 있습니다.
- 향상된 해석 가능성: RAG는 답을 제공할 뿐만 아니라 답의 출처를 알려주어 모델에서 생성된 결과의 투명성과 신뢰성을 향상시킵니다.
- 개인화 및 개인화 요구 사항 지원: 기업 또는 개인 사용자의 경우 특정 영역 또는 개인 맞춤화의 요구를 충족하기 위해 독점 지식 기반을 구축하여 빅 모델이 특정 시나리오와 비즈니스에 더 잘 맞도록 만들 수 있습니다.
요약하면, 지식창고를 구축하는 것은 RAG 모델이 효율적이고 정확한 검색과 답변 생성을 달성하기 위한 핵심 메커니즘 중 하나로, 실제 애플리케이션에서 모델의 성능과 신뢰성을 크게 향상시킵니다.
1단계: 지식 텍스트 청크
- 텍스트를 청크 처리해야 하는 이유는 무엇인가요?
- 정보 누락 위험: 전체 문서에 대한 임베딩 벡터를 한 번에 추출하려고 시도하면 전체적인 맥락은 파악하지만 주제별로 중요한 정보를 많이 놓칠 수 있으며, 이로 인해 충분히 정확하지 않거나 누락된 정보가 생성될 수 있습니다.
- 청크 크기 제한: 청크 크기는 OpenAI와 같은 모델을 사용할 때 중요한 제한 요소입니다. 예를 들어, GPT-4 모델의 창 크기 제한은 32K입니다. 대부분의 경우 이 제한은 문제가 되지 않지만 처음부터 청크 크기를 고려하는 것이 중요합니다.
- 고려해야 할 두 가지 주요 요소가 있습니다:
- 임베딩 모델에 대한 토큰 제한 사례;
- 의미론적 무결성이 전반적인 검색 효율성에 미치는 영향;
- 실용적인 기술:
- [지식창고 구축 - 지식 텍스트 덩어리]
- [지식 기반 구축 - 문서 슬라이싱 및 다이싱 최적화 전략]
2단계: 문서 벡터화(엠디잉)
Q1: 문서 벡터화(엠디잉)란 무엇인가요?
임베딩은 또한 텍스트의 의미론적 의미에 대한 정보 집약적 표현으로, 각 임베딩은 부동소수점 수의 벡터로서 벡터 공간에서 두 임베딩 사이의 거리가 원래 형식의 두 입력 사이의 의미론적 유사성과 상관관계가 있습니다. 예를 들어, 두 텍스트가 유사하다면 벡터 표현도 유사해야 하며, 벡터 공간의 이 배열 표현 집합은 텍스트 간의 미묘한 특징 차이를 설명합니다. 간단히 말해, 임베딩은 컴퓨터가 인간 정보의 '의미'를 이해하는 데 도움이 됩니다. 임베딩은 텍스트, 이미지, 동영상 또는 기타 정보에서 특징의 '관련성'을 얻는 데 사용할 수 있으며, 이는 검색, 추천, 분류 및 기타 애플리케이션 수준에서 일반적으로 사용됩니다. 이러한 종류의 상관관계는 일반적으로 검색, 추천, 분류 및 클러스터링에 사용됩니다.

Q2: 임베딩은 어떻게 작동하나요?
예를 들어 다음은 세 문장입니다:
- "고양이가 쥐를 쫓는다."
- "새끼 고양이는 설치류를 사냥한다".
- "햄 샌드위치 좋아해요." 햄 샌드위치 좋아해요.
인간이 이 세 문장을 분류한다면 1문장과 2문장은 거의 같은 의미를 가지지만 3문장은 완전히 다른 문장이 될 것입니다. 하지만 영어 원문을 보면 문장 1과 문장 2에서 "The"만 동일하고 다른 단어는 동일하지 않습니다. 컴퓨터가 처음 두 문장의 관련성을 어떻게 이해할 수 있을까요? 임베딩은 불연속적인 정보(단어와 기호)를 분산된 연속값 데이터(벡터)로 압축합니다. 앞의 문구를 그래프에 그려보면 다음과 같이 보일 수 있습니다:

텍스트를 컴퓨터가 이해할 수 있는 다차원 벡터화된 공간에 임베딩하여 압축한 후, 문장 1과 2는 의미가 비슷하기 때문에 서로 가깝게 그려집니다. 3번 문장은 이들과 관련이 없으므로 더 멀리 떨어져 있습니다. 네 번째 구문인 "샐리는 스위스 치즈를 먹었다"가 있다면 아마도 3번 문장(치즈는 샌드위치에 올라간다)과 1번 문장(쥐는 스위스 치즈를 좋아한다) 사이에 존재할 것입니다.
Q3: 키워드 검색에 비해 임베딩의 시맨틱 검색 접근 방식의 장점은 무엇인가요?
- 의미론적 이해: 임베딩 기반 검색 방법은 텍스트를 단어 벡터로 표현하므로, 문자 그대로의 일치에 초점을 맞추고 단어 간의 의미론적 연결을 무시할 수 있는 키워드 기반 검색과 달리 모델이 단어 간의 의미론적 연관성을 포착할 수 있습니다.
- 오류 허용 범위: 임베딩 기반 방식은 단어 간의 관계를 이해할 수 있기 때문에 맞춤법 오류, 동의어, 동의어에 가까운 단어와 같은 경우를 처리하는 데 더 유리합니다. 반면 키워드 기반 검색 방식은 이러한 경우를 처리하는 데 상대적으로 취약합니다.
- 다국어 지원: 많은 임베딩 메서드는 여러 언어를 지원할 수 있으므로 다국어 텍스트 검색을 달성하는 데 도움이 됩니다. 예를 들어 중국어 입력을 사용하여 영어 텍스트 콘텐츠를 쿼리할 수 있지만 키워드 기반 검색 방식은 이를 수행하기 어렵습니다.
- 문맥 이해: 임베딩 기반 방식은 문맥에 따라 단어에 다른 벡터 표현을 할당할 수 있기 때문에 단어의 의미가 여러 가지인 경우를 처리하는 데 더 유리합니다. 반면 키워드 기반 검색 방식은 문맥에 따라 같은 단어의 의미를 잘 구분하지 못할 수 있습니다.
Q4: 검색 임베딩의 한계는 무엇인가요?
- 입력 단어 수 제약: 대규모 모델의 참조를 위해 임베딩 기술의 도움으로 쿼리와 가장 일치하는 텍스트 조각을 선택하더라도 어휘 수 제약은 여전히 존재합니다. 검색에 광범위한 텍스트가 포함되는 경우, 모델에 주입되는 문맥 어휘의 양을 제어하기 위해 일반적으로 검색 결과에 대해 TopK 임계값 K를 설정하지만, 이는 필연적으로 정보 누락 문제를 유발합니다.
- 텍스트 데이터만: 이 단계의 GPT-3.5와 많은 대규모 언어 모델에는 아직 이미지 인식 기능이 없지만, 지식 검색 과정에서 많은 주요 정보는 그래픽과 텍스트의 조합에 의존하여 완전히 이해해야 하는 경우가 많습니다. 예를 들어 학술 논문의 회로도나 재무 보고서의 데이터 차트는 텍스트만으로는 그 의미를 정확하게 파악하기 어렵습니다.
- (b) 대규모 모델 즉흥 작성: 검색된 관련 문헌이 질문에 정확하게 답변하기 위한 대규모 모델을 뒷받침하기에 충분하지 않은 경우, 모델은 최선을 다해 답변을 완성하기 위해 제한된 정보를 바탕으로 추측 및 추가하는 등 어느 정도의 '즉흥 작성'을 거칠 수 있습니다.
- 이론적 연구:
- [지식창고 구축 - 문서 벡터화]
- 실용적인 기술:
- [문서 벡터화 - 텐센트 워드 벡터]
- [문서 벡터화 - sbt]
- [문서 벡터화 - SimCSE]
- [문서 벡터화 - text2vec]
- [문서 벡터화 - SGPT]
- [문서 벡터화 - BGE - 스마트 소스 오픈 소스 가장 강력한 시맨틱 벡터 모델]
- [문서 벡터화 - M3E: 대규모 하이브리드 임베딩]
3단계: 문서 색인 작성
- 선물(직업 등)
- 실용적인 기술:
- [문서 빌드 인덱스 - Faiss]
- [문서 빌드 인덱스 - milvus]
- [문서 구축 인덱스 - Elasticsearch]
모듈 3: 빅 모델 미세 조정하기
대형 모델을 미세 조정해야 하는 이유는 무엇인가요?
일반적으로 대형 모델을 미세 조정하는 데에는 여러 가지 이유가 있습니다:
- 첫 번째 이유는 대규모 모델의 파라미터 수가 매우 많기 때문에 이를 학습하는 데 드는 비용이 매우 높기 때문에 각 회사에서 자체적으로 대규모 모델을 처음부터 학습하는 것이 매우 비용 효율적이기 때문입니다;
- 두 번째 이유는 프롬프트 엔지니어링 접근 방식이 큰 모델을 비교적 쉽게 시작할 수 있는 방법이지만 분명한 단점도 있기 때문입니다. 일반적으로 큰 모델의 구현 원칙에는 입력 시퀀스의 길이에 제한이 있기 때문에 프롬프트 엔지니어링 접근 방식은 프롬프트를 매우 길게 만들 수 있습니다.
프롬프트가 길수록 빅 모델의 추론 비용은 프롬프트 길이의 제곱과 양의 상관관계가 있기 때문에 더 높아집니다. 또한 프롬프트가 너무 길면 한계를 초과하여 잘리게 되며, 이로 인해 빅 모델의 출력 품질이 저하될 수 있습니다. 개인 사용자의 경우 일상 생활과 업무에서 몇 가지 문제를 해결하는 경우 일반적으로 프롬프트 엔지니어링을 직접 사용하는 것이 큰 문제가되지 않습니다. 그러나 외부에 서비스를 제공하는 기업의 경우 자체 서비스에서 빅 모델의 기능을 활용하려면 추론 비용을 고려해야 하며, 미세 조정이 상대적으로 더 나은 솔루션입니다.
- 세 번째 이유는 프롬프트 엔지니어링의 효과가 요구 사항에 미치지 못하고, 기업이 더 나은 자체 데이터를 보유하고 있어 특정 도메인에서 빅 모델의 기능을 더 향상시키는 데 사용할 수 있기 때문입니다. 이 경우 미세 조정이 매우 적합합니다.
- 네 번째 이유는 개인화된 서비스에서 빅 모델의 힘을 활용하기 위한 것으로, 각 사용자의 데이터에 대해 경량의 미세 조정 모델을 학습시키는 것이 좋은 솔루션입니다.
- 다섯 번째 이유는 데이터 보안 때문입니다. 데이터를 타사 빅 모델 서비스에 넘기지 않으려면 자체 빅 모델을 구축하는 것이 매우 필요합니다. 일반적으로 이러한 오픈 소스 빅 모델은 비즈니스의 요구 사항을 충족하기 위해 자체 데이터로 미세 조정해야 합니다.
대형 모델을 어떻게 미세 조정하나요?
Q1: 대형 모델에 대한 기술 경로 미세 조정 문제
매개변수 규모 관점에서 대규모 모델을 미세 조정하는 작업은 두 가지 기술 경로로 나뉩니다:
- 기술 경로 1: 전체 매개변수, 전체 훈련의 경우 이 경로를 전체 미세 조정 FFT(전체 미세 조정)라고 합니다.
- 기술 경로 II: 일부 매개변수만 학습되며, 이 경로를 PEFT(매개변수 효율적 미세 조정)라고 합니다.
Q2: 대형 모델에 대한 전체 볼륨 미세 조정 FFT 기술의 문제점은 무엇인가요?
FFT는 또한 몇 가지 문제를 야기하는데, 그 중 더 영향력 있는 두 가지 주요 문제는 다음과 같습니다:
- 문제 1: 미세 조정을 위한 매개변수 수가 사전 교육과 동일한 수이므로 교육 비용이 더 많이 듭니다;
- 문제 2: 특정 학습 데이터로 미세 조정하면 해당 영역의 성능이 향상될 수 있지만, 잘 수행되던 다른 영역의 능력도 저하될 수 있는 치명적 망각(Catastrophic Forgetting)이 발생할 수 있습니다.
Q3: 대형 모델의 경우 PEFT(파라미터 효율적 미세 조정)로 어떤 문제를 해결할 수 있나요?
PEFT가 해결하고자 하는 주요 문제는 위의 두 가지 FFT의 문제이며, 현재 PEFT는 보다 주류적인 미세 조정 프로그램이기도 합니다. 학습 데이터의 출처와 학습 방법의 관점에서 볼 때 다음과 같이 대규모 모델을 미세 조정하는 몇 가지 기술적 경로가 있습니다:
- 기술 경로 1: 지도 미세 조정 SFT(Supervised Fine Tuning)는 머신 러닝의 전통적인 지도 학습 접근 방식을 사용하여 수동으로 레이블이 지정된 데이터로 대규모 모델을 미세 조정하는 데 중점을 둡니다;
- 기술 경로 II: 인간 피드백을 통한 강화 학습(RLHF)의 주요 특징은 강화 학습을 통해 인간의 피드백을 빅 모델의 미세 조정에 도입하여 빅 모델에서 생성된 결과가 인간의 기대치에 더 부합할 수 있도록 하는 것입니다;
- 기술 경로 III: AI 피드백을 통한 강화 학습(RLAIF)은 원리는 RLHF와 거의 유사하지만 피드백의 출처가 AI입니다. 여기서 피드백 시스템의 효율성 문제를 해결하려는 이유는 사람의 피드백을 수집하면 상대적으로 비용이 더 많이 들고 효율성이 떨어지기 때문입니다.
서로 다른 분류 관점은 단순히 강조점이 다를 뿐이며, 동일한 빅 모델의 미세 조정은 특정 시나리오에 국한되지 않고 여러 시나리오를 함께 사용할 수 있습니다. 미세 조정의 궁극적인 목표는 관리 가능한 비용으로 특정 도메인에서 대규모 모델의 기능을 최대한 향상시킬 수 있도록 하는 것입니다.
빅 모델 LLM은 SFT 작업을 수행할 때 무엇을 학습하나요?
- 사전 학습 -> 대량의 비지도 데이터에 대한 사전 학습을 통해 기본 모델을 얻고 -> 사전 학습된 모델을 SFT 및 RLHF의 시작점으로 사용합니다.
- SFT --> 지도 데이터 세트에 대해 SFT 학습을 수행하고 컨텍스트 정보와 같은 지도 신호를 사용하여 모델을 추가로 최적화 --> SFT 학습된 모델을 RLHF의 시작점으로 사용합니다.
- RLHF --> 사람의 피드백을 사용하여 사람의 의도와 선호도에 더 잘 맞도록 모델을 최적화하는 강화 학습 --> RLHF로 학습된 모델을 평가 및 검증하고 필요한 조정을 수행합니다.
1단계: 대규모 모델 미세 조정 학습 데이터 구축
- 소개: 트레이닝 데이터를 구축하는 방법은 무엇인가요?
- 실용적인 기술:
- [대규모 모델(LLM) SFT 데이터 생성을 위한 LLM 방법론]
2단계: 대형 모델 지침 미세 조정하기
- 소개: 트레이닝 데이터를 구축하는 방법은 무엇인가요?
- 실용적인 기술:
- [대형 모델(LLM)에 대한 지속적인 사전 교육]
- [LLM 지침 미세 조정]
- [LLM 보상 모델 교육 챕터]
- 대규모 모델(LLM)을 위한 강화 학습 - PPO 교육 장
- 대규모 모델(LLM)을 위한 강화 학습 - DPO 교육 장
모듈 4: 문서 검색
문서 검색이 필요한 이유는 무엇인가요?
문서 검색 RAG의 핵심 작업인 문서 검색은 다운스트림 작업에서 그 효율성이 매우 중요합니다. 벡터 리콜을 통해 문서 저장소에서 사용자 질문과 관련된 문서 조각을 불러와 동시에 LLM에 입력함으로써 모델 답변 품질을 향상시킬 수 있습니다. 문서 리콜을 수행하는 일반적인 방법은 사용자의 질문을 직접 사용하는 것입니다. 그러나 사용자의 질문은 매우 구어체적이고 모호하게 설명되어 벡터 리콜의 품질과 모델 응답에 영향을 미치는 경우가 많습니다. 이 장에서는 주로 문서 검색 과정에서의 몇 가지 문제점과 그에 따른 해결책을 소개합니다.
1단계: 문서 검색 음성 샘플 마이닝
- 소개: 모든 종류의 검색 작업에서 양질의 검색 모델을 학습시키기 위해서는 대량의 후보 샘플 세트에서 고품질의 부정적 예시와 긍정적 예시를 함께 샘플링해야 하는 경우가 많습니다.
- 실용적인 기술:
- [문서 검색 - 네거티브 샘플 마이닝]
2단계: 문서 검색 최적화 전략
- 소개: 문서 검색 최적화 전략
- 실용적인 기술:
- 문서 검색 - 문서 검색을 위한 최적화 전략
모듈 V: 리랭커
리랭커가 필요한 이유는 무엇인가요?
기본 RAG 애플리케이션은 네 가지 주요 기술 구성 요소로 이루어져 있습니다:
- 임베딩 모델: 외부 문서와 사용자 쿼리를 임베딩 벡터로 변환하는 데 사용됩니다.
- 벡터 데이터베이스임베딩 벡터를 저장하고 벡터 유사성 검색(가장 관련성이 높은 Top-K 정보 검색)을 수행하는 데 사용됩니다.
- 프롬프트 엔지니어링: 사용자 질문과 검색된 컨텍스트를 더 큰 모델로 결합하기 위한 입력 사항
- LLM(대규모 언어 모델링): 응답 생성용
위에서 설명한 기본 RAG 아키텍처는 '착시 현상'을 일으키고 신뢰할 수 없는 콘텐츠를 생성하는 LLM의 문제를 효과적으로 해결합니다. 그러나 일부 기업 사용자는 문맥 관련성 및 Q&A 정확도를 위해 보다 정교한 아키텍처를 필요로 합니다. 입증되고 널리 사용되는 접근 방식은 R랭커를 RAG 애플리케이션에 통합하는 것입니다.
리랭커란 무엇인가요?
리랭커는 검색 결과를 평가하고 쿼리 관련성을 개선하기 위해 순서를 재조정하는 정보 검색(IR) 에코시스템의 중요한 부분입니다. RAG 애플리케이션에서 Reranker는 주로 벡터 쿼리(ANN)의 결과를 얻은 후에 사용되며, 이를 통해 문서와 쿼리 간의 의미적 관련성을 보다 효과적으로 결정하고 결과를 보다 세밀하게 재랭크하여 궁극적으로 검색 품질을 개선할 수 있게 해줍니다.
1단계: 부품 재랭커
- 이론적 연구:
- RAG 문서 검색 - 리랭커 섹션
- 실용적인 기술:
- [리랭커 - bge-리랭커 챕터]
모듈 6: RAG 평가 표면
RAG를 검토해야 하는 이유는 무엇인가요?
RAG(검색 증강 생성기)를 탐색하고 최적화할 때, 그 성능을 효과적으로 평가하는 방법이 중요해졌습니다.
1단계: RAG 검토
- 이론적 연구:
- [RAG 리뷰]
모듈 7: RAG 오픈 소스 프로젝트 권장 학습
RAG 오픈 소스 프로젝트 추천 학습이 필요한 이유는 무엇인가요?
RAG의 다양한 프로세스를 안내해 드렸으니, 초보자가 이해하고 배우는 데 도움이 되는 몇 가지 추천 RAG 오픈 소스 프로젝트를 소개합니다.
RAG 오픈 소스 프로젝트 권장 사항 - RAGFlow 문서
- 소개: RAGFlow는 심층적인 문서 이해를 기반으로 구축된 오픈 소스 검색 증강 세대(RAG) 엔진입니다. RAGFlow는 모든 규모의 기업과 개인을 위한 간소화된 RAG 워크플로우를 제공하며, 대규모 언어 모델(LLM)과 결합하여 신뢰할 수 있는 질문과 답변, 정당한 인용을 제공합니다. RAGFlow는 모든 규모의 조직과 개인을 위한 간소화된 RAG 워크플로우를 제공하며, 대규모 언어 모델(LLM)과 결합하여 다양하고 복잡한 데이터 형식에 대해 신뢰할 수 있는 질문, 답변 및 정당한 인용을 제공합니다.
- 프로젝트 학습:
- RAG 프로젝트 권장 사항 - RagFlow 파트 I - RagFlow 도커 배포
- RAG 프로젝트 추천 - 래그플로우 파트 (II) - 래그플로우 지식 베이스 구축하기]
- RAG 프로젝트 권장 사항 - RagFlow 파트 (3) - RagFlow 모델 공급업체 선택
- RAG 프로젝트 추천 - 래그플로우 파트 (4) - 래그플로우 대화]
- RAG 프로젝트 권장 사항 - RagFlow 파트 (V) - RAGFlow Api 액세스 (바로가기) ollama (예)]
- RAG 프로젝트 권장 사항 - RagFlow 파트 (VI) - RAGFlow 소스 코드 학습
RAG 오픈 소스 프로젝트 권장 사항 - QAnything
- 소개: QAnything(무엇이든 기반 질문 및 답변)은 다양한 파일 형식과 데이터베이스를 지원하도록 설계된 로컬 지식창고 질문 및 답변 시스템으로, 오프라인 설치 및 사용이 가능합니다. QAnything을 사용하면 로컬에 저장된 모든 형식의 파일을 간단히 삭제하고 정확하고 빠르고 신뢰할 수 있는 답변을 얻을 수 있으며, 현재 QAnything이 지원하는 지식창고 파일 형식은 PDF(pdf) , Word(docx) , PPT(pptx) , XLS(xlsx) , Markdown(md) , Email. (eml) , TXT(txt), 이미지(jpg, jpeg, png), CSV(csv), 웹 링크(html) 등입니다.
- 프로젝트 학습:
- [RAG 오픈 소스 프로젝트 권장 사항 -- QAnything [글쓰기]
RAG 오픈 소스 프로젝트 권장 사항 - ElasticSearch-Langchain 문서
- 소개: 엘라스틱서치는 텍스트와 벡터 방식으로 혼합 쿼리를 수행할 수 있고 비즈니스 시나리오에서 더 널리 사용되기 때문에, 이 프로젝트는 지식 저장소로 파이스를 엘라스틱서치로 대체하고 Langchain+Chatglm2를 사용하여 지능형 퀴즈를 구현합니다. 자체 지식 베이스를 기반으로 한 지능형 Q&A를 구현합니다.
- 프로젝트 학습:
- [LLM 시작하기] 로컬 지식 베이스를 기반으로 효율적인 🤖ElasticSearch-랑체인-챗글m2]
RAG 오픈소스 프로젝트 추천 - Langchain-Chatchat 기사
- 소개 : 로컬 지식 기반 LLM (예 : ChatGLM)을 갖춘 Langchain-Chatchat (이전 Langchain-ChatGLM) QA 앱 | Langchain-Chatchat (이전 langchain-ChatGLM), 로컬 지식 기반 LLM(예: ChatGLM) QA 앱(langchain 포함)
- 프로젝트 학습:
- [LLM 시작하기] 로컬 지식 베이스를 기반으로 한 효율적인 🤖랭체인-챗챗]
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...