# TabPFN và Prior Labs: vì sao một model nền cho dữ liệu bảng vẫn cần kỹ sư forward deployed

> Model đã học từ hàng triệu bảng dữ liệu giả, nhưng nó có thắng trên bảng thật của khách hàng hay không thì vẫn phải có người chứng minh ngay tại chỗ.

Bản gốc: https://fdetimes.net/vi/bach-khoa/prior-labs-tabpfn-fde-mo-hinh-nen-du-lieu-bang/

Khách hàng gửi bạn một file xuất từ ERP: vài nghìn dòng đơn hàng, vài chục cột, kèm một câu hỏi rất đời thường: “Cho chúng tôi biết trước đơn nào sẽ giao trễ.” Thế nào cũng có người hỏi thêm: “Hay thử đưa cho chatbot xem nó đoán được không?”

Nhiều kỹ sư sa lầy đúng ở chỗ này. Khi công bố mua Prior Labs ngày 4/5/2026, SAP nói thẳng rằng LLM gặp khó khi dự đoán trên dữ liệu nghiệp vụ có cấu trúc, vì chúng chỉ hiểu sơ sài về bảng, con số và thống kê. Bảng đơn hàng của khách hàng nằm gọn trong vùng yếu đó.

Prior Labs làm ra TabPFN, một model nền dành riêng cho dữ liệu bảng. Loại sản phẩm này giao cho FDE một việc rất cụ thể: chứng minh trung thực, trên chính bảng của khách hàng, rằng model nền đáng dùng hơn cách làm cũ.

## Một model học cách học từ dữ liệu giả

Với dữ liệu bảng, cách làm quen thuộc là mỗi bài toán huấn luyện một model riêng, thường là gradient boosting, rồi tinh chỉnh tham số. TabPFN đi đường khác. Theo bài báo đăng trên Nature tháng 1/2025, nó là một thuật toán học, và bản thân thuật toán ấy đã được học qua hàng triệu bộ dữ liệu tổng hợp.

Thông cáo của Đại học Freiburg đưa con số cụ thể: model được huấn luyện trên 100 triệu bộ dữ liệu tổng hợp. Chi tiết đáng chú ý là nó không học từ dữ liệu thật của khách hàng nào cả. Thứ nó học được là cách nhìn một bảng lạ rồi dự đoán ngay.

Kết quả công bố rất mạnh. Trên các bộ dữ liệu đến 10.000 mẫu, bài báo cho biết TabPFN vượt mọi phương pháp trước đó với khoảng cách lớn. Freiburg nói thêm rằng nó chỉ cần 50% lượng dữ liệu để đạt độ chính xác ngang model tốt nhất trước đó.

## Model nền tốt như vậy, sao còn cần người ngồi cạnh khách hàng?

Vì benchmark không phải bảng của khách hàng. Bảng thật có cột bị ghi đè sau khi sự việc đã xảy ra, có mã khách hàng đổi định dạng giữa chừng, có nhãn “trễ” mà mỗi kho định nghĩa một kiểu. Model nền không tự sửa được những chuyện đó.

Prior Labs cũng không bán model như một hộp đen đóng kín. Ngay từ vòng gọi vốn đầu năm 2025, công ty đã nói TabPFN cho phép fine-tuning bằng dữ liệu độc quyền của doanh nghiệp. Đến tháng 12/2025, khi bán cho doanh nghiệp, fine-tune trên dữ liệu riêng của công ty vẫn nằm trong phần chào hàng.

Mà đã fine-tune trên dữ liệu khách hàng thì phải có người vào tận nơi: hiểu dữ liệu, dựng pipeline, đo kết quả, rồi giải thích cho người ra quyết định.

SiliconANGLE mô tả mục tiêu của Prior Labs là giúp doanh nghiệp hiểu và dùng được những thông tin phức tạp, quan trọng nhất với việc kinh doanh. Loại thông tin ấy hiếm khi nằm sẵn trong một bảng sạch. Biến nó thành một bảng dùng được là việc của người ngồi cạnh khách hàng.

**Điểm mấu chốt:** Model nền mạnh trên benchmark, còn niềm tin của khách hàng chỉ có được trên bảng của họ.

## Một pilot trung thực trông như thế nào

Thử hình dung một nhà phân phối có 1.800 khách hàng. Mỗi khách là một dòng chụp tại một ngày nhất định, có 40 cột, và một cột nhãn “rời bỏ trong quý tới”. Giả sử chỉ có 90 khách rời bỏ, tức 5%.

Một model lười biếng đoán “không ai rời” sẽ đạt độ chính xác 95% mà không bắt được khách nào. Vì đưa ra cùng một điểm số cho mọi khách, ROC AUC của nó đúng bằng 0,5, ngang với tung đồng xu. Vì thế accuracy bị loại ngay từ đầu, thay bằng ROC AUC và precision ở nhóm rủi ro cao nhất.

Nhưng câu bạn cần trả lời không phải “TabPFN có tốt không”. Câu đúng là: trên bảng này, nó hơn baseline bao nhiêu, và cần bao nhiêu dữ liệu.

Đoạn code dưới đây giữ đúng tinh thần đó: cùng một split theo thời gian, nhiều cỡ dữ liệu, nhiều model.

```python
from sklearn.metrics import roc_auc_score

# Split cố định theo thời gian: huấn luyện trên quá khứ, kiểm tra trên giai đoạn sau
df = df.sort_values("snapshot_date")
cut = int(len(df) * 0.7)
train, test = df.iloc[:cut], df.iloc[cut:]
X_train, y_train = train[features], train["churn"]
X_test, y_test = test[features], test["churn"]

def learning_curve(make_model, fractions=(0.25, 0.5, 1.0)):
    scores = {}
    for frac in fractions:
        n = int(len(X_train) * frac)
        model = make_model()
        # Lấy n dòng gần nhất với giai đoạn kiểm tra
        model.fit(X_train.iloc[-n:], y_train.iloc[-n:])
        proba = model.predict_proba(X_test)[:, 1]
        scores[frac] = roc_auc_score(y_test, proba)
    return scores

# make_baseline: gradient boosting đã tinh chỉnh
# make_foundation: tabular foundation model
results = {name: learning_curve(fn) for name, fn in
           {"baseline": make_baseline, "foundation": make_foundation}.items()}
```

Learning curve là phần đáng tiền nhất. Nếu model nền dùng 50% dữ liệu đã ngang baseline dùng 100%, bạn vừa tự kiểm lại tuyên bố của Freiburg trên dữ liệu thật. Với khách hàng, kết quả ấy rất thực tế: họ có thể bắt đầu với dữ liệu của một vùng thay vì chờ gom đủ cả nước.

Còn nếu hai đường cong trùng nhau, đó cũng là một kết quả. Bạn báo đúng như vậy, rồi đề xuất bước tiếp theo: có thể là fine-tuning, có thể là làm sạch nhãn trước.

## Tự làm, theo thứ tự nào?

Bắt đầu bằng việc ngồi với người hiểu nghiệp vụ để định nghĩa nhãn, và hỏi từng cột: giá trị này có biết được tại thời điểm dự đoán không? Câu hỏi đó chặn phần lớn lỗi rò rỉ dữ liệu trước khi bạn viết dòng code nào.

Tiếp theo, khóa split và dựng một baseline mạnh, tinh chỉnh tử tế. Baseline yếu khiến mọi chênh lệch trở nên vô nghĩa, và người tinh ý phía khách hàng sẽ nhận ra ngay. Chỉ sau đó mới chạy model nền và learning curve trên cùng split.

Cuối cùng, đưa ra quyết định có điều kiện. Model nền thắng rõ và ổn định thì đưa vào thử trong một quy trình thật. Thắng sát nút thì cân nhắc fine-tuning trên dữ liệu riêng, lựa chọn vốn nằm sẵn trong phần chào hàng của Prior Labs cho doanh nghiệp. Không thắng thì giữ baseline và ghi lại lý do.

## Những lỗi khiến pilot mất uy tín

Lỗi phổ biến nhất là rò rỉ thông tin: một cột như “ngày giao thực tế” lọt vào đầu vào khiến model nào cũng trông xuất sắc. Lỗi thứ hai là đưa kết quả benchmark lên slide thay cho kết quả đo trên bảng của khách. Con số trên Nature là lý do để thử, không phải bằng chứng cho dự án này.

Lỗi thứ ba là quên phạm vi. Nếu bảng của khách vượt xa 10.000 dòng, bạn đã ra khỏi vùng mà bài báo năm 2025 chứng minh, và phải đo lại chứ không được suy diễn.

Lỗi cuối cùng là hứa với bộ phận bảo mật những điều bạn chưa kiểm tra. Việc model được huấn luyện trước trên dữ liệu tổng hợp chưa nói gì về đường đi của dữ liệu khách hàng sau đó.

Trước buổi họp bảo mật, hãy hỏi thẳng nhà cung cấp: lúc dự đoán model cần những dữ liệu nào của khách, lúc fine-tune dữ liệu được lưu ở đâu, và model chạy trên hạ tầng của ai.

## Kỹ năng này hiện lên trong CV ra sao

Với hơn 3 triệu lượt tải, TabPFN là công cụ mã nguồn mở được dùng rộng rãi, nên bạn có thể luyện ngay mà không cần chờ dự án. Pilot trên bảng 1.800 khách ở trên là một bài tập bạn tự dựng được bằng dữ liệu công khai.

Khi đọc mô tả công việc ML Engineer forward deployed ở một công ty model nền, hãy tìm những cụm như fine-tuning trên dữ liệu khách hàng, đánh giá model, làm việc trực tiếp với khách.

Rồi viết CV để chứng minh đúng các việc đó. Đừng ghi “có kinh nghiệm với tabular ML”, mà ghi: bài toán gì, baseline nào, metric nào, chênh lệch bao nhiêu, ở cỡ dữ liệu nào.

Người tuyển FDE muốn thấy bạn biết đo trước khi biết khen. Một model đã học từ 100 triệu bảng dữ liệu giả vẫn cần đúng một người hỏi câu khó nhất trên bảng thật: cột này, tại thời điểm dự đoán, mình đã biết chưa?

**Thử ngay tuần này:**

- Lấy một bảng công khai dưới 10.000 dòng có cột ngày, rồi chạy baseline gradient boosting và một tabular foundation model trên cùng một split theo thời gian
- Vẽ learning curve ở 25%, 50% và 100% dữ liệu huấn luyện cho cả hai model, rồi viết một đoạn kết luận dưới 100 chữ cho người không làm kỹ thuật
- Viết lại một dòng trong CV theo mẫu: bài toán, baseline, metric, chênh lệch đo được

## Nguồn

- [Accurate predictions on small data with a tabular foundation model (Nature, PMC copy)](https://pmc.ncbi.nlm.nih.gov/articles/PMC11711098/)

- [New AI model TabPFN enables faster and more accurate predictions on small tabular data sets](https://uni-freiburg.de/en/new-ai-model-tabpfn-enables-faster-and-more-accurate-predictions-on-small-tabular-data-sets/)

- [Prior Labs: €9 Million (Pre-Seed) Raised To Change How Businesses Unlock Insights](https://pulse2.com/prior-labs-e9-million-pre-seed-raised-to-change-how-businesses-unlock-insights)

- [Prior Labs debuts tabular AI foundation model that scales to 10 million rows - SiliconANGLE](https://siliconangle.com/2025/12/01/prior-labs-debuts-tabular-ai-foundation-model-scales-10-million-rows/)

- [Acquisition doubles down on SAP's early mover advantage in tabular foundation models](https://news.sap.com/2026/05/sap-to-acquire-prior-labs-establish-frontier-ai-lab-europe/)
