개인 개발자의 포트폴리오 전략: 단일 RTX 5090에서 13개 프로젝트 실행
Source: Dev.to
13 프로젝트 목록
Legal Tech
- 계약 자동 생성 도구 (Clause suggestion with Streamlit + Gemini API)
- 판례 검색 시스템 (Fast search of case law documents with SQLite FTS5)
- 법률 준수 챗봇 (Article interpretation support with Gemini)
Chemical Simulation
- 분자 구조 예측 모델 (FP8 Quantized ResNet)
- 반응 속도 계산 엔진 (CUDA kernel optimized)
Shogi AI
- Fuka40B (FP8 Quantized ResNet40x384, 80 layers)
- Fuka2025Q2-20b (FP8 Policy Evaluation Model)
- Floodgate 전략 엔진
- ttzl‑ex (TensorRT Inference Optimization)
- 장기 데이터 분석 파이프라인
Others
- 마인크래프트 AI 어시스턴트 (vLLM Resident)
- 주식 데이터 시각화 대시보드
- 연구 노트 관리 시스템
기술 스택 표준화
검색 인프라: SQLite FTS5
모든 프로젝트에서 검색 기능을 표준화하기 위해 SQLite FTS5를 채택했습니다. 특허 문서와 판례 데이터에 대해 BM25 랭킹을 활용해 빠르고 높은 관련성의 검색을 구현합니다.
공통 UI: Streamlit
Streamlit을 모든 애플리케이션의 프론트엔드로 사용하여 Gemini API와 통합할 때 응답 표시를 일관되게 표준화합니다.
import streamlit as st
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="gemini-2.5-flash",
contents="特許文書から条項を抽出"
)
st.markdown(f"**提案条項**:\n{response.text}")
GPU 공유 전략
vLLM Resident 아키텍처
RTX 5090의 32 GB VRAM 활용도를 극대화하기 위해 vLLM을 상주 프로세스로 실행합니다. 각 프로젝트의 모델 크기에 따라 추론 엔진을 전환합니다.
TensorRT 전환 로직
장기 AI에서는 모델을 TensorRT로 최적화합니다.
trtexec \
--onnx=models/eval/model_fp8.onnx \
--fp8 \
--minShapes=input1:1x62x9x9,input2:1x57x9x9 \
--optShapes=input1:256x62x9x9,input2:256x57x9x9 \
--maxShapes=input1:256x62x9x9,input2:256x57x9x9 \
--saveEngine=model_fp8_trt
GPU 사용량 모니터링
while true; do
usage=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | tr -d ' ')
if [ "$usage" -gt 80 ]; then
systemctl --user stop vllm.service
fi
sleep 60
done
Cloudflare + Caddy 배포 인프라
모든 웹 프로젝트는 Cloudflare Tunnel + Caddy를 사용해 배포합니다. Caddy는 리버스 프록시 역할을 하며 HTTPS 종료와 라우팅을 담당합니다.
수평 보안 배포
공통 보안 정책을 모든 프로젝트에 적용합니다.
- API 키는 환경 변수로 관리하며 코드에 하드코딩하지 않습니다.
- 브랜치 보호 설정을 통해 풀 리퀘스트를 필수로 합니다.
- 주기적인 로그 감사 스크립트를 자동으로 실행합니다.
운영 팁
- 프로젝트 간 버전 충돌을 해결하기 위해 CUDA 12.8을 표준화했습니다.
- 환경 변수를 이용해 프로젝트별 라이브러리 경로를 관리합니다.
- GPU 사용률이 임계값을 초과하면 서비스를 자동으로 중지합니다.
요약
RTX 5090의 32 GB VRAM 활용도를 극대화하기 위해 다음 세 가지를 중점적으로 진행했습니다.
- 공통 인프라 구축 – SQLite FTS5와 Streamlit을 활용해 검색 및 UI를 표준화.
- 동적 자원 관리 – vLLM + TensorRT 전환으로 모델 로드에 따라 최적화.
- 수평 보안 배포 – 인증 프로세스를 표준화.
장기 AI 프로젝트에서는 FP8 양자화와 TensorRT 조합을 통해 FP16 대비 상당한 추론 속도 향상을 달성했습니다. “기술 선택의 자유”와 “공통 인프라의 중요성” 사이의 균형이 개인 개발 성공의 핵심입니다.