전체 글 168

Parent Child Chunking

조대협님이 LLM까지 하실줄이야 너무 좋은자료라 공유한다. RAG의 저장방법은 이게 답일듯... 부분발췌Langchain을 이용한 LLM 애플리케이션 개발 #9 - RAG를 이용한 문서 참조. 문서 저장하기출처: https://bcho.tistory.com/1415 [조대협의 블로그:티스토리] Parent Child Chunking문서들을 작은 Chunk 단위로 나눠서 벡터 임베딩 데이터베이스 (Vector Embedding DB)에 저장하는 과정은 같다. 이때, 필드에 임베딩과 문장의 내용을 저장하는 것이 아니라, 이 문장이 속해 있는 문서의 인덱스를 저장한다. 각 문서는 redis나 DB, 파일 시스템등에 저장해놓는다.다음으로 문서를 검색할때는 벡터 임베딩 데이터 베이스에서 해당 문장과 유사한 문장..

AI 새로운 전환점 : Titans 아키텍처 ( 발표: 2025.01.15 )

구글에서 발표한 새로운 신경망 아키텍처가 기대된다.  시사점은 기존 LLM모델과 다르게 메모리의사용, 적은 파라미터로 대용량 파라미터를 능가하는 성능을 제공하기 때문이다.앞으로 노트북, 핸드폰, 온디바이스등의 장비에 적용되면 앞으로의 미래가 어떻게 될지 모르겠다.70B모델대비 0.7B모델이 더 뛰어난성능을 보여주는것이기에 기대해 볼만한 발표인듯하다.트랜스포머 아키텍쳐 > 큐스타 아키텍처 > Titans 아키텍처로 가는것인지 두고 보자

Dense벡터 유사도검색 + Sparse 벡터 유사도검색

대용량의 문서가 벡터라이징 된 벡터DB에서 검색 히팅율을 올리는것은 많은 기법이 필요하다특히 금융권 상품문서의 경우 비슷한게 너무많다예를들면 A란 상품을 판매하고 있는데 그것을 약간 수정해서 AA란 상품을 만들고 또 약간 수정해서 AAA란 상품을 만드는것이일반화 되어있기때문에 질문에 대한 맞는 유사도검색을 통한 검색 히팅율을 좋아지기가 매우어렵다그중에서도 사용자의 질문을 확장하고 검색에 맞는 질문변환등의 질문전처리가 필요하고검색을 키워드검색, 시멘틱검색을 같이하는 하이브리드 검색이 보편화 되어있다.청킹된 데이타와 질문을 비교하여 재순위설정 하는 리랭킹모델도 보통 적용하게 되어있는데여기서 소개하는것은 벡터DB에서 BM25를 제공하지만 성능이 좋지못하고 개선하고자 하는경우에 해당된다.

좌동과상동처리

RAG시스템 구축시 비정형문서를 AI-OCR를 이용해서 파싱하고 청킹처리하게 된다. 특히 금융권 문서는 대용량이기도 하고 다양한 문서처리 노하우가 필요하단걸 절실히 느끼고 있다. 문서 파싱시 중요한것은 테이블을 처리하는것인데 테이블에 테이블 처리는 현존하는 어떤 AI-OCR도 복합 테이블 파싱은 어렵다. 또한 테이블 안에 셀정보가 좌측하고 동일하다는 의미로 "좌동", 위에 셀정보가 동일하다는 의미로 "상동"등의 용어가 심심찮게 나오는데 이것들을 시스템 프롬프트로 읽어 낼수 있을까 라는 의문을 가지고 테스트한 결과를 남기고자 한다. AI-OCR에서는 파싱결과를 마크다운 또는 HTML로 전환할수 있기에 두가지 경우 테스트를 진행했다. 일관성을 포함한 정확성에서 3개의 모델이 준수한 결과를 보여준다. anth..