Vector Search
Khám phá cách tìm kiếm vector sử dụng các embedding để tìm dữ liệu tương tự. Tìm hiểu cách tạo các vector chất lượng cao với Ultralytics YOLO26 để truy xuất thông tin chính xác.
Vector search là một phương pháp truy xuất thông tin tinh vi, giúp nhận diện các mục tương tự trong tập dữ liệu dựa trên đặc điểm toán học thay vì khớp từ khóa chính xác. Không giống như keyword search truyền thống vốn phụ thuộc vào việc tìm kiếm các chuỗi ký tự cụ thể, vector search phân tích ý nghĩa ngữ nghĩa bên dưới của dữ liệu. Kỹ thuật này là nền tảng cho các ứng dụng artificial intelligence (AI) hiện đại vì nó cho phép máy tính hiểu được mối quan hệ giữa các khái niệm trừu tượng, xử lý unstructured data như hình ảnh, tệp âm thanh và văn bản ngôn ngữ tự nhiên với độ chính xác đáng kinh ngạc.
Vector Search hoạt động như thế nào#
Trọng tâm của vector search bao gồm việc chuyển đổi dữ liệu thô thành các vector số học nhiều chiều được gọi là embeddings. Quá trình này ánh xạ các mục thành các điểm trong không gian đa chiều, nơi các mục có tính chất tương tự về mặt khái niệm nằm gần nhau.
-
Vectorization: Một model deep learning (DL) xử lý dữ liệu đầu vào—ví dụ như hình ảnh của một chú chó—và trả về một feature vector. Các model nâng cao như YOLO26 thường được sử dụng để tạo ra các biểu diễn đặc trưng phong phú này một cách hiệu quả.
-
Indexing: Để thực hiện tìm kiếm nhanh chóng, các vector này được tổ chức bằng các thuật toán chuyên biệt, thường được lưu trữ trong một vector database chuyên dụng.
-
Similarity Calculation: Khi người dùng gửi một truy vấn, hệ thống sẽ chuyển đổi truy vấn đó thành một vector và đo lường khoảng cách tới các vector đã lưu trữ bằng các số đo như cosine similarity hoặc Euclidean distance.
-
Retrieval: Hệ thống trả về các "nearest neighbors" (láng giềng gần nhất), đại diện cho các kết quả phù hợp nhất về mặt ngữ cảnh.
Ví dụ Python: Tạo Embeddings#
Để triển khai vector search, trước tiên bạn phải chuyển đổi dữ liệu của mình thành các vector. Đoạn mã sau minh họa cách tạo feature maps và embedding từ một hình ảnh bằng cách sử dụng gói ultralytics và một model YOLO26 đã được huấn luyện trước.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image URL
# The 'embed' method returns the high-dimensional vector representation
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")Các ứng dụng trong thực tế#
Vector search là động lực đằng sau nhiều tính năng trực quan trong hệ sinh thái phần mềm ngày nay, thu hẹp khoảng cách giữa computer vision (CV) và ý định của người dùng.
- Visual Recommendation Systems: Trong lĩnh vực AI in retail, vector search hỗ trợ các tính năng "mua theo phong cách". Nếu một khách hàng thích một chiếc túi xách cụ thể, hệ thống sẽ tìm các mục có các vector thị giác tương tự—khớp về hình dáng, kết cấu và phong cách—tạo ra một recommendation system được cá nhân hóa.
- Retrieval-Augmented Generation (RAG): Để nâng cao hiệu suất của Large Language Models (LLMs), các nhà phát triển sử dụng vector search để truy xuất các tài liệu có liên quan từ cơ sở tri thức. Điều này cung cấp ngữ cảnh cho AI, giảm thiểu hiện tượnga ảo giác và cải thiện độ chính xác trong các tương tác chatbot.
- Anomaly Detection: Bằng cách phân cụm các vector của các hoạt động "bình thường", các hệ thống có thể xác định các điểm bất thường lệch xa khỏi cụm. Điều này đóng vai trò quan trọng đối với anomaly detection trong kiểm soát chất lượng sản xuất và data security.
Phân biệt các khái niệm liên quan#
Việc phân biệt vector search với các thuật ngữ tương tự rất hữu ích để hiểu toàn bộ đường ống machine learning (ML).
- Vector Search vs. Semantic Search: Semantic search là ứng dụng rộng hơn nhằm hiểu ý định của người dùng ("cái gì"). Vector search là phương pháp thuật toán cụ thể được sử dụng để đạt được điều đó bằng cách tính toán khoảng cách vector ("như thế nào").
- Vector Search vs. Vector Database: Một vector database là cơ sở hạ tầng được thiết kế để lưu trữ và quản lý embedding ở quy mô lớn. Vector search là quá trình truy vấn cơ sở dữ liệu đó để truy xuất thông tin.
- Vector Search vs. Keyword Search: Keyword search khớp chính xác các chuỗi văn bản (ví dụ: "apple" khớp với "apple"). Vector search khớp với ý nghĩa, vì vậy "apple" có thể khớp với "fruit" hoặc "red", ngay cả khi các từ khác nhau.
Tích hợp với Nền tảng Ultralytics#
Đối với các nhóm xây dựng các hệ thống similarity search, việc quản lý các tập dữ liệu và huấn luyện các model embedding là bước đầu tiên rất quan trọng. Ultralytics Platform đơn giản hóa quy trình làm việc này bằng cách cung cấp các công cụ quản lý dữ liệu, huấn luyện trên đám mây và triển khai model. Bằng cách đảm bảo các model cơ sở của bạn—cho dù là để object detection hay phân loại—đạt hiệu suất cao, bạn sẽ đảm bảo các vector thu được cung cấp kết quả tìm kiếm chính xác và có ý nghĩa.






