- 개인적인 MCP, A2A 정리
MCP - 도구와 함수 관련, 일종의 코드 패키지 내지 라이브러리
A2A - 개별 서비스 관련, 일종의 홈페이지 내지 모바일 어플
- 임베딩
딥러닝 모델이 데이터를 표현하는 방식. 데이터를 그 의미를 담아 여러 개의 숫자의 집합으로 표현하는 것
- 검색 알고리즘
희소 검색 : 문서와 쿼리를 희소 벡터로 표현
- TF-IDF : TF 특정 단어 얼마나 자주, IDF 전체 문서에서 얼마나 희귀한지
- BM25 : TF-IDF 개선. 문서 길이와 빈도 영향 정교히 조정
밀집 검색 : 문서와 쿼리를 고차원 밀집 벡터 형태로 표현. 존재 빈도 고려 희소와는 달리 의미와 문맥도 고려.
트랜스포머 기반 임베딩 모델을 통해 텍스트를 의미공간에 매핑. ( 워드투벡 )
앙상블 검색 : 둘이 섞은거
- RAG
RAG(Retrieval-Augmented Gneration)는 검색-증강-생성
RAG는 대규모 언어 모델의 결과 품질 향상을 위해 검색 시스템을 결합하여 연관 데이터 소스를 참조하는 프로세스를 의미.
환각을 해결하기 위한 노력으로 특정 도메인이나 최신 정보에 대한 쿼리에서 큰 장점 발휘.
LLM에 직접 학습시키는 대신 외부 데이터 소스를 활용한다는 점에서 비용 효율적.
- 역전파란?
역전파는 신경망에서 출력값과 정답 사이의 오차를 계산한 뒤, 이 오차를 네트워크의 각 층을 거꾸로 전파하면서 가중치를 업데이트하는 알고리즘입니다. 각 가중치가 오차에 얼마나 영향을 미쳤는지를 계산하기 위해 연쇄법칙(chain rule)을 사용하며, 이 과정을 통해 모델이 점점 더 정확한 예측을 하도록 학습됩니다.
- 자코비안 행렬을 통해 계산 효율성 향상 ( 저장해둠 )
- 오차(loss)는 출력층에서 계산되고, 이를 기반으로 각 층의 가중치에 대해 기울기(미분)을 계산함.
- 이 미분 값을 사용해 경사하강법(Gradient Descent)으로 가중치를 업데이트함.
즉, 역전파는 연쇄법칙을 사용하여 자코비안을 곱하면서 기울기를 계산하는 과정입니다.
- 시퀀스 데이터 처리 모델 ( Transformer )
1. RNN
입력 텍스트를 순차적으로 처리해서 다음 단어 예측.
'하나의 잠재 상태(hidden state)'에 지금 까지의 입력 텍스트의 맥락을 압축한다.
모든 입력을 하나 잠재 상태로 > 메모리 적게 사용한다.
순차적으로 입력되는 단어를 하나의 잠재 상태에 압축하다 보니 먼저 입력한 단어의 의미가 점차 희석되며,
입력이 길어지는 경우 의미를 충분히 담지 못하고 성능이 떨어진다.
2. 트랜스포머
RNN의 순차적인 처리 방식을 버리고 맥락을 모두 참조하는 어텐션 연산 사용.
하나의 잠재 상태로 맥락을 파악하던 것과 달리 맥락 데이터를 그대로 모두 활용해 다음 단어 예측
모든 맥락으로 인해 RNN 보다 메모리 사용량 증가.
>
기존의 RNN은 텍스트를 순차적으로 하나씩 입력하는 형태. 입력 토큰을 RNN에 넣고 출력 결과를 다시 모델의 입력으로 넣는다. 그렇기에 병렬적으로 처리하지 못한다. 이렇게 순차적으로 처리해야 하기 때문에 학습 속도가 느리고 입력이 길어지면 먼저 입력한 토큰의 정보가 희석되며 성능이 떨어진다.
( 성능을 높이고자 층을 깊이 쌓으면 그레디언트 소실 or 증폭 발생 으로 학습 불안정 )
트랜스포머는 이런 RNN의 문제 해결하기 위해 셀프 어텐션 개념 도입.
확장성 : 깊이 만들어도 OK
효율성 : 병렬 연산으로 학습 시간 단축
더 긴 입력 처리 : 입력 길어져도 성능 떨어지지 않음.
정리
트랜스포머는 순서를 따라 계산하는 RNN과 달리, 입력 전체를 한번에 처리할 수 있는 구조입니다. SelfAttention 메커니즘을 사용해 문장 내 단어들 사이의 관계를 파악하며, 병렬처리가 가능해 학습 속도가 빠릅니다.
트랜스포머에서는 Self Attention 매커니즘을 통해 각 토큰이 다른 모든 토큰을 얼마나 중요하게 여겨야할지를 학습합니다.
들어온 텍스트를 토큰화하고 임베딩해서 벡터화 한 후 위치인코딩을 추가해주고. 해당 임베딩을 쿼리, 키, 밸류로 변환한 후 쿼리와 키의 내적을 통해 유사도를 구하고(스코어 벡터), 이를 소프트맥스로 정규화하여 밸류에 합해줍니다. 이 과정을 통해 각 토큰은 문맥 정보를 반영할 수 있게 되고, 해당 어텐션을 여러개의 헤드로 나누어 학습하는 멀티헤드어텐션 구조가 트랜스포머의 구조입니다.
핵심 :
- 셀프 어텐션 사용 → 단어 관계 파악
- RNN과 달리 병렬 처리 가능 → 학습 속도 빠름
( 추가 )
인코더 : 문장 이해 , 디코더 : 이해를 바탕으로 문장 생성
트랜스포머의 구조는 인코더와 디코더로 나뉜다.
인코더는 입력 시퀀스 받아 문맥 정보를 포함한 표현으로 변환하고,
디코더는 이 표현을 바탕으로 출력 시퀀스를 생성한다.
디코더에는 이전에 생성된 토큰만 볼 수 있도록 마스킹된 self-attention이 들어가고
인코더의 정보를 활용하기 위해 encoder-decoder attention도 추가됨.
- LSTM과 GRU 차이
LSTM과 GRU는 둘 다 RNN의 한 종류고, 장기 의존성 문제를 해결하기 위해 고안된 구조입니다.
LSTM은 셀 상태와 3개의 게이트( 입력, 삭제, 출력 게이트 ) 를 가지며, GRU는 더 간단한 구조로 셀 상태 없이 2개의 게이트 ( 리셋, 업데이트 게이트) 만 사용합니다. 일반적으로 GRU가 계산량이 적고 빠르지만, LSTM이 더 복잡한 패턴을 잘 학습할 수 있는 경우도 있습니다.
LSTM | GRU | |
게이트 | 3개 ( 입력, 삭제, 출력 ) | 2개 ( 업데이트, 리셋 ) |
셀 | 있음 | 없음 ( 히든스테이트만 사용 ) |
구조 | 더 복잡 | 더 단순 |
성능 | 긴 시퀀스에 강함 | 학습 속도 빠름 |
- ReAct 에이전트란?
ReAct 에이전트는 Reason과 Act을 결합한 것으로, LLM이 외부 도구를 사용하면서도 논리적인 추론을 수행할 수 있도록 돕는 방식입니다. ReAct 구조에서 모델은 생각→행동 →관찰 을 반복적으로 동작하며 외부 툴과 상호 작용하며 문제를 해결해 나갑니다.
ReAct 방식은 단순 응답 생성에 비해 복잡한 문제 해결, 툴 사용, 정보 탐색에 매우 유리한 구조입니다.
핵심 : 생각의 사슬 CoT
- 벡터 데이터베이스
벡터 데이터 베이스란
(비정형)데이터를 벡터로 임베딩하여 저장. > 적절한 임베딩 모델만 있다면 모든 데이터 임베딩 가능.
벡터 데이터 베이스는 벡터 사이의 거리 계산에 특화된 데이터베이스입니다.
일반 데이터 베이스는 문자열 기반의 정확한 키워드 검색을 사용하지만, 벡터 데이터 베이스는 의미 기반의 유사도 검색을 지원합니다.
거리
비슷한 데이터는 가깝게 있고 다른 데이터는 멀리 위치하게 되는 임베딩 벡터의 특징으로 거리 계산을 통해 서로 비슷한 데이터를 찾을 수 있다.
벡터데이터베이스는 이러한 임베딩 벡터의 특징을 이용하기 위해 개발되었다.
유클리드 거리, 코사인 유사도, 점곱(내적)
원리
KNN :
검색하려는 벡터와 가장 가까운 K개의 이웃 벡터를 찾는 검색방식.
모든 데이터 조사하기 때문에 비효율
ANN ( HNSW )
HNSW는 계층(H)와 탐색가능스몰월드(NSW)가 합쳐진 용어.
탐색가능한 작은 세계
NSW : 적당히 랜덤하게 연결된 그래프상태
완전히 규칙 그래프 - 느림
완전히 랜덤 그래프 - 어쩔땐 빠르고 어쩔땐 연결안되는경우있을수도
계층 구조
상위 레벨 : 적은 노드, 긴 연결 → 멀리까지 빠르게 이동
하위 레벨 : 밀도 높은 연결 → 정밀 탐색
상위 레벨부터 시작하여 점점 하위 레벨로 이동하면서 탐색
특정 노드에서부터 가장 가까운 노드들을 따라 이동하며 검색
요약
KNN은 모든 벡터와 거리를 계산해 정확한 최근접 벡터를 찾는 방식이지만 속도가 느려 대규모 데이터에는 비효율적입니다.
반면 HNSW는 벡터를 탐색가능한 작은 세계 그래프 형태로 연결하고 계층적으로 탐색함으로써 매우 빠르게 검색을 할 수 있습니다. RAG에는 주로 HNSW기반 벡터 데이터베이스가 사용됩니다.
'공부 정리 > 면접 준비' 카테고리의 다른 글
[ 인공지능 ] PEFT 학습 (0) | 2025.05.18 |
---|---|
[ 인공지능 ] sLLM을 학습하기 위한 병렬 처리 방법 ( FFT ) (0) | 2025.05.18 |
간단 선형대수 용어 정리 (0) | 2025.02.26 |
확증적 데이터 분석 vs 탐색적 데이터 분석 (0) | 2025.02.26 |
LangGraph 기본 개념 (0) | 2025.02.26 |