본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
*_1. 학습 인증샷 4장 이상 포함
*_① 오늘자 날짜, 공부 시작 시각 포함 사진 1장
② 오늘자 날짜, 공부 종료 시각 포함 사진 1장
③ 1개 클립 수강 인증 사진 (강의장 목록 캡쳐, 강의 내용이 담긴 수강화면이 보이지 않도록) 1장
④ 학습 인증샷 1장 이상 (ex. 필기 촬영, 작업물, 등)
2. 학습 후기 700자 이상 (공백 제외)
임베딩
- 텍스트를 AI를 이용해 숫자, 특히 벡터(Vector)로 변환하는 것
- 텍스트를 ‘임베딩 모델’이라는 AI를 활용하여 벡터로 변환함
임베딩 모델
- 다운로드를 하여 사용하는 것
- 보안이슈나 파인튜닝을 해야하는 경우 이점이 있음
- API로 유료로 사용하는 것
임베딩을 하는 이유
- 텍스트를 임베딩하고 나면 텍스트끼리의 유사도를 구하는 것이 가능함
- 즉, ‘검색기’를 만들 수 있음
벡터의 유사도
- 대표적으로 유사도를 계산할 수 있는 방법
- 코사인 유사도
- 내적
- L2거리
RAG
- R (Retrieval) : 검색
- A (Augmented) : 증강되었다
- G (Generation) : 생성한다.
- RAG : 검색으로 증강된 답변을 생성한다. 즉, LLM의 지식에 외부의 지식을 추가하여 답변하는 것
- 검색된 내용을 바탕으로 ‘답변’하므로 내 데이터만을 이용하여 답변하는 챗봇을 구현가능
- 챗봇이 거짓말하는 현상인 ‘할루시네이션’을 급감시킬 수 있는 효과
- 임베딩을 이용하여 검색기를 구현한다는 것은 기존 문서들의 임베딩을 보관할 장소가 필요함
벡터 데이터베이스
- 밀버스는 은근 장애가 많다
- 수천, 수억 단위의 문서를 백업, 재배치, 재저장을 빈번하게 하는 상황에서는 Qdrant가 가장 안정적, 10만에서 1000만 이내의 문서라면 Qdrant 추천
- Chroma와 Pinecone은 튜토리얼 용으로 많이 사용됨
- 프로덕션에서는 FAISS가 많이 사용됨. 수억~수십억이라면 FAISS 추천
청킹 (Chunking)
- 매우 긴 문서를 적절한 검색 단위로 나누는 것
- 검색했을 때의 단위가 되며, 일반적으로 임베딩으로 검색기를 구현하다면, 각각이 임베딩 단위가 되어 적재됨
길이 단위 Chunking
- 최대 길이를 지정해놓고, 해당 길이에 맞게 자르는 방식
- 문맥을 보고 자르는 것이 아니라, 길이 단위로 자르므로 잘려진 문서 각각은 문맥이 중간에 끊길 수 있음
- 단순해서 가장 많이 쓰이는 방법이기도 하지만, 검색 성능 저하가 발생할 수 있다는 단점이 있음
시맨틱 Chunking
- 문맥을 읽고 적절한 단위로 직접자르는 경우
- 사람이 하는 경우도 있지만, AI를 사용하기도 함
- 예를 들어, LLM이 하는 경우, 문맥이 끊기는 구간을 LLM이 판단하여 잘라주는 경우에 해당되며, LLM 사용 비용이 발생하지만, 길이 단위로 자르는 경우에 비해서 검색 성능에서 유리함
LLM Based Chunker
- 프롬프트 엔지니어링의 영역
- 사람이 자르는 것과 비슷한 효과를 내기 위해서, LLM 자체를 Chunking에 사용하는 전략
- 좋은 성능의 LLM 모델과 프롬프트 엔지니어링으로 구현
Fine-tuned Model Based Chunker
- NLP엔지니어라면 BERT, T5, 소형 LLM같은 모델로부터 이어지는 두 개의 문장 내지 문단을 주고 이어지는 문장, 이어지지 않는 문장인지 판단하도록 학습한 후, 일종의 임계값으로 조절하면 꽤 뛰어난 Chunker로 동작함 (BERT의 Next Sentence Prediction의 고도화)
- Langchain의 임베딩을 이용한 Semantic Chunker보다 훨씬 잘 동작
합성 데이터 생성 방식
- 복잡한 문서를 LLM에게 다수의 문서로 재작성해달라고 요청
- 이 후 이 문서들을 애초에 검색 문서로 지정
- 자르는 게 아니라 재생성하는 것에 목적을 두고 있음
- 이를 수행해주는 LLM 성능이 매우 좋아야 하며, 각 검색문서가 완결성을 가질 수 있다는 특징이 있음
url : https://abit.ly/lisbva
'스타트업 투자 > 데이터 + 테크' 카테고리의 다른 글
패스트캠퍼스 환급챌린지 12일차 : 거대 언어 모델의 답변 (0) | 2025.04.12 |
---|---|
패스트캠퍼스 환급챌린지 11일차 : 임베딩 (0) | 2025.04.11 |
패스트캠퍼스 환급챌린지 9일차 : 파인튜닝 (0) | 2025.04.09 |
패스트캠퍼스 환급챌린지 8일차 : 허깅페이스, 토크나이저와 템플릿 (0) | 2025.04.08 |
패스트캠퍼스 환급챌린지 7일차 : ChatGPT API를 이용한 데이터 생성 (0) | 2025.04.07 |
댓글