전체 글 24

vllm 설치하기

vllm 공식문서에서는 vllm은 성능을 위해 cuda kernal들을 컴파일하여 사용한다고 한다. 따라서 기존 설치된 것들과 충돌을 피하기 위해 새로운 가상환경에서 vllm 세팅을 권장한다. 또한 특정 버전의 CUDA or Torch를 사용하기 위해선 vllm source를 받고 알맞게 빌드해줘야한다. Pre-Built 사용시엔 크게 할 일이 없다 (추가 빌드 필요없음)이 포스트에서는 Pre-built (CUDA 12.1) 사용.1. 가상환경 생성공식문서에선 conda를 사용하지만 pipenv, venv 등 사용해도 괜찮다.기존 설치된 것들에 영향받지 않는 새로운 가상환경만 만들면 된다.(나는 사용해오던 pyenv + pipenv 조합으로 진행)2. vllm 설치pip 커맨드로 가능하다. 가상환경 내에..

local llm 배포하기 - vllm & hugging face

목차0. wsl 설치 (window 한정)1. git lfs 설치2. llm 모델 선정 후 다운로드3. vllm 설치4. run0. wsl 설치vllm이 윈도우를 지원하지 않는 관계로 wsl 설치하여 ubuntu환경 세팅 필요powershell 관리자 권한 실행wsl --install 재부팅 후 다시 powershell을 켜고 wsl --install설치 완료후 powershell ~ wsl 입력하면 ubuntu 환경으로 들어가진다. wsl 최초 접속시 계정 비밀번호를 설정하는데 나중에 git lfs 설치할때 필요하니 메모 참조1: https://learn.microsoft.com/ko-kr/windows/wsl/install1. git lfs 설치git clone 명령어로 model을 받으면 용량이 큰..

ML 서비스 웹 배포 2 - S3로 React 정적 호스팅

개요 기능 구현을 끝내고 AWS에서 배포하기 위한 셋업 이 포스트에서는 Front-end 과정만 자세한 설명 없이 키워드 위주로 다룸 1. react 앱 빌드 2. 빌드된 앱 S3에 업로드 3. 정적 웹 호스팅을 위한 S3 세팅 4. CloudFront 연결 5. Route53 사용해 도메인 연결 1. react 앱 빌드 터미널 열고 리액트 프로젝트 폴더 들어간 뒤 아래 명령 입력 > 'build' 디렉토리에 결과물 생성됨 npm run build 2. 빌드된 앱 S3에 업로드 - 웹에서 드래그 드랍 또는 - AWS CLI 사용 -> aws s3 sync {'build' 디렉토리 경로} s3://{버킷 이름} --profile={IAM 이름} 3. 정적 웹 호스팅을 위한 S3 세팅 - 버킷 생성시 퍼블릭..

ML 서비스 웹 배포 1 - 로컬, React & FastAPI

결과물 개요 앞서 커스텀 데이터로 반려동물 식별 후 segmentation 작업을 진행했다. 커스텀 데이터로 Yolo V8 Fine-Tuning 개요 ML 서비스 웹앱 배포 전주기 체험 프로젝트의 일환 데이터셋 수집, 정제, 모델학습 등 여러 작업을 번거롭게 하지 않아도 쉽게 가져와서 쓸수있는 뛰어난 모델들(메타의 SAM)이 많지만 전주 ryanheart.tistory.com 최종 목표인 반려동물 색상 추출 서비스는 배경의 영향을 제거하기 위해 앞서 얻은 학습 모델을 통해 segmentation 진행 후 진행된다. 이후 완성된 기능은 FastAPI로 구현한 API를 통해 엔드포인트에서 사용하게된다. 웹쪽은 잘 몰라서 ChatGPT한테 물어보면서 React로 간단히 꾸렸다. 전체적인 흐름도 1. React..

커스텀 데이터로 Yolo V8 Fine-Tuning

개요 ML 서비스 웹앱 배포 전주기 체험 프로젝트의 일환 데이터셋 수집, 정제, 모델학습 등 여러 작업을 번거롭게 하지 않아도 쉽게 가져와서 쓸수있는 뛰어난 모델들(메타의 SAM)이 많지만 전주기 체험을 목표로 하는만큼 잘 알려진 Yolo V8과 공개된 데이터셋을 활용해 Fine Tuning을 진행해보았다. 정리하는걸 좋아해서 쉽게 따라할 수 있도록 Colab 문서도 만들어보았다. (데이터셋 다운부터 학습까지) yolo-v8-custom-dataset.ipynb Colaboratory notebook colab.research.google.com 모델 / 데이터셋 소개 모델 - Yolo V8 (Github) Yolo 모델은 너무 유명해서 부가 설명이 필요없다. - 가볍고 빠르면서도 적당한 성능을 뽑아줌 ..

ML 배포 프로젝트 개요

프로젝트 개요 ML 서비스의 웹앱 배포 전주기 체험을 목표로 한다. 처음엔 반려동물(강아지/고양이)의 털 색상 추출 후 이를 통해 강아지의 펄스널 컬러 추천 서비스를 만들려 했다. 색상을 입력하면 펄스널 컬러가 딱 나오는 공식으로 쉽게 구할 수있을줄 알았기 때문. 그러나 그렇게 단순하지 않았다.. (펄스널 컬러 해본적이 없어서 몰랐음) 어느정도의 룰은 있지만 일반적으로 다양한 색의 천을 다 대보면서 (흡사 Brute-force..) 가장 잘 어울리는 색을 주관적으로 고르는 과정을 거쳐 구하는듯 했다. 전주기 체험이 목적인 만큼 복잡한건 잠깐 놓아두고 간단히 털 색 추출까지만 해서 구현하는걸로 결정. 프로젝트 과정 1. Segmentation model 학습 (YoloV8 + 커스텀데이터) 2. 메인 프로..

레이더 펄스압축

작성된 코랩 문서를 통해 펄스압축을 파이썬으로 쉽게 체험해볼 수 있습니다. https://drive.google.com/file/d/1jXWES9JHTXkGBXM4pX_m2hb2XyZq1f0g/view?usp=sharing matlab 공식 문서에 설명이 잘 나와있으니 읽어보시는걸 추천드립니다. 개요 레이더 데이터 프로세싱 과정에 대해 공부하고 matlab으로 직접 테스트해보면서 느낀점 중 하나가 Toolbox가 정말 잘 제공된다는것입니다. 그 중 원하는 레퍼런스 신호만 증폭시켜주는 펄스 압축의 경우엔 실제로는 매우 복잡하겠지만 matlab에서는 lfm 원형 신호를 getMatchedFilter 함수에 인자로 넣으면 반환해주는 필터를 적용하기만 하면 쉽게 수행할 수 있었습니다. 원리와 구현 방법에 대해 ..

Radar & Matlab 2023.09.25

MATLAB 스터디 - IQ 신호 생성

개요 이번 포스팅에선 펄스 레이더가 생성하는 raw data - IQ Signal을 직접 생성하는 방법에 대해 다뤄보겠습니다. 저는 개인적으로 레이더 분야의 진입 장벽이 높다고 생각합니다. 그 이유를 진입 장벽이 비교적 낮은 컴퓨터 비전 분야와 비교하면서 알아보겠습니다. 레이더 컴퓨터 비전 원천 데이터 신호 이미지 데이터 성질 분석을 위해 신호에 대한 이해가 필요 직관적이라 별도의 지식 불필요 데이터 접근난이도 상 (고가의 레이더, 기밀) 하 (접근성이 좋은 카메라) 기술 공개 여부 관련 기술이 거의 공개되지 않음 (기밀) 기존 기술과 더불어 새로운 기술들도 오픈소스 형태로 많이 공개됨 방위산업 분야에 속하기 때문에 전체적으로 접근성이 굉장히 낮아 관련 랩실에서 연구를 진행하거나 업계에 종사하지 않는한 ..

Radar & Matlab 2023.09.22