이것은 제가 지금 진행 중인 프로젝트로, Generative AI 인터뷰에 대한 질문과 답변 목록을 작성하려고 합니다.
나는 이 참고 자료를 기초로 사용하고 있으며 그것을 편집한 데 대해 공로를 인정합니다. 그러나 질문과 답변을 편집하는 데 많은 자유를 누리고 있으며 답변은 완전히 내 것입니다.
참고: 저는 이 주제에 대해 권위 있는 출처가 아니기 때문에 제가 직접 작성한 답변을 최소한으로 유지하려고 노력하고 있습니다. 제가 할 수 있는 한 최선을 다해 참고 자료를 제공하겠습니다. 가독성을 높이고 유지 관리의 복잡성을 최소한으로 유지하기 위해 어떤 종류의 시각 자료도 추가하지 않았습니다. 제가 인용한 리소스와 참고 자료에는 풍부한 정보가 포함되어 있으며 주로 시각적 자료가 포함되어 있습니다.
이를 언어뿐만 아니라 확산 모델부터 비전 언어 모델까지 모든 것을 포괄하는 Generative AI 전반으로 확장할 계획입니다. 기본 구조를 파악하고 예비 결과에 만족하면 이 저장소에 기여하기 위한 효율적인 방법론을 확립하기 위해 노력한 다음 기여를 위해 공개할 예정이지만 지금은 그대로 유지하고 싶습니다. 간단하고 집중적입니다.
중요한:
제가 제공하는 답변이 제가 직접 작성한 것인지, 아니면 출처를 인용하는 것인지에 관계없이 어떤 식으로든 확정적인 것이 아니라는 점을 명확히 할 필요가 있을 것 같습니다. 제가 하려는 것은 여러분이 시작하도록 하려는 것입니다. 올바른 길을 가고 무엇을 기대할 수 있는지에 대한 일반적인 아이디어를 제공하려면 내가 제공하는 모든 리소스를 반드시 읽어보고 그 중 일부도 읽어야 합니다. 이곳을 마지막 정거장으로 삼고 싶다면 이곳이 잘못된 장소입니다. 이것이 시작되는 곳입니다.
또한 이제 막 시작하신 분들을 위해 제가 드릴 수 있는 유일한 조언은 다음과 같습니다.
신문은 끝이 없으므로 편안하게 신문을 읽으세요.
논문 읽는 방법에 관한 논문: 논문 읽는 방법
1. LLM 및 프롬프트 기본 사항
2. 검색 증강 생성(RAG)
3. 청킹 전략
4. 검색을 위한 모델 삽입
5. 벡터 검색, 데이터베이스 및 인덱스
6. 고급 검색 알고리즘
7. 언어 모델 내부 작동
각 데이터 포인트가 고양이를 나타내는 데이터 세트를 고려해 보겠습니다. 이를 각 모델 유형에 전달하여 어떻게 다른지 살펴보겠습니다.
LLM(대형 언어 모델)의 정의를 처음부터 작성해 보겠습니다.
추가 자료: 일반 크롤링
대규모 언어 모델은 종종 여러 단계로 훈련되며 이러한 단계를 종종 사전 훈련, 미세 조정 및 정렬이라고 합니다.
이 단계의 목적은 감독되지 않은 방식으로 모든 언어 에 모델을 노출시키는 것입니다. 이는 종종 훈련에서 가장 비용이 많이 드는 부분이며 많은 계산이 필요합니다. 사전 훈련은 Common Crawl 데이터 세트와 같은 것에 대해 수행되는 경우가 많으며 FineWeb 및 RedPajama와 같은 데이터 세트의 처리된 버전이 사전 훈련에 사용되는 경우가 많습니다. 이러한 광범위한 유형의 학습을 촉진하기 위해 MLM(Masked Language Modeling), NSP(다음 문장 예측) 등과 같이 사용할 수 있는 여러 교육 작업이 있습니다.
마스크 언어 모델링은 문장에서 단어를 마스크하고 모델에 이를 예측하도록 요청하는 Cloze 테스트를 기반으로 합니다. 빈칸 채우기 테스트와 유사합니다. 모델이 문장의 다음 단어를 예측하도록 요청하는 것과는 다릅니다. 모델이 단어의 순서뿐만 아니라 문장의 맥락을 이해해야 하기 때문입니다.
다음 문장 예측은 모델에 두 개의 문장이 주어지고 두 번째 문장이 첫 번째 문장 뒤에 오는지 예측해야 하는 작업입니다. 간단하게 들리겠지만, 첫 번째 문장의 맥락과 두 문장 간의 관계를 이해하려면 모델이 필요합니다.
이러한 작업에 대해 자세히 알아볼 수 있는 훌륭한 리소스는 BERT 논문입니다.
이 단계는 사전 훈련보다 훨씬 간단합니다. 모델이 이미 언어에 대해 많은 것을 배웠고 이제 특정 작업에 관해 가르치기만 하면 되기 때문입니다. 이 단계에 필요한 것은 입력 데이터(프롬프트)와 레이블(응답)뿐입니다.
이 단계는 종종 가장 중요하고 복잡한 단계이며, 별도의 보상 모델 사용, 강화 학습과 같은 다양한 학습 패러다임 사용 등이 필요합니다.
이 단계의 주요 목표는 모델의 예측을 인간의 선호도에 맞추는 것입니다. 이 단계는 종종 미세 조정 단계와 얽혀 있습니다. 이 단계의 필수 읽기 자료는 InstructGPT 논문입니다. 이 논문에서는 근접 정책 최적화를 사용하는 RLHF(Reinforcement Learning from Human Feedback) 개념을 소개했습니다.
모델의 예측을 인간 선호도에 맞추는 다른 방법은 다음과 같습니다.
토큰은 모델이 이해할 수 있는 가장 작은 텍스트 단위이며 단어, 하위 단어 또는 문자일 수 있습니다.
토크나이저는 텍스트를 토큰으로 변환하는 역할을 하며 텍스트를 공백으로 분할하는 것처럼 간단할 수도 있고 하위 단어 토큰화를 사용하는 것처럼 복잡할 수도 있습니다. 토크나이저의 선택은 텍스트의 맥락을 이해하는 모델의 능력에 영향을 미칠 수 있으므로 모델 성능에 상당한 영향을 미칠 수 있습니다.
몇 가지 일반적인 토크나이저에는 다음이 포함됩니다.
추천 독서(및 시청):
이것은 매우 많은 질문이지만 이 주제를 더 자세히 살펴볼 수 있는 몇 가지 리소스는 다음과 같습니다.
매개변수는 다음과 같습니다:
이러한 각 매개변수를 조정하여 모델 성능과 생성된 텍스트의 품질을 향상시킬 수 있습니다.
추천 도서:
디코딩 전략은 시퀀스에서 다음 토큰을 선택하는 데 사용되며 단순한 탐욕적 디코딩부터 보다 복잡한 샘플링 전략까지 다양합니다.
몇 가지 일반적인 디코딩 전략은 다음과 같습니다.
최신 디코딩 전략에는 투기적 디코딩(지원 디코딩)이 포함됩니다. 이 개념에는 더 작은(따라서 더 빠른) 모델의 후보 토큰을 사용하여 더 큰 모델에서 매우 빠르게 응답을 생성하는 작업이 포함됩니다.
추천 도서:
디코딩 프로세스에서 LLM은 한 번에 하나의 토큰씩 자동 회귀 방식으로 텍스트를 생성합니다. 텍스트 생성을 중지할 시기를 결정하는 데 사용할 수 있는 몇 가지 중지 기준이 있습니다. 몇 가지 일반적인 중지 기준은 다음과 같습니다.
A prompt contains any of the following elements:
Instruction - a specific task or instruction you want the model to perform
Context - external information or additional context that can steer the model to better responses
Input Data - the input or question that we are interested to find a response for
Output Indicator - the type or format of the output.
참고: 프롬프트 엔지니어링 가이드
추천 도서:
참고: 프롬프트 엔지니어링 가이드
추천 도서:
상황 내 학습은 자연어 처리에서 매우 직관적이고 이해하기 쉬운 학습 패러다임입니다. 이는 퓨샷 학습(few-shot learning)과 같은 개념을 포함합니다. 모델이 수행하기를 원하는 작업의 몇 가지 예를 제공하는 것만큼 쉬울 수 있으며, 모델은 이러한 예를 통해 학습하고 그에 따라 응답을 생성합니다.
추천 도서:
상황 내 학습은 모델이 특정 크기로 확장되고 모델이 다양한 작업 세트에 대해 훈련될 때만 나타날 수 있는 것으로 나타났습니다. 모델이 복잡한 추론 작업을 수행할 수 없으면 상황 내 학습이 실패할 수 있습니다.
추천 도서:
이는 매우 광범위한 질문이지만 다음은 특정 작업에 대한 프롬프트를 디자인하는 방법에 대한 기본적인 이해를 형성하는 데 도움이 됩니다.
또는 새로운 연구 방향에서는 프롬프트를 최적화하는 알고리즘 방식을 사용하여 조사합니다. 이는 이를 수행하는 수단을 제공하는 DSPy 패키지에서 광범위하게 탐색되었으며 해당 작업도 이 논문에 게시됩니다.
이 질문에 대한 답은 없습니다. 이를 핑계로 다음 참고 자료를 연결합니다.
LLM이 매번 구문 분석 가능한 구조화된 출력을 생성하도록 하는 방법에는 여러 가지가 있으며, 일반적인 방법은 LLM의 함수 호출 개념에 따라 다릅니다.
추천 읽기 및 보기:
The term describes when LLMs produce text that is incorrect, makes no sense, or is unrelated to reality
참고 자료: LLM 환각 - Nexla의 유형, 원인 및 해결 방법
추천 도서:
사고 사슬 프롬프트의 개념은 LLM의 추론 능력을 향상시키는 것으로 알려져 있습니다. 이 기술에는 복잡한 작업을 일련의 간단한 작업으로 나누고 모델에 각 작업의 중간 출력을 제공하여 최종 출력을 안내하는 작업이 포함됩니다.
추천 도서:
RAG(Retrieval Augmented Generation)는 LLM 답변을 사실에 기반을 두기 위한 일반적인 디자인 패턴입니다. 이 기술에는 지식 기반에서 관련 정보를 검색하고 이를 사용하여 LLM의 텍스트 생성을 안내하는 작업이 포함됩니다.
추천 도서:
검색 증강 생성(RAG)은 두 가지 주요 구성 요소로 구성됩니다.
RAG의 직관은 검색 기반 모델과 생성 기반 모델의 장점을 결합하여 사실에 기반한 텍스트를 생성하여 환각을 제한할 수 있는 시스템을 만들 수 있다는 것입니다.
RAG는 모델이 외부 정보를 활용하여 보다 정확하고 유익한 답변을 제공할 수 있도록 해주기 때문에 지식 기반을 기반으로 복잡한 질문에 답변하는 데 자주 사용되는 기술입니다. 독점 데이터에 대한 모델을 미세 조정하는 것이 항상 가능한 것은 아니며 RAG는 미세 조정 없이 외부 지식을 통합할 수 있는 방법을 제공합니다.
지식 기반을 기반으로 복잡한 질문에 대답하기 위해 RAG를 활용하는 전체 솔루션에는 다음 단계가 포함됩니다.
이것은 매우 많은 질문이지만 이 주제를 더 자세히 살펴볼 수 있는 몇 가지 리소스는 다음과 같습니다.
텍스트 청킹은 큰 텍스트 조각을 더 작고 관리하기 쉬운 덩어리로 나누는 프로세스입니다. RAG 시스템의 맥락에서 청킹은 검색기 구성 요소가 지식 기반에서 관련 정보를 효율적으로 검색할 수 있게 해주기 때문에 중요합니다. 쿼리를 더 작은 청크로 분할함으로써 검색기는 각 청크와 관련된 정보를 검색하는 데 집중할 수 있으므로 검색 프로세스의 정확성과 효율성이 향상될 수 있습니다.
검색기로 자주 사용되는 임베딩 모델을 훈련하는 동안 양수 및 음수 텍스트 쌍을 사용하여 어떤 텍스트 조각이 서로 대응하는지 나타냅니다. 예로는 Wikipedia 페이지의 제목, 헤더, 하위 헤더 및 해당 단락이 있습니다. , Reddit 게시물 및 최고 투표 댓글 등
사용자 쿼리가 종종 포함되고 인덱스가 쿼리됩니다. 인덱스에 상위 k 히트에 대해 쿼리할 전체 문서가 포함된 경우 검색기는 쿼리할 문서가 가장 관련성이 높은 정보를 반환할 수 없습니다. 너무 커서 이해하기 어려울 것이다.
요약하면 다음과 같은 이유로 텍스트를 청크합니다.
24개 장, 총 240페이지로 구성된 책이 있다고 가정해 보겠습니다. 즉, 각 장은 10페이지로 구성되고 각 페이지에는 3개의 단락으로 구성됩니다. 각 문단에 5개의 문장이 있고, 각 문장에 10개의 단어가 있다고 가정해 보겠습니다. 총 챕터당 10 * 5 * 3 * 10 = 1500단어가 있습니다. 또한 책 전체에는 1500 * 24 = 36000 단어가 있습니다. 단순화를 위해 토크나이저는 공백 토크나이저이고 각 단어는 토큰입니다.
우리는 기껏해야 8192개의 토큰을 내장할 수 있는 내장 모델을 가지고 있다는 것을 알고 있습니다.
이 모든 것은 텍스트를 청크하는 고정된 방법이 없다는 점을 설명하기 위한 것이며, 텍스트를 청크하는 가장 좋은 방법은 실험을 통해 사용 사례에 가장 적합한 것이 무엇인지 확인하는 것입니다.
이 주제에 대한 권위 있는 소스는 다양한 수준의 텍스트 분할을 설명하는 Greg Kamradt의 훌륭한 노트북과 함께 제공되는 비디오입니다.
또한 노트북은 다양한 수준의 텍스트 분할을 평가하고 시각화하는 방법과 검색 시스템에서 이를 사용하는 방법을 설명합니다.
추천 시청:
벡터 임베딩은 벡터 공간 내에서 유사한 텍스트가 유사한 벡터로 표현되는 벡터가 텍스트를 나타내는 N차원 공간에 텍스트 의미 체계를 매핑하는 것입니다.
추천 도서:
임베딩 모델은 텍스트를 벡터화할 목적으로 훈련된 언어 모델이며 종종 BERT 파생물이며 텍스트의 의미를 배우기 위해 대규모 텍스트 모음에서 훈련됩니다. 그러나 최근 추세는 훨씬 더 큰 언어 모델을 사용하는 것이 가능하다는 것을 보여줍니다. Mistral 또는 Llama와 같은 목적을 위해.
추천 읽기 및 보기:
임베딩 모델은 검색 기능을 활용하기 위해 검색기로 자주 사용되며, 모델에 의해 생성된 벡터에서 내적, 코사인 유사성과 같은 측정항목을 사용하여 유사성을 측정하는 경우 의미론적 텍스트 유사성이 사용됩니다.
추천 도서:
임베딩 모델은 단순한 대조 손실부터 InfoNCE 및 다중 부정적 순위 손실과 같은 더 복잡한 손실 함수까지 다양한 대조 손실로 학습됩니다. 하드 네거티브 마이닝(Hard Negative Mining)으로 알려진 프로세스도 훈련 중에 활용됩니다.
추천 도서:
대조 학습은 임베딩 모델을 훈련하는 데 사용되는 기술로, 긍정적인 텍스트 쌍과 부정적인 텍스트 쌍을 구별하는 학습이 포함됩니다. 모델은 양수 쌍 간의 유사성을 최대화하고 음수 쌍 간의 유사성을 최소화하도록 훈련되었습니다.
추천 도서:
크로스 인코더와 바이 인코더는 텍스트 검색 작업에 사용되는 두 가지 유형의 모델입니다. 둘 사이의 주요 차이점은 쿼리와 문서를 인코딩하는 방법입니다.
Reranker는 일반적으로 크로스 인코더로, 쿼리와 문서를 함께 인코딩하고 둘 사이의 유사성을 계산합니다. 이를 통해 쿼리와 문서 간의 상호 작용을 캡처하고 훨씬 더 높은 계산 복잡성을 희생하면서 바이 인코더보다 더 나은 결과를 생성할 수 있습니다.
텍스트 임베딩 모델은 일반적으로 이중 인코더이며 쿼리와 문서를 별도로 인코딩하고 두 임베딩 간의 유사성을 계산합니다. 이를 통해 크로스 인코더보다 계산 효율성이 높아지지만 쿼리와 문서 간의 명시적인 상호 작용을 캡처할 수는 없습니다.
단일 벡터 밀집 표현은 텍스트 임베딩 모델의 표준인 경우가 많으며 일반적으로 모델에서 순방향 전달 후 상황에 맞는 임베딩을 풀링하여 생성되며 풀링 기술에는 평균 풀링, 최대 풀링 및 CLS 토큰 풀링이 포함됩니다. 단일 벡터 밀집 표현의 기본 직관은 구현이 간단하고 광범위한 작업에 사용될 수 있을 뿐만 아니라 인덱싱 및 검색이 쉽다는 것입니다. 밀집 표현은 텍스트의 의미를 포착할 수도 있으며 2단계 순위 지정에 자주 사용됩니다.
다중 벡터 밀집 표현은 단일 벡터 밀집 표현에 비해 우수한 결과를 생성하는 것으로 나타났습니다. 이는 풀링 단계를 건너뛰고 행렬 형태의 상황화된 임베딩을 사용하여 생성된 다음 쿼리 및 문서 임베딩을 사용하여 두 벡터 간의 유사성을 계산합니다. 둘째, ColBERT와 같은 모델은 단일 벡터 밀도 표현에 대해 우수한 결과를 생성하는 것으로 나타났습니다. MaxSim과 같은 연산자는 쿼리와 문서 임베딩 간의 유사성을 계산하는 데 사용됩니다. 다중 벡터 밀집 표현의 이면에 있는 직관은 텍스트에 대한 더 많은 정보를 캡처하고 단일 벡터 밀집 표현보다 더 나은 결과를 생성할 수 있다는 것입니다. ColBERT와 같은 모델은 문서 임베딩을 미리 계산하는 기능도 제공하므로 매우 효율적인 검색이 가능합니다. 밀집 표현은 텍스트의 의미를 포착할 수도 있으며 2단계 순위 지정에 자주 사용됩니다.
추천 도서:
희소 텍스트 표현은 정보 검색에서 가장 오래된 형태의 벡터 공간 모델이며 일반적으로 BM25와 같은 TF-IDF 파생물 및 알고리즘을 기반으로 하며 텍스트 검색 시스템의 기준으로 남아 있습니다. 이들의 희소성은 임베딩의 차원이 종종 어휘의 크기와 일치한다는 사실에서 비롯됩니다. 희소 표현 뒤에 있는 직관은 설명 가능하고, 계산적으로 효율적이며, 구현하기 쉽고, 인덱싱 및 검색에 매우 효율적이라는 것입니다. 희소 표현도 어휘 유사성에 중점을 두고 있으며 첫 번째 단계 순위 지정에 자주 사용됩니다.
추천 도서:
희소 텍스트 임베딩을 사용하면 검색 중에 반전된 인덱스를 사용할 수 있습니다.
추천 도서:
임베딩 모델의 성능을 벤치마킹하기 위한 측정항목은 다음과 같습니다.
추천 읽기 및 보기:
임베딩 모델을 선택하는 것은 검색 시스템 성능에 있어 중추적인 요소가 될 수 있으므로 모델을 선택할 때는 신중하게 고려해야 합니다. 이는 실험이 포함된 광범위한 프로세스이며, 다음 리소스는 정보에 입각한 결정을 내리는 데 도움이 됩니다.
추천 시청:
벡터 데이터베이스는 벡터 데이터를 저장하고 쿼리하는 데 최적화된 데이터베이스입니다. 벡터 임베딩을 효율적으로 저장하고 검색할 수 있으며 의미론적 유사성 검색이 필요한 애플리케이션에 자주 사용됩니다. 벡터 데이터베이스는 GenAI 애플리케이션의 요구 사항을 충족하는 데 필요한 기술 스택의 일부로 등장한 새로운 패러다임입니다.
추천 시청:
기존 데이터베이스는 텍스트, 숫자, 날짜와 같은 구조화된 데이터를 저장하고 쿼리하는 데 최적화되어 있습니다. 벡터 데이터를 효율적으로 처리하도록 설계되지 않았습니다. 반면 벡터 데이터베이스는 벡터 데이터를 저장하고 쿼리하도록 특별히 설계되었습니다. 이들은 특수한 인덱싱 기술과 알고리즘을 사용하여 벡터의 양자화 및 클러스터링과 같은 빠르고 정확한 유사성 검색을 가능하게 합니다.
벡터 데이터베이스에는 일반적으로 벡터 인덱스가 포함되어 있으며 이러한 인덱스에는 벡터 임베딩 행렬이 포함되어 있으며 종종 그래프 데이터 구조도 사용되며 효율적으로 쿼리할 수 있는 방식으로 정렬됩니다. 쿼리가 수행되면 텍스트 또는 벡터 임베딩이 입력으로 제공되고, 텍스트의 경우 임베딩되며, 벡터 데이터베이스는 거리 측정법을 기반으로 가장 유사한 벡터를 검색하기 위해 적절한 인덱스를 쿼리합니다. 일반적으로 벡터는 코사인 유사성, 내적 또는 유클리드 거리와 같은 측정항목을 사용하여 비교됩니다. 벡터는 문서 ID, 문서 제목, 해당 텍스트 등과 같은 정보를 포함할 수 있는 메타데이터 사전과도 관련이 있습니다.
벡터 데이터베이스의 검색 전략에는 다음이 포함됩니다.
추천 도서:
벡터가 인덱싱되면 검색 공간을 줄이기 위해 클러스터링되는 경우가 많습니다. 이는 검색 프로세스 중에 비교해야 하는 벡터 수를 줄이기 위해 수행됩니다. 클러스터링은 유사한 벡터를 그룹화한 다음 클러스터를 인덱싱하여 수행됩니다. 쿼리가 수행되면 먼저 클러스터 수준에서 검색이 수행된 다음 클러스터 내 벡터 수준에서 검색이 수행됩니다. K-평균과 같은 알고리즘은 클러스터링에 자주 사용됩니다.
추천 도서:
이것은 분명히 매우 어려운 질문이지만 이 주제를 더 자세히 살펴볼 수 있는 몇 가지 리소스는 다음과 같습니다.
Vector quantization, also called "block quantization" or "pattern matching quantization" is often used in lossy data compression. It works by encoding values from a multidimensional vector space into a finite set of values from a discrete subspace of lower dimension.
참조 : 벡터 양자화
One general approach to LSH is to “hash” items several times, in such a way that similar items are more likely to be hashed to the same bucket than dissimilar items are.
참조 : 대규모 데이터 세트의 채굴, 제 3 판, 3 장, 섹션 3.4.1
권장 독서 :
In short, PQ is the process of:
- Taking a big, high-dimensional vector,
- Splitting it into equally sized chunks — our subvectors,
- Assigning each of these subvectors to its nearest centroid (also called reproduction/reconstruction values),
- Replacing these centroid values with unique IDs — each ID represents a centroid
참조 : 제품 양자화
권장 독서 :
The Inverted File Index (IVF) index consists of search scope reduction through clustering.
참조 : 반전 파일 색인
권장 독서 :
HNSW (Hierarchical Navigable Small Worlds)는 종종 벡터 검색의 최첨단으로 간주되며 벡터 그래프를 작성하고 가장 가까운 이웃 검색을 수행하는 데 사용하는 그래프 기반 알고리즘입니다.
권장 독서 :
벡터 검색에 사용 된 거리 및 유사성 메트릭은 다음을 포함합니다.
권장보기 :
이것은 매우 활발한 연구 주제이며 권위있는 출처는 존재하지 않지만이 주제를 더 탐색 할 수있는 몇 가지 리소스가 있습니다.
또한 검색, 검색 및 재고 시스템은 정보 검색, 권장 시스템 및 검색 엔진 분야의 확립 된 패턴 및 아키텍처를 기반으로 구축된다는 점도 주목할 가치가 있습니다.
탐색하려는 일부 시스템 아키텍처에는 다음이 포함됩니다.
대규모 시스템에서 우수한 검색을 달성하려면 효율적인 인덱싱, 검색 및 순위 기술의 조합이 포함됩니다. 대규모 시스템에서 좋은 검색을 달성하기위한 일부 전략에는 다음이 포함됩니다.
전체 프로세스는 복잡성을 증가시키는 단계에서 수행되며, 이는 단계적 순위 또는 다단계 검색이라고합니다.
권장 독서 :
그러나 대규모 시스템에서 좋은 검색을 달성하는 데있어 가장 중요한 측면은 검색 및 순위 전략을 실험하고 반복하며 시스템의 성능을 지속적으로 모니터링하고 평가하는 것입니다.
권장 독서 :
검색, 검색 및 래그 시스템 개선에 대한 권장 대화 :
빠른 검색을 달성하려면 사소한 엔지니어링 노력이 필요한 인덱싱 및 검색 프로세스를 최적화하는 것이 포함되며, 다음은 검색 및 검색 최적화 분야의 현재 환경의 일부 예입니다.
벡터 검색에서의 현재 최신 상태는 다중 벡터 임베딩 (늦은 상호 작용)이 단일 벡터 임베드보다 더 잘 수행되었음을 나타내지 만, 검색을 최적화하는 것은 중요한 엔지니어링 과제가되며, 다음은 다중 벡터 임베드와 검색에 대한 심층에 대해 논의합니다.
BM25 is a bag-of-words retrieval function that ranks a set of documents based on the query terms appearing in each document, regardless of their proximity within the document.
참조 : BM25
재고 모델은 한 쌍의 쿼리와 문서를 가져 와서 원시 비슷한 점수를 출력하도록 훈련 된 시퀀스 분류 모델입니다.
권장 읽기,보기 및 시청 :
RAG 시스템을 평가하려면 리트리버, 발전기 및 재 ranker와 같은 시스템의 개별 구성 요소를 실험하고 평가해야합니다.
권장 독서 :
참고 : 여기서부터 가능한 한 많이 응답하지 말고 논문과 참조 만 링크하면이 부분은 아마도 더 복잡한 부분 중 하나이므로 많은 읽기와 이해가 필요합니다.
주의를 이해하려면 변압기 아키텍처와 전임 아키텍처에 익숙해야합니다. 시작할 수있는 몇 가지 리소스는 다음과 같습니다.
자체 소송의 주요 병목 현상은 시퀀스 길이에 대한 2 차 복잡성입니다. 자기 정보의 단점을 이해하려면주의 대안에 익숙해지면 다음이 시작하는 데 도움이됩니다.
LLM에서 위치 정보를 인코딩하는 몇 가지 방법이 있습니다. 가장 일반적인 방법은 절대 위치 인코딩으로 알려진 정현파 위치 인코딩을 사용하는 것입니다. 다른 방법으로는 상대 위치 인코딩 및 로터리 위치 임베딩과 같은 새로운 방법이 포함됩니다. 시작할 수있는 몇 가지 리소스는 다음과 같습니다.
KV 캐시를 이해하려면 변압기 아키텍처 및 그 제한에 익숙해야합니다.
권장 독서 :
전문가의 혼합은 LLM의 아키텍처 유형으로, 작동 방식을 이해하려면 가장 두드러진 MOE 모델을 다루는 다음 리소스를 거쳐야합니다.