Vector Embeddings và Cơ sở dữ liệu Vector là gì?
Tại sao Rememberizer không chỉ là một cơ sở dữ liệu hoặc công cụ tìm kiếm từ khóa.
Last updated
Tại sao Rememberizer không chỉ là một cơ sở dữ liệu hoặc công cụ tìm kiếm từ khóa.
Last updated
Rememberizer sử dụng vector embeddings trong vector databases để cho phép tìm kiếm sự tương đồng ngữ nghĩa trong các nguồn kiến thức của người dùng. Đây là một hình thức thu thập thông tin tiên tiến và tinh vi hơn so với việc chỉ tìm kiếm từ khóa trong nội dung thông qua một công cụ tìm kiếm hoặc cơ sở dữ liệu.
Ở dạng tiên tiến nhất của chúng (như được sử dụng bởi Rememberizer), vector embeddings được tạo ra bởi các mô hình ngôn ngữ có kiến trúc tương tự như các AI LLMs (Large Language Models) mà hỗ trợ các mô hình gpt của OpenAI và dịch vụ ChatGPT cũng như các mô hình/dịch vụ từ Google (Gemini), Anthropic (Claude), Facebook (LLama 2) và những cái khác. Vì lý do này, việc sử dụng vector embeddings để khám phá kiến thức liên quan để đưa vào ngữ cảnh của các prompt mô hình AI là điều tự nhiên. Các công nghệ này bổ sung cho nhau và có phần tương đương. Vì lý do này, hầu hết các nhà cung cấp LLMs dưới dạng dịch vụ cũng sẽ sản xuất vector embeddings như một dịch vụ (ví dụ: một blog từ Together AI hoặc một blog khác từ OpenAI).
Một vector embedding trông như thế nào? Hãy xem xét một tọa độ (x,y) trong hai chiều. Nếu nó đại diện cho một đường thẳng từ gốc đến điểm này, chúng ta có thể nghĩ về nó như một đường thẳng có hướng, nói cách khác là một vector trong hai chiều. Trong ngữ cảnh của chúng ta, một vector embedding sẽ là một danh sách của khoảng 768 số đại diện cho một vector trong không gian 768 chiều. Cuối cùng, danh sách số này có thể đại diện cho các trọng số giữa không và một trong một mô hình Transformer xác định ý nghĩa trong một cụm từ như "Một tia chớp từ trên trời rơi xuống." Đây về cơ bản là cùng một đại diện ý nghĩa cơ bản được sử dụng trong GPT-4, chẳng hạn. Do đó, chúng ta có thể mong đợi một vector embedding tốt sẽ cho phép sự hiểu biết rõ ràng giống như chúng ta thấy trong các mô hình ngôn ngữ AI hiện đại.
Cần lưu ý rằng vector embeddings có thể được sử dụng để đại diện cho nhiều hơn chỉ văn bản, mà còn cho các loại dữ liệu khác như hình ảnh hoặc âm thanh. Và với một mô hình được đào tạo đúng cách, người ta có thể so sánh giữa các phương tiện, để một vector embedding trên một khối văn bản có thể được so sánh với một hình ảnh, hoặc ngược lại. Hiện tại, Rememberizer cho phép tìm kiếm chỉ trong thành phần văn bản của tài liệu và kiến thức của người dùng. Nhưng tìm kiếm từ văn bản sang hình ảnh và từ hình ảnh sang văn bản đang nằm trong lộ trình. Google sử dụng vector embeddings để cung cấp sức mạnh cho tìm kiếm văn bản của họ (từ văn bản đến văn bản) và cũng cho tìm kiếm hình ảnh của họ (từ văn bản đến hình ảnh) (tham khảo). Facebook đã xem xét việc sử dụng embeddings cho tìm kiếm mạng xã hội của họ (tham khảo). Snapchat sử dụng vector embeddings để hiểu ngữ cảnh nhằm phục vụ quảng cáo đúng cho người dùng đúng vào thời điểm đúng (tham khảo).
Để hiểu sâu về cách thức hoạt động của vector embedding và vector databases, hãy bắt đầu với tổng quan từ Hugging Face. Pinecone (một cơ sở dữ liệu vector embedding dưới dạng dịch vụ) cũng có một tổng quan tốt .
Một nguồn tuyệt vời khác để hiểu về tìm kiếm và kiến thức trong các vector là tài liệu và mã của Meta/Facebook cho thư viện FAISS. "FAISS: A Library for Efficient Similarity Search and Clustering of Dense Vectors" của Johnson, Douze, và Jégou (2017): FAISS cung cấp một cái nhìn tổng quan toàn diện về một thư viện được thiết kế cho việc tìm kiếm tương đồng hiệu quả và phân cụm các vector dày đặc. Nó thảo luận về các phương pháp tối ưu hóa quy trình lập chỉ mục và tìm kiếm trong các cơ sở dữ liệu vector quy mô lớn, bao gồm cả những cái dựa trên Product Quantization. Nơi tốt nhất để tìm hiểu thêm về điều này là tài liệu cùng với mã trên Github.
Hãy chắc chắn xem xét tài liệu tháng 6 năm 2017 đã khởi đầu cuộc cách mạng genAI (trí tuệ nhân tạo sinh sinh) "Attention Is All You Need." (tham khảo) mà giới thiệu kiến trúc Transformer đứng sau các mô hình GPT và tất cả các LLMs tiếp theo từ OpenAI, Google, Meta (Facebook), Nvidia, Microsoft, IBM, Anthropic, Mistral, Salesforce, xAI (Elon Musk), Stability AI, Cohere, và nhiều nguồn mở khác. Cũng hãy xem xét, "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (tham khảo 1998, tham khảo 2010). Những tài liệu này thảo luận về lý thuyết đứng sau tìm kiếm hàng xóm gần nhất xấp xỉ (ANN) trong các không gian có chiều cao, một khái niệm cốt lõi trong các cơ sở dữ liệu vector để truy xuất hiệu quả các mục tương tự.
Một điều thú vị về những mô hình dựa trên Transformer này là rằng càng nhiều dữ liệu mà chúng sử dụng, chúng càng lớn (nhiều tham số) và khả năng hiểu biết và khả năng của chúng càng tốt hơn. OpenAI lần đầu tiên nhận ra điều này khi họ đào tạo mô hình GPT-2 của mình. Nhận ra tiềm năng này, họ ngay lập tức ngừng trở thành một tổ chức phi lợi nhuận hướng tới mã nguồn mở và trở thành một công ty lợi nhuận đóng cửa tập trung vào việc sản xuất GPT-3, GPT-4 và giao diện nổi tiếng của nó, ChatGPT. Thú vị thay, Google sở hữu bằng sáng chế về công nghệ này -- chính các nhà nghiên cứu của họ đứng sau Transformers và Attention Is All You Need (tham khảo). ChatGPT có chút khác biệt về cách tôi mô tả, viết rằng "Câu chuyện về sự chuyển đổi của OpenAI từ một tổ chức phi lợi nhuận hướng tới mã nguồn mở sang một thực thể lợi nhuận đóng cửa đơn giản hóa một sự tiến hóa phức tạp. Sự chuyển đổi của OpenAI bao gồm một sự tập trung vào an toàn và phát triển AI có trách nhiệm bên cạnh các khía cạnh thương mại hóa. Cũng đáng lưu ý rằng trong khi OpenAI đã ưu tiên phát triển công nghệ độc quyền như GPT-3 và hơn thế nữa, họ vẫn tiếp tục tham gia với cộng đồng nghiên cứu thông qua các ấn phẩm và hợp tác."
Các mô hình ngôn ngữ BERT dựa trên Transformers và thường được sử dụng trong các động cơ vector embedding tiên tiến. Điều này đã được giới thiệu trong tài liệu năm 2018 "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" (tham khảo). BERT (Bidirectional Encoder Representations from Transformers) đánh dấu một sự chuyển mình quan trọng hướng tới các mô hình được tiền huấn luyện có thể được tinh chỉnh cho nhiều nhiệm vụ NLP khác nhau. Việc sử dụng sáng tạo của nó về đào tạo hai chiều và kiến trúc transformer đã đặt ra các tiêu chuẩn mới cho hiệu suất mô hình trên nhiều tiêu chí. Các phương pháp sáng tạo trước đây để tạo ra vector embeddings đã được giới thiệu bởi GloVe (2014, Stanford), Word2Vec (2013, Google). "GloVe: Global Vectors for Word Representation" (tham khảo): Tài liệu GloVe (Global Vectors) đã đề xuất một mô hình hồi quy log-bilinear toàn cầu mới cho việc học không giám sát các đại diện từ, kết hợp lợi ích của hai phương pháp chính để nhúng: phân tích ma trận toàn cầu và các phương pháp cửa sổ ngữ cảnh cục bộ. "Efficient Estimation of Word Representations in Vector Space" (tham khảo): Tài liệu này đã giới thiệu Word2Vec, một phương pháp đột phá để tạo ra các vector từ. Các mô hình Word2Vec, bao gồm các mô hình Continuous Bag of Words (CBOW) và Skip-Gram, là những yếu tố quan trọng trong sự phát triển của các vector từ.