본문 바로가기

세계정복의주인장

(1148)
rabbitmq 심화 (persistent / cluster) rabbitmq persistentdelivery_mode는 RabbitMQ에서 메시지의 배달 모드를 지정하는 데 사용되는 옵션. 이 옵션은 메시지를 메모리에만 저장할지 아니면 디스크에 영구적으로 저장할지를 결정Transient메시지를 메모리에만 저장. RabbitMQ가 종료되면 메모리에 있는 메시지는 모두 삭제됨메시지는 RabbitMQ 서버의 메모리에서만 보관되므로 메모리가 부족한 경우 메시지 손실이 발생할 수 있음메시지를 가장 빠르게 처리하고자 할 때 사용Persistent메시지를 디스크에 저장. RabbitMQ가 종료되어도 메시지는 디스크에 보존됨.메시지를 디스크에 영구적으로 저장하여 메시지 손실을 방지할 수 있으며 재부팅 후에도 메시지가 유지되므로 안정성을 높일 수 있다.메시지의 지속성이 중요하고..
rabbitmq start docker-compose.yamlversion: "3"services: rabbitmq: image: rabbitmq:3-management-alpine container_name: rabbitmq-stream volumes: - ./etc/:/etc/rabbitmq/ - ./data/:/var/lib/rabbitmq/ - ./logs/:/var/log/rabbitmq/ ports: - "5672:5672" - "15672:15672" environment: RABBITMQ_ERLANG_COOKIE: "RabbitMQ-test" RABBITMQ_DEFAULT_USER: "admin" RABBITMQ_DE..
ml를 쉽게 쓰기 위한 프론트 작업 몇주전 위의 영상을 보고 충격을 받았었다.코드를 잘해서 제품을 만드는게 아니라 사용자가 사용하기 쉽게 하는게 서비스의 목표 였었는데 말이다.이 쉬운 작업을 왜 안하고 있었을까? 하는 생각과 함께 오랜만에 프론트를 들여다 봤었다.팀에서는 react를 프론트로 하고 있어서, react+zustand 조합으로 공부했다. (대충 3일 정도 걸렸다.)오히려 사용하는 xyflow 컴터넌트와 zsutand 조합이 어려웠고 오랜만에 비동기까지 해야 하니 퇴근후에 잠깐씩 시간내서 공부하느라 꽤나 오래 걸렸다.물론 원하는 기능은 다 넣었다. 목표는 라벨러와 기획자분들도 쉽게 쓸수 있도록 하는게 목표였다. 동작은 아래 동영상과 같다. 개발자만 생각하다보니, 이렇게 화면만 만들어줘도 쓸수 있다는걸 가끔씩 잊어버리곤 한다. 그..
[논문 리뷰] SPLADE: Sparse Lexical and Expansion Modelfor First Stage Ranking 3줄 요약 SPLADE를 사용하면 fine-tuning 필요 없이 더 빠르고 정확한 검색이 가능합니다. 하지만 기존 성능에 비해 크게 향상은 되지 않고 잘못된 semantic 검색도 야기됩니다. Abstract 문서와 쿼리에 대한 희소 표현을 학습하는 것에 대한 관심이 높아지고 있다. 명시적 희소성 정규화와 용어 가중치에 대한 새로운 랭커를 제시하여 고도로 희소한 표현과 비교하여 경쟁력 있는 결과를 이끌어낼수 있다. introduction SPLADE는 효율적인 문서 확장을 수행하며, 고밀도 모델을 위한 복잡한 훈련 파이프라인에 대해 경쟁력 있는 결과를 보여준다. 희소 정규화를 제어하여 효율성(부동 소수점 연산 횟수)과 효과 사이의 균형에 영향을 줄 수 있는 방법을 보여줍니다. RELATED WORKS ..
[논문 리뷰]ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT 요약 re-ranking은 colbert를 사용하자. ABSTRACT 정보검색(IR)에서 문서 랭킹을 위한 언어 모델(LM)은 fine-tuning을 통해 빠르게 성장하고 있다. 더욱 효율적인 검색을 위해 LM(특히, BERT)을 적용하는 새로운 랭킹 모델인 ColBERT를 소개한다. introduction ELMo 및 BERT는 사전 학습된 심층 언어 모델(LM)을 미세 조정하여 관련성을 추정하는 접근 방식이 최근에 등장했다. 하지만 BERT 기반 모델은 이전 모델보다 100-1000배 더 계산 비용이 많이 들며, 일부 모델 또한 저렴하지도 않다 BERT는 검색 정밀도를 크게 개선했지만, GPU를 사용하더라도 지연 시간을 최대 수만 밀리초까지 증가시킨다. 쿼리 응답 시간이 100밀리초만 증가해도 사용자..
[논문 리뷰] T-RAG: LESSONS FROM THE LLM TRENCHES https://arxiv.org/pdf/2402.07483.pdf 요약 해당 문서에는 전반적인 RAG설명과 함께 Tree를 이용한 계층적 엔티티를 사용하면 기존 RAG보자 성능을 향상 시킬수 있습니다. 단 기존 RAG와 마찬가지로 리트리버 쿼리의 질문이 중요하며, Tree 구조를 쓸 수 있을때에만 효과를 발휘할수 있습니다. ( 엔티티의 데이터가 필요 없는 질문에 사용하면 오히려 데이터의 정답율이 하락합니다) Abstract 대규모 언어 모델(LLM)은 놀라운 언어 기능을 보여주며 다양한 영역의 애플리케이션에 통합하려 시도하고 있습니다. 검색 증강 세대(RAG)는 LLM 기반 애플리케이션을 구축하기 접합한 프레임워크로 부상했습니다. RAG를 구축하는 것은 비교적 간단하지만, 견고하고 안정적인 애플리케이션을..
[사내 해커톤] ocr + gpt를 이용한 식품 성분 분석 및 추천 * 상품 점보를 사진을 업로드 하면 자동으로 텍스트로 변환하여 상품에 대한 정보 요약 * 제품명 / 제조회사 / 제품유형 / 맛 / 용량 / 원료 / 칼로리 / 영양정보 로 추려서 보여줌 * 사용자의 상태를 선택하여 입력하면 섭취 권장 여부 및 이유를 고객에게 요약 후 보여줌 팀으로 이뤄서 한 해커톤 결과물 - 역시 프롬프트는 영어로 하니까 잘된다. - OCR은 네이버 클로바를 썼다. 정말 잘된다!! (하지만 하루 100건 무료를 넘어서면 엄청난 과금이 기다리고 있다) - streamlit은 이번에 처음 써봤는데, 다시는 쓰기 싫을 정도로 너무 제한적이다. (공식 문서도 부족하고, 버전마다 기능이 너무 다르다. html이 쉽고 좋다) 향후 발전해야 할 부분들 - 상황에 맞는 프롬프트가 많이 있어야 한다...
[논문리뷰] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding https://arxiv.org/abs/1810.04805 요약 : bert는 성능도 우수합니다! - 충분한 데이터만 있다면요 Abstract - 양방향 인코더 - 트랜스포머와 달리 BERT는 레이블이 없는 텍스트의 양방향 표현을 사전 학습하도록 설계되었습니다 - 레이블이 없는 텍스트에 대해 컨디셔닝하여 모든 레이어에서 왼쪽과 오른쪽 컨텍스트를 학습한다. 그 결과, pre-trained BERT 모델은 단 하나의 추가 출력 레이어만으로 미세 조정할 수 있습니다. 1. Introduction - pre-training 언어모델은 많은 자연어 처리 task의 향상에 좋은 성능을 발휘하고 있습니다. - downstream task를 위해 pre-trainedfmf 학습하는 방식에는 두가지 방법이 있다 1. f..