전체 글

논문리뷰

[ LLM | RAG ] Searching for Best Practices in Retrieval-Augmented Generation

더보기TL;DR이 문서는 RAG(Retrieval-Augmented Generation)에 대한 최적의 방법을 탐색하고, 각 모듈에 대한 가장 효과적인 접근 방식을 제안합니다. Query Classification 모듈, Retrieval 모듈, Reranking 모듈, Repacking 모듈, Summarization 모듈에 대한 최적의 방법을 제시하며, Multimodal Extension 및 Limitations에 대해서도 다룹니다.https://arxiv.org/abs/2407.01219[Searching for Best Practices in Retrieval-Augmented GenerationRetrieval-augmented generation (RAG) techniques have pro..

AWS

[Slack Bot] GPU 예약 관리 시스템 만들기(feat. Google Calendar API) - 2

이전 글에서 GPU 예약 관리 시스템을 Slack Bot을 통해 구현한 결과물을 소개했다. 그러나 아직 실사용은 안 하고 있는 상황이다.연구실 사람들에게 피드백을 받은 것을 정리해보자면! 우선 기능이 한정적이다.현재 제공하는 기능은 예약 및 예약 조회 시스템만 존재한다.그렇기에 연구실은 소수의 인원이기도 하고.. 그래서 굳이...? 라는 생각이 드는 것이다. 연구실 구성원들의 피드백1. nvidia-smi를 쳤을때 나오는 GPU 사용량 조회를 Bot을 통해 확인2. 예약된 시간이 끝나면 사용중인지 판단 후 예약 시간을 더 늘릴 것인지 물어보기3. 예약을 어긴 사람에게 패널티 부여 일단 이렇게 두개였는데 가장 큰 문제점은 연구실 서버의 IP는 Google Calander API의 승인된 리디렉션 URI에 ..

AWS

[Slack Bot] GPU 예약 관리 시스템 만들기(feat. Google Calendar API)

필요성우리 연구실에는 총 8개의 GPU가 존재하고, 두 개의 서버에서 이를 공유해서 쓰는 방식으로 쓰고 있다.공유 자원이기에 누가 언제 쓰는지 모르다 보니 현재까지는 카카오톡 투표 기능으로 GPU 점유를 표시했다.하지만 너무 불편하고... 언제부터 언제까지 쓰는지도 모르고... 해서 다른 방법을 건의했더니 나만 불편한게 아니었다.노션이랑 스프레드시트는 지우고, 업데이트하고 하는게 좀 불편하고.. 근데 또 캘린더에 양식에 맞게 등록하는게 귀찮을거란말이지?사용하는 사람만 5명이 넘으니까.. 그래서 어떻게 하면 좀 더 간편하고 편리하게 이를 해결할 수 있을까 생각을 해봤다. 짧게 고민을 해본 결과, 수업에서 사람들이 Slack bot을 활용해서 사용자가 쉽게 접근할 수 있는 기능을 개발한게 떠올랐다.마침 연구..

논문리뷰

[CIKM'20] DE-RRD: A Knowledge Distillation Framework for Recommender System

Introduction 사용자(및 아이템)의 규모가 커짐으로 인하여 모델의 크기가 지속적으로 증가한다. 많은 연산 시간과 메모리 비용이 필요하기 때문에 실사건 플랫폼에 대규모 모델을 적용하기 어렵다. Knowledge distillation(KD, 지식 증류)는 성능을 유지하면서 모델의 크기를 줄이기 위해 RS에 적용됐다. 여기서 KD는 이전에 학습된 대형 모델(교사)로부터 지식을 이전하여 새로운 소형 모델(학생)의 학습을 가속화하는 전략이다. 이 프로세스의 핵심 아이디어는 교사 모델이 예측한 소프트 라벨이 학습 세트에 명시적으로 포함되지 않은 엔티티(즉, 사용자 및 항목) 간의 숨겨진 관계를 드러내 학생 모델의 학습을 가속화하고 향상시킨다는 것이다. 기존의 방법에는 한계가 있다. 학생 모델의 학습이 교..

논문리뷰

[WWW'15] AutoRec Autoencoders Meet Collaborative Filtering

Introduction 협업 필터링(CF) 모델은 항목에 대한 사용자의 선호도에 대한 정보를 활용해 개인화된 추천을 제공하는 것을 목표로 합니다. 넷플릭스의 도전으로 인하여 다양한 CF 모델이 제안되었고 그중 MF와 neighborhood model이 널리 사용되고 있습니다. 해당 논문에서는 AutoEncoder 기반의 새로운 CF 모델 AutoRec을 제안합니다. 본 논문은 AutoRec이 CF에 대한 기존 neural approach에 비해 표현적, 계산적인 이점이 있다고 말하고 SOTA 모델임을 경험적으로 입증했다고 합니다. The AutoRec Model Rating-based CF 모델에선 \( m \)명의 사용자와 \( n \)개의 item이 있을 때, user-item rating matri..

논문리뷰

[KDD'08] Factorization meets the neighborhood: a multifaceted collaborative filtering model

Introduction 추천 시스템은 종종 과거 사용자 행동에만 의존하고 명시적인 프로필 작성이 필요하지 않은 CF를 기반으로 합니다. 이는 도메인 지식이 필요하지 않고 광범위한 데이터 수집이 필요하지 않으며 예상치 못한 패턴을 찾을 수 있습니다. 그 결과로 아마존, TiVo 및 넷플릭스를 포함한 일부 상업 시스템에 채택되었습니다. Collaborative Filtering 시스템은 기본적으로 서로 다른 대상(사용자에 대한 항목)을 비교해야 됩니다. 이를 쉽게 하기 위해서는 크게 두 가지로 접근할 수 있습니다. 1) Neighborhood approach 이는 항목 간 또는 사용자 간의 관계를 계산하는 것이 핵심입니다. item-oriented approach는 동일한 사용자에 의한 유사한 item의 평..

Python

python에서 '...'의 의미🤔

numpy를 쓰다 보면 '...'라는 문자가 간간히 보입니다. 처음에는 코드 생략이겠거니 하고 넘어갔지만 그게 아니더라구요 grad[0] = dW grad[0][...] = dW 이 둘의 차이는 위의 코드의 경우 얕은 복사(shallow copy)가 이뤄지고, 아리의 코드는 깊은 복사(deep copy)가 이뤄진다는 차이를 갖고있습니다. 이해를 돕기 위해 예시를 보겠습니다. python에서 id()를 통해 현재 확인하고자 하는 변수의 메모리 주소를 확인할 수 있습니다. 만약 a[...] = b를 통해 b의 값을 a에 대입할 경우, 깊은 복사가 이루어지기 때문에 a와 b의 메모리 주소는 다르지만 값이 같은 것을 볼 수 있습니다. 하지만 a = b를 통해 대입을 할 경우, 얕은 복사가 이뤄져 같은 메모리 주..

AWS

EC2에 ElasticSearch 구축하기!

인터넷에 나와있는 대로 구축을 해보니까 오류가 뜨고 페이지가 안 열려서.. 제가 성공한 방식을 정리해보겠습니다. 0. EC2 현재 테스트용으로 개발을 하기 때문에 큰 스펙이 필요 없어 swap memory를 통해 메모리 확보를 했습니다. volume은 8GB로 사용했기 때문에 /dev/root에 7.6GB로 설정되어있는 모습을 볼 수 있습니다. $ sudo dd if=/dev/zero of=/swapfile bs=128M count=16 제가 처음엔 총 4GB의 램이 필요해서 count=32로 했는데 아래의 설치 과정중에 "No space left on device" 오류가 떠서 왜그런가 GPT에게 물어봤는데 제가 추가로 4GB를 할당해줬더라구요..? 그래서 램 6GB Volume 4GB가 된 상황.....

pushpush
Push