전체 글89 Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks(2019) 리뷰 RAG 서비스의 가장 근간이 되는 기술은 embedding 기술 그중 Sentence Transformers 라이브러리는 embedding에서 대체제가 없는 라이브러리라고 느껴졌고 자연스레 관심이 생겨 리뷰해보려 한다.Abstract&Introduction두 개 이상의 sentence pair를 regression하는 Semantic textual similarity(STS)와 같은 task에서는 대게 BERT base의 model들이었다. 하지만 이 model 들은 10000개의 sentence 비교를 위해 약 5000만 번의 필요했다.(모든 pair 간의 연산이므로 n(n+1)/2 약 O(n^2)번) 저자가 제안하는 SBERT는 기존 BERT base model이 65시간 걸리는 계산을 5초 이내에 .. 2025. 1. 19. 신입 AI 개발자 2024년 회고 2024년은 졸업 후 AI 개발자로 취업을 성공한 의미 깊은 해이다. 입사 후 반년도 채 되지 않은 지금 심정을 정리하고 올해를 돌아보려 한다.대학원&취업 준비이번 연도 6월까지는 대학원 입시에만 매진했었다. 나름 열심히 준비했다고 생각했지만 모두 떨어지고 무기력하게 하루하루를 보냈는데 돌이켜보면 당시에 대학원에 입학하고 싶다는 회피성 목표만 있었고 확실한 연구주제나 계획은 없어 실패하는 건 당연했던 것 같다. 한 번 바닥을 보고 나서 그런가 취준은 예상보다 어렵지 않았고 다행히도 2개월 안에 무난한 중소기업에 취업할 수 있었다. 취업도 대학원 입학도 못했던 시기에는 방에 쳐박혀서 뭐 하고 먹고사나 고민뿐이었지만 돌아보면 참 사소한 고민이었고 스스로를 조금 더 챙겼었으면 어땠을까 싶다.취업 이후입사한 .. 2025. 1. 9. A Survey on LLM-as-a-Judge(2024) 리뷰 LLM서비스를 개발하다 보면 fine tuning만을 위한 full dataset이 아니라 다른 포맷의 데이터에서는 잘 작동하는지 외부 데이터 소스를 잘 활용하는지 retrieval은 문제가 없는지 등 여러 시나리오에서 평가용 데이터셋이 필요한 경우가 많고 AI 개발자라 그런지 이런 경우 십중팔구 LLM api를 활용해 benchmark dataset을 만들어 성능을 평가한다. 나도 이러한 상황에 몇 번 처했는데 대부분 원하는 대로 동작했지만 가끔씩 data가 내 의도랑 좀 다르다거나 format이 마음에 들지 않는 등 성가신 상황이 가끔 발생했다.물론 정성들인 prompt engineering이 있다면 대다수의 문제를 해결할 수 있겠지만 조금 더 이 과정을 설득력 있게 해결하고 싶어 찾아본 논문이다... 2025. 1. 6. 2024년 빅분기 실기 합격 후기, 1주 공부법(전공자 기준) 23년도에는 3파트를 손대 못 대고 광탈했었는데 취업 후 빅분기 9회에 재도전해서 다행히 합격했다. 빅분기는 다른 IT 도메인 자격증들 중에 시행 횟수가 꽤 적은 편인데 1년에 두 번 밖에 시행하지 않는다. 그래서 그런지 문제유형도 고정적이지 않고 시중에 풀린 문제도 많지 않다. 이번에는 전공자를 기준으로 내가 어떤 컨텐츠로 공부했는지 적어보려고 한다. 필자는 numpy, pandas 같은 데이터 전처리, ML 라이브러리는 원활히 사용할 줄 알고 3유형에 나오는 통계 문제들은 개념조차 모르는 상태에서 공부를 시작했다. 물론 전공자이므로 책은 구매하지 않겠다는 전제를 깔고 들어갔다.(최근 3유형 문제들이 어느 정도 정형화돼서 귀찮으면 책 하나 떼는 것도 좋은 선택 같다)학습컨텐츠 정리 Kim Tae He.. 2024. 12. 24. Toward Optimal Search and Retrieval for RAG(2024) 리뷰 Abstract&IntroductionRAG 성능은 크게 두 가지에 의존한다. 바로 query로부터 정보를 retrieval하는 retriever와 이를 이용해 문장을 생성하는 reader인데, 이 논문에서는 RAG에서 retriever의 성능을 어떤 식으로 최적화시켜야 할지 여러 실험을 통해 보여준다. 먼저 저자는 이 논문에서 retriever만의 contribution을 측정하기 위해 LLM의 tuning을 진행하지 않는다는 점을 먼저 언급했다. 구리고 보편적인 QA와 attributed QA task에 RAG 성능 평가를 진행했다는데 여기서 attributed QA란 LLM이 생성 시 어떤 document를 참고했는지 언급하는 task를 말한다.Experiment setupLLM instructio.. 2024. 12. 3. [Langchain] FAISS에서 cosine similarity 사용하기 기존에 구현했던 RAG 성능을 개선하는 PoC 느낌의 업무를 받아서 처음부터 db나 chunker를 새로 모색하기보다는 기존에 사용한 라이브러리를 그대로 사용했다. chunk, retrieval 쪽은 대게 langchain+FAISS로 구현되어 있었는데 retrieval 성능이 어떻게 해도 좋아지지 않아서 이것저것 찾아봤는데 점수 쪽에서 뭔가 이상하다고 느꼈다.FAISS로 vector DB를 만들 때 보통 vectorDB.from_documents( )를 사용했는데 이를 이용한 similarity_search는 L2 거리 기반임을 알 수 있었다. vector 거리 비교에 cosine similarity를 사용하지 않아 성능이 낮은 것이라 판단했다.그렇다고 다른 라이브러리나 벡터 db를 쓰기에는 관련 지식.. 2024. 11. 25. Dense Passage Retrieval for Open-Domain Question Answering(2020) 리뷰 RAG 업무를 맡으며 팀원이 추천해 준 논문인데 저자의 기법보다는 전반적으로 task의 흐름에 대해 잘 설명해 줘서 주의 깊게 읽은 논문이다. RAG 성능을 끌어올리기 위한 새로운 기법을 알고싶은 분들보다는 LLM 시대 이전의 전반적인 ODQA가 어떤 식으로 이루어졌는지 상세한 과정을 알고 싶은 사람들은 한 번쯤 읽어보면 좋을것 같다.Abstract & Introduction이 논문에서 저자는 기존의 sparse한 retrieval 방법론들(TF-IDF, BM25)보다 뛰어난 성능을 보여주는 dense representation을 통한 retrieval 방법론을 제시한다. 당시의 Open-domain question answering(ODQA)는 크게 두 가지 모듈의 성능에 좌우되었다.Retrieve.. 2024. 11. 16. ImportError: Could not import sentence_transformers python package. Please install it with `pip install sentence-transformers`해결방법 RAG하려고 환경 깔때마다 가끔 나오는 에러였는데 발생 이유를 몰라서 나올때마다 찾아보기 위해 해결법만 정리해보려한다.TL'DRpip install datasets -U문제파악로그로는 sentence-transformers 라이브러리 문제 같은데 다시 깔거나 버전 업을 해도 당연하게도? 해결되지는 않는다. 로그를 쭉 위로 올리다 보면>>이런 느낌의 로그가 있는데 datasets로 인해 발생했다는걸 알 수 있다. 보통 라이브러리 문제는 재설치하면 대부분 해결되므로pip install datasets -U바로 시전한 결과 버전이 1.4.1->3.1.0으로 올랐다. 아마 다른 라이브러리에서 꽤 옛날 버전으로 datasets를 설치한것 같다.결과는 역시나. 원인을 모르겠어도 컴퓨터는 안되면 재설치가 답이다. 2024. 11. 9. 이전 1 2 3 4 ··· 12 다음