Tìm kiếm Vector để thành công

Nguồn:

https://www.spaceandtime.io/blog/vector-search-to-success

post image

Trước năm 2022, nếu bạn muốn nhanh chóng nhớ lại một đoạn văn cụ thể trong cuốn sách yêu thích hoặc một trích dẫn từ bộ phim bạn vừa xem mà không cần xem tác phẩm trước mặt, bạn có thể sẽ chuyển sang công cụ tìm kiếm. Bạn sẽ nhắc nhở công cụ bằng một đầu vào tìm kiếm được xây dựng tốt, phân tích qua các kết quả trả về, truy cập liên kết SparkNotes hoặc IMDB có vẻ chứa câu trả lời của bạn và tìm văn bản bạn đang tìm kiếm trên trang trong vòng vài phút. Bây giờ, bạn chỉ cần mở ChatGPT, nhập "trích dẫn nổi tiếng nhất của Terminator là gì?" hoặc "viết ra đoạn mở đầu của A Tale of Two Cities" và nhận được câu trả lời nguyên văn của bạn trong vài giây.

Một trong những cách sử dụng đơn giản nhất cho mô hình ngôn ngữ lớn (LLM) là làm cơ sở dữ liệu kiến ​​thức. LLM đã được đào tạo về bộ dữ liệu khổng lồ với thông tin phong phú, giao diện như ChatGPT đã giúp bạn dễ dàng truy xuất. Ví dụ: khi bạn nhắc ChatGPT trả lại nội dung từ một bộ phim hoặc sách, bạn chỉ cần tận dụng khả năng của mô hình để nhớ lại thông tin mà mô hình đã tiếp xúc trong quá trình đào tạo. Nhưng điều gì sẽ xảy ra nếu nó không được đào tạo về kịch bản Kẻ hủy diệt hoặc nếu sức nặng của nó không coi trọng các tác phẩm của Dickens? Để mang lại kết quả chính xác và phù hợp nhất cho ngay cả những trường hợp sử dụng đơn giản nhất, chẳng hạn như truy xuất thông tin cơ bản, LLM cần các cơ chế truy xuất và lập chỉ mục phức tạp có thể truy cập nhiều thông tin một cách chính xác.

Hiểu việc tạo và đào tạo nội dung LLM

Nội dung LLM được tạo ra thông qua một quy trình được gọi là dự đoán mã thông báo tiếp theo , đảm bảo rằng các phản hồi phù hợp với ngữ cảnh, đa dạng và phần nào phản ánh được sự hiểu biết giống con người. Sau đây là cách dự đoán mã thông báo tiếp theo hoạt động, từng bước một:

  1. Xử lý đầu vào: Khi bạn nhập lời nhắc hoặc câu hỏi, đầu vào đó sẽ được chuyển đổi thành mã thông báo: từ hoặc đoạn từ.

  2. Hiểu ngữ cảnh: Mô hình sẽ xem xét các mã thông báo bạn đã cung cấp và cố gắng hiểu ngữ cảnh dựa trên quá trình đào tạo, bao gồm mọi thứ từ chủ đề đang nói đến giọng điệu bạn có thể sử dụng.

  3. Dự đoán mã thông báo tiếp theo: Sử dụng ngữ cảnh đã hiểu được, mô hình sẽ dự đoán mã thông báo tiếp theo có khả năng xảy ra nhất là gì. Nó không chỉ là đoán dựa trên từ ngay trước đó; nó đang xem xét toàn bộ bối cảnh của cuộc trò chuyện cho đến thời điểm đó.

  4. Lựa chọn mã thông báo: Sau khi dự đoán được một loạt các mã thông báo tiếp theo có thể, nó sẽ chọn một mã thông báo. Lựa chọn này dựa trên xác suất—mã thông báo có nhiều khả năng xuất hiện tiếp theo nhất dựa trên dữ liệu mà mô hình được đào tạo. Tuy nhiên, cần lưu ý rằng cũng có một số tính ngẫu nhiên ở đây, giúp tạo ra các phản hồi đa dạng và tự nhiên hơn.

  5. Tạo đầu ra: Mã thông báo đã chọn sau đó được chuyển đổi trở lại thành văn bản mà con người có thể đọc được. Nếu phản hồi không hoàn tất (thường là không hoàn tất sau khi chỉ có một mã thông báo), quá trình sẽ lặp lại. Mã thông báo mới được thêm vào chuỗi và mô hình dự đoán mã thông báo tiếp theo dựa trên ngữ cảnh được cập nhật này.

  6. Tinh chỉnh lặp lại: Quá trình dự đoán mã thông báo tiếp theo và thêm nó vào chuỗi lặp lại cho đến khi mô hình đạt đến điểm dừng. Điều này có thể xảy ra khi phản hồi đạt đến một độ dài nhất định, mô hình dự đoán một mã thông báo biểu thị sự kết thúc của một câu hoặc đoạn văn hoặc khi nó thực hiện các hướng dẫn được nhúng trong lời nhắc.

Hạn chế của việc nén trong đào tạo LLM

Khi LLM dự đoán mã thông báo, nó sẽ truy xuất và sử dụng hiệu quả kiến ​​thức nén được nhúng trong trọng số của nó để tạo ra kết quả đầu ra phù hợp theo ngữ cảnh. Bằng cách này, quá trình đào tạo LLM phản ánh việc nén cơ sở dữ liệu. Giống như cơ sở dữ liệu được tối ưu hóa để nhanh chóng gọi lại dữ liệu được truy cập thường xuyên, LLM được thiết kế để truy xuất thông tin—các bộ nhớ nội suy cụ thể—từ trọng số của nó. Khả năng này cho phép nó tạo ra các phản hồi chính xác cho các truy vấn về tài liệu quen thuộc mà nó gặp phải trong quá trình đào tạo, giống như truy vấn cơ sở dữ liệu để có thông tin được lập chỉ mục tốt. Tuy nhiên, những hạn chế nảy sinh khi mô hình gặp phải nội dung ít quen thuộc hoặc ít người biết đến. Ví dụ: khi bạn hỏi LLM về những đoạn cụ thể trong Kinh thánh, nó sẽ trích dẫn từng chữ một, nhưng nó không thể trích dẫn từng chữ bất kỳ khái niệm nào mà nó không “chứng kiến” một cách dư thừa trong quá trình đào tạo, vì tầm quan trọng liên quan đến khái niệm đó cũng vậy. tầm thường. Theo nghĩa đó, LLM cũng tương tự như cơ sở dữ liệu. Giống như cơ sở dữ liệu chỉ có thể trả về dữ liệu đã được lưu trữ rõ ràng trong đó, LLM có thể gặp khó khăn trong việc tạo nội dung về các chủ đề mà nó chưa thấy nhiều trong quá trình đào tạo.

Tất nhiên, LLM nằm ngoài phạm vi của sự tương tự này, vì chúng có một mô hình thế giới bên trong cho phép chúng "hiểu" mọi thứ hoàn toàn ngoài việc tra cứu. Tuy nhiên, việc đơn giản hóa quá mức này giúp chúng tôi hiểu được một số hạn chế chính trong cách đào tạo LLM để tạo nội dung.

Những hạn chế hơn nữa của đào tạo LLM

Hơn nữa, hệ thống dự đoán mã thông báo tiếp theo có những hạn chế cố hữu khác xuất phát từ cách tiếp cận cơ bản của nó để tạo văn bản:

  • Kích thước cửa sổ ngữ cảnh: Một trong những hạn chế chính là kích thước cửa sổ ngữ cảnh của mô hình—số lượng văn bản tối đa (bằng mã thông báo) mà mô hình có thể xem xét khi đưa ra dự đoán. Đối với nhiều mô hình, bao gồm cả các phiên bản GPT trước đó, cửa sổ này không đủ lớn để duy trì ngữ cảnh trong các cuộc trò chuyện hoặc tài liệu dài, điều này có thể dẫn đến mất tính mạch lạc trong các văn bản dài hơn hoặc các cuộc thảo luận phức tạp yêu cầu duy trì ngữ cảnh ngoài các mã thông báo ngay trước đó.

  • Tổng quát hóa so với Tính cụ thể: Mặc dù các mô hình này được đào tạo trên các tập dữ liệu lớn, khả năng tổng quát hóa từ quá trình đào tạo này đôi khi có thể khiến chúng tạo ra nội dung chung chung hoặc có liên quan mơ hồ. Chúng có thể bỏ lỡ mục tiêu trong việc tạo ra các phản hồi rất cụ thể hoặc có sắc thái đòi hỏi sự hiểu biết chi tiết hoặc kiến ​​thức cập nhật bên ngoài dữ liệu đào tạo của chúng.

  • Thiếu quyền truy cập kiến ​​thức bên ngoài: Các mô hình dự đoán mã thông báo tiếp theo bị giới hạn ở thông tin có trong tập dữ liệu đào tạo của chúng. Chúng không thể truy cập hoặc kết hợp thông tin mới sau khi đào tạo, điều đó có nghĩa là chúng có thể nhanh chóng trở nên lỗi thời hoặc thiếu bối cảnh hiện tại, chẳng hạn như các sự kiện gần đây, khám phá hoặc chủ đề thịnh hành.

  • Tính lặp lại và khả năng dự đoán: Bản chất thuật toán của dự đoán mã thông báo tiếp theo đôi khi có thể dẫn đến việc tạo văn bản lặp đi lặp lại hoặc có thể dự đoán được. Vì mô hình thường ưu tiên các mã thông báo có nhiều khả năng tuân theo bối cảnh nhất định về mặt thống kê nên nó có thể rơi vào các vòng lặp hoặc ưu tiên các cụm từ phổ biến, làm giảm tính biến đổi của đầu ra.

Giải thích về thế hệ tăng cường truy xuất (RAG)

Như đã nói ở trên, LLM tạo ra phản hồi dựa trên trọng số mà chúng đã gán cho các khía cạnh khác nhau của dữ liệu trong quá trình đào tạo. Các trọng số này phản ánh tầm quan trọng hoặc tầm quan trọng của các yếu tố khác nhau của dữ liệu đầu vào được mô hình cảm nhận. Nếu lời nhắc của người dùng bao gồm các yếu tố không được thể hiện đáng kể trong dữ liệu huấn luyện thì mô hình có thể không tạo ra phản hồi chính xác hoặc phù hợp.

Khi một cuộc hội thoại vượt quá cửa sổ ngữ cảnh của LLM hoặc khi lời nhắc vượt quá giới hạn trọng số đáng kể trong tập dữ liệu huấn luyện của chính LLM (có nghĩa là nó không thể nhớ chính xác câu trả lời mà người dùng đang tìm kiếm), mô hình thường dựa vào cơ sở dữ liệu tìm kiếm vectơ bên ngoài , cho phép nó tìm kiếm ngữ cảnh có liên quan hoặc dữ liệu mới có thể được thêm vào lời nhắc của người dùng. Quá trình này được gọi là thế hệ tăng cường truy xuất (RAG).

“Tìm kiếm vectơ để thành công”

Quá trình RAG được thực hiện thông qua cơ sở dữ liệu tìm kiếm vectơ: một loại cơ sở dữ liệu nâng cao lưu trữ và quản lý dữ liệu dưới dạng vectơ. Các vectơ này biểu thị dữ liệu trong không gian nhiều chiều, trong đó mỗi chiều nắm bắt một số khía cạnh ý nghĩa của dữ liệu, cho phép biểu diễn các mối quan hệ và thuộc tính phức tạp. Trong ngữ cảnh văn bản và ngôn ngữ, cơ sở dữ liệu tìm kiếm vectơ sử dụng các kỹ thuật như nhúng để chuyển đổi văn bản thành vectơ số. Việc chuyển đổi này cho phép hệ thống đo lường sự tương đồng về ngữ nghĩa giữa các đoạn văn bản khác nhau bằng cách tính toán khoảng cách giữa các vectơ tương ứng của chúng trong không gian đa chiều này.

Trong RAG, cả truy vấn (tức là dữ liệu đầu vào của người dùng vào LLM) và dữ liệu được lưu trữ (chẳng hạn như bài viết, tài liệu hoặc câu) đều được chuyển đổi thành các vectơ bằng cách sử dụng nhúng văn bản. Các nhúng này chuyển đổi dữ liệu văn bản thành các vectơ số, trong đó các ý nghĩa tương tự được ánh xạ tới các điểm gần nhau trong không gian vectơ. Sau đó, cơ sở dữ liệu tính toán khoảng cách giữa vectơ truy vấn và các vectơ của dữ liệu được lưu trữ để xác định mức độ liên quan chặt chẽ giữa các ý nghĩa của văn bản. Cơ sở dữ liệu truy xuất các điểm dữ liệu (nội dung văn bản) có các vectơ gần nhất với vectơ truy vấn, tức là các vectơ giống nhất về mặt ngữ nghĩa với đầu vào. Các điểm dữ liệu này được coi là "láng giềng gần nhất" về mặt ngữ cảnh và ý nghĩa.

Những người hàng xóm gần nhất này cung cấp thông tin bổ sung, phù hợp với ngữ cảnh mà LLM cơ sở có thể không có quyền truy cập trong dữ liệu đào tạo của chính nó, điều này có thể cải thiện đáng kể độ chính xác, mức độ liên quan, mức độ phong phú và tính đa dạng của đầu ra của LLM. Sam Altman, trong số những người khác, đã ủng hộ cách tiếp cận “tìm kiếm vectơ để thành công”—dựa vào RAG để phát triển các tác nhân, thay vì chỉ tinh chỉnh mô hình.

RAG thay thế cho việc tinh chỉnh

Việc tinh chỉnh LLM liên quan đến việc điều chỉnh trọng số của mô hình dựa trên quá trình đào tạo bổ sung trên một tập dữ liệu cụ thể để nâng cao hiệu suất cho các tác vụ cụ thể hoặc cải thiện sự hiểu biết trong một số lĩnh vực nhất định. Quá trình này không chỉ chậm hơn tốc độ đổi mới, nghĩa là các mô hình được tinh chỉnh trở nên lỗi thời gần như nhanh như khi chúng được cập nhật, mà còn không giải quyết được vấn đề về dữ liệu mới.

Ngược lại, RAG cho phép mô hình truy cập cơ sở dữ liệu bên ngoài theo thời gian thực để truy xuất thông tin mới nhất có liên quan đến truy vấn hiện tại. Ngay cả khi mô hình cơ bản chưa được cập nhật hoặc tinh chỉnh gần đây, nó vẫn có thể tạo ra phản hồi bao gồm dữ liệu mới nhất. Các mô hình vẫn phù hợp lâu hơn vì chúng có thể thích ứng với dữ liệu mới và thay đổi bối cảnh thông qua việc truy xuất các nguồn thông tin bên ngoài.

RAG thu hẹp khoảng cách giữa học sâu và các kỹ thuật truy xuất thông tin truyền thống một cách hiệu quả. Bằng cách đó, nó tận dụng được thế mạnh của cả hai—khả năng hiểu ngữ cảnh mạnh mẽ của học sâu và độ chính xác của truy xuất thông tin. Phương pháp kết hợp này cho phép LLM tạo ra các phản hồi chính xác hơn, chi tiết hơn và phong phú hơn về mặt ngữ cảnh.

Giải quyết những hạn chế hơn nữa của LLM

Ngoài việc tinh chỉnh, RAG còn giải quyết các thách thức đã lưu ý trước đây liên quan đến LLM tiêu chuẩn:

  • Mở rộng hiểu biết theo ngữ cảnh: RAG mở rộng cửa sổ ngữ cảnh của LLM truyền thống bằng cách thu thập thông tin chi tiết hoặc cập nhật giúp nâng cao phản hồi của mô hình.

  • Nâng cao tính đặc hiệu và độ chính xác: Thay vì chỉ dựa vào các mẫu đã học được trong quá trình đào tạo, RAG cho phép mô hình đưa các chi tiết cụ thể từ tài liệu được truy xuất vào phản hồi của nó, khiến chúng không chỉ chính xác hơn mà còn được điều chỉnh cho phù hợp với truy vấn cụ thể hiện tại.

  • Giảm thiểu tính lặp lại và khả năng dự đoán: Bằng cách kéo các tập thông tin khác nhau một cách động cho mỗi truy vấn, RAG có thể thay đổi đáng kể các phản hồi của mô hình. Sự thay đổi này giúp giảm tính lặp lại và khả năng dự đoán thường thấy trong các mô hình tạo thuần túy, vì dữ liệu bên ngoài đưa ra cách diễn đạt và chi tiết mới vào cuộc trò chuyện.

Những thách thức và sự phát triển cần thiết của RAG

Tuy nhiên, RAG cũng có những thách thức riêng—cụ thể là độ trễ và thiếu thông tin. Hãy nghĩ về cuộc trò chuyện chatbot của tổng đài viên theo lượt, trong đó người dùng gửi lời nhắc, LLM đưa ra một số mã thông báo cho biết nó cần thêm ngữ cảnh, cơ sở dữ liệu tìm kiếm vectơ truy xuất ngữ cảnh lân cận gần nhất thông qua lời nhắc đầu vào của người dùng và cuối cùng cả hai đều được gửi đến LLM một lần nữa để suy luận. Sau đó, đến lượt người dùng trả lời, v.v.

Trong hệ thống này, mỗi lời nhắc của người dùng sẽ khởi tạo một hoạt động nhiều bước, trong đó mỗi bước sẽ làm tăng tổng thời gian xử lý. Tốc độ của toàn bộ quá trình cũng phụ thuộc vào tốc độ cơ sở dữ liệu tìm kiếm vectơ có thể truy xuất ngữ cảnh cần thiết. Nếu truy vấn cơ sở dữ liệu phức tạp hoặc bản thân cơ sở dữ liệu lớn và không được lập chỉ mục tối ưu, thì việc truy xuất này có thể gây ra sự chậm trễ đáng kể. Ngoài ra, đặc biệt là trong các hộp thoại phức tạp hơn, trình tự tạo và truy xuất này có thể cần được lặp lại nhiều lần để tinh chỉnh phản hồi một cách thỏa đáng. Chu kỳ lặp lại này có thể làm tăng độ trễ, dẫn đến tương tác chậm hơn so với khả năng thực hiện được với mô hình tạo thuần túy chỉ dựa vào dữ liệu nội bộ.

Hơn nữa, trí thông minh của LLM được làm giàu RAG phụ thuộc đáng kể vào chất lượng và tính liên quan của thông tin thu được từ cơ sở dữ liệu tìm kiếm vectơ. Nếu nội dung cơ sở dữ liệu không toàn diện, không cập nhật hoặc không được bảo trì tốt, tiện ích của thông tin thu được có thể bị hạn chế, ảnh hưởng đến trí thông minh chung của các phản hồi.

Ngay cả khi dữ liệu bên ngoài chất lượng cao được thu thập, thách thức vẫn nằm ở mức độ hiệu quả mà thông tin này có thể được tích hợp vào khuôn khổ phản hồi hiện có của LLM. Mô hình không chỉ phải kết hợp dữ liệu bên ngoài này mà còn phải làm theo cách phù hợp về mặt ngữ cảnh và mạch lạc. Sự không phù hợp giữa quá trình đào tạo của mô hình và bản chất của dữ liệu bên ngoài có thể dẫn đến các phản hồi chính xác về mặt kỹ thuật nhưng lại rời rạc về mặt ngữ cảnh.

Thế hệ tiếp theo của LLM

Thế hệ LLM tiếp theo có thể sẽ kết hợp RAG dựa trên tìm kiếm vectơ và các phương pháp đào tạo/điều chỉnh truyền thống với nhau, cùng với xử lý dữ liệu có cấu trúc (ví dụ: cơ sở dữ liệu SQL của dữ liệu thị trường TradFi và tin tức tài chính liên quan). Khái niệm có một nhà cung cấp LLM 'ở đây' và một cơ sở dữ liệu tìm kiếm vectơ riêng 'ở đó' sẽ đối chiếu thông qua các mô hình mới mở rộng bộ nhớ làm việc được lập chỉ mục của chúng một cách trực quan đến các ổ SSD cục bộ với hàng terabyte ngữ cảnh vectơ hóa.

Không gian và Thời gian đã cung cấp Bằng chứng về SQL—một bằng chứng ZK xác minh tính chính xác và chống giả mạo của quá trình xử lý cơ sở dữ liệu SQL—cho các máy khách và gần đây hơn là Bằng chứng về Tìm kiếm Vector đã được chuyển giao, hoạt động tương tự đối với việc truy xuất tìm kiếm vectơ. Những bằng chứng mới này mở đường cho một tương lai nơi LLM có thể tích hợp bối cảnh mới, truy cập vào phổ dữ liệu rộng hơn và nhiều sắc thái hơn trong thời gian thực, đồng thời tích hợp xử lý dữ liệu có cấu trúc để mang lại những phân tích sâu sắc hơn, tất cả đều theo cách có thể theo dõi và kiểm chứng được. Những tiến bộ này cuối cùng sẽ mở rộng phạm vi ứng dụng cho LLM, mở rộng tiện ích của chúng trong các lĩnh vực phụ thuộc nhiều vào dữ liệu cập nhật từng phút, như dịch vụ tài chính, tổng hợp tin tức và đánh giá rủi ro, từ đó thúc đẩy làn sóng AI tiếp theo. - định hướng đổi mới.