1
Data Engineer 지원
강호승
hoseunggg@gmail.com
github.com/hoseunggg
Suwon, KR
Profile
Experience
소프트웨어 마에스트로 17기 연수생2026 - Present
Education
성균관대학교
기계공학, 경제학, 소프트웨어학 전공
2021 - 2026
185학점, 평점 4.19/4.5, 우등졸업 (Magna Cum Laude)
Other experience
Activities
성균관대학교 프로그래밍 수업 TA2025 - 2026
SW 교육 등 자원봉사 295시간2021 - 2025
Qualifications
SQLD (2026), ADsP (2022)
Training
AWS ML Engineering, Generative AI (2026)
Google AI Fundamentals (2026)
Achievements
Publications
Bitcoin forecasting with machine learning and on-chain information
제1저자, Investment Analysts Journal (SSCI), 2026
A Study of Optimization Algorithms for ASR Model Training
ASK 2026 학술발표대회 논문집, KIPS
Honors
대통령과학장학생2025
정보통신기획평가원장상2022
세아해암학술장학재단 제30기 장학생2022
Skills
ML / AI
PyTorch, Scikit-learn
Data
SQL, pandas, NumPy
LLM Serving
vLLM, FastAPI, Docker, AWS
Languages
Python, C, C++, SQL
2
Project 01
searchON GEO 최적화 서비스
웹페이지가 ChatGPT 등 생성형 AI 답변에서 더 잘 인용되도록 돕는 GEO 최적화 서비스
[link]github.com/hoseunggg/2026_GEO
[stack]Python, vLLM, FastAPI, Docker, AWS
Background
생성형 엔진 최적화(GEO, Generative Engine Optimization)는 ChatGPT, Gemini, Perplexity와 같은 생성형 AI 검색 엔진이 웹 콘텐츠를 발견, 이해하고 답변에서 인용하도록 최적화하는 기술입니다. 본 프로젝트는 웹페이지의 구조와 콘텐츠를 분석해 생성형 AI 검색 환경에서의 발견 및 인용 가능성을 진단하고, GEO 관점의 최적화 방향을 제공하는 서비스입니다.
(Left) GEO 적용 전 검색 화면 / (Right) GEO 적용 후 검색 화면
(Left) GEO 적용 전 검색 화면 / (Right) GEO 적용 후 검색 화면
3
Project 01
searchON GEO 최적화 서비스
LLM Inference Pipeline
AI Pipeline
HTML 정제 파이프라인으로 웹페이지의 노이즈를 제거하고, 정제된 콘텐츠를 gemma-4-31B-it 기반 vLLM 추론 서버에서 분석해 JSON-LD를 생성했습니다. 모델 서버와 API 서버를 프로세스로 분리해 vLLM은 호스트에서 루프백 포트로 띄우고 FastAPI만 Docker로 서비스화했습니다. 가중치가 59GB라 GPU 한 장에 두 벌이 올라가지 않고 콜드 로드가 약 9분이라, 이 분리 덕분에 API를 재배포해도 모델을 다시 적재하지 않습니다. 추론 포트는 인터넷에 열지 않고 백엔드 보안그룹에서만 접근하게 잠갔습니다.
4
Project 01
searchON GEO 최적화 서비스
My contribution
Serving and MLOps
AWS GPU 인스턴스에 vLLM 추론 서버를 구축하고 오픈 웨이트 모델 서빙 환경을 운영했습니다. 모델 서버와 API 서버를 분리해 API를 재배포해도 모델을 다시 적재하지 않도록 했고, 모델 가중치와 Hugging Face 캐시는 EBS 볼륨에 두어 인스턴스를 교체해도 재다운로드가 없게 했습니다. 더 큰 VRAM이 필요해지자 초기 CUDA 컨테이너 구성에서 출발해 애플리케이션 수정 없이 상위 GPU 인스턴스로 추론 환경을 이전했고, 현재는 모델 서버와 API를 각각 systemd 유닛으로 운영하며 배포 파이프라인이 서비스 재시작까지 처리합니다.
Model Evaluation
gemma-4-31B, gpt-oss-120b, Llama-3.3-70B, Qwen3.5, EXAONE-4.5 등 5개 오픈 웨이트 모델을 동일 조건으로 비교했습니다. 8개 사이트에서 모은 상세페이지 39장으로 정답셋을 직접 만들고, 모델명을 가린 블라인드 설계로 판정 192건을 수행했습니다. 처음에는 문자열 비교로 채점했는데 380 kcal과 380 calories를 서로 다른 값으로 세어 환각을 약 10배 과대계상하는 것을 발견하고, 판정 자체를 LLM 채점으로 바꿔 평가 지표를 다시 설계했습니다. 정확도 99.1%(모델과 사이트가 모두 값을 낸 필드 기준, F1 0.601, 재현율 43.2%), 환각 0건, VRAM 33GB, 자기 불일치 0%를 종합해 gemma-4-31B-FP8을 선정했습니다(운영 서빙은 BF16 구성). gpt-oss-120b는 2.4배 빨랐지만 같은 입력을 두 번 넣었을 때 출력의 56.9%가 달라져 재현성을 이유로 기본 선택에서 탈락시켰습니다.
Output Control
JSON-LD에 원문에 없는 URL이 들어가는 문제가 있었습니다. 모델을 바꿔도 재현되길래 입력을 추적해보니 원인은 모델이 아니라 정제기였습니다. HTML 정제 단계에서 유지 속성 목록에 href가 빠져 있어 모델이 볼 수 있던 URL 497개 중 198개, 약 40%가 사라졌고 모델이 그 빈자리를 지어내고 있었습니다. 속성 유지 규칙을 고쳐 입력에서 근거를 되살렸습니다. 입력 단계에서는 script, style, base64와 불필요한 UI 요소를 제거하는 HTML 클렌징 파이프라인으로 메인 페이지 43장 기준 입력을 91.5% 축소하면서 핵심 사실은 99.9% 보존했고, 출력 단계에서는 json.loads 기반 구문 검증으로 파싱에 실패한 응답이 후속 파이프라인에 전달되지 않게 했습니다.
5
Project 02
Bitcoin Return Prediction
온체인 데이터와 머신러닝을 결합한 비트코인 수익률 예측 (SSCI, 제1저자)
[link]github.com/hoseunggg/Bitcoin_prediction
[stack]Python, scikit-learn, XGBoost, statsmodels, SHAP, pandas, joblib
게재본 표지 (Investment Analysts Journal, 2026)
게재본 표지 (Investment Analysts Journal, 2026)
Problem
비트코인 가격에는 높은 변동성뿐 아니라 해시레이트, 거래 수수료 같은 온체인 정보도 반영됩니다. 그래서 온체인 데이터와 거시 지표를 피처로 통합한 머신러닝 모델이 예측 성능을 실제로 끌어올리는지 검증하고자 했습니다.
Approach
2017년 1월부터 2023년 12월까지의 일별 데이터로 온체인 피처를 설계하고 금리 같은 거시 지표와 결합했습니다. AR부터 RF, XGBoost, SVM, MLP까지 5개 모델의 학습과 평가 파이프라인을 동일 조건으로 구현했습니다. 그리드 서치로 하이퍼파라미터를 튜닝한 뒤 365, 450, 540, 630, 730일 5종의 롤링 윈도우에서 one-step-ahead 예측을 수행해 look-ahead bias를 차단했습니다.
Result
전체 표본 기준 랜덤포레스트와 SVM의 RMSE가 0.033~0.035로 AR의 0.042~0.046보다 낮았습니다. 다만 저변동성 구간에서는 두 모델과 AR의 차이가 거의 없었습니다. 변수 기여도는 PFI와 SHAP 두 방법으로 비교했고, PFI 기준으로 온체인 변수가 전체 중요도의 약 절반(RF 49.5%, SVM 51.1%)을 차지했습니다. 이 결과는 Investment Analysts Journal(SSCI)에 4인 공저 중 제1저자로 게재됐습니다.
6
Project 02
Bitcoin Return Prediction
Forecasting Pipeline
Pipeline
온체인, 거시, 시장 데이터를 수집해 시계열 정렬을 거쳐 피처 매트릭스를 구성했습니다. 예측은 롤링 윈도우 루프로 자동화했습니다. 윈도우마다 학습, 검증 분할로 하이퍼파라미터를 튜닝(게재본 기준 70:30)하고, 전체 구간으로 재학습해 다음날 수익률을 예측한 뒤 윈도우를 하루씩 밀며 반복하는 구조입니다. 이 파이프라인 위에서 AR, RF, XGBoost, SVM, MLP 5개 모델을 동일 조건으로 비교하고, RMSE와 OOS R²로 평가했습니다.
7
Project 02
Bitcoin Return Prediction
Data Pipeline
Fixing Data Gaps
비트코인은 24/7 거래되지만 S&P 500, 국채 금리 같은 전통 자산은 주말, 휴일 데이터가 비어 있습니다. 이 때문에 온체인, 주식, 거시 데이터의 날짜 인덱스가 서로 어긋났습니다. 공통 캘린더 기준으로 인덱스를 통일한 뒤, 결측값은 과거 값만 쓰는 forward fill로 채웠습니다. 이어서 원계열 대부분이 비정상 시계열이라 변수마다 변환 방식을 따로 지정했습니다. 가격, 해시레이트, 난이도 같은 수준 변수는 변화율, 무위험금리와 기간 스프레드는 차분, 블록 수, 수수료, VIX, 뉴스 감성은 표준화로 바꾸고, 변환한 변수는 ADF 검정으로 정상성을 확인했습니다.
Parallel Forecasting
롤링 윈도우 예측은 모델 5개와 윈도우 5종을 예측일마다 반복해 작업량이 많습니다. 예측일별 학습과 예측은 서로 의존성이 없어서, joblib Parallel로 예측일 단위 작업을 모든 CPU 코어에 분배했습니다(n_jobs=-1). 롤링 인덱스를 먼저 만들어 두고 각 작업이 자기 윈도우의 인덱스만 받아 학습하도록 나눠, 모델과 윈도우를 바꿔도 같은 코드로 돌아가게 했습니다.
Statistical Validation
RMSE 차이만으로는 우연인지 알 수 없어 Diebold-Mariano 검정으로 RF와 AR의 예측 오차 차이가 유의한지 윈도우별로 검정하는 코드를 구현했습니다. 기준모형인 AR의 잔차에 Breusch-Pagan(이분산), Durbin-Watson(자기상관) 검정을, 실제 수익률 계열에 ADF(정상성) 검정을 적용하는 진단 코드도 작성했습니다.
Data Caching
온체인, 주식, 거시, 뉴스 감성 데이터는 외부 API에서 받습니다. 처음 한 번만 내려받아 CSV로 저장하고, 이후 실행은 저장본을 읽도록 했습니다. 실험을 반복해도 다운로드를 다시 하지 않아 모든 모델이 같은 입력으로 비교됩니다.
8
Project 03
Realistic Drone Simulation
IITP 학생창의자율과제로 수행한 현실적인 드론 시뮬레이션 연구 (2022)
[stack]AirSim, Unreal Engine 4, PX4, ROS, QGroundControl, Oculus Quest 2
(좌) 시뮬레이션 구성 / (우) 시뮬레이션 자율비행 게이트 코스
(좌) 시뮬레이션 구성 / (우) 시뮬레이션 자율비행 게이트 코스
Problem
자율 비행 드론 알고리즘은 시뮬레이터와 실제 환경의 차이가 커서, 시뮬레이션에서 성공한 비행이 실제로는 실패하는 경우가 많습니다. 특히 Stereo Depth 카메라의 노이즈와 고속 비행의 공기 항력이 실제와 다르게 표현됩니다. 그래서 이 연구는 센서와 공기역학 모델을 실측 데이터에 맞춰 시뮬레이션을 현실에 가깝게 만드는 것을 목표로 했습니다.
9
Project 03
Realistic Drone Simulation
Sensor Modeling and Drag Validation
(위) Material Value 0.35, 0.7에서 같은 벽을 본 Depth 포인트클라우드 / (아래) 실외 비행 가속도: IMU, GPS 실측과 Rotor Drag Force 모델
(위) Material Value 0.35, 0.7에서 같은 벽을 본 Depth 포인트클라우드 / (아래) 실외 비행 가속도: IMU, GPS 실측과 Rotor Drag Force 모델
Depth Noise
D435 카메라로 여러 재질에서 0.5m부터 8m까지 Depth와 표준편차를 측정하고, 거리에 따라 노이즈가 지수적으로 커지는 Gaussian 모델을 만들어 재질 값(Material Value)으로 조절하게 했습니다. 이 내용은 2022년 4월 대한기계학회 춘계학술대회 동역학 및 제어 부문에서 "Depth 카메라 센서 모델링을 통한 현실적인 시뮬레이션 구성 연구"로 발표됐습니다.
Rotor Drag
실외에서 5m/s, 10m/s로 비행하며 IMU, GPS 가속도와 모터 Thrust 명령을 기록해 항력 모델을 비교했습니다. RMSE는 10m/s에서 AirSim 항력식 1.48, Rotor Drag Force 1.05로 약 29% 낮아 고속에서 더 정확했고, 5m/s에서는 0.57 대 0.61로 기존 식이 조금 나았습니다. 이 모델은 Differential Flatness를 만족해 항력을 고려한 제어 연구에도 쓸 수 있습니다.
KRoC 2022
연구팀은 제17회 한국로봇종합학술대회에서 이 시뮬레이터로 시뮬레이션 드론 자율비행 대회와 VR 조종 대회를 열었습니다. 자율비행 대회에는 3팀이 참가했고, 조종 대회에는 30명 이상이 참가해 조종 입력과 IMU, GPS, RGB-D 센서 로그를 저장했습니다. 저는 VR 조종 체험 부스 현장에 참여했습니다.