GitHub 'PriorLabs/TabPFN' 트렌딩… 합성 데이터로 사전훈련된 표 데이터용 PFN, 분류·회귀 단일 호출·SHAP 해석 지원
PriorLabs가 공개한 오픈소스 프로젝트 'PriorLabs/TabPFN'이 GitHub에서 트렌딩에 올랐다. TabPFN은 표 형식(tabular) 데이터를 위한 PFN(Prior-data Fitted Network) 기반 모델로, 분류와 회귀를 단일 호출로 처리하는 사이킷런(scikit-learn) 호환 인터페이스를 제공한다. 기본 모델은 합성 데이터(synthetic data)로만 사전훈련된 TabPFN-2.6이며, ModelVersion.V2_5 옵션을 통해 TabPFN-2.5 버전도 사용할 수 있다.
공식 설치는 pip(<code>pip install tabpfn</code>) 또는 git 저장소를 통한 소스 설치를 지원한다. 로컬 개발 설치 시 PriorLabs 팀이 사용하는 패키지 매니저 uv(version 0.10.0 이상 권장)를 활용하며, 저장소 클론 후 <code>uv sync</code> 명령으로 환경을 구성한다. 사용 코드는 <code>from tabpfn import TabPFNClassifier, TabPFNRegressor</code>를 가져온 뒤 <code>clf.fit(X_train, y_train)</code>와 <code>clf.predict(X_test)</code>를 호출하는 방식으로, 첫 사용 시 체크포인트가 자동 다운로드된다.
성능 측면에서는 GPU 사용이 권장된다. 약 8GB VRAM의 구형 GPU도 잘 작동하며 일부 큰 데이터셋에는 16GB가 필요하다. CPU에서는 약 1,000 샘플 이하의 작은 데이터셋만 실용적이다. GPU가 없는 경우 PriorLabs는 무료 호스팅 추론 서비스인 'TabPFN Client'를 통한 클라우드 추론을 제공한다.
TabPFN은 100,000 샘플 미만, 2,000 피처 미만의 데이터셋에서 가장 잘 작동한다. 50k~100k 샘플 구간에서는 <code>ignore_pretraining_limits=True</code> 설정이 필요하며, 100k를 초과하는 대형 데이터셋의 경우 별도의 'Large Datasets Guide'를 참고하도록 안내한다. 클래스가 10개를 초과하면 'Many-Class Method'를 사용해야 한다. 데이터 전처리와 관련해 PriorLabs는 모델 입력 시 스케일링이나 원-핫 인코딩을 적용하지 말 것을 명시한다.
추론 효율 측면에서, 각 <code>predict</code> 호출은 학습 셋을 재계산하므로 100개 샘플을 개별로 호출하면 단일 호출 대비 약 100배 느려지고 비용도 증가한다고 README는 경고한다. 이에 따라 배치 예측 모드 사용이 권장되며, 테스트 셋이 매우 클 경우 1,000 샘플 단위로 분할하라는 가이드를 제공한다. 빠른 예측을 위해 <code>fit_mode='fit_with_cache'</code> 옵션의 KV Cache 활성화가 가능하며, 메모리는 약 O(N×F) 수준으로 증가한다.
PriorLabs는 동반 저장소 'TabPFN Extensions'를 통해 고도화 기능을 제공한다. 여기에는 SHAP 기반 설명·피처 중요도·선택을 다루는 'interpretability', 이상치 탐지와 합성 표 데이터 생성을 위한 'unsupervised', 내부 학습 임베딩을 추출하는 'embeddings', 빌트인 클래스 한도를 초과하는 다중 클래스 분류용 'many_class', 랜덤 포레스트 등 전통 모델과의 하이브리드 'rf_pfn', 하이퍼파라미터 자동 최적화 'hpo', 학습 후 다중 모델 앙상블 'post_hoc_ensembles' 모듈이 포함된다.
사용자 환경에 따른 선택지로 PriorLabs는 4가지 구현체를 안내한다. PyTorch와 CUDA 기반의 빠른 로컬 추론을 위한 'TabPFN(this repo)', 클라우드 추론용 간단 API 클라이언트 'TabPFN Client', 고급 유틸리티·통합·기능을 묶은 'TabPFN Extensions', 그리고 비즈니스 사용자와 프로토타이핑에 적합한 노코드 GUI 'TabPFN UX'다. 데이터·하드웨어·성능 요건에 따른 결정 트리도 제공된다.
해석 가능성과 성능 튜닝 측면에서 결정 트리는 파인튜닝(Finetuning) 필요 여부, 추가 성능 향상을 위한 HPO·Post-Hoc Ensembling·More Estimators, 빠른 예측을 위한 KV Cache, 그리고 해석 가능성을 위한 Feature Selection·Partial Dependence Plots·SHAP·SHAP IQ로 분기된다. 시계열 데이터의 경우 별도의 'Time-Series Features' 사용이 안내되며, API 클라이언트는 텍스트 데이터에 대한 네이티브 지원을 제공한다.