반응형

LLM 4

Bi-Encoder 모델 구조

바이 인코더는 BERT 모델의 출력을 풀링(Pooling)층을 통해 고정된 크기의 문장 임베딩을 생성합니다. BERT 모델은 입력 토큰마다 출력 임베딩을 생성하는데 풀링층을 사용해 문장을 대표하는 1개의 임베딩으로 통합합니다.풀링층을 통해 문장의 길이가 달라져도 1개의 고정된 차원의 임베딩이 반환되기 때문에 코사인 유사도(Cosine Similiary)와 같은 거리 계산 방식을 활용해 두 문장 임베딩 사이의 거리를 쉽게 계산할수 있습니다.

AI/LLM 2025.02.09

문장 사이 관계를 계산하는 방법 Bi-Encoder vs Cross-Encoder

문장 Embedding을 활용하면 문장과 문장 사이의 유사도 혹은 관련성을 벡터 연산을 통해 쉽게 계산할수 있습니다. Transformer Encoder 구조를 활용한 BERT 모델은 입력 문장을 문장 Embedding으로 변환 시킬수 있습니다. 이 BERT 모델을 사용해 문장과 문장 사이의 관계를 계산할수 있는데 이 때 2가지 방법이 있는데 첫번째 바이인코더(Bi-Encoder) 두번째로는 교차인코더(Cross-Encoder) 가 있습니다 Bi-Encoder 바이 인코더 방식은 각각의 문장을 독립적으로 BERT 모델에 입력으로 넣고 출력결과인 문장 임베딩 벡터로 벡터 사이 코사인 유사도를 통해 문장 관계를 계산하는 방식입니다. BERT 다음 Pooling Layer를 넣는 이유는 문장 임베딩 벡터의 차..

AI/LLM 2025.02.08

Attention

Attention에서의 핵심개념은 query, key, value 이다Attention이라는 개념이 나온 이유는 사람이 단어 사이의 관계를 고민하는 과정을 Deep Learning 모델이 수행할 수 있도록 모방하기 위한 연산 때문이다 1. 단어와 단어 사이의 관계를 계산해서 그 값에 따라 관련이 깊은 단어와 그렇지 않은 단어 를 구분할 필요가 있음2. 관련이 깊은 단어는 더 많이, 적은 단어는 더 적게 맥락에 반영해야 함 Query, Key, Valueex] 나 어제 파리 여행을 다녀왔어여기서 파리는 곤충 파리인가? 프랑스 도시 파리인가?문장의 문맥을 통해 파리가 도시인지 알기 쉬운 키는 '파리', '여행을', '다녀왔어' 이다  '파리'와 관계가 높은 키 값을 찾아야 함Query와 Key 토큰을 토큰 ..

AI/LLM 2024.12.01

RAG Pipeline과 LlamaIndex, LangChain 간략소개

RAG(Retrieval-Augmented Generation) RAG는 대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식베이스를 참조하도록 하는 프로세스 RAG 사용 이전에는 LLM에 문제점들이 있었음, 거짓 답변(할루시네이션), 학습 이전의 최신 정보를 모름 등의 문제가 있었지만 RAG를 사용함으로써 해당 문제들이 해결됨 RAG PipelineUser Query가 들어오면 관련성 있는 문서를 Retrieval해서 결과를 생성해 사용하는 형태 Rag Framework에는 크게 두가지가 있는 LlamaIndex와 LangChain이 존재 LlamaIndex & LangChain LlamaIndex는 Document를 넣어주면 code 몇줄만으로 Ve..

AI/LLM 2024.11.25