Nhúng
Định nghĩa nhanh
Một nhúng là một danh sách các số (một vector) đại diện cho ý nghĩa của một văn bản, hình ảnh hoặc mục khác, để các mục tương tự nhận được các vector gần nhau. Nhúng là thứ làm cho việc tìm kiếm theo ý nghĩa trở nên khả thi.
Trên trang này
Cách nhúng hoạt động
Một mô hình nhúng đọc một văn bản và xuất ra một vector có độ dài cố định, thường là vài trăm đến vài nghìn số. Mô hình được đào tạo để các văn bản có ý nghĩa liên quan nằm gần nhau trong không gian đó: “chính sách hoàn tiền” và “làm thế nào để tôi nhận lại tiền?” gần như không chia sẻ từ nào nhưng tạo ra các vector gần nhau.
Ý tưởng này quay trở lại với các vector từ như word2vec (Mikolov và các đồng nghiệp, 2013), đã học rằng các từ xuất hiện trong các ngữ cảnh tương tự có ý nghĩa tương tự. Các mô hình cấp câu như Sentence-BERT (2019) đã mở rộng nó đến toàn bộ câu và đoạn văn, điều mà tìm kiếm và trả lời câu hỏi cần.
Chúng được sử dụng để làm gì
Nhúng (embeddings) cung cấp khả năng tìm kiếm ngữ nghĩa: so sánh vector của một câu hỏi với các vector của các đoạn văn đã lưu và trả về đoạn gần nhất. Chúng là bước truy xuất trong tạo ra nội dung tăng cường (RAG). Chúng cũng phục vụ cho việc phân nhóm các cuộc trò chuyện tương tự, phát hiện bản sao, gợi ý sản phẩm tương tự và định tuyến một tin nhắn đến chủ đề đúng.
Các mô hình nhúng đa ngôn ngữ đặt một câu hỏi bằng tiếng Pháp và một đoạn văn bằng tiếng Anh gần nhau khi chúng có nghĩa giống nhau, cho phép một cơ sở tri thức phục vụ khách hàng bằng nhiều ngôn ngữ.
Các điểm thực tiễn
Các vector từ các mô hình khác nhau không thể so sánh được: nếu bạn thay đổi mô hình nhúng, mọi đoạn văn đã lưu phải được nhúng lại. Nhúng nắm bắt ý nghĩa, không phải giá trị chính xác, vì vậy chúng không hiệu quả với các bộ lọc chính xác như khoảng giá hoặc tham chiếu sản phẩm — những điều đó cần các trường có cấu trúc hoặc tìm kiếm theo từ khóa bên cạnh. Và các tài liệu dài phải được chia thành các đoạn trước khi nhúng, vì một vector cho toàn bộ tài liệu sẽ làm mờ nội dung của nó.
Các mô hình nhúng cũng khác nhau về phạm vi ngôn ngữ, kích thước (và do đó là chi phí lưu trữ) và nơi chúng được lưu trữ.
Nhúng trong AI SmartTalk
Mỗi trợ lý AI SmartTalk sử dụng một mô hình nhúng cho tất cả tri thức của nó. Các trợ lý mới sử dụng mô hình đa ngôn ngữ được lưu trữ tại EU theo mặc định, và các mô hình nhúng của OpenAI cũng có sẵn. Các vector được lưu trữ trong PostgreSQL với pgvector và kết hợp với tìm kiếm theo từ khóa và trigram, để các tham chiếu sản phẩm và các thuật ngữ chính xác được tìm thấy một cách đáng tin cậy như các câu hỏi đã được diễn đạt lại.
Câu hỏi thường gặp
Sự khác biệt giữa một nhúng và một token là gì?
Một token là một phần của văn bản, đại khái là một đoạn từ, mà một mô hình đọc. Một nhúng là một vector số đại diện cho ý nghĩa — của một token, một câu hoặc một đoạn văn hoàn chỉnh.
Nhúng có giống như một cơ sở dữ liệu vector không?
Không. Nhúng là các vector; một cơ sở dữ liệu hoặc chỉ mục vector lưu trữ chúng và tìm các vector gần nhất một cách nhanh chóng.
Tôi có thể chuyển đổi mô hình nhúng sau không?
Có, nhưng mọi mục đã lưu phải được nhúng lại với mô hình mới, vì các vector từ các mô hình khác nhau sống trong các không gian khác nhau và không thể so sánh được.