Các bài viết

Cơ sở dữ liệu vector là gì, cách chúng hoạt động và thị trường tiềm năng

Cơ sở dữ liệu vectơ là một loại cơ sở dữ liệu lưu trữ dữ liệu dưới dạng vectơ chiều cao, là biểu diễn toán học của các tính năng hoặc thuộc tính. 

Các vectơ này thường được tạo bằng cách áp dụng một số loại chức năng nhúng vào dữ liệu thô, chẳng hạn như văn bản, hình ảnh, âm thanh, video và những thứ khác.

Cơ sở dữ liệu vector có thể definite là một công cụ lập chỉ mục và lưu trữ các vectơ nhúng để truy xuất nhanh và tìm kiếm điểm tương đồng, với các tính năng như lọc siêu dữ liệu và chia tỷ lệ theo chiều ngang.

Thời gian đọc ước tính: 9 minuti

Sự quan tâm của nhà đầu tư ngày càng tăng

Trong những tuần gần đây, sự quan tâm của các nhà đầu tư đối với cơ sở dữ liệu véc tơ đã tăng lên. Kể từ đầu năm 2023, chúng tôi nhận thấy rằng:

  • khởi động cơ sở dữ liệu vector Làm suy yếu Anh ấy đã thu được 50 triệu đô la tài trợ Series B;
  • trái tùng huy động được 100 triệu USD tài trợ cho Series B với mức định giá 750 triệu USD;
  • Chroma , một dự án nguồn mở, đã huy động được 18 triệu USD cho cơ sở dữ liệu nhúng của nó;

Hãy xem chi tiết hơn cơ sở dữ liệu vectơ là gì.

Vectơ dưới dạng biểu diễn dữ liệu

Cơ sở dữ liệu vectơ chủ yếu dựa vào nhúng vectơ, một loại biểu diễn dữ liệu mang bên trong nó thông tin ngữ nghĩa quan trọng để AI hiểu và duy trì trí nhớ dài hạn để sử dụng khi thực hiện các hoạt động phức tạp. 

Vector nhúng

Vector nhúng giống như một bản đồ, nhưng thay vì chỉ cho chúng ta biết mọi thứ ở đâu trên thế giới, chúng chỉ cho chúng ta biết mọi thứ ở đâu trong một thứ gọi là không gian vectơ. Không gian vectơ là một sân chơi lớn, nơi mọi thứ đều có chỗ để chơi. Hãy tưởng tượng rằng bạn có một nhóm động vật: một con mèo, một con chó, một con chim và một con cá. Chúng ta có thể tạo một vectơ nhúng cho mỗi hình ảnh bằng cách đặt cho nó một vị trí đặc biệt trên sân chơi. Con mèo có thể ở một góc, con chó ở phía bên kia. Con chim có thể ở trên trời và con cá có thể ở trong ao. Nơi này là một không gian đa chiều. Mỗi chiều tương ứng với các khía cạnh khác nhau của chúng, ví dụ, cá có vây, chim có cánh, mèo và chó có chân. Một khía cạnh khác của chúng có thể là cá thuộc về nước, chim thuộc về bầu trời và chó mèo thuộc về đất. Khi chúng ta có các vectơ này, chúng ta có thể sử dụng các kỹ thuật toán học để nhóm chúng dựa trên sự giống nhau của chúng. Dựa trên thông tin chúng tôi nắm giữ,

Vì vậy, phép nhúng vectơ giống như một bản đồ giúp chúng ta tìm thấy sự giống nhau giữa các vật trong không gian vectơ. Cũng giống như bản đồ giúp chúng ta điều hướng thế giới, việc nhúng vectơ giúp điều hướng sân chơi vectơ.

Ý tưởng chính là các phần nhúng giống nhau về mặt ngữ nghĩa sẽ có khoảng cách nhỏ hơn giữa chúng. Để tìm hiểu xem chúng giống nhau như thế nào, chúng ta có thể sử dụng các hàm khoảng cách vectơ như khoảng cách Euclide, khoảng cách cosine, v.v.

Cơ sở dữ liệu Vector so với Thư viện Vector

thư viện véc tơ lưu trữ các phần nhúng của vectơ trong các chỉ mục trong bộ nhớ để thực hiện các tìm kiếm tương tự. Các thư viện Vector có các đặc điểm/hạn chế sau:

  1. Chỉ lưu trữ vectơ : Các thư viện vectơ chỉ lưu trữ các phần nhúng của vectơ chứ không phải các đối tượng được liên kết mà chúng được tạo ra từ đó. Điều này có nghĩa là khi chúng ta truy vấn, một thư viện vectơ sẽ trả lời bằng các vectơ và ID đối tượng có liên quan. Điều này bị hạn chế vì thông tin thực tế được lưu trữ trong đối tượng chứ không phải id. Để giải quyết vấn đề này, chúng ta nên lưu trữ các đối tượng trong bộ lưu trữ thứ cấp. Sau đó, chúng tôi có thể sử dụng các ID do truy vấn trả về và khớp chúng với các đối tượng để hiểu kết quả.
  2. Dữ liệu chỉ mục là bất biến : Các chỉ mục được tạo bởi các thư viện vectơ là không thay đổi. Điều này có nghĩa là sau khi chúng tôi đã nhập dữ liệu của mình và tạo chỉ mục, chúng tôi không thể thực hiện bất kỳ thay đổi nào (không thêm, xóa hoặc thay đổi mới). Để thay đổi chỉ mục của chúng tôi, chúng tôi sẽ phải xây dựng lại nó từ đầu
  3. Truy vấn trong khi hạn chế nhập : Không thể truy vấn hầu hết các thư viện vectơ trong khi nhập dữ liệu. Trước tiên, chúng tôi cần nhập tất cả các đối tượng dữ liệu của mình. Vì vậy, chỉ mục được tạo sau khi các đối tượng được nhập. Đây có thể là một vấn đề đối với các ứng dụng yêu cầu nhập hàng triệu hoặc thậm chí hàng tỷ đối tượng.

Có rất nhiều thư viện tìm kiếm vector có sẵn: FAISS của Facebook, làm phiền bởi Spotify và quétNN bởi Google. FAISS sử dụng phương pháp phân cụm, Annoy sử dụng cây và ScanNN sử dụng nén vector. Có một sự đánh đổi về hiệu suất cho mỗi loại mà chúng ta có thể chọn dựa trên số liệu về ứng dụng và hiệu suất của mình.

CRUD

Tính năng chính giúp phân biệt cơ sở dữ liệu vectơ với thư viện vectơ là khả năng lưu trữ, cập nhật và xóa dữ liệu. Cơ sở dữ liệu vectơ có hỗ trợ CRUD hoàn thành (tạo, đọc, cập nhật và xóa) giải quyết các hạn chế của thư viện vectơ.

  1. Lưu trữ vectơ và đối tượng : Cơ sở dữ liệu có thể lưu trữ cả đối tượng dữ liệu và vectơ. Vì cả hai đều được lưu trữ nên chúng ta có thể kết hợp tìm kiếm vectơ với các bộ lọc có cấu trúc. Bộ lọc cho phép chúng tôi đảm bảo rằng những người hàng xóm gần nhất khớp với bộ lọc siêu dữ liệu.
  2. khả năng biến đổi : như cơ sở dữ liệu vector hỗ trợ đầy đủ thô thiển, chúng tôi có thể dễ dàng thêm, xóa hoặc cập nhật các mục trong chỉ mục của mình sau khi nó được tạo. Điều này đặc biệt hữu ích khi làm việc với dữ liệu thay đổi liên tục.
  3. tìm kiếm thời gian thực : Không giống như thư viện vectơ, cơ sở dữ liệu cho phép chúng tôi truy vấn và sửa đổi dữ liệu của mình trong quá trình nhập. Khi chúng tôi tải hàng triệu đối tượng, dữ liệu đã nhập vẫn có thể truy cập và hoạt động đầy đủ, vì vậy bạn không cần phải đợi quá trình nhập hoàn tất để bắt đầu làm việc với những gì đã có.

Nói tóm lại, một cơ sở dữ liệu vectơ cung cấp một giải pháp ưu việt để xử lý các vectơ nhúng bằng cách giải quyết các hạn chế của các chỉ số vectơ độc lập như đã thảo luận ở các điểm trước.

Nhưng điều gì làm cho cơ sở dữ liệu vector vượt trội so với cơ sở dữ liệu truyền thống?

Cơ sở dữ liệu vector so với cơ sở dữ liệu truyền thống

Cơ sở dữ liệu truyền thống được thiết kế để lưu trữ và truy xuất dữ liệu có cấu trúc bằng các mô hình quan hệ, nghĩa là chúng được tối ưu hóa cho các truy vấn dựa trên các cột và hàng dữ liệu. Mặc dù có thể lưu trữ các phần nhúng vectơ trong cơ sở dữ liệu truyền thống nhưng các cơ sở dữ liệu này không được tối ưu hóa cho các hoạt động của vectơ và không thể thực hiện tìm kiếm tương tự hoặc các hoạt động phức tạp khác trên các tập dữ liệu lớn một cách hiệu quả.

Điều này là do cơ sở dữ liệu truyền thống sử dụng các kỹ thuật lập chỉ mục dựa trên các kiểu dữ liệu đơn giản, chẳng hạn như chuỗi hoặc số. Các kỹ thuật lập chỉ mục này không phù hợp với dữ liệu vectơ, dữ liệu có số chiều cao và yêu cầu các kỹ thuật lập chỉ mục chuyên biệt như chỉ mục đảo ngược hoặc cây không gian.

Ngoài ra, cơ sở dữ liệu truyền thống không được thiết kế để xử lý một lượng lớn dữ liệu phi cấu trúc hoặc bán cấu trúc thường liên quan đến nhúng vectơ. Ví dụ: một tệp hình ảnh hoặc âm thanh có thể chứa hàng triệu điểm dữ liệu mà cơ sở dữ liệu truyền thống không thể xử lý hiệu quả.

Mặt khác, cơ sở dữ liệu vectơ được thiết kế đặc biệt để lưu trữ và truy xuất dữ liệu vectơ và được tối ưu hóa cho các tìm kiếm tương tự và các hoạt động phức tạp khác trên các tập dữ liệu lớn. Chúng sử dụng các thuật toán và kỹ thuật lập chỉ mục chuyên biệt được thiết kế để hoạt động với dữ liệu nhiều chiều, giúp chúng hiệu quả hơn nhiều so với cơ sở dữ liệu truyền thống để lưu trữ và truy xuất các bản nhúng vectơ.

Bây giờ bạn đã đọc rất nhiều về cơ sở dữ liệu vectơ, bạn có thể tự hỏi chúng hoạt động như thế nào? Hãy xem qua.

Cơ sở dữ liệu vectơ hoạt động như thế nào?

Chúng ta đều biết cơ sở dữ liệu quan hệ hoạt động như thế nào: chúng lưu trữ các chuỗi, số và các loại dữ liệu vô hướng khác trong các hàng và cột. Mặt khác, cơ sở dữ liệu vectơ hoạt động trên vectơ, vì vậy cách nó được tối ưu hóa và truy vấn là hoàn toàn khác.

Trong cơ sở dữ liệu truyền thống, chúng tôi thường truy vấn các hàng trong cơ sở dữ liệu mà giá trị thường khớp chính xác với truy vấn của chúng tôi. Trong cơ sở dữ liệu vectơ, chúng tôi áp dụng một số liệu tương tự để tìm một vectơ giống nhất với truy vấn của chúng tôi.

Cơ sở dữ liệu vectơ sử dụng kết hợp một số thuật toán, tất cả đều tham gia tìm kiếm hàng xóm gần nhất (ANN). Các thuật toán này tối ưu hóa tìm kiếm bằng cách băm, lượng tử hóa hoặc tìm kiếm dựa trên biểu đồ.

Các thuật toán này được tập hợp thành một đường dẫn cung cấp khả năng truy xuất nhanh chóng và chính xác các lân cận của vectơ được truy vấn. Vì cơ sở dữ liệu vectơ cung cấp kết quả gần đúng nên sự đánh đổi chính mà chúng tôi xem xét là giữa độ chính xác và tốc độ. Kết quả càng chính xác, truy vấn sẽ càng chậm. Tuy nhiên, một hệ thống tốt có thể cung cấp khả năng tìm kiếm cực nhanh với độ chính xác gần như hoàn hảo.

  • Lập chỉ mục : Cơ sở dữ liệu vectơ lập chỉ mục các vectơ sử dụng thuật toán như PQ, LSH hoặc HNSW. Bước này liên kết các vectơ với cấu trúc dữ liệu cho phép tìm kiếm nhanh hơn.
  • Query : cơ sở dữ liệu vectơ so sánh vectơ truy vấn được lập chỉ mục với các vectơ được lập chỉ mục trong bộ dữ liệu để tìm các lân cận gần nhất (áp dụng số liệu tương tự được sử dụng bởi chỉ mục đó)
  • hậu xử lý : Trong một số trường hợp, cơ sở dữ liệu vectơ tìm nạp các hàng xóm gần nhất cuối cùng từ tập dữ liệu và xử lý hậu kỳ chúng để trả về kết quả cuối cùng. Bước này có thể bao gồm việc phân loại lại các hàng xóm gần nhất bằng cách sử dụng một phép đo tương tự khác.

Lợi ích

Cơ sở dữ liệu vectơ là một công cụ mạnh mẽ để tìm kiếm sự tương tự và các hoạt động phức tạp khác trên các tập dữ liệu lớn, không thể thực hiện hiệu quả bằng cơ sở dữ liệu truyền thống. Để xây dựng một cơ sở dữ liệu vectơ chức năng, các phần nhúng là rất cần thiết, vì chúng nắm bắt được ý nghĩa ngữ nghĩa của dữ liệu và cho phép tìm kiếm sự tương đồng chính xác. Không giống như các thư viện vectơ, cơ sở dữ liệu vectơ được thiết kế để phù hợp với trường hợp sử dụng của chúng tôi, khiến chúng trở nên lý tưởng cho các ứng dụng mà hiệu suất và khả năng mở rộng là rất quan trọng. Với sự phát triển của máy học và trí tuệ nhân tạo, cơ sở dữ liệu vectơ ngày càng trở nên quan trọng đối với nhiều ứng dụng bao gồm hệ thống đề xuất, tìm kiếm hình ảnh, sự giống nhau về ngữ nghĩa và danh sách này còn tiếp tục. Khi lĩnh vực này tiếp tục phát triển, chúng ta có thể kỳ vọng sẽ thấy nhiều ứng dụng sáng tạo hơn nữa của cơ sở dữ liệu vectơ trong tương lai.

Ercole Palmeri

Bản tin đổi mới
Đừng bỏ lỡ những tin tức quan trọng nhất về đổi mới. Đăng ký để nhận chúng qua email.

Bài viết gần đây

Sự can thiệp sáng tạo vào thực tế tăng cường, với người xem Apple tại Phòng khám đa khoa Catania

Một ca phẫu thuật tạo hình mắt bằng cách sử dụng trình xem thương mại Apple Vision Pro đã được thực hiện tại Phòng khám đa khoa Catania…

3 May 2024

Lợi ích của việc tô màu cho trẻ em - thế giới kỳ diệu dành cho mọi lứa tuổi

Phát triển kỹ năng vận động tinh thông qua tô màu giúp trẻ chuẩn bị cho những kỹ năng phức tạp hơn như viết. Để tô màu…

2 May 2024

Tương lai là đây: Ngành vận tải biển đang cách mạng hóa nền kinh tế toàn cầu như thế nào

Ngành hải quân là một cường quốc kinh tế toàn cầu thực sự, đang hướng tới thị trường 150 tỷ...

1 May 2024

Các nhà xuất bản và OpenAI ký thỏa thuận điều chỉnh luồng thông tin được Trí tuệ nhân tạo xử lý

Thứ Hai tuần trước, Financial Times đã công bố một thỏa thuận với OpenAI. FT cấp phép cho hoạt động báo chí đẳng cấp thế giới…

30 tháng tư 2024

Đọc Đổi mới bằng ngôn ngữ của bạn

Bản tin đổi mới
Đừng bỏ lỡ những tin tức quan trọng nhất về đổi mới. Đăng ký để nhận chúng qua email.

Theo chúng tôi