Pailitao-MMSearch: Khi mỗi sản phẩm trở thành một chuỗi token trong bộ não tìm kiếm của Taobao


Không có sản phẩm nào chỉ là một con số

Giả sử chúng ta bước vào một nhà kho khổng lồ chứa một tỷ sản phẩm.

Có áo sơ mi, máy ảnh, dép trẻ em, dây sạc, bàn chải, ốp điện thoại, bình giữ nhiệt, những chiếc váy nhìn gần giống nhau đến mức ngay cả người bán đôi khi cũng phải lật nhãn ra xem.

Mỗi sản phẩm được dán một mã như:

18938505974102

Mã này giúp máy tính biết hai hộp hàng là hai vật khác nhau. Nhưng bản thân dãy số không nói cho máy biết đây là một chiếc váy màu xanh, một đôi dép chống trượt hay một cái ốp vừa với điện thoại nào.

Nó giống số căn cước của con người. Số căn cước giúp phân biệt tôi với anh hàng xóm, nhưng nhìn vào số đó, chúng ta không biết ai thích uống cà phê, ai chạy bộ buổi sáng, ai đang nợ tiền trà sữa.

Trong tìm kiếm sản phẩm truyền thống, chuyện này không quá nghiêm trọng. Hệ thống có thể dùng một mô hình để hiểu câu chữ, một mô hình khác để nhìn hình ảnh, một bộ máy khác để tìm ứng viên, rồi thêm vài tầng ranking phía sau.

Nhưng khi người dùng đưa lên một bức ảnh và nói:

Tìm cho tôi chiếc váy giống mẫu này, nhưng màu xanh đậm, kín đáo hơn và phù hợp đi đám cưới.

Vấn đề bỗng trở nên hơi ngáo.

Bức ảnh nói một nửa. Câu chữ nói một nửa. Ý định mua hàng nằm ở khoảng không giữa hai nửa ấy. Nếu tách chúng ra xử lý riêng, hệ thống có thể tìm được váy giống hình nhưng sai màu, đúng màu nhưng sai kiểu, hoặc rất đẹp nhưng trông giống đồ đi biển hơn đồ đi đám cưới.

Pailitao-MMSearch, một nghiên cứu của nhóm Taobao và Tmall thuộc Alibaba, cố gắng giải bài toán này bằng một ý tưởng khá mạnh: thay vì xem sản phẩm là những bản ghi nằm bên ngoài mô hình, hãy biến sản phẩm thành một loại ngôn ngữ mà mô hình có thể đọc, hiểu và sinh ra trực tiếp.

Paper được công bố trên arXiv ngày 20 tháng 7 năm 2026 dưới dạng bản v1, với tiêu đề Pailitao-MMSearch: Building Native E-Commerce Multimodal Search Foundation. Hệ thống được xây dựng trên họ kiến trúc Qwen và đã được triển khai trong nền tảng tìm kiếm bằng hình ảnh Pailitao của Taobao.

Paper này thực sự đang nghiên cứu điều gì?

Nếu bỏ qua những cụm từ khá to như “foundation model”, “native e-commerce” hay “end-to-end”, câu hỏi nghiên cứu trung tâm của paper có thể viết lại như sau:

Có thể xây dựng một mô hình duy nhất vừa hiểu hình ảnh, ngôn ngữ, thuộc tính sản phẩm và lịch sử hành vi người dùng, vừa trực tiếp sinh ra định danh của sản phẩm cần tìm hay không?

Đây không chỉ là bài toán multimodal understanding.

Một mô hình có thể nhìn ảnh rồi mô tả “đây là một chiếc váy trẻ em màu hồng” chưa chắc tìm được đúng sản phẩm trong một catalog gồm hàng tỷ listing. Hiểu thế giới và chỉ đúng một món hàng trong kho là hai khả năng khác nhau.

Theo nhóm tác giả, các hệ thống hiện tại thường rơi vào hai thái cực:

  • Các mô hình chuyên biệt cho từng modality hoạt động tốt trong phạm vi hẹp, nhưng hình ảnh, văn bản và giọng nói sống trong những không gian biểu diễn riêng biệt.
  • Các vision-language model tổng quát hiểu ảnh và chữ khá tốt, nhưng thiếu taxonomy sản phẩm, thuộc tính thương mại, quan hệ mua kèm, hành vi người dùng và khả năng sinh trực tiếp product ID.

Do đó, Pailitao-MMSearch được thiết kế quanh ba giả thuyết học thuật:

  1. Một sản phẩm nên được biểu diễn đồng thời bằng mã rời rạc và vector liên tục.
  2. Domain knowledge có thể được đưa vào mô hình bằng continual pre-training, sau đó giảm catastrophic forgetting bằng on-policy distillation.
  3. Tìm kiếm sản phẩm có thể được mô hình hóa thành bài toán sinh chuỗi tự hồi quy, thay vì chỉ là phép đo khoảng cách giữa query embedding và product embedding.

Ba giả thuyết này tạo thành ba tầng của paper: biểu diễn sản phẩm, huấn luyện nền tảng và post-training cho từng ý định tìm kiếm.

Từ retrieval truyền thống đến generative retrieval

Retrieval truyền thống làm gì?

Trong dense retrieval, ta thường có hai encoder:

$$ \mathbf{q}=f_{\theta}(q) $$

$$ \mathbf{p}{i}=g{\phi}(p_i) $$

Query và sản phẩm được biến thành hai vector. Hệ thống tìm sản phẩm có cosine similarity hoặc dot product lớn nhất:

$$ \operatorname{score}(q,p_i)=\mathbf{q}^{\top}\mathbf{p}_i $$

Sau đó một approximate nearest neighbor index như HNSW hoặc IVF sẽ tìm các vector gần query nhất.

Cách làm này nhanh, dễ mở rộng và vẫn là xương sống của rất nhiều search engine. Nhưng nó đặt catalog ở bên ngoài mô hình. Mô hình chỉ tạo query vector; một hệ thống retrieval khác mới thực sự đi lấy sản phẩm.

Generative retrieval làm gì khác?

Generative retrieval biến việc tìm kiếm thành sinh định danh:

$$ q \rightarrow z_1,z_2,\ldots,z_m $$

Trong đó chuỗi $z$ đại diện cho item cần tìm.

Ý tưởng này có lịch sử từ Differentiable Search Index, nơi Transformer học ánh xạ query trực tiếp thành document ID. Những nghiên cứu sau đó như TIGER thay ID ngẫu nhiên bằng Semantic ID, tức chuỗi mã rời rạc mang ý nghĩa về nội dung và quan hệ giữa item.

Với Pailitao-MMSearch, xác suất sinh một sản phẩm được phân rã tự hồi quy:

$$ \begin{aligned} p_{\theta}\left(z\mid q,\mathcal{H}{u}\right) &= \prod{j=1}^{|z|} p_{\theta}\left(z_j\mid z_{<j},q,\mathcal{H}_{u}\right) \end{aligned} $$

Trong đó:

  • $q$ là query gồm ảnh và văn bản.
  • $\mathcal{H}_{u}$ là lịch sử tương tác của người dùng.
  • $z$ là biểu diễn đặc biệt của sản phẩm.
  • Mỗi token tiếp theo được sinh dựa trên query, lịch sử và các token sản phẩm đã sinh trước đó.

Nói một cách lúa hóa, mô hình không còn nói:

Hãy đưa tôi đến một vùng trong không gian vector rồi để hệ thống khác tìm hàng.

Nó bắt đầu nói:

Tôi nghĩ sản phẩm cần tìm nằm ở khu 152, dãy 7011, kệ 284, và có dấu vân tay giống vector này.

Phần “khu, dãy, kệ” chính là Semantic ID. Phần “dấu vân tay” chính là continuous embedding.

Đó là HybSID.

HybSID: địa chỉ nhà cộng với dấu vân tay

Vì sao Semantic ID thuần rời rạc chưa đủ?

Một Product ID ngẫu nhiên không mang cấu trúc. Hai chiếc váy gần giống nhau có thể mang hai mã hoàn toàn không liên quan.

Semantic ID giải quyết vấn đề này bằng cách gom những sản phẩm gần nhau vào các nhánh mã chung.

Ví dụ:

1<Váy> <Trẻ em> <Công chúa>
2<Váy> <Trẻ em> <Thể thao>
3<Áo>  <Người lớn> <Công sở>

Các token đầu biểu diễn ngữ nghĩa rộng. Token sau dần bổ sung chi tiết.

Pailitao-MMSearch tạo Semantic ID bằng residual quantization với ba tầng. Trước hết, mỗi sản phẩm được mã hóa thành vector multimodal $\mathbf{v}_i$, chứa thông tin từ ảnh, tiêu đề và thuộc tính.

Ở tầng thứ nhất, hệ thống chọn codeword gần $\mathbf{v}_i$ nhất:

$$ \begin{aligned} c_{i,l} &= \arg\min_{j\in[K]} \left| \mathbf{r}{i}^{(l-1)} - \mathbf{s}{j}^{(l)} \right|_2 \end{aligned} $$

Sau đó lấy phần sai số còn lại:

$$ \mathbf{r}_{i}^{(0)}=\mathbf{v}_i $$

$$ \mathbf{r}{i}^{(l)} =\mathbf{r}{i}^{(l-1)}-\mathbf{s}{c{i,l}}^{(l)} $$

Tầng đầu mô tả phần lớn nhất của vector. Tầng sau không mã hóa lại từ đầu mà tiếp tục mã hóa phần sai số chưa được tầng trước giải thích.

Nó giống như vẽ một con mèo.

Người thứ nhất vẽ thân mèo. Người thứ hai nhìn vào phần còn thiếu rồi thêm tai. Người thứ ba thấy vẫn chưa đủ giống nên vẽ thêm ria mép. Ba người không vẽ ba con mèo; họ lần lượt sửa phần dư của cùng một con mèo.

Residual-Quantized VAE ban đầu được phát triển trong bài toán sinh ảnh tự hồi quy, nhằm đạt biểu diễn rời rạc ngắn mà vẫn giảm sai số tái tạo. Sau này kỹ thuật này được dùng để tạo Semantic ID trong recommendation và generative retrieval.

Không gian mã rất lớn, nhưng sức chứa thực tế lại nhỏ hơn tưởng tượng

Paper sử dụng:

  • Ba tầng mã: $L=3$.
  • Mỗi codebook có $K=8192$ codeword.

Không gian mã lý thuyết là:

$$ K^L=8192^3=549,755,813,888 $$

Tức khoảng 550 tỷ tổ hợp, đủ lớn trên giấy để định danh catalog khoảng một tỷ sản phẩm.

Nhưng đây là chỗ cần đọc chậm lại.

Không gian lý thuyết không đồng nghĩa với 550 tỷ địa chỉ thực sự được sử dụng đều nhau. Sản phẩm phân bố không đều trong semantic space; nhiều tổ hợp có thể không bao giờ xuất hiện, trong khi các vùng thời trang phổ biến lại bị chen chúc.

Paper cho biết một bucket sau đủ ba tầng SID vẫn chứa trung bình khoảng 24 sản phẩm. Điều này có nghĩa mã rời rạc chưa phân biệt được chính xác từng listing. Hai chiếc váy cùng kiểu dáng, màu sắc và nhóm khách hàng vẫn có thể rơi vào cùng một mã.

Đây chính là nút thắt mà HybSID muốn giải quyết.

Thêm một vector liên tục vào cuối chuỗi

Pailitao-MMSearch biểu diễn sản phẩm bằng:

$$ \mathcal{z}(p_i) =\left(c_1^i,c_2^i,c_3^i,\mathbf{e}_i\right) $$

Ba mã rời rạc dùng để tìm vùng sản phẩm phù hợp. Vector $\mathbf{e}_i$ dùng để phân biệt các sản phẩm nằm trong cùng vùng ấy.

Mỗi sản phẩm vì thế có cả:

  • Địa chỉ: ba SID token.
  • Dấu vân tay: một continuous multimodal embedding.

Nhóm tác giả thêm token đặc biệt:

1<|emb_token|>

Khi token này xuất hiện ở đầu vào, một lớp HybProjection biến product embedding thành chiều không gian mà LLM hiểu được.

Khi token này được mô hình sinh ra, hidden state tại vị trí đó đi qua HybDecoder để tái tạo một vector sản phẩm:

$$ \hat{\mathbf{e}}i =\operatorname{HybDecoder}\left(\mathbf{h}{\mathrm{emb}}\right) $$

Sau đó vector được dùng để nearest-neighbor search trong bucket đã xác định bởi SID.

Về mặt kiến trúc, đây là một thiết kế lai khá thực dụng. Mô hình không cố nhồi toàn bộ độ chính xác của một tỷ sản phẩm vào vài token rời rạc. Nó dùng token để định tuyến và dùng vector để phân giải chi tiết.

Hàm loss của HybSID

HybSID phải học đồng thời hai việc:

  1. Sinh đúng ba token rời rạc.
  2. Tái tạo đúng vector liên tục.

Hàm loss là:

$$ \begin{aligned} \mathcal{L}{\mathrm{hyb}} &= \mathcal{L}{\mathrm{CE}} \left( \hat{c}^{(1:3)},c^{(1:3)} \right) + \lambda \mathcal{L}_{\mathrm{emb}} \left( \hat{\mathbf{e}},\mathbf{e}^{} \right) \end{aligned} $$

Trong đó:

  • $\mathcal{L}_{\mathrm{CE}}$ là cross-entropy cho SID token.
  • $\mathcal{L}_{\mathrm{emb}}$ là mean squared error cho vector liên tục.
  • $\lambda$ cân bằng hai mục tiêu.

Đây là một dạng multi-objective learning. Nếu $\lambda$ quá nhỏ, embedding sinh ra có thể không đủ chính xác. Nếu quá lớn, mô hình có thể ưu tiên tái tạo vector và làm giảm khả năng sinh SID.

Đáng tiếc, bản v1 không công bố giá trị $\lambda$, kích thước vector $\mathbf{e}$, cấu trúc chi tiết của HybDecoder hay độ nhạy theo các siêu tham số này. Vì vậy, ý tưởng có thể hiểu được, nhưng khả năng tái lập đầy đủ vẫn khá hạn chế.

Continual pre-training: dạy mô hình đi bán hàng mà không làm nó quên nói chuyện

Catastrophic forgetting là gì?

Giả sử một sinh viên biết toán, văn, tiếng Anh và lập trình.

Sau đó chúng ta nhốt sinh viên ấy vào kho hàng trong sáu tháng, bắt đọc tên sản phẩm, thuộc tính, click log và lịch sử mua hàng mỗi ngày.

Kết quả có thể là sinh viên nhớ rất rõ khách mua điện thoại thường mua thêm ốp, nhưng khi được hỏi một câu kiến thức phổ thông thì bắt đầu trả lời như hóa đơn.

Đó là catastrophic forgetting: khi học mạnh một domain mới, mô hình làm mất một phần năng lực đã có từ pre-training trước đó.

Pailitao-MMSearch giải quyết việc này bằng hai giai đoạn continual pre-training.

Giai đoạn 1: bơm kiến thức thương mại điện tử

Giai đoạn đầu có khoảng 800 triệu mẫu và hai nhóm nhiệm vụ chính.

Product Knowledge Alignment

Mô hình học hai chiều:

1HybSID → tiêu đề và thuộc tính

và:

1ảnh + văn bản + thuộc tính → HybSID

Chiều thứ nhất buộc SID mang ý nghĩa có thể giải mã. Chiều thứ hai giúp mô hình ánh xạ biểu hiện bên ngoài của sản phẩm về đúng vùng định danh.

User Behavior Alignment

Mô hình còn học trên chuỗi hành vi:

$$ \mathcal{H}u =(p{u,1},p_{u,2},\ldots,p_{u,T}) $$

Nó dự đoán sản phẩm tiếp theo, học quan hệ đồng xuất hiện và sự chuyển dịch sở thích giữa các phiên.

Đây là chỗ Pailitao-MMSearch khác một vision-language model thông thường. Mô hình không chỉ học rằng hai sản phẩm nhìn giống nhau. Nó còn học rằng con người thường xem chúng cùng nhau, mua chúng cùng nhau hoặc chuyển từ món này sang món kia.

Một lượng nhỏ dữ liệu hội thoại tổng quát cũng được trộn vào giai đoạn này như regularizer, nhưng kết quả thực nghiệm cho thấy biện pháp ấy không đủ để ngăn suy giảm năng lực tổng quát.

Giai đoạn 2: On-Policy Distillation

Do nhóm tác giả không có tập pre-training ban đầu của base model, họ dùng chính Qwen3 gốc làm teacher.

Điểm quan trọng của on-policy nằm ở chỗ response được sinh từ student hiện tại:

$$ y \sim \pi_{\mathrm{s1}}(\cdot\mid x) $$

Sau đó, tại những trạng thái mà student thực sự đi qua, phân phối token của student được kéo gần teacher bằng KL divergence:

$$ \begin{aligned} \mathcal{L}{\mathrm{stage2}} &= \mathcal{L}{\mathrm{task}} + \mu \mathbb{E} \left[ \sum_{t=1}^{|y|} D_{\mathrm{KL}} \left( \pi_{\mathrm{s1}}(\cdot\mid y_{<t},x) \parallel \pi_{\mathrm{base}}(\cdot\mid y_{<t},x) \right) \right] \end{aligned} $$

Knowledge distillation truyền thống thường cho student học trên dữ liệu hoặc trajectory cố định của teacher. On-policy distillation để student tự bước đi, tự đi vào những trạng thái hơi kỳ quặc mà nó có khả năng gặp khi inference, rồi nhờ teacher sửa ngay tại những trạng thái đó.

Nó giống dạy một đứa trẻ đi xe đạp. Thay vì chỉ cho xem video người lớn chạy xe hoàn hảo, chúng ta để đứa trẻ tự đạp, chao qua trái, sắp đâm bụi cây, rồi sửa đúng tại vị trí mà nó vừa chạy tới.

Đây là một hướng nghiên cứu đang được quan tâm vì nó giảm độ lệch giữa phân phối dữ liệu huấn luyện và phân phối trạng thái do student tạo ra khi vận hành.

Nhưng paper có thực sự “khôi phục” năng lực tổng quát không?

Đây là phần cần đọc với một chiếc kính hơi khó tính.

Kết quả được báo cáo:

Benchmark Qwen3-0.6B Sau CPT Stage 1 Sau OPD Stage 2
MMLU-Redux 44.60 37.05 37.05
C-Eval 42.60 34.70 34.77
IFEval 54.50 36.78 38.45
LiveCodeBench v5 3.60 3.86 3.41
INCLUDE 34.40 28.65 28.73

OPD cải thiện IFEval thêm 1,67 điểm so với Stage 1. Nhưng MMLU-Redux không phục hồi, C-Eval và INCLUDE gần như đứng yên, còn LiveCodeBench giảm.

Do đó, cách diễn đạt học thuật thận trọng hơn nên là:

OPD giúp cải thiện một phần instruction following và làm quá trình suy giảm ổn định hơn.

Chưa đủ bằng chứng để nói mô hình đã “khôi phục” năng lực của base model. Khoảng cách so với Qwen3-0.6B gốc vẫn còn đáng kể trên phần lớn benchmark. Chính paper cũng thừa nhận OPD không cải thiện đồng đều mọi nhiệm vụ.

Ngoài ra, bản v1 không nói thật rõ mô hình production có đúng là Qwen3-0.6B hay không. Kích thước 0.6B chỉ xuất hiện rõ trong bảng đánh giá năng lực ngôn ngữ, trong khi phần mô tả deployment chỉ nói sử dụng Qwen3 làm backbone.

Đây là một chi tiết quan trọng, vì chi phí serving, năng lực reasoning và khả năng ghi nhớ catalog phụ thuộc rất mạnh vào quy mô mô hình.

Post-training: lúc mô hình học cách hiểu ý định mua hàng

Sau continual pre-training, mô hình có kiến thức về sản phẩm và hành vi, nhưng chưa chắc biết xử lý mọi kiểu query trong production.

Nhóm tác giả tiếp tục huấn luyện khoảng 30 triệu mẫu SFT, bao phủ năm nhóm nhiệm vụ:

  • Tìm sản phẩm tương tự.
  • Sửa đổi một thuộc tính của sản phẩm tham chiếu.
  • Tìm sản phẩm phối hợp hoặc bổ trợ.
  • Xử lý ý định kết hợp nhiều điều kiện.
  • Gợi ý sản phẩm liên quan đến một chủ đề.

Dữ liệu được khai thác từ trajectory hành vi, sau đó dùng heuristic để nhận diện task, sinh instruction và chia độ khó. Ví dụ, người dùng xem một chiếc cốc rồi mua bao đựng cốc có thể tạo thành mẫu huấn luyện cho bài toán matching product.

Không phải query nào cũng cần “suy nghĩ”

Paper chia query thành hai nhóm.

Với query đơn giản, mô hình sinh HybSID trực tiếp.

Với query khó, mô hình sinh chain-of-thought trước khi sinh sản phẩm:

  1. Nhận diện thuộc tính của sản phẩm tham chiếu.
  2. Phân tích yêu cầu sửa đổi.
  3. Suy luận thuộc tính của sản phẩm đích.
  4. Sinh HybSID.

Hàm loss SFT vẫn là negative log-likelihood thông thường:

$$ \begin{aligned} \mathcal{L}{\mathrm{sft}} &=- \mathbb{E}{(x,y)\sim\mathcal{D}{\mathrm{sft}}} \left[ \sum{l=1}^{|y|} \log P_{\theta} \left( y_l\mid y_{<l},x \right) \right] \end{aligned} $$

Điểm thực dụng là reasoning mode được chỉ định rõ trong instruction dựa trên yêu cầu latency của từng kịch bản. Tức là bản v1 chưa trình bày một router tự học để quyết định query nào cần suy luận sâu; hệ thống bên ngoài vẫn chọn chế độ.

Nói cách khác, bộ não đã biết nghĩ, nhưng vẫn cần một người đứng cạnh nói:

Câu này dễ, trả lời lẹ đi.

hoặc:

Câu này hơi căng, nghĩ thêm một vòng.

Reinforcement learning với phần thưởng có thể kiểm chứng

Nhóm tác giả sử dụng Group Relative Policy Optimization, hay GRPO, để tối ưu các task khó.

GRPO trở nên nổi tiếng từ DeepSeekMath. Thay vì cần một value model riêng như PPO, phương pháp so sánh reward giữa một nhóm response được sinh cho cùng prompt rồi dùng reward tương đối để cập nhật policy.

Reward của Pailitao-MMSearch gồm hai thành phần:

$$ \begin{aligned} R(o) &= \alpha_r \mathbb{1} \left[ \hat{\mathbf{z}}\in\mathcal{G}(z) \right] + \beta_r \operatorname{CosSim} \left( \hat{\mathbf{e}},\mathbf{e}^{*} \right) \end{aligned} $$

Thành phần đầu kiểm tra SID sinh ra có thuộc tập sản phẩm đúng hay không.

Thành phần sau đo độ tương đồng giữa embedding được sinh và embedding đích.

Việc dùng nhiều sản phẩm đúng $\mathcal{G}(z)$ thay vì một click duy nhất là hợp lý. Trong tìm kiếm thương mại điện tử, một query thường có nhiều câu trả lời chấp nhận được. Nếu chỉ xem sản phẩm đã click là đáp án duy nhất, mô hình sẽ bị phạt dù nó tìm ra một sản phẩm khác cũng phù hợp.

Tuy nhiên, paper có một điểm diễn đạt chưa nhất quán. Nhóm tác giả nói reward “không cần human annotation”, nhưng ngay trước đó lại mô tả tập ground truth được xây dựng từ expert annotation kết hợp transaction log. Có thể ý của họ là quá trình chấm reward trong từng rollout không cần con người ngồi chấm trực tiếp. Nhưng việc tạo tập đáp án chuẩn ban đầu vẫn có yếu tố chuyên gia.

Multi-Expert OPD: gom nhiều ông thầy vào một học sinh

Sau RL, hệ thống có nhiều expert:

  • Expert cho matching sản phẩm.
  • Expert cho compound intent.
  • Base LLM giữ năng lực ngôn ngữ.
  • SFT model giữ khả năng xử lý nhiều task.

Multi-Expert On-Policy Distillation gom các năng lực này vào một student:

$$ \begin{aligned} \mathcal{L}{\mathrm{meopd}} &= \mathcal{L}{\mathrm{sft}} + \mathbb{E} \left[ \sum_t \sum_{k=1}^{M} w_k D_{\mathrm{KL}} \left( \pi_{\mathrm{student}} \parallel \pi_k \right) \right] \end{aligned} $$

Về trực giác, student tự sinh trajectory rồi lần lượt hỏi nhiều giáo viên:

Với trạng thái này, thầy thời trang nghĩ sao?

Thầy ngôn ngữ nghĩ sao?

Thầy matching nghĩ sao?

Sau đó student cố đứng ở một vị trí cân bằng giữa các phân phối teacher.

Đây là một thiết kế thú vị nhưng chưa được kiểm chứng đầy đủ trong bản v1. Bảng ablation cho hybrid reasoning, RL enhancement và multi-expert OPD vẫn được ghi là sẽ cập nhật ở phiên bản arXiv sau. Vì vậy, phần này hiện mới mạnh về mặt mô tả phương pháp, chưa mạnh về bằng chứng nhân quả.

Thực nghiệm được tổ chức như thế nào?

Quy mô huấn luyện

Paper công bố các cấu hình chính:

Giai đoạn Số mẫu Learning rate Batch size Sequence length
CPT Stage 1 800 triệu $8\times10^{-5}$ 64 4096
CPT Stage 2 2 triệu $1\times10^{-6}$ 24 4096
Post-training SFT 30 triệu $5\times10^{-6}$ 384 4096

Vision encoder bị đóng băng và trước đó đã được huấn luyện trên hàng chục tỷ mẫu visual-search nội bộ. Catalog production có quy mô hàng tỷ listing và nền tảng phục vụ hàng chục triệu người dùng hoạt động mỗi ngày theo phần mô tả thí nghiệm.

Đây là một lợi thế rất lớn nhưng cũng là rào cản tái lập. Một nhóm nghiên cứu bên ngoài không có vision encoder, interaction log, transaction log và catalog cùng quy mô gần như không thể tái tạo đúng điều kiện thí nghiệm.

Kết quả online: con số lớn nhưng cần đọc đúng phạm vi

Pailitao-MMSearch được triển khai ở hai vị trí: generative retrieval và generative ranking.

Generative retrieval

Trên khu vực “PeiWoGuang” chuyên tìm sản phẩm tương tự từ hình ảnh, paper báo cáo:

Chỉ số Mức thay đổi
GMV +3,67%
Transaction Volume +3,74%
Transaction UV +2,51%
IPV +3,28%
CTR +0,11 điểm phần trăm

Trên toàn bộ Pailitao, mức tăng nhỏ hơn:

Chỉ số Mức thay đổi
GMV +1,02%
Transaction Volume +0,53%
IPV +0,15%
CTR +0,01 điểm phần trăm

Điều này cho thấy hiệu quả tập trung mạnh ở bề mặt sản phẩm phù hợp với visual search, thay vì lan đều ra toàn nền tảng.

Generative ranking

Ở tầng ranking của “PeiWoGuang”, paper báo cáo:

Chỉ số Mức thay đổi
GMV +9,94%
Transaction Volume +4,47%
IPV +3,52%
IPV_UV +2,11%
CTR +0,11 điểm phần trăm

Nhóm tác giả cộng hai deployment và đưa ra mức tăng tích lũy +13,61% GMV cùng +8,21% transaction volume trên “PeiWoGuang”. Hai con số này đúng bằng tổng số học của mức tăng retrieval và ranking.

Nhưng từ góc nhìn thực nghiệm, chúng ta chưa biết hai A/B test được chạy tuần tự, đồng thời hay trên các tập traffic độc lập. Paper cũng chưa công bố thời gian thử nghiệm, số người dùng mỗi nhánh, khoảng tin cậy, p-value, cách kiểm soát novelty effect hay ảnh hưởng theo mùa.

Phần kết luận gọi các kết quả là “statistically significant”, nhưng thông tin thống kê cần thiết để người đọc kiểm tra tuyên bố ấy không xuất hiện trong bản v1. Vì vậy, nên xem đây là bằng chứng production rất đáng chú ý, nhưng chưa phải một báo cáo A/B test hoàn chỉnh theo chuẩn học thuật.

Một chi tiết khác cũng cần giữ lại: generative retrieval được dùng để bổ sung ứng viên cho các retrieval channel hiện có. Nó chưa thay thế toàn bộ pipeline truyền thống. Generative ranking cũng là một mô hình được fine-tune riêng cho tầng xếp hạng.

Do đó, deployment thực tế hiện tại giống một kiến trúc lai hơn là một search engine hoàn toàn end-to-end nằm trong một model duy nhất.

Kết quả offline nói lên điều gì?

Khả năng hiểu Semantic ID

Kết quả multimodal SID recognition:

Chỉ số Kết quả
SID-1 Accuracy 74,78%
SID-1/2 Accuracy 26,95%
Full SID Match 2,10%
Oracle Embedding Cosine 0,7470
Retrieval@1 2,10%
Retrieval@10 4,43%

Độ chính xác giảm rất nhanh khi yêu cầu sinh thêm tầng SID.

Tầng đầu đạt gần 75%, nghĩa là mô hình thường xác định đúng vùng ngữ nghĩa rộng. Nhưng khớp đủ cả ba tầng chỉ còn 2,10%.

Kết quả này không nhất thiết nói hệ thống vô dụng. Với catalog hàng tỷ item, việc sinh đúng nhánh đầu đã có thể giảm không gian tìm kiếm rất mạnh. Tuy nhiên, nó cho thấy continuous embedding và bước retrieval phía sau không phải phụ kiện trang trí; chúng là thành phần bắt buộc để bù cho độ chính xác thấp của full SID generation.

Ablation của HybSID

Khi bỏ continuous embedding:

  • BLEU-4 của SID-to-caption giảm từ 0,1955 xuống 0,1212.
  • Attribute exact match giảm từ 50,52% xuống 39,70%.
  • Các chỉ số khớp SID gần như không thay đổi.

Điều này gợi ý continuous embedding bổ sung thông tin ngữ nghĩa chi tiết, nhưng không trực tiếp giúp mô hình sinh ba mã rời rạc chính xác hơn.

Khi bỏ discrete SID và tìm kiếm toàn cục bằng embedding:

  • Retrieval@1 đạt 1,80%, so với 2,10% của HybSID.
  • Retrieval@10 đạt 4,08%, so với 4,43% của HybSID.

HybSID tốt hơn, nhưng chênh lệch tuyệt đối không lớn. Đây là bằng chứng ủng hộ thiết kế lai, song chưa đủ để kết luận discrete routing tạo bước nhảy mang tính áp đảo. Đánh giá latency, bộ nhớ index và throughput có thể mới là nơi discrete routing thể hiện lợi ích lớn, nhưng paper chưa công bố các chỉ số đó.

Chain-of-thought có giúp tìm sản phẩm tốt hơn không?

Trong matching product search:

Cấu hình Recall@10 NDCG@10 SIF@10 LIF@10
Không CoT 0,8544 0,8146 55,0% 80,1%
Có CoT 0,8356 0,8326 58,6% 82,6%

CoT làm Recall@10 giảm, nhưng NDCG và instruction-following tăng.

Có thể hiểu rằng reasoning khiến mô hình tìm ít rộng hơn nhưng sắp xếp kết quả phù hợp ý định tốt hơn. Nó bớt quăng lưới, đổi lại biết lựa cá.

Tuy nhiên, chỉ số strict và loose instruction following được chấm bằng Gemini 3.1 Pro làm judge. Paper chưa công bố prompt chấm điểm, độ đồng thuận với chuyên gia, sai số giữa các lần chạy hay kiểm tra bias của judge. Vì vậy, các con số này nên được xem là model-based evaluation chứ chưa tương đương human evaluation độc lập.

Đóng góp học thuật thực sự nằm ở đâu?

Pailitao-MMSearch không phải paper đầu tiên về generative retrieval.

Nó cũng không phát minh ra:

  • Semantic ID.
  • Residual quantization.
  • Continual pre-training.
  • Chain-of-thought.
  • GRPO.
  • On-policy distillation.
  • Vision-language model.

Đóng góp chính nằm ở cách ghép các thành phần thành một hệ thống search đa phương thức ở quy mô thương mại điện tử.

Trong đó, HybSID là phần rõ ràng và thuyết phục nhất:

1Discrete codes
2    → định tuyến theo ngữ nghĩa
3    → dễ sinh tự hồi quy
4    → có khả năng chia sẻ cấu trúc giữa sản phẩm
5
6Continuous embedding
7    → giữ chi tiết
8    → phân biệt item trong cùng bucket
9    → hỗ trợ nearest-neighbor retrieval

Nó xử lý trực tiếp mâu thuẫn giữa hai loại biểu diễn:

  • Biểu diễn rời rạc dễ tích hợp vào vocabulary nhưng mất chi tiết.
  • Biểu diễn liên tục giàu thông tin nhưng khó sinh như token và thường cần index bên ngoài.

OneSearch trước đó cũng nghiên cứu framework generative end-to-end cho tìm kiếm thương mại điện tử và dùng hierarchical quantization để giữ ngữ nghĩa cùng thuộc tính phân biệt. Pailitao-MMSearch tiến thêm một bước theo hướng multimodal native và giữ cả continuous embedding trong biểu diễn sản phẩm.

Những điểm còn thiếu theo chuẩn một paper học thuật mạnh

Thiếu khả năng tái lập

Paper chưa cung cấp đầy đủ:

  • Quy mô chính xác của production model.
  • Số chiều product embedding.
  • Cấu trúc HybProjection và HybDecoder.
  • Giá trị $\lambda$, $\mu$, $\alpha_r$, $\beta_r$.
  • Số expert và trọng số $w_k$.
  • GRPO group size, clipping, rollout configuration.
  • Loại ANN index và kích thước candidate bucket ở inference.
  • Latency, throughput, GPU cost và chi phí serving.
  • Cơ chế cập nhật SID khi catalog thay đổi.
  • Cách xử lý sản phẩm mới chưa có hành vi.

Với một industrial paper, việc không công bố dữ liệu là dễ hiểu. Nhưng nếu gọi đây là foundation model architecture, những chi tiết kiến trúc và protocol nói trên vẫn rất quan trọng để cộng đồng kiểm chứng.

Ablation chưa bao phủ các tuyên bố chính

Bản v1 mới có ablation tương đối rõ cho HybSID.

Các kết quả định lượng riêng cho:

  • Hybrid reasoning.
  • Reinforcement learning.
  • Multi-expert OPD.

vẫn đang để trống và hẹn cập nhật.

Do đó, chúng ta biết hệ thống hoàn chỉnh hoạt động tốt, nhưng chưa biết thành phần nào tạo ra bao nhiêu phần trăm cải thiện.

Đây là khoảng cách giữa system result và causal evidence.

Dữ liệu hành vi có thể mang theo exposure bias

Click và transaction log không chỉ phản ánh sở thích. Chúng còn phản ánh những gì hệ thống cũ đã cho người dùng nhìn thấy.

Một sản phẩm không được click có thể vì nó không phù hợp, nhưng cũng có thể vì nó bị xếp ở trang thứ mười bảy và chưa bao giờ được nhìn thấy.

Nếu mô hình học mạnh từ trajectory cũ, nó có thể hấp thụ:

  • Popularity bias.
  • Position bias.
  • Exposure bias.
  • Bias từ chiến dịch quảng cáo.
  • Bias từ tồn kho và phân phối.

Paper có nhắc multi-reference reward để giảm việc coi một click là chân lý duy nhất, nhưng chưa trình bày cơ chế propensity correction, counterfactual learning hay debiasing rõ ràng.

Catalog không đứng yên

Một tỷ sản phẩm không phải một thư viện đá.

Sản phẩm mới xuất hiện, listing cũ biến mất, người bán sửa tiêu đề, thay ảnh, đổi thuộc tính và chuyển ngành hàng. Nếu Semantic ID được xây từ catalog tại thời điểm huấn luyện, cần trả lời:

  • Sản phẩm mới được gán SID thế nào?
  • Khi embedding thay đổi, SID có đổi không?
  • Nếu SID đổi, dữ liệu hành vi cũ còn dùng được không?
  • Có cần huấn luyện lại vocabulary?
  • Codebook được cập nhật online hay theo batch?
  • Collision tăng dần theo thời gian ra sao?

Đây là vấn đề sống còn của generative retrieval trong production, nhưng paper chưa đi sâu.

Ý nghĩa lớn hơn: catalog bắt đầu trở thành ngôn ngữ

Trước đây, LLM nói ngôn ngữ của con người, còn catalog nói ngôn ngữ của database.

LLM sinh chữ.

Search engine lấy ID.

Vector database giữ embedding.

Recommendation model giữ lịch sử hành vi.

Mỗi hệ thống nói một thứ tiếng, đứng trong một căn phòng riêng và chuyền giấy cho nhau qua cửa sổ.

Pailitao-MMSearch thử xây một ngôn ngữ chung, trong đó sản phẩm có thể xuất hiện trong cùng sequence với văn bản, hình ảnh và hành vi người dùng.

Khi đó, lịch sử có thể trông giống:

1Người dùng đã xem:
2<SID_1_41> <SID_2_712> <SID_3_90> <|emb_token|>
3
4Sau đó tìm:
5"màu tối hơn, dùng được khi trời mưa"
6
7Mô hình sinh:
8<SID_1_41> <SID_2_905> <SID_3_12> <|emb_token|>

Sản phẩm không còn chỉ là dòng dữ liệu được lấy ra sau cùng. Nó trở thành một đối tượng nằm bên trong quá trình reasoning.

Đây có thể là nền móng cho agentic commerce. Một agent hiểu sâu không chỉ câu nói của khách mà còn hiểu taxonomy, quan hệ bổ trợ, hành vi chuyển đổi và không gian sản phẩm sẽ quyết định tốt hơn khi reformulate query, gọi tool hay tổng hợp danh sách tư vấn.

Nhưng paper cũng đưa ra một nhận định đáng suy nghĩ: điểm nghẽn của agentic search có thể không nằm ở orchestration framework, mà nằm ở việc thiếu một foundation model thực sự hiểu domain thương mại điện tử. Một agent có mười cái tool nhưng không hiểu sản phẩm vẫn giống một người cầm mười chiếc chìa khóa mà không biết cánh cửa nào dẫn vào nhà kho.

Tổng kết

Pailitao-MMSearch là một industrial paper đáng đọc vì nó không dừng ở việc cho vision-language model nhìn ảnh rồi viết mô tả. Nó cố đưa toàn bộ catalog vào ngôn ngữ sinh của mô hình.

Ý tưởng trung tâm là HybSID:

  • Semantic ID rời rạc giúp định tuyến từ thô đến tinh.
  • Continuous embedding giữ thông tin bị lượng tử hóa làm mất.
  • Mô hình vừa có thể hiểu sản phẩm trong context, vừa sinh biểu diễn sản phẩm ở đầu ra.
  • Retrieval được biến thành quá trình sinh định danh có điều kiện trên ảnh, văn bản và lịch sử hành vi.

Hai-stage continual pre-training và on-policy distillation là hướng đi hợp lý, nhưng kết quả hiện tại chỉ cho thấy sự phục hồi một phần về instruction following, chưa đưa mô hình trở lại mức năng lực tổng quát của base model.

Phần SFT, GRPO và multi-expert distillation tạo thành một pipeline rất tham vọng, nhưng bản v1 vẫn thiếu ablation để xác định đóng góp riêng của từng thành phần.

Các kết quả A/B test cho thấy giá trị production đáng kể, đặc biệt trong bề mặt visual search chuyên biệt. Dù vậy, thiếu thời gian thử nghiệm, khoảng tin cậy, p-value, chi phí inference và chi tiết deployment khiến người đọc chưa thể đánh giá trọn vẹn hiệu quả theo chuẩn thực nghiệm học thuật.

Nhìn rộng hơn, paper gợi ra một sự thay đổi quan trọng: search engine tương lai có thể không chỉ dùng LLM để hiểu query rồi gọi một hệ thống lấy hàng bên ngoài. Bản thân sản phẩm, hành vi và catalog có thể trở thành token trong ngôn ngữ nội tại của mô hình.

Khi ấy, một chiếc váy không còn chỉ là một dòng trong database.

Nó là ba token rời rạc, một vector liên tục, hàng nghìn tín hiệu hành vi, một vị trí trong không gian thương mại và một khả năng được sinh ra từ bộ não của search engine.

Nghe hơi ngáo.

Nhưng nhiều kiến trúc lớn thường bắt đầu bằng việc cho những thứ vốn không biết nói học cách trở thành ngôn ngữ.

Tham khảo

Bình luận