TabFM 1.0.0 공개 및 벤치마크 성능

이번에 공개된 TabFM 1.0.0은 별도의 미세 조정(Fine-tuning)이나 하이퍼파라미터 탐색 없이 추론 시점에 예시 데이터를 입력하는 것만으로 분류와 회귀 작업을 수행하는 제로샷 기반의 표 데이터 파운데이션 모델이다. 기존 정형 데이터 분석의 주류였던 그래디언트 부스팅 결정 트리(GBDT, 여러 개의 결정 트리를 결합해 예측 성능을 높이는 머신러닝 알고리즘)가 요구하던 반복적인 설정값 조정 과정을 생략할 수 있다.

성능 검증은 표 데이터 모델 평가 플랫폼인 탭아레나(TabArena)의 51개 데이터셋을 통해 진행됐다. 38개의 분류 데이터셋과 13개의 회귀 데이터셋을 대상으로 테스트한 결과, 단 한 번의 순전파(Forward pass)만으로 하이퍼파라미터 튜닝을 거친 지도 학습 기반 GBDT 모델들보다 뛰어난 성능을 기록했다.

모델은 파이토치(PyTorch, 페이스북이 개발한 딥러닝 프레임워크) 가중치 형태로 제공되며, 아래 명령어로 설치 가능하다.

bash
pip install tabfm[pytorch]

분류와 회귀 작업에 따라 각각 다른 클래스를 사용하며, 구현 방식은 다음과 같다.

python
from tabfm import TabFMClassifier, tabfm_v1_0_0_pytorch as tabfm_v1_0_0

model = tabfm_v1_0_0.load(model_type="classification")
clf = TabFMClassifier(model=model)
clf.fit(X_train, y_train)
probs = clf.predict_proba(X_test)

python
from tabfm import TabFMRegressor, tabfm_v1_0_0_pytorch as tabfm_v1_0_0

model = tabfm_v1_0_0.load(model_type="regression")
reg = TabFMRegressor(model=model)
reg.fit(X_train, y_train)
preds = reg.predict(X_test)

또한 허깅페이스(Hugging Face) 허브 API를 통해 모델을 직접 로드할 수 있다.

python
from tabfm.src.pytorch.tabfm_v1_0_0 import TabFM_HF

clf_model = TabFM_HF.from_pretrained("google/tabfm-1.0.0-pytorch", subfolder="classification")
reg_model = TabFM_HF.from_pretrained("google/tabfm-1.0.0-pytorch", subfolder="regression")

교차 주의 집중 메커니즘과 학습 구조

TabFM의 핵심 구조는 행과 열의 주의 집중(Attention) 메커니즘을 교차로 사용하는 아키텍처에 있다. 처리 파이프라인은 열 주의 집중, 행 주의 집중, 그리고 최종 예측의 3단계로 구성된다.

첫 번째 단계인 열 주의 집중에서는 셋 트랜스포머(Set Transformer, 집합 형태의 데이터를 처리하는 신경망 구조)를 활용한다. 32개의 주파수를 가진 푸리에 특징(Fourier features, 신호를 다양한 주파수의 사인과 코사인 함수로 분해해 표현하는 방식)과 선형 투영을 통해 각 셀을 임베딩하고 행 전체의 정보를 집계한다. 이 단계에는 4개 헤드와 256개 유도 지점을 가진 열 주의 집중 블록 3개가 배치된다.

두 번째 단계인 행 주의 집중에서는 회전 위치 임베딩(RoPE, 토큰의 상대적 위치 정보를 회전 행렬로 표현하는 방식)이 적용된다. 8개 헤드와 8개 CLS 토큰(전체 문맥을 대표하는 특수 토큰)을 가진 행 주의 집중 블록 3개를 거치며, 각 행은 밀집 벡터로 압축된다.

마지막으로 24개의 블록으로 구성된 인과적 트랜스포머(Causal transformer, 이전 토큰만을 참조해 다음 토큰을 예측하는 구조)가 인컨텍스트 러닝(ICL, 추론 시 예시 데이터를 입력해 학습 없이 작업을 수행하는 기법)을 통해 최종 예측값을 출력한다. 모델의 임베딩 차원은 256이며, 활성화 함수로는 스위글루(SwiGLU, 신경망의 비선형 활성화 함수 중 하나)를 사용한다.

학습 데이터의 경우, 개인정보 보호 및 라이선스 문제를 해결하기 위해 구조적 인과 모델(SCM, 변수 간의 인과 관계를 수학적으로 정의한 모델)로 생성한 수억 개의 합성 데이터셋을 사용했다. 이를 통해 표 데이터의 인과 구조와 특징 간 관계에 대한 사전 지식을 학습했다.

실무 도입 시 고려사항 및 제약

개발자가 TabFM을 도입할 때 가장 먼저 체감하는 변화는 데이터 전처리 및 파이프라인의 단순화다. 판다스(pandas, 파이썬의 데이터 분석 라이브러리) 데이터프레임이나 넘파이(numpy, 파이썬의 수치 계산 라이브러리) 배열을 그대로 입력값으로 사용할 수 있어 기존 라이브러리와의 호환성이 높다.

특히 데이터셋의 크기가 너무 작아 지도 학습 기반 모델을 학습시키기 어렵거나, 빠른 프로토타입 구축이 필요한 환경에서 효율적이다. 기존에는 새로운 데이터셋이 추가될 때마다 모델을 다시 학습시키고 하이퍼파라미터를 튜닝해야 했으나, TabFM은 적절한 컨텍스트 예시만 제공하면 즉각적인 예측이 가능하다.

다만, 실제 운영 환경에서 적용하기 위해 다음의 기술적 제약을 확인해야 한다.

첫째, 분류 작업의 경우 최대 10개의 클래스까지만 지원한다. 10개를 초과하는 다중 클래스 분류 문제에는 적용할 수 없다.

둘째, 처리 가능한 데이터의 범위가 정형 데이터로 한정된다. 이미지, 오디오, 비디오, 일반 텍스트와 같은 비정형 데이터는 처리할 수 없다.

셋째, 그래프나 시퀀스 형태의 구조화된 데이터 역시 지원 대상에서 제외된다.

결과적으로 TabFM은 표 데이터 분석의 중심축을 '학습'에서 '추론'으로 이동시킨다. 이는 머신러닝 파이프라인에서 모델 튜닝에 소요되던 리소스를 줄이고, 데이터 분석의 반복 주기를 단축하는 결과로 이어진다.