Không có trí tuệ nhân tạo nếu không có dữ liệu. Và khi dữ liệu của bạn nằm rải rác khắp nơi, bạn sẽ mất nhiều thời gian hơn để quản lý quá trình triển khai thay vì tập trung vào điều quan trọng nhất: xây dựng ứng dụng. Các ứng dụng nổi bật nhất trên thế giới đã sử dụng Apache Cassandra, vì vậy việc tăng hiệu quả dữ liệu là một mục tiêu ngày càng quan trọng. AI là tất cả về quy mô và việc đưa tính năng tìm kiếm theo véc tơ — một thành phần quan trọng trong việc sử dụng các mô hình AI — vào Cassandra sẽ giúp các tổ chức cắt giảm chi phí, hợp lý hóa việc quản lý dữ liệu của họ và chắt lọc từng giọt giá trị cuối cùng từ dữ liệu của họ.
Tính năng tiên tiến này, gần đây đã được phác thảo trong một đề xuất cải tiến của Cassandra (
Khái niệm tìm kiếm văn bản đã có từ rất lâu. Nó liên quan đến việc tìm kiếm một từ khóa cụ thể trong các tài liệu. Nhưng dữ liệu quan trọng có thể được tìm thấy không chỉ ở văn bản: âm thanh, hình ảnh và video (hoặc một số kết hợp) cũng chứa thông tin liên quan yêu cầu phương pháp tìm kiếm. Đó là nơi tìm kiếm véc tơ xuất hiện. Nó đã được sử dụng
Còn được gọi là tìm kiếm tương tự véc tơ, có hai phần cần thiết để nâng cao trò chơi tìm kiếm của bạn.
Đầu tiên, dữ liệu thô phải được lập chỉ mục thành biểu diễn véc-tơ (một mảng số) dùng làm mô tả toán học.
Thứ hai, dữ liệu vectơ cần được lưu trữ theo cách mà các nhà phát triển có thể đặt câu hỏi, "Cho một thứ, những thứ khác tương tự là gì?" Nó đơn giản và mạnh mẽ cho các nhà phát triển, thách thức để triển khai trên quy mô lớn ở phía máy chủ. Đây là nơi Cassandra sẽ thực sự tỏa sáng bằng cách liên tục phục vụ dữ liệu ở mọi quy mô trên toàn thế giới với khả năng phục hồi mang lại sự an tâm.
Không có nghĩa là điều này có nghĩa là đi sâu hoàn toàn vào tìm kiếm vectơ, mà giải thích thêm về những gì nó có thể làm cho ứng dụng của bạn bằng cách tạo ra một chiều dữ liệu hữu ích hoàn toàn mới để giảm độ phức tạp của mã và đưa vào sản xuất nhanh hơn với các tính năng người dùng muốn.
Các ví dụ thực tế trong thế giới thực về tìm kiếm vectơ bao gồm:
Truy xuất hình ảnh dựa trên nội dung, trong đó các hình ảnh tương tự trực quan được xác định dựa trên các vectơ đặc trưng của chúng. Sử dụng một thư viện như
Hệ thống đề xuất, trong đó các sản phẩm hoặc nội dung được đề xuất cho người tiêu dùng dựa trên sự tương đồng với các mặt hàng mà họ đã tương tác trước đó.
Các ứng dụng xử lý ngôn ngữ tự nhiên, trong đó các điểm tương đồng về ngữ nghĩa giữa nội dung văn bản có thể được xác định và tận dụng cho các tác vụ như phân tích tình cảm, phân cụm tài liệu và lập mô hình chủ đề. Điều này thường được thực hiện bằng cách sử dụng các công cụ như
Sử dụng ChatGPT? Tìm kiếm véc-tơ rất quan trọng đối với trường hợp sử dụng Mô hình ngôn ngữ lớn (LLM) vì nó cho phép lưu trữ và truy xuất hiệu quả các nhúng véc-tơ, thể hiện kiến thức chắt lọc thu được trong quá trình đào tạo LLM. Bằng cách thực hiện các tìm kiếm tương tự, tìm kiếm véc-tơ có thể nhanh chóng xác định các phần nhúng có liên quan nhất tương ứng với lời nhắc của người dùng.
Điều này giúp các LLM tạo ra các phản hồi chính xác hơn và phù hợp với ngữ cảnh đồng thời cung cấp một dạng bộ nhớ dài hạn cho các mô hình. Về bản chất, tìm kiếm vectơ là cầu nối quan trọng giữa LLM và cơ sở tri thức rộng lớn mà họ được đào tạo.
Dự án Cassandra đang thực hiện một nhiệm vụ không bao giờ kết thúc để biến Cassandra trở thành cường quốc tối cao trong vũ trụ cơ sở dữ liệu. Như đã đề cập trước đây, sau khi bạn chuyển đổi dữ liệu của mình thành dạng nhúng vectơ, bạn sẽ cần một nơi để lưu trữ và sử dụng chúng. Những khả năng đó đang được thêm vào Cassandra, được thể hiện một cách đơn giản nhưng mạnh mẽ.
Để hỗ trợ lưu trữ các vectơ chiều cao, chúng tôi giới thiệu một loại dữ liệu mới, ` VECTOR<type, dimension>
`. Điều này sẽ cho phép xử lý và lưu trữ
CREATE TABLE products(
id UUID PRIMARY KEY,
name varchar,
description varchar,
item_vector VECTOR<float, 3>
);
Chúng tôi sẽ thêm một chỉ mục gắn liền với bộ nhớ (SAI) mới có tên là “VectorMemtableIndex”, chỉ mục này sẽ hỗ trợ chức năng tìm kiếm hàng xóm gần nhất (ANN) gần đúng. Chỉ mục này sẽ hoạt động cùng với kiểu dữ liệu mới và thư viện Thế giới nhỏ có thể điều hướng theo cấp bậc (HNSW) của Apache Lucene để kích hoạt khả năng tìm kiếm vectơ hiệu quả trong Cassandra.
CREATE CUSTOM INDEX item_ann_index ON product(item_vector)
USING 'VectorMemtableIndex';
Để giúp người dùng thực hiện tìm kiếm ANN trên dữ liệu của họ dễ dàng hơn, chúng tôi sẽ giới thiệu toán tử Ngôn ngữ truy vấn Cassandra (CQL) mới, ANN OF. Toán tử này sẽ cho phép người dùng thực hiện tìm kiếm ANN trên dữ liệu của họ một cách hiệu quả bằng cú pháp truy vấn đơn giản và quen thuộc. Tiếp tục ví dụ, các nhà phát triển có thể yêu cầu cơ sở dữ liệu cung cấp thứ gì đó tương tự như véc-tơ được tạo từ mô tả.
SELECT * FROM product WHERE item_vector ANN OF [3.4, 7.8, 9.1]
Khi Cassandra 4.0 được phát hành, một trong những điểm nổi bật dễ bị bỏ qua là khái niệm tăng khả năng cắm. Chức năng tìm kiếm vectơ mới trong Cassandra được xây dựng như một phần mở rộng cho khung SAI hiện có, tránh việc viết lại công cụ lập chỉ mục cốt lõi. Nó sử dụng nổi tiếng và được sử dụng rộng rãi
Phần bổ sung mới của Cassandra 4 làm nổi bật tính mô-đun và khả năng mở rộng vượt trội của nó. Với việc tích hợp HNSW Lucene và mở rộng khung SAI, giờ đây các nhà phát triển có thể truy cập nhiều tính năng sẵn sàng sản xuất nhanh hơn nhiều. Các nhà phát triển có quyền truy cập vào nhiều cơ sở dữ liệu vectơ và nhiều người trong số họ thích xây dựng một công cụ lập chỉ mục vectơ trước khi thêm bộ nhớ. Cassandra đã giải quyết thành công vấn đề đầy thách thức về lưu trữ dữ liệu trên quy mô lớn trong hơn một thập kỷ. Chúng tôi rất tin tưởng rằng việc đưa tính năng tìm kiếm véc-tơ vào Cassandra sẽ cung cấp nhiều tính năng sẵn sàng sản xuất đặc biệt hơn nữa.
Cassandra không phải là người mới đối với khối lượng công việc máy học và AI. Người dùng Cassandra lâu năm đã sử dụng Cassandra như một kho tính năng nhanh và hiệu quả trong nhiều năm. Thậm chí còn có tin đồn rằng OpenAI sử dụng Cassandra rất nhiều trong việc xây dựng LLM. Tất cả các trường hợp sử dụng này đều sử dụng chức năng hiện có của Cassandra. Sẽ có nhiều cách để sử dụng tìm kiếm vectơ mới. Sẽ rất thú vị khi xem những gì cộng đồng của chúng tôi nghĩ ra nhưng chúng có thể sẽ phù hợp với hai loại:
Nếu bạn đã có một ứng dụng được xây dựng trên Cassandra, bạn có thể nâng cao khả năng của nó bằng cách kết hợp tìm kiếm ANN (“xấp xỉ hàng xóm gần nhất”). Ví dụ: nếu bạn có hệ thống đề xuất nội dung, bạn có thể sử dụng tìm kiếm ANN để tìm các mục tương tự và cải thiện mức độ liên quan của các đề xuất của bạn. Danh mục sản phẩm có thể không chuẩn hóa các tính năng thành các vectơ nhúng được lưu trữ trong cùng một bản ghi. Phát hiện gian lận có thể được tăng cường hơn nữa bằng cách ánh xạ các hành vi tới các tính năng. Hãy nghĩ về một trường hợp sử dụng và nó có thể có liên quan.
Nếu bạn đang bắt đầu một dự án mới yêu cầu khả năng tìm kiếm tương tự nhanh, tính năng tìm kiếm vectơ mới của Cassandra sẽ là lựa chọn tuyệt vời để lưu trữ và truy xuất dữ liệu. Biết rằng bạn có thể tăng từ gigabyte lên petabyte trên cùng một hệ thống sẽ cho phép bạn tập trung vào việc xây dựng ứng dụng của mình và không phải lo lắng về sự đánh đổi. Ngoài việc lưu trữ các phần nhúng vectơ, bạn sẽ có toàn bộ sức mạnh của CQL và bộ lưu trữ dạng bảng của cơ sở dữ liệu đầy đủ tính năng, tất cả đều được đưa vào.
Tuy nhiên, bạn sử dụng Cassandra, tất cả các tùy chọn này sẽ khả dụng. Nếu đó là triển khai của riêng bạn bằng Cassandra nguồn mở, thì triển khai trong Kubernetes bằng cách sử dụng
Khi chúng tôi tiếp tục đổi mới và mở rộng khả năng của Cassandra, chúng tôi vẫn cam kết luôn đi đầu trong những gì bạn cần trong quản lý dữ liệu. Việc giới thiệu tìm kiếm véc tơ là một trường hợp sử dụng mới thú vị sẽ làm cho các ứng dụng dựa trên dữ liệu của bạn trở nên mạnh mẽ và linh hoạt hơn. Điều này, với một số tính năng tiên tiến khác như phân phối
Chúng tôi tin tưởng rằng sự bổ sung này sẽ giúp không chỉ các nhà phát triển AI mà cả các tổ chức quản lý các tập dữ liệu lớn có thể hưởng lợi từ tìm kiếm tương đồng nhanh chóng. Vì vậy, hãy chú ý đến bản phát hành alpha của Cassandra với chức năng tìm kiếm véc-tơ, dự kiến sẽ ra mắt vào quý 3. Chúng tôi mong muốn được thấy những ứng dụng tuyệt vời mà bạn sẽ xây dựng bằng tính năng mới này và chúng tôi rất vui nếu bạn chia sẻ các trường hợp sử dụng của mình với cộng đồng tại
Cũng được xuất bản bởi Patrick McFadin, DataStax tại đây.