본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 05. 07. 05:26

PriorLabs/TabPFN

요약

TabPFN은 테이블 형태의 데이터를 분류 및 회귀하는 데 사용되는 강력한 머신러닝 모델입니다. 이 라이브러리는 PyTorch와 CUDA를 활용하여 빠른 로컬 추론을 제공하며, 다양한 버전(예: TabPFN-2.6)과 확장 기능을 지원합니다. 사용자들은 GPU 환경에서 최적의 성능을 얻을 수 있으며, 대규모 데이터셋이나 실시간 애플리케이션 요구 사항에 맞춰 클라우드 기반 API나 엔터프라이즈 에디션 같은 다양한 솔루션을 선택할 수 있습니다.

핵심 포인트

  • TabPFN은 테이블 데이터를 위한 분류 및 회귀 모델로, PyTorch와 CUDA를 활용하여 높은 성능을 제공합니다.
  • 최적의 성능을 위해서는 GPU 사용이 필수적이며, 데이터 전처리(스케일링, one-hot 인코딩 등)는 피해야 합니다.
  • 라이브러리는 핵심 구현 외에도 해석 가능성(interpretability), 임베딩 추출, 앙상블 학습 등 다양한 고급 기능을 제공하는 확장 모듈을 갖추고 있습니다.
  • 대규모 생산 환경을 위해 Fast Inference Mode와 최대 1000만 행까지 지원하는 Large Data Mode 같은 엔터프라이즈 에디션이 제공됩니다.

Tip

상호작용형 Colab 노트북으로 바로 시작하세요! 이는 TabPFN 을 이해하고 설치, 분류 및 회귀 예제를 따라가는 데 가장 좋은 방법입니다.

GPU 권장: 최적의 성능을 위해 GPU 를 사용하세요 (오래된 모델이라도 ~8GB VRAM 이 있으면 작동합니다; 일부 대규모 데이터셋은 16GB 가 필요합니다). CPU 로만 실행할 경우, 작은 데이터셋 (≲1000 샘플) 만 가능합니다. GPU 가 없다면 TabPFN Client 를 통한 무료 호스팅 추론을 사용하세요.

공식 설치 (pip)

pip install tabpfn

또는 소스에서 설치

pip install "tabpfn @ git+https://github.com/PriorLabs/TabPFN.git"

또는 로컬 개발 설치: 먼저 uv (0.10.0 버전 이상 권장) 를 설치한 후 다음을 실행하세요.

git clone https://github.com/PriorLabs/TabPFN.git --depth 1
cd TabPFN
uv sync

우리의 기본 TabPFN-2.6 모델을 사용하려면 (순수 합성 데이터로 훈련됨):

from tabpfn import TabPFNClassifier, TabPFNRegressor
clf = TabPFNClassifier()
clf.fit(X_train, y_train) # 첫 번째 사용 시 체크포인트 다운로드
...

다른 모델 버전을 사용하려면 (예: TabPFN-2.5):

from tabpfn import TabPFNClassifier, TabPFNRegressor
from tabpfn.constants import ModelVersion
classifier = TabPFNClassifier.create_default_for_version(ModelVersion.V2_5)
...

완전한 예제는 tabpfn_for_binary_classification.py, tabpfn_for_multiclass_classification.py, 및 tabpfn_for_regression.py 파일에서 확인하세요.

배치 예측 모드 사용: 각 predict 호출은 훈련 데이터셋을 다시 계산합니다. 100 샘플에 대해 predict 를 개별적으로 호출하는 것은 단일 호출보다 거의 100 배 느리고 비쌉니다. 테스트 데이터셋이 매우 크다면, 1000 샘플씩의 덩어리로 나누세요.

데이터 전처리 피하기: 모델에 데이터를 공급할 때 데이터 스케일링 또는 one-hot 인코딩을 적용하지 마세요.

GPU 사용: TabPFN 은 CPU 에서 실행이 느립니다. 더 나은 성능을 위해 GPU 가 사용 가능해야 합니다.

데이터셋 크기 고려: TabPFN 은 100,000 샘플 미만과 2000 특징 이하의 데이터셋에서 가장 잘 작동합니다. 더 큰 데이터셋의 경우 Large datasets 가이드를 확인하세요.

필요에 맞는 TabPFN 구현을 선택하세요:

  • TabPFN Client: 클라우드 기반 추론을 통해 TabPFN 을 사용하는 간단한 API 클라이언트.
  • TabPFN Extensions: 고급 유틸리티, 통합 및 기능을 갖춘 강력한 동반자 저장소. 기여할 좋은 곳입니다:
    • interpretability: 이상치 탐지 및 합성 표 데이터 생성을 위한 도구.
    • unsupervised: TabPFN 의 내부 학습된 임베딩 추출 및 사용.
    • embeddings: TabPFN 의 기본 클래스 제한을 초과하는 다중 클래스 분류 문제를 처리합니다.
    • many_class: TabPFN 과 Random Forests 같은 전통적인 모델을 결합하여 하이브리드 접근법.
    • rf_pfn: TabPFN 에 맞춤화된 자동 하이퍼파라미터 최적화.
    • hpo: 훈련 후 여러 TabPFN 모델을 앙상블하여 성능 향상.
    • post_hoc_ensembles:

설치 방법:

git clone https://github.com/priorlabs/tabpfn-extensions.git pip install -e tabpfn-extensions

  • **TabPFN (이 저장소)**PyTorch 와 CUDA 지원으로 빠른 로컬 추론을 위한 핵심 구현.
  • TabPFN UX: TabPFN 기능을 탐색하기 위한 코드 없는 그래픽 인터페이스 — 비즈니스 사용자 및 프로토타이핑에 이상적입니다.

우리의 생태계에서 올바른 확장 기능을 선택하여 모델을 구축하기 위해 다음 의사결정 나무를 따르세요. 데이터, 하드웨어 및 성능 요구 사항에 대한 중요한 질문을 안내하며 특정 사용 사례에 가장 적합한 솔루션으로 인도합니다.

---
config:
theme: 'default'
...

TabPFN-2.5 와 TabPFN-2.6 모델 가중치는 상업적 라이선스 (non-commercial license) 하에 라이선스가 부여됩니다. 이는 기본값으로 사용됩니다.

코드와 TabPFN-2 모델 가중치는 Prior Labs License(Apache 2.0 및 추가 귀속 요구 사항 포함) 하에 라이선스가 부여됩니다: 여기. v2 모델 가중치를 사용하려면 모델을 다음과 같이 인스턴스화하세요:

from tabpfn.constants import ModelVersion
tabpfn_v2 = TabPFNRegressor.create_default_for_version(ModelVersion.V2)

고 처리량 또는 대 규모 생산 환경에서는 다음 기능을 갖춘 Enterprise Edition을 제공합니다:

Fast Inference Mode: TabPFN-2.6 을 컴팩트한 MLP 나 트리 앙상블로 변환하는 독점 디스틸레이션 엔진으로, 실시간 애플리케이션에 대해 수백 배 낮은 지연 시간을 제공합니다.Large Data Mode (Scaling Mode): 데이터 세트가 최대 10 million rows를 지원하도록 행 제약 조건을 해제하는 고급 운영 모드 - 이는 기본 TabPFN-2.5 와 TabPFN-2.6 모델 대비 1,000 배 증가입니다.Commercial Support: 생산 사용 사례용 상업적 Enterprise 라이선스, 전용 통합 지원 및 사설 고속 인퍼런스 엔진에 대한 액세스를 포함합니다.

더 많은 정보나 상업적 라이선스를 요청하려면 sales@priorlabs.ai 로 연락하세요.

우리는 표 데이터 머신러닝의 미래를 구축하고 여러분의 참여를 원합니다:

  • Connect & Learn: - Discord 커뮤니티에 가입

  • 문서 읽기

  • GitHub Issues 확인

  • Contribute: - 버그 보고 또는 기능 요청

  • 피드백 제출 (이미지 없는 경우 먼저 해당 기능/버그에 대해 이슈를 열어야 합니다)

  • 연구 및 사용 사례 공유

  • Stay Updated: 리포 저장 및 Discord 가입을 통해 최신 업데이트 수신

TabPFNv2 를 설명하는 논문을 여기에서 읽을 수 있으며, TabPFN-2.5 의 모델 보고서를 여기에서 읽을 수 있습니다.

@misc{grinsztajn2025tabpfn,
title={TabPFN-2.5: Advancing the State of the Art in Tabular Foundation Models},
author={Léo Grinsztajn and Klemens Flöge and Oscar Key and Felix Birkel and Philipp Jund and Brendan Roof and
...

Q: TabPFN 과 함께 가장 잘 작동하는 데이터 세트 크기는 무엇인가요?
A: TabPFN-2.5 는 데이터 세트 50,000 rows 까지 최적화되어 있습니다. 더 큰 데이터 세트의 경우 Random Forest 전처리나 다른 확장 기능을 고려하세요. 전략을 Colab 노트북에서 확인하세요.

Q: Python 3.8 과 함께 TabPFN 을 사용할 수 없습니까?
A: TabPFN 은 새로운 언어 기능으로 인해 **Python 3.9+**를 요구합니다. 호환 버전: 3.9, 3.10, 3.11, 3.12, 3.13.

Q: TabPFN-2.5 / TabPFN-2.6 에 액세스하는 방법은 무엇인가요?

첫 번째 사용 시, TabPFN 은 브라우저 창을 자동으로 열며 PriorLabs 를 통해 로그인하고 라이선스 조건을 수락할 수 있습니다. 인증 토큰은 로컬에 캐시되므로 한 번만 수행하면 됩니다.

브라우저가 없는 headless / CI 환경의 경우, https://ux.priorlabs.ai 로 이동하여 License탭으로 이동하고 라이선스를 수락한 후 TABPFN_TOKEN 환경 변수로 토큰을 얻은 토큰을 설정하세요.

브라우저 기반 흐름을 통한 액세스가 불가능한 경우, sales@priorlabs.ai 로 연락하세요.

Q: 인터넷 연결 없이 TabPFN 을 사용하는 방법은 무엇인가요?
TabPFN 은 처음 사용 시 모델 가중치를 자동으로 다운로드합니다. 오프라인 사용:

제공된 다운로드 스크립트 사용

TabPFN 저장소를 가지고 있다면, 포함된 스크립트를 사용하여 모든 모델 (앙상블 변형 포함) 을 다운로드할 수 있습니다:

# TabPFN 설치 후
python scripts/download_all_models.py

이 스크립트는 시스템의 기본 캐시 디렉토리에 주요 분류기 및 회귀기 모델을, 그리고 모든 앙상블 변형 모델을 다운로드합니다.

수동 다운로드

  • HuggingFace 에서 모델 파일을 수동으로 다운로드:

  • 분류기: tabpfn-v2.5-classifier-v2.5_default.ckpt (참고: 분류기 기본값은 실제 데이터로 미세 조정된 모델을 사용합니다).

  • 회귀기: tabpfn-v2.5-regressor-v2.5_default.ckpt

  • 파일을 다음 위치 중 하나에 배치:

  • 직접 지정:
    TabPFNClassifier(model_path="/path/to/model.ckpt")

  • 환경 변수 설정:
    export TABPFN_MODEL_CACHE_DIR="/path/to/dir/ (환경 변수 FAQ 를 참조) - 기본 OS 캐시 디렉토리는 다음과 같습니다:

  • Windows:
    %APPDATA%\tabpfn\

  • macOS:
    `~/Library/Caches/tabpfn/

  • Linux:
    `~/.cache/tabpfn/

  • Windows:

  • 직접 지정:

Q: 모델을 로드할 때 pickle 오류가 발생하고 있습니다. 무엇을 해야 하나요?
A: 다음을 시도해 보세요:

  • tabpfn 최신 버전 다운로드
    pip install tabpfn --upgrade

  • 모델 파일이 올바르게 다운로드되었는지 확인 (필요시 재다운로드)

Q: TabPFN 를 구성하는 데 사용할 수 있는 환경 변수는 무엇인가요?
A: TabPFN 은 Pydantic 설정을 사용하여 구성하며, 환경 변수 및 .env 파일을 지원합니다:

인증:

TABPFN_TOKEN

: PriorLabs 인증 토큰을 직접 제공 (헤드리스/CI 환경에 유용함). https://ux.priorlabs.ai 에서 하나를 획득하세요.

TABPFN_NO_BROWSER

: 자동 브라우저 기반 로그인 비활성화 (예: 브라우저 열기를 원하지 않는 환경에서) 설정.

모델 구성:

TABPFN_MODEL_CACHE_DIR

: 다운로드된 TabPFN 모델을 캐시하는 사용자 지정 디렉토리 (기본값: 플랫폼별 사용자 캐시 디렉토리)

TABPFN_ALLOW_CPU_LARGE_DATASET

: 큰 데이터셋 (>1000 샘플) 에서 TabPFN 을 CPU 로 실행할 수 있도록 허용. true로 설정하여 CPU 제한을 무시합니다. 참고: 매우 느릴 것입니다!

PyTorch 설정:

PYTORCH_CUDA_ALLOC_CONF

: GPU 메모리 사용을 최적화하기 위한 PyTorch CUDA 메모리 할당 구성 (기본값:max_split_size_mb:512). 자세한 정보는 PyTorch CUDA 문서를 참조하세요.

예시:

export TABPFN_MODEL_CACHE_DIR="/path/to/models"
export TABPFN_ALLOW_CPU_LARGE_DATASET=true
export PYTORCH_CUDA_ALLOC_CONF="max_split_size_mb:512"

또는 단순히 .env 파일에 설정하세요.

Q: 학습된 TabPFN 모델을 저장하고 로드하는 방법은 무엇인가요?
A: save_fitted_tabpfn_model 을 사용하여 피팅된 추정기를 영구화하고 나중에 load_fitted_tabpfn_model(또는 해당 load_from_fit_state 클래스 방법) 로 다시 로드하세요.

from tabpfn import TabPFNRegressor
from tabpfn.model_loading import (
load_fitted_tabpfn_model,
...

피팅된 추정기 없이 기본 모델 가중치만 저장하려면 save_tabpfn_model(reg.model_, "my_tabpfn.ckpt") 를 사용하세요. 이는 사전 학습된 가중치의 체크포인트를 저장하므로 나중에 새로운 추정기를 생성하고 피팅할 수 있습니다. load_model_criterion_config 로 체크포인트를 다시 로드하세요.

Q: TabPFN 은 결측치를 처리할 수 있나요?
A: 네!

Q: TabPFN 의 성능을 개선하는 방법은 무엇인가요?
A: 모범 사례:

  • AutoTabPFNClassifier 를 사용하여 후속 앙상블 - 특징 공학: 모델 성능을 개선하기 위해 도메인별 특징 추가

효과적이지 않은:

  • 기능 스케일링 조정
  • 범주형 특성을 수치적 값으로 변환 (예: one-hot encoding)

Q: Hugging Face 의 다른 체크포인트는 무엇인가요?
A: 기본 체크포인트를 제외하고, 다른 이용 가능한 체크포인트들은 실험적이며 평균적으로 더 나쁘며, 우리는 항상 기본값부터 시작하는 것을 권장합니다. 이들은 앙상블 또는 하이퍼파라미터 최적화 시스템의 일부로 사용될 수 있으며 (그리고 AutoTabPFNClassifier 에서 자동으로 사용됨), 또는 수동으로 시도해 볼 수도 있습니다. 이름 접미사는 우리가 기대하는 데에 대한 것입니다.

각 TabPFN-2.5 체크포인트에 대한 자세한 정보

우리는 실제 데이터셋에서 파인튜닝된 체크포인트를 위해 🌍 이모지를 추가합니다. 43 개 데이터셋 목록은 TabPFN-2.5 논문에서 확인하세요.

tabpfn-v2.5-classifier-v2.5_default.ckpt

🌍: 실제 데이터 파인튜닝된 기본 분류 체크포인트.
tabpfn-v2.5-classifier-v2.5_default-2.ckpt

: 가장 좋은 합성 데이터 체크포인트. 실제 데이터 파인튜닝 없이 기본 TabPFN-2.5 분류 모델을 얻기 위해 사용하세요.
tabpfn-v2.5-classifier-v2.5_large-features-L.ckpt

: 더 큰 특성 (최대 500) 과 작은 샘플 (< 5K) 을 위한 전용 체크포인트.
tabpfn-v2.5-classifier-v2.5_large-features-XL.ckpt

: 더 큰 특성 (최대 1000, max_features_per_estimator=1000 을 지원할 수 있음) 을 위한 전용 체크포인트.
tabpfn-v2.5-classifier-v2.5_large-samples.ckpt

: 더 큰 샘플 크기 (> 30K) 를 위한 전용 체크포인트.
tabpfn-v2.5-classifier-v2.5_real.ckpt

🌍: 다른 실제 데이터 파인튜닝된 분류 체크포인트. 전반적으로 매우 좋지만 큰 특성 (>100-200) 에서는 나쁘습니다.
tabpfn-v2.5-classifier-v2.5_real-large-features.ckpt

🌍: 다른 실제 데이터 파인튜닝된 분류 체크포인트, 큰 샘플 (> 10K) 에서는 나쁩니다.
tabpfn-v2.5-classifier-v2.5_real-large-samples-and-features.ckpt

🌍: tabpfn-v2.5-classifier-v2.5_default.ckpt 와 동일합니다.

tabpfn-v2.5-classifier-v2.5_variant.ckpt

: 매우 좋지만 큰 특성 (> 100-200) 에서는 나쁩니다.

tabpfn-v2.5-regressor-v2.5_default.ckpt

: 합성 데이터만 훈련된 기본 회귀 체크포인트.
tabpfn-v2.5-regressor-v2.5_low-skew.ckpt

: 낮은 목표 편차 데이터에 특화된 변형 (하지만 평균적으로 매우 나쁘습니다).
tabpfn-v2.5-regressor-v2.5_quantiles.ckpt

: 분량/분포 추정에 흥미로울 수 있는 변형이지만, 여전히 기본값이 우선시되어야 합니다.
tabpfn-v2.5-regressor-v2.5_real.ckpt

🌍: 실제 데이터 파인튜닝됨. 실제 데이터에서 파인튜닝된 체크포인트들 중 가장 좋은 체크포인트입니다. 회귀 분석에서는 합성 데이터만 훈련된 체크포인트를 기본값으로 권장하지만, 이 체크포인트는 일부 데이터셋에서 상당히 더 좋습니다.
tabpfn-v2.5-regressor-v2.5_real-variant.ckpt

🌍: 다른 실제 데이터 파인튜닝된 회귀 변형.
tabpfn-v2.5-regressor-v2.5_small-samples.ckpt

: 작은 (< 3K) 샘플에서 약간 더 좋은 변형.
tabpfn-v2.5-regressor-v2.5_variant.ckpt

: 다른 변형, 명확한 전문성은 없으나 몇몇 데이터셋에서는 더 좋을 수 있습니다.

  • uv 설치
  • 환경 설정:
git clone https://github.com/PriorLabs/TabPFN.git
cd TabPFN
uv sync
...
  • 커밋하기 전:

pre-commit run --all-files

  • 테스트 실행:

pytest tests/

이 프로젝트는 사용자 분석을 위해 완전히 익명 데이터를 수집하며, 사용자의 분석 또는 확장된 분석에 대한 선택권을 제공합니다.

데이터는 관련 제품 및 컴퓨팅 환경을 안정화하고 향후 개선을 안내하는 데에만 사용됩니다.

개인 데이터는 수집되지 않습니다코드, 모델 입력 또는 출력은 결코 전송되지 않습니다데이터는 엄격히 익명이며 개인과 연결될 수 없습니다

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending All (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0