Nội dung này phục vụ mục đích giáo dục. Demo chỉ dùng tọa độ giả; không gửi dữ liệu định danh cá nhân, bí mật hoặc nội dung chưa được phép vào mô hình.

Trả lời ngắn: Embedding là vector cố định do mô hình tạo để biểu diễn đầu vào trong không gian đã học. Các điểm gần nhau có thể liên quan theo nhiệm vụ huấn luyện, nhưng embedding không chép ý nghĩa vào từng con số, không tự xác minh sự thật và không phải xác suất câu trả lời đúng.

Đọc xong, bạn sẽ hiểu:

  • Mô hình, vector, số chiều và không gian đã học liên hệ thế nào.
  • Cosine similarity thực sự đo gì qua một ví dụ 2D.
  • Cách chọn, đổi phiên bản và tạo lại embedding mà không trộn hai hệ tọa độ.

1. Embedding là gì, và vì sao vector không phải “bản dịch ý nghĩa”

a. Một điểm trong không gian mô hình đã học

Người hỏi “OTP mãi không về”; tài liệu lại viết “không nhận được mã xác thực”. Hai câu khác chữ nhưng cùng ý định hỗ trợ. Một mô hình embedding học cách biến mỗi đầu vào thành vector để so quan hệ bằng toán.

Ví dụ minh hoạ:

"OTP mãi không về" → [0,12; -0,34; 0,81; ...]

Số chiều (dimension) là số phần tử trong vector. Vector 1.024 chiều có 1.024 số; không có nghĩa mô hình “hiểu 1.024 ý”. Không gian đã học (learned space) hình thành từ dữ liệu và mục tiêu huấn luyện.

OpenAI mô tả text embeddings là biểu diễn số của văn bản dùng để đo mức liên quan, với ứng dụng tìm kiếm, gom cụm, gợi ý và phân loại. Đây không phải cam kết mọi mô hình hợp mọi ngôn ngữ hoặc ngành. OpenAI — Embedding model

b. Không đọc từng tọa độ như nhãn

Ta không thể nhìn 0,12 rồi nói: “trục này là OTP”, nhìn -0,34 rồi nói: “trục kia là cảm xúc”. Quan hệ của cả vector mới hữu ích, không phải một tọa độ riêng lẻ.

Hãy tưởng tượng bản đồ không ghi tên trục nhưng vẫn giúp biết hai địa điểm gần hay xa. So sánh chỉ đúng ở mức quan hệ; “gần” theo mô hình vẫn có thể sai nhu cầu.

c. Chữ, ảnh và âm thanh không tự chung một bản đồ

Một mô hình chỉ nhận văn bản không tự so ảnh mèo với chữ “mèo”. Muốn hai loại đầu vào nằm trong không gian chung, mô hình phải được huấn luyện cho quan hệ đa phương thức đó.

Tương tự, hai mô hình có thể tạo vector cùng số chiều nhưng khác hệ tọa độ. Cùng số ô không có nghĩa các số tương thích.

2. Từ đầu vào đến vector và similarity diễn ra thế nào?

Hình 1 — Embedding đặt input thành điểm để so quan hệ; nó không chép nguyên ý nghĩa vào từng con số.

a. Luồng tối thiểu

Một luồng có kiểm soát gồm:

  1. Chọn đầu vào và mục đích: truy xuất, phân loại hay gom cụm.
  2. Chuẩn hoá nội dung theo hợp đồng: mã hoá, cắt đoạn, tiền tố nhiệm vụ.
  3. Gọi đúng mô hình và phiên bản.
  4. Nhận vector có số chiều cố định.
  5. Lưu vector cùng ID, phiên bản mô hình và tiền xử lý.
  6. So vector bằng thước đo đã chọn.

Sentence Transformers mô tả Semantic Textual Similarity bằng cách tạo embeddings rồi tính ma trận similarity; cosine là thước đo mặc định trong ví dụ. Sentence Transformers — Semantic Textual Similarity

b. Cosine nhìn hướng

Hình 2 — Cosine nhìn hướng, nên hai vector khác độ dài vẫn có thể đạt similarity bằng 1.

Cosine similarity đo mức cùng hướng giữa hai vector:

cosine(A,B) = dot(A,B) / (norm(A) × norm(B))

Tích vô hướng (dot product) là tổng tích từng cặp tọa độ. Norm hay độ lớn là độ dài vector. Với Q=[1;0]E=[2;0], tích vô hướng bằng 2; norm là 1 và 2; cosine bằng 2/(1×2)=1.

Chuẩn hoá (normalization) đưa vector về độ dài chuẩn, thường là 1. Cách dùng vẫn phải theo hợp đồng của mô hình và hệ tìm kiếm.

c. Điểm similarity không phải độ tin cậy

Nếu similarity là 0,91, ta chỉ biết cặp đó gần theo mô hình, tiền xử lý và thước đo hiện tại. Không được đổi nó thành “đúng 91%”.

Ngưỡng 0,8 cũng không tự nhiên đúng. Ứng dụng tìm ảnh, hệ tiếng Việt và bộ phân loại ticket có phân bố điểm khác nhau. Phải chọn ngưỡng từ dữ liệu có nhãn và kiểm lại khi mô hình đổi.

3. Số chiều, model drift và những giới hạn dễ bỏ qua

Ba rủi ro lớn là chọn số chiều theo cảm tính, trộn hợp đồng và dùng mô hình lệch ngôn ngữ/lĩnh vực.

a. Nhiều chiều không bảo đảm tốt hơn

Nhiều chiều có thể giữ thêm tín hiệu nhưng tăng dung lượng, băng thông và công tìm. Chất lượng còn phụ thuộc dữ liệu, nhiệm vụ và ngôn ngữ. Không thể chọn mô hình chỉ bằng số chiều.

MTEB đánh giá text embeddings trên nhiều nhiệm vụ và tập dữ liệu; MMTEB mở rộng sang nhiều ngôn ngữ. Benchmark chung chỉ là tham khảo, không thay bộ đánh giá tiếng Việt và lĩnh vực thật. MTEB — paper, MMTEB — paper

b. Trộn phiên bản là trộn hệ tọa độ

Giả sử kho dùng mô hình A, truy vấn mới dùng mô hình B. Cả hai trả vector 768 chiều nên luồng không báo lỗi kiểu dữ liệu. Nhưng chúng thuộc hai không gian khác nhau; similarity không còn đáng tin.

Model/version drift là thay đổi đầu ra khi mô hình, phiên bản hoặc tiền xử lý đổi. Chuyển hợp đồng mới thường phải tạo lại embedding (re-embed) dữ liệu cũ bằng cùng phiên bản mới.

Hình 3 — Đổi model là đổi hệ tọa độ; phải tạo lại vector và kiểm thử trước khi chuyển.

c. Ngôn ngữ, lĩnh vực và dữ liệu xấu

“Lãi suất gửi tiết kiệm” và “lãi suất vay” có nhiều chữ giống nhưng nhu cầu khác. Mô hình tổng quát có thể xếp chúng quá gần. Trong y tế, pháp lý hoặc mã sản phẩm, khác biệt nhỏ lại rất quan trọng.

Embedding không chữa dữ liệu lỗi thời, trùng hoặc sai quyền. Nó có thể mã hoá thiên lệch từ dữ liệu huấn luyện. PII vẫn là PII sau khi qua luồng; vector không tự làm dữ liệu vô danh.

4. Checklist chọn và vận hành mô hình embedding

a. Chọn bằng nhiệm vụ thật

  1. Chốt nhiệm vụ: truy xuất, gom cụm, phân loại hay đa phương thức.
  2. Chốt ngôn ngữ/lĩnh vực: tiếng Việt, tài chính, hỗ trợ hay mã kỹ thuật.
  3. Dựng bộ đánh giá: truy vấn, mẫu đúng, hard negative và ca phải từ chối.
  4. Chọn chỉ số: recall@k, nDCG, độ chính xác hoặc chỉ số hợp nhiệm vụ.
  5. Đo vận hành: độ trễ, thông lượng batch, số chiều, lưu trữ và chi phí.
  6. Ghi hợp đồng: mô hình, phiên bản, số chiều, tiền xử lý, chuẩn hoá, thước đo.
  7. Đặt sàn chất lượng: dưới sàn thì giữ mô hình cũ hoặc dùng phương án lùi.

Hard negative là ví dụ trông gần nhưng phải bị xếp thấp. “Lãi suất gửi” so với “lãi suất vay” là một ca như vậy. Thiếu chúng, bộ đánh giá dễ khen mô hình vì gom cùng chủ đề rộng.

b. Đổi mô hình theo đường song song

Quy trình an toàn:

  1. Đóng băng bộ đánh giá và mốc hiện tại.
  2. Tạo không gian dữ liệu/chỉ mục mới cho hợp đồng mới.
  3. Tạo lại embedding một mẫu, so chất lượng và chi phí.
  4. Tạo lại toàn bộ với checkpoint có thể tiếp tục.
  5. Chạy truy vấn song song vào cả hai hệ.
  6. Chỉ chuyển khi sàn chất lượng, độ trễ và cổng quyền cùng đạt.
  7. Giữ đường quay lui đến khi cập nhật/xóa đồng bộ.

Đứng ngoài nếu chưa có bộ đánh giá hoặc không biết phiên bản tạo kho vector. Dừng nếu truy vấn và corpus dùng hai mô hình khác nhau, số chiều không khớp, hoặc dữ liệu vượt chính sách.

5. Bài tập 15 phút: tính cosine cho sáu vector giả

Dùng spreadsheet miễn phí, không gọi API. Đặt query Q=[1;0]:

  • 3 phút nhập sáu vector.
  • 4 phút tính dot product và norm.
  • 3 phút tính dot(Q,X)/(norm(Q)×norm(X)).
  • 3 phút xếp score giảm dần.
  • 2 phút so A với E để thấy magnitude khác nhưng cosine bằng nhau.

Mẫu đối chiếu đã điền

ID Vector giả Cosine với Q Diễn giải demo
A [1;0] 1,000 cùng hướng
B [0,9;0,1] 0,994 rất gần hướng
C [0,7;0,7] 0,707 liên quan vừa
D [0;1] 0,000 vuông góc
E [2;0] 1,000 cùng hướng, magnitude khác
F [-1;0] -1,000 ngược hướng

Đây là tọa độ tự đặt để học công thức, không phải đầu ra hay điểm thật. Hãy giải thích vì sao A và E cùng cosine, không suy ra ý nghĩa từ mỗi trục. Không dùng dữ liệu hoặc tiền thật.

6. Tổng kết và bài học tiếp theo

a. Năm ý chính

  • Embedding là vector do mô hình tạo trong không gian đã học.
  • Số chiều là số phần tử, không phải số ý mô hình hiểu.
  • Cosine đo hướng; similarity không phải độ tin cậy hay sự thật.
  • Mô hình, phiên bản, tiền xử lý và thước đo tạo thành một hợp đồng.
  • Đổi mô hình phải qua đánh giá, tạo lại vector, test song song và quay lui.

b. Câu hỏi tự kiểm tra

  • Vì sao không nên gán một coordinate cho một khái niệm?
  • A [1;0] và E [2;0] có cosine bằng bao nhiêu?
  • Vì sao hai vector cùng dimension vẫn có thể không tương thích?
  • Khi nào phải re-embed kho cũ?

c. Gợi ý đáp án

Xem gợi ý câu 1

Quan hệ hữu ích nằm ở toàn vector và learned space; từng coordinate không có nhãn người đọc ổn định. → xem mục 1.

Xem gợi ý câu 2

Cosine bằng 1 vì hai vector cùng hướng dù magnitude khác. → xem mục 2 và 5.

Xem gợi ý câu 3

Chúng có thể đến từ hai model hoặc phiên bản học hai hệ tọa độ khác nhau. → xem mục 3.

Xem gợi ý câu 4

Khi model/version/preprocessing contract đổi và vector cũ không còn tương thích. → xem mục 4.

d. Thuật ngữ cần nhớ

Thuật ngữ Giải thích ngắn
Embedding Vector cố định do model tạo cho input.
Embedding model Model đặt input vào learned space.
Dimension Số phần tử trong vector.
Learned space Không gian quan hệ do training tạo.
Cosine similarity Mức cùng hướng giữa hai vector.
Dot product Tổng tích từng cặp coordinate.
Norm Độ dài của vector.
Normalization Đưa vector về độ dài chuẩn.
Model drift Đầu ra thay khi model hoặc version đổi.
Re-embed Tạo lại vector bằng contract mới.

e. Nguồn tham khảo

f. Học tiếp gì?

Bài trước là Vector Database là gì? #9, nơi vector được lưu và tìm. Bài tiếp theo là Hybrid RAG là gì? #11, nơi dense retrieval được ghép với từ khóa, metadata và reranking.

Nhắc lại: Nội dung chỉ phục vụ mục đích giáo dục, không phải lời khuyên đầu tư. Không coi similarity là sự thật, không trộn model/version và không gửi PII hoặc bí mật ra ngoài policy.