https://console.runpod.io/ https://console.runpod.io/ console.runpod.iorunpod란 비싼 gpu를 직접 구매하지 않고 필요할 때만 빌려 쓸 수 있는 서비스로 클라우드 gpu 렌탈 플랫폼이다.저렴한 gpu 비용과 다양한 선택지가 있다는 장점이 있다. 이 플랫폼의 또 다른 장점으로는 생성한 파드를 ssh를 통해서 접속하고 vscode에 연결해서 사용할 수 도 있다. runpod vscode ssh 연결하기 먼저 위 페이지에서 회원가입, 선불 크레딧 결제를 한 후 ssh 연결을 위해 public key를 등록 해 줘야 한다.우선 ssh로 접속을 하려는 pc의 터미널에서 ssh key를 발급을 받아야 한다.ssh-keygen해당 명령어를 사용해 ssh ..
딥러닝 기반 얼굴 인식이나 텍스트/이미지 임베딩을 다루다 보면 거의 항상 등장하는 개념이 있다.바로 Cosine Similarity(코사인 유사도)다.FaceNet, ArcFace 같은 얼굴 인식 모델뿐 아니라 CLIP, SBERT 같은 최신 임베딩 모델들도 대부분 코사인 기반으로 유사도를 계산한다. 단순히 “벡터 유사도 계산 방법 중 하나”라서 사용하는 것이 아니라, 딥러닝 임베딩 공간의 구조와 매우 잘 맞기 때문에 사실상 표준처럼 사용된다. 왜 딥러닝에서 코사인 유사도가 많이 사용되는지, 그리고 FaceNet과 ArcFace가 왜 cosine 기반 loss를 사용하는지까지 딥러닝 관점에서 자세히 정리해 보려고 한다. 먼저 딥러닝 모델이 얼굴이나 문장을 어떻게 표현하는지부터 이해할 필요가 있다.얼굴 인..
요즘 개발 환경이 빠르게 바뀌면서 단순히 코드를 자동완성 해 주는 수준을 넘어 이제는 AI가 직접 개발 작업을 수행하는 Agent 기반 개발 도구들이 등장하고 있다. 클로드 코드, 코덱스 등등 유명한 것이 많지만 구글에서 출시한 Antigravity라는 도구를 사용 해 보려고 한다. antigravity는 프롬프트로 프로젝트를 설명하면 AI Agent가 코드 생성, 실행, 테스트까지 수행해 준다. 실제로 간단한 백엔트 프로젝트 정도는 몇분도 안돼서 생성이 되는 것을 확인할 수 있다. 이런 툴 사용도 요즘엔 당연히 요구되는 역량이기 때문에 이번에 antigravity를 설치해서 사용 해 봤다. 1. 설치https://antigravity.google/download Google AntigravityGoog..
Agent를 간단하게 정의하면 LLM 시스템을 '답변기'에서 '판단 시스템'으로 바꾸는 구조라고 할 수 있다. LLM을 활용한 시스템을 접하면 대부분 RAG를 접하게 되는데https://iambeginnerdeveloper.tistory.com/338 LLM | RAG(Retrieval-Augmented Generation)란?Large Language Model(LLM)은 뛰어난 생성 능력을 가졌지만 근거가 없는 내용을 “그럴듯하게” 만들어내는 Hallucination(환각) 문제가 존재한다.이 문제를 해결하고 기업 문서, PDF, 내부 지식 기반의 정확iambeginnerdeveloper.tistory.comRAG와 같은 문서를 검색해 답변 정확도를 높이는 방식은 직관적이고 효과적이다. 1. RAG..
빌드한 engine 모델을 사용하기 위해 trtexec 엔진을 사용해야 할 일이 생겼는데 설치 하려고 하니 환경이 섞이는게 싫어서 도커 이미지를 사용해서 설치하는 방법을 찾아보게 되었다.원하는 버전의 도커 이미지를 사용해서 컨테이너를 생성하면 해당 버전의 tensorrt를 사용할 수 있다. https://docs.nvidia.com/deeplearning/frameworks/container-release-notes/ TensorRT Release Notes - NVIDIA DocsThe TensorRT container is an easy to use container for TensorRT development. The container allows you to build, modify, and e..
ChatGPT를 비롯한 LLM(대형 언어 모델)의 등장은 개발 패러다임 자체를 바꿔 놓았다.이제는 코드를 작성하거나 문서를 요약하는 일을 넘어서 서비스 운영, 정보 검색, 의사 결정 보조까지 모델이 참여할 수 있다. 하지만 현실적인 문제는 많다.“모델이 사내 문서를 검색하게 하고 싶다.”“LLM이 계산·데이터베이스·외부 API를 이용하도록 하고 싶다.”“문서를 유사도 기반으로 검색한 뒤 답변하게 하고 싶다.”“대화형 서비스니까 사용자의 이전 맥락을 기억해야 한다.”이런 기능은 GPT API만으로는 만들기 어렵기 때문에 LangChain이 등장하게 되었다.LangChain은 LLM을 기반으로 실질적인 애플리케이션을 만들 수 있게 해주는 프레임워크이다. 단순히 챗봇을 넘어서 “지능형 도구”를 만들기 위한 표..
Large Language Model(LLM)은 뛰어난 생성 능력을 가졌지만 근거가 없는 내용을 “그럴듯하게” 만들어내는 Hallucination(환각) 문제가 존재한다.이 문제를 해결하고 기업 문서, PDF, 내부 지식 기반의 정확한 답변을 만들기 위한 기술이 있는데, 바로 RAG(Retrieval-Augmented Generation)이다. 1️⃣ RAG란?말 그대로 Retrieval(검색) + Generation(생성) 의 조합으로 LLM이 “모르는 내용”을 추측해 말하는 대신 외부 지식베이스(문서, Database, PDF, 소스코드 등)에서 관련 정보를 검색하여 그 실제 내용을 LLM 입력(prompt)에 추가해 답변을 생성하는 구조이다.LLM이 답변을 생성할 때,관련 정보를 외부 지식 베이스에..
딥러닝 모델 경량화 기법 중 하나인 양자화(Quantization)는 딥러닝 모델의 숫자 표현을 줄여 모델을 더 작고, 빠르고, 효율적으로 만드는 것으로 flat32를 int8로 바꿔 모델을 경량화 할 수 있다. 양자화의 종류에는 크게 두가지가 있다.1. PTQ(Post-Training Static Quantization)- 학습 없이 양자화가 가능하며 calibration 데이터로 scale/zero point를 측정한다. 빠르고 간단히 양자화가 가능하지만 정확도 손실 가능성이 높다.2. QAT(Quantization Aware Training)- 학습 중에 양자화 효과를 반영하는 것으로 훈련으로 손실이 보정이 되어 정확도 손실이 적다. 그 중 QAT를 적용 해 볼 일이 있어 간단히 알아보고 적용 해 ..
FiftyOne은 컴퓨터 비전 분야의 데이터셋을 효과적으로 관리하고 분석할 수 있도록 돕는 오픈소스 툴이다.해당 툴을 사용하면 이미지 및 비디오 기반 데이터셋을 시각화하고 모델 예측 결과를 평가하며 잘못된 라벨을 쉽게 탐지할 수 있다. 1. FiftyOne 설치fiftyOne 설치apt install libcurl4 opensslapt install libcurl4-openssl-devpip install fiftyonepip install fiftyone-db-ubuntu2204 quickstartimport fiftyone as foimport fiftyone.zoo as fozdataset = foz.load_zoo_dataset("quickstart")print(dataset)sample = da..
Yolo 모델에 대해서 톺아볼 일이 있었는데 간단 요약 글을 포스팅 하면서 다시 한번 정리를 한번 해 보려고 한다. 객체 감지는 이미지나 비디오 내의 객체를 식별하고 위치를 찾는 computer vision task이다.객체 감지 알고리즘은 single shot detection과 two shot detection으로 나눌 수 있다. two shot detection 알고리즘은 객체를 감지하는데 두 단계 프로세스를 사용한다. 첫번째 단계에서는 잠재적으로 객체를 포함할 수 있는 bounding box를 제안을 한다. 두번째 단계에서는 box 내 객체 클래스를 분류하기 위해 제안된 영역을 합성 신경망을 통해 실행을 한다.two shot detection 알고리즘의 대표적인 예료는 R-CNN, Fast R-C..