반응형

분류 전체보기 30

MinIO 서버 자동 재시작 및 S3 Browser를 이용한 파일 전송

오늘은 MinIO 서버를 Cronjob을 이용하여 재시작 하는 내용과 S3 Browser를 이용한 파일 다운로드/업로드 하는 작업에 대해 다뤄보고자 합니다. 왜 이 주제를 다루게 되었는지는 본문에서 설명하도록 하겠습니다.MinIO 서버 재시작  앞서서 여러 부하테스트(벤치마크, 실사용 테스트 등)을 진행하니 메모리 점유율이 2~3GB 단위를 넘어가는 상황이 발생했습니다. 늘어난 메모리는 다시 줄어들지 않았는데, 앞서 말씀드렸다시피 K8S 클러스터들은 MinIO 서비스 뿐만 아니라 다른 일들(대부분 ML)도 처리를 해야 하는데요, 이러한 상황에서 메모리를 많이 점유하고 있기엔 부담스러웠습니다. ( 최소 32GB의 메모리를 요구하는걸 보면 못해도 절반은 사용할 것으로 예상했습니다. )  따라서 사람들이 자주..

MLOps/MinIO 2024.08.06

GLIP : Grounded Language-Image Pre-training

오늘은 GLIP(Grounded Language-Image Pre-training)이라는 논문에 대해서 리뷰하겠습니다. 본 논문은 CLIP 등에 대한 기초 지식을 알고 있다는 전제하에 작성한 글입니다. 따로 해당 논문들에 대해에 대해 정리하겠지만 미리 공부하고 보면 더 도움이 될 것입니다.세부적인 내용들은 찾아보시는 걸 권장하고 틀린 부분이 있으면 언제든 댓글로 말씀해주시면 수정하겠습니다.(위의 언급된 기초지식들은 해당 블로그 다른 글에 작성되어있습니다.) Github : https://github.com/microsoft/GLIPPaper : https://arxiv.org/abs/2112.03857 Abstract본 논문에서는 객체 수준, 언어 인식 및 의미론적으로 풍부한 시각적 표현을 학습하기 위한..

Machine Learning 2024.07.26

DEER: Detection-agnostic End-to-End Recognizer for Scene Text Spotting

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스  이번글에는 NAVER Clova 팀에서 발표한 DEER: Detection-agnostic End-to-End Recognizer for Scene Text Spotting 라는 모델에 대해 정리해봤습니다.DETR을 기반으로한 모델이며, Deformable DETR을 보고 오시면 더 이해가 빠릅니다.학습 코드가 공개되어 있지 않기 때문에 모델 사용을 위해선 직접 구현해야 합니다.Introduction일반적인 end-to-end text spotting 파이프라인은 text detector와 recogntion으로 구성됩니다. Text detector는 이미지내의 텍스트 위치를 Box 또는 Polygon 모양의 결과를 출력하고,..

MinIO Client with Python

지금까지 진행한 MinIO 설치과정은 모두 Python에서 사용하기 위해서 였습니다.Python에서 업로드와 다운로드를 수행하는 코드를 마지막으로 마무리하고자 합니다.warp을 이용한 부하테스트(벤치마크)가 아니라 실제 파일을 가지고 업로드 테스트를 했을때는 속도가 생각만큼 나오진 않았다. *이전 업로드 테스트에서 학습데이터 낱개파일을 모두 올리는건 시간이 너무 오래 걸려 압축 파일로 관리하기로 약속했다.현재 서버 구성은 500Mbps로 추정되는 3대 서버와 2대의 100Mbps 서버로 구성되어 있다. 이전글에서 언급했듯, 물리적 거리 또한 떨어져 있는데, 이번에는 NginX에서 리버스 프록시를 2대의 서버를 제외하고 로드밸런싱 하도록 수정하고 동일 테스트를 수행했다. minio.conf: | u..

MLOps/MinIO 2024.07.17

MinIO 부하 테스트 with NginX

2024.07.09 - [MLOps/MinIO] - MinIO MNMD on Kubernetes with Prometheus MinIO MNMD on Kubernetes with Prometheus이번에는 Distributed Mode MinIO(MNMD)를 구성한 방법에 대해 작성하고자 합니다.기존에는 3개 서버 정도에 5개의 디스크를 사용하려 했으나, 계획을 변경하여 여러 서버들을 모아 7개 서버에 10개의 디ainotes.tistory.com이 글에서 부하 분산에 걱정을 남기며 마무리 했었습니다.임의로 부하를 테스트할 수 있는 방법을 찾아보니, MinIO에서 warp라는 테스트 도구를 제공하고 있어, 이 도구를 사용하여 부하 테스트를 진행했습니다.Warp 설치MinIO 부하 테스트를 위한 warp ..

MLOps/MinIO 2024.07.16

Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection

오늘은 Grounding-DINO라는 논문에 대해서 리뷰하겠습니다. 본 논문은 Conditional-DETR, DAB-DETR, DN-DETR, Deformable-DETR 등등에 대한 기초 지식을 알고 있다는 전제하에 작성한 글입니다. 따로 해당 논문들에 대해에 대해 정리하겠지만 미리 공부하고 보면 더 도움이 될 것입니다.세부적인 내용들은 찾아보시는 걸 권장하고 틀린 부분이 있으면 언제든 댓글로 말씀해주시면 수정하겠습니다.(위의 언급된 기초지식들은 해당 블로그 다른 글에 작성되어있습니다.) Github : https://github.com/IDEA-Research/GroundingDINOPaper : https://arxiv.org/abs/2303.05499Abstract 본 논문에서는 Transfor..

MinIO MNMD on Kubernetes with Prometheus

이번에는 Distributed Mode MinIO(MNMD)를 구성한 방법에 대해 작성하고자 합니다.기존에는 3개 서버 정도에 5개의 디스크를 사용하려 했으나, 계획을 변경하여 여러 서버들을 모아 7개 서버에 10개의 디스크를 확보하고, 최종적으로 5개 노드에 10개의 디스크(1.65T씩 사용)를 띄우는 것으로 완료했습니다.규모가 커지게된 배경에는 이전 SNSD에서는 1 SSD / 1 HDD 였기때문에 HDD에 들어있는 데이터를 가져오게되면 시간이 오래 걸렸지만(최대 4 Mb/s), 여러개의 HDD를 붙인다면 데이터를 분산해서 가져오기 때문에 HDD의 한계를 어느정도 극복할 수 있을 것이라 생각했습니다. ( 실제로 최소 7~8 Mb/s는 확보하게 되었습니다. )디스크 드라이브 세팅7개의 서버는 1개 디스..

MLOps/MinIO 2024.07.09

Minio SNSD on Kubernetes (2/2)

2024.07.04 - [MLOps/MinIO] - Minio SNSD on Kubernetes (1/2) Minio SNSD on Kubernetes (1/2)2024.07.01 - [MLOps/Kubernetes] - 쿠버네티스 실행 쿠버네티스 실행2024.06.17 - [MLOps/Kubernetes] - 쿠버네티스 개요 및 설치 쿠버네티스 개요 및 설치MinIO 서버를 구성하면서 최소 3개의 서버를 사용하게 될ainotes.tistory.com이전 글에 이어, File Server는 Web UI에서 사용하는 것을 가정했기 때문에 속도(10Mb/s 이상)가 중요했습니다. 이번에는 SNSD 설치 과정에서 겪은 시행착오에 대해 작성하고 SNSD(File Server)는 마무리 하도록 하겠습니다. 데이터..

MLOps/MinIO 2024.07.08

DAB-DETR: Dynamic Anchor Boxes are Better Queries for DETR

오늘은 DAB-DETR이라는 논문에 대해서 리뷰하겠습니다. 본 논문은 Conditional-DETR에 대한 기초 지식을 알고 있다는 전제하에 작성한 글입니다. 따로 해당 논문들에 대해에 대해 정리하겠지만 미리 공부하고 보면 더 도움이 될 것입니다.세부적인 내용들은 찾아보시는 걸 권장하고 틀린 부분이 있으면 언제든 댓글로 말씀해주시면 수정하겠습니다. Github : https://github.com/IDEA-Research/DAB-DETRPaper : https://arxiv.org/abs/2201.12329 AbstractDAB-DETR는 DEtection TRansformers(DETR)의 성능을 향상시키기 위해 고안된 새로운 접근법입니다. 이 논문은 DETR에서 사용하는 고정된 Positional E..

Kubernetes Dashboard(Grafana / Prometheus)

이번 글에서는 helm을 이용한 grafana와 prometheus의 설치 과정에 대해 설명할 예정입니다.prometheus는 minio의 console monitoring 탭에서 Info외에 Usage / Traffic / Resources의 정보를 보는 것에도 관여합니다.Kubernetes에서 minio를 설치하고 사용하는데 속도가 느린 원인을 파악하기 위해 설치했습니다.helm 설치 grafana와 prometheus는 helm을 사용하면 설치가 매우 쉬우므로, helm을 이용하여 설치하기 위해 helm을 먼저 설치한다.curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3chmod 70..

MLOps/Kubernetes 2024.07.05
반응형