QLoRA 파인튜닝 기반 특허 심사 결과 예측 시스템
USPTO 공개 특허 출원 데이터(725만 건, 71GB)를 정제·구조화하고, 출원 시점 텍스트만으로 승인/거절을 예측하는 AI 시스템.
데이터 구축 → 학습 → 평가 → 서빙까지 전체 ML 파이프라인을 1인으로 설계·구현.
| 항목 | 내용 |
|---|---|
| 기간 | 2025.12 ~ 진행 중 |
| 역할 | System Architect & Lead Developer (1인 개발) |
| 목표 | 미래편향(Look-ahead Bias) 제거한 특허 승인 예측 모델 구축 |
| 모델 | Qwen3-8B (QLoRA 4-bit) — DGX Spark GB10 128GB |
| 데이터 | 7,253,578건 (grants 4.88M + applications 7.63M 매칭) |
| 기술 스택 | Python, QLoRA (peft + bitsandbytes), HuggingFace, FAISS, BM25, Cross-Encoder, FastAPI, Docker, DGX |
flowchart TB
subgraph Data["Phase 1: Data Engineering"]
XML["USPTO XML\\n1,133 ZIPs"] --> Parse["병렬 XML 파싱\\nlxml + multiprocessing"]
Parse --> Apps["applications.db\\n7.63M"]
Parse --> Grants["grants.db\\n4.88M"]
Apps --> Match["출원-등록 매칭"]
Grants --> Match
Match --> Train["training_data.db\\n7,253,578건"]
Train --> Export["Temporal Split Export\\nParquet (1만/10만/30만/50만)"]
end
subgraph Training["Phase 2: QLoRA Training"]
Export --> Local["Local Training\\nQwen3-8B 4-bit"]
Export --> DGX["DGX Remote Training\\nSSH + Docker"]
Local --> Adapter["LoRA Adapter\\nrank=16, α=32"]
DGX --> Adapter
end
subgraph RAG["Phase 3-4: RAG Inference & Eval"]
Adapter --> LLM["LoRA LLM\\n+ RAG Context"]
Export --> FAISS["FAISS Vector DB\\nall-MiniLM-L6-v2"]
Export --> BM25["BM25 Index"]
FAISS --> RRF["RRF Fusion\\nk=60"]
BM25 --> RRF
RRF --> CE["Cross-Encoder\\n재순위"]
CE --> LLM
CE --> KNN["k-NN Fallback"]
LLM --> Eval["Batch Evaluation\\nAccuracy/F1/AUC"]
KNN --> Eval
end
subgraph UI["FastAPI + 6 Phase UI"]
Monitor["SSE 실시간 모니터링\\nLoss · Per-class Accuracy"]
end