Embedding là một vị trí, và ý nghĩa là khoảng cách
Đưa cho một mô hình embedding câu "làm sao để lấy lại tiền" và nó trả về một danh sách con số. Đưa cho nó "chính sách hoàn tiền" và nó trả về một danh sách khác. Hai danh sách này nằm gần nhau. Đưa cho nó "sự hoàn của electron trong catot" và danh sách đó nằm rất xa, dù nó có chung một từ.
Đó chính là toàn bộ bí quyết. Mô hình đã học cách đặt văn bản vào một không gian có hàng trăm hoặc hàng nghìn chiều, sao cho ý nghĩa, chứ không phải từ vựng, quyết định vị trí của chúng. Khi văn bản đã trở thành một vị trí, câu hỏi về ý nghĩa trở thành câu hỏi về khoảng cách, và khoảng cách là thứ máy tính có thể tính toán cho một triệu mục chỉ trong vài mili giây.
Minh chứng nổi tiếng đầu tiên, từ công trình word2vec năm 2013, là phép toán số học trên vị trí của các từ: lấy vector của "vua", trừ đi "đàn ông", cộng thêm "đàn bà", kết quả gần nhất chính là "nữ hoàng". Các mô hình embedding hiện đại làm điều tương tự với toàn bộ câu và tài liệu, chỉ khác là vector dài hơn.
Một embedding lớn cỡ nào, trên các mô hình mà mọi người thực sự dùng
Độ dài của danh sách được gọi là số chiều. Con số này đã tăng dần theo các mô hình.
word2vec năm 2013 dùng 300 chiều và BERT base dùng 768 chiều vào năm 2018; Voyage 3 trả về 1.024, text-embedding-3-small của OpenAI trả về 1.536 số cho mỗi đầu vào và text-embedding-3-large trả về 3.072; Gemini Embedding của Google cũng mặc định là 3.072. Nhiều chiều hơn có thể giữ được những khác biệt tinh tế hơn, đánh đổi bằng dung lượng lưu trữ và thời gian so sánh, đó là lý do các mô hình mới hơn còn cho phép bạn cắt ngắn danh sách xuống kích thước nhỏ hơn khi tốc độ quan trọng hơn độ tinh tế.
Mỗi con số trong đó tự nó không có ý nghĩa gì. Chiều thứ 412 không phải là "mức độ trang trọng" hay "chủ đề". Ý nghĩa chỉ nằm ở vị trí toàn bộ danh sách so với các danh sách khác, đó là lý do một embedding vô dụng nếu không có một tập hợp để so sánh.
Mô hình embedding tìm kiếm; mô hình ngôn ngữ viết ra
Người ta thường nhầm lẫn hai loại này vì cả hai đều là "AI trên văn bản". Nhưng đây là hai loại mô hình khác nhau, làm hai công việc trái ngược nhau.
| Mô hình embedding | Mô hình ngôn ngữ (LLM) | |
|---|---|---|
| Đầu vào | Văn bản (hoặc hình ảnh) | Văn bản (hoặc hình ảnh) |
| Đầu ra | Một danh sách số cố định | Văn bản mới, từng token một |
| Nhiệm vụ | Đặt đầu vào sao cho những thứ tương tự nằm gần nhau | Tiếp nối đầu vào một cách hợp lý |
| Dùng cho | Tìm kiếm, khớp nội dung, phân cụm, truy xuất | Trả lời, viết, tóm tắt |
| Chi phí mỗi triệu token | $0.02 với text-embedding-3-small | $0.20 với dòng GPT rẻ nhất, $2 đến $10 với các mô hình hàng đầu |
| Có thể sai không? | Có thể xếp một kết quả khớp kém lên đầu | Có thể bịa ra câu trả lời |
Dòng chi phí là điều đáng chú ý nhất. Embedding một triệu token bằng mô hình small của OpenAI tốn $0.02, so với $0.20 mỗi triệu token đầu vào cho GPT-5.6 Luna, ngang bằng mức rẻ nhất trong dòng GPT cùng với Luna Pro và GPT-5.4 Nano, theo chỉ số chi phí mô hình AI dựa trên giá OpenRouter lấy ngày 2026-08-20. Tìm kiếm rẻ hơn mười lần so với việc viết bằng GPT rẻ nhất và rẻ hơn ít nhất một trăm lần so với việc viết bằng các mô hình hàng đầu. Khoảng cách đó là lý do mọi hệ thống nghiêm túc đều tìm trước rồi mới viết sau. LLM là gì trình bày chi tiết hơn về phần viết.
Nơi embedding hoạt động mà bạn không hề thấy
Trò chuyện với tài liệu của bạn. Khi bạn tải lên một tệp PDF dài và đặt câu hỏi, tệp đó được chia thành các đoạn, mỗi đoạn được embedding và lưu trong một cơ sở dữ liệu vector, câu hỏi của bạn cũng được embedding, và những đoạn có vector nằm gần nhất được đưa cho mô hình ngôn ngữ làm ngữ cảnh. Mô hình trả lời dựa trên những đoạn đó. Đây chính là sinh có truy xuất tăng cường (RAG), và RAG là gì đi qua toàn bộ quy trình này; embedding chính là bước tìm kiếm của nó. Hướng dẫn trò chuyện với PDF trình bày cách đặt câu hỏi cho một tệp đã tải lên trong Whizi.
Việc một tài liệu được tìm kiếm hay chỉ đơn giản đọc toàn bộ phụ thuộc vào cửa sổ ngữ cảnh. Cửa sổ ngữ cảnh của từng mô hình, tính theo trang, được liệt kê dưới đây; những gì vừa vặn có thể đưa vào toàn bộ, còn truy xuất tồn tại cho những tập hợp không vừa.
Tìm kiếm hiểu được từ đồng nghĩa. Một trang hỗ trợ trả về bài viết về hủy dịch vụ khi bạn gõ "ngừng thanh toán" đang so sánh embedding, không phải khớp từ.
Gợi ý và phân cụm. Những mục có vector gần nhau là những mục tương tự nhau: sản phẩm liên quan, ticket trùng lặp, bài viết cùng chủ đề.
Tính năng ghi nhớ trong ứng dụng chat. Khi một trợ lý "nhớ" một điều gì đó từ cuộc trò chuyện cũ, một cách triển khai phổ biến là embedding các ghi chú cũ và truy xuất những ghi chú gần nhất vào prompt.
Trong mọi trường hợp, embedding đảm nhận việc tìm kiếm còn thứ khác đảm nhận việc quyết định hoặc viết ra. Kiểu lỗi cũng giống nhau ở mọi nơi: nếu vector gần nhất là đoạn sai, mọi thứ phía sau sẽ tự tin trả lời cho một câu hỏi sai, đây là lỗi truy xuất mà ảo giác AI là gì liệt kê như một dạng lỗi riêng biệt so với việc bịa đặt.
Bạn có thể làm gì với ý tưởng này, mà không cần viết code
Bạn hiếm khi trực tiếp xử lý một embedding, nhưng hiểu cơ chế này sẽ thay đổi cách bạn dùng những công cụ được xây dựng dựa trên nó.
- Hỏi bằng ngôn ngữ của câu trả lời. Truy xuất khớp câu hỏi của bạn với các đoạn văn bản theo ý nghĩa. Một câu hỏi diễn đạt theo cách tài liệu diễn đạt sẽ nằm gần hơn so với cách bạn nói ngoài đời.
- Chia nhỏ các tệp tải lên lớn theo chủ đề. Một tệp 400 trang với ba chủ đề không liên quan sẽ embedding vào một không gian đông đúc; ba tệp riêng biệt sẽ truy xuất sạch sẽ hơn.
- Đọc đoạn được trích dẫn. Nếu câu trả lời trò chuyện với tệp trích dẫn một đoạn, hãy mở nó ra. Một lỗi truy xuất trông giống hệt một câu trả lời tự tin cho một câu hỏi hơi khác.
- Đừng mong nó hoạt động tốt với chuỗi ký tự chính xác. Embedding là về ý nghĩa; một mã số hóa đơn hay mã sản phẩm được tìm tốt hơn bằng tìm kiếm văn bản thuần túy, và những công cụ tốt kết hợp cả hai.
Quy tắc quyết định: khi nhiệm vụ là tìm đúng mảnh thông tin giữa nhiều mảnh, bạn cần một mô hình embedding, và nó nên rẻ. Khi nhiệm vụ là tạo ra một mảnh thông tin, bạn cần một mô hình ngôn ngữ, và nó nên tốt. Những sản phẩm làm đúng sự phân chia này là những sản phẩm có tính năng trò chuyện với tệp thực sự hoạt động tốt.
- Nhớ sự phân chia: embedding tìm kiếm, mô hình ngôn ngữ viết ra
- Đặt câu hỏi cho một tài liệu đã tải lên bằng chính thuật ngữ của tài liệu đó
- Chia nhỏ các tệp tải lên lớn theo chủ đề để truy xuất có không gian tìm kiếm sạch hơn
- Mở đoạn được trích dẫn trong bất kỳ câu trả lời trò chuyện với tệp nào trước khi tin tưởng nó
- Dùng tìm kiếm văn bản thuần túy cho chuỗi ký tự chính xác như mã ID và mã số; embedding khớp ý nghĩa, không phải ký tự
Câu hỏi thường gặp
Embedding là gì, nói một cách đơn giản?
Một danh sách các con số đại diện cho ý nghĩa của một đoạn văn bản, được đặt sao cho những ý nghĩa tương tự nhận được các danh sách tương tự. "Chính sách hoàn tiền" và "làm sao để lấy lại tiền" nằm gần nhau; một câu hóa học có chứa từ hoàn thì nằm xa. Khoảng cách giữa các danh sách là cách máy tính đo mức độ liên quan.
Khác biệt giữa mô hình embedding và LLM là gì?
Mô hình embedding trả về một danh sách số cố định đại diện cho ý nghĩa; mô hình ngôn ngữ trả về văn bản mới từng token một. Cái đầu tiên tìm kiếm và khớp nội dung, cái thứ hai viết và trả lời. Trò chuyện với tài liệu của bạn dùng cả hai: embedding để lấy các đoạn liên quan, LLM để viết câu trả lời từ chúng.
Một embedding có bao nhiêu chiều?
Tùy vào mô hình. word2vec năm 2013 dùng 300, BERT base dùng 768, và các mô hình hiện tại chạy từ 1.024 đến 3.072: text-embedding-3-small của OpenAI trả về 1.536 và text-embedding-3-large trả về 3.072, giống với mặc định của Gemini Embedding của Google. Các mô hình mới hơn cho phép cắt ngắn xuống ít chiều hơn khi tốc độ quan trọng hơn độ tinh tế.
Embedding có đắt không?
Không, và đó chính là điểm mấu chốt. OpenAI niêm yết text-embedding-3-small ở mức $0.02 mỗi triệu token, so với $0.20 mỗi triệu token đầu vào cho GPT-5.6 Luna và $2 đến $5 cho các mô hình chat hàng đầu theo giá niêm yết của OpenRouter lấy ngày 2026-08-20. Tìm kiếm rẻ hơn từ mười đến một trăm lần so với viết, đó là lý do các hệ thống truy xuất embedding mọi thứ và chỉ tạo ra câu trả lời.
Embedding được dùng ở đâu trong ChatGPT, Claude hay Gemini?
Trong những tính năng dùng để tìm kiếm: tải tệp lên và trò chuyện với tài liệu, tìm kiếm trong các cuộc trò chuyện cũ của bạn, và tính năng ghi nhớ những điều đã nói trong các cuộc trò chuyện trước. Trong mỗi trường hợp, cách thiết kế thông thường là embedding văn bản, truy xuất những kết quả khớp gần nhất, rồi để mô hình ngôn ngữ viết câu trả lời từ đó. Embedding là thứ vô hình với bạn; còn lỗi truy xuất, khi nó xảy ra, thì không.