paint-brush
LLM và tìm kiếm véc tơ đã cách mạng hóa các ứng dụng AI trong xây dựng như thế nàotừ tác giả@datastax
1,170 lượt đọc
1,170 lượt đọc

LLM và tìm kiếm véc tơ đã cách mạng hóa các ứng dụng AI trong xây dựng như thế nào

từ tác giả DataStax4m2023/06/14
Read on Terminal Reader

dài quá đọc không nổi

Generative Ai và các mô hình ngôn ngữ lớn (LLM) đang tạo ra nhiều hứng thú. Chúng đã khơi dậy trí tưởng tượng của công chúng vì mức độ hữu ích của chúng khi được nhắc giúp viết văn bản. Nhưng đối với các nhà phát triển, chúng thậm chí còn mang tính cách mạng hơn, bởi vì chúng đã đơn giản hóa cách xây dựng các ứng dụng AI. Hãy xem tại sao.
featured image - LLM và tìm kiếm véc tơ đã cách mạng hóa các ứng dụng AI trong xây dựng như thế nào
DataStax HackerNoon profile picture
0-item
1-item
2-item


Generative Ai và các mô hình ngôn ngữ lớn (LLM) đang tạo ra nhiều hứng thú. Chúng đã khơi dậy trí tưởng tượng của công chúng vì chúng có thể hữu ích như thế nào khi được nhắc giúp viết văn bản. Nhưng đối với các nhà phát triển, chúng thậm chí còn mang tính cách mạng hơn, bởi vì chúng đã đơn giản hóa đáng kể cách xây dựng các ứng dụng AI như thế nào. Chúng ta hãy xem tại sao.

Tại sao AI vẫn khó cho đến rất gần đây

Theo truyền thống, cách bạn xây dựng một ứng dụng AI là một quy trình gồm bốn bước:


  1. Mã hóa các phần dữ liệu có liên quan nhất của bạn dưới dạng vectơ. Hiểu được “những phần phù hợp nhất” là một vấn đề khó khăn và thường liên quan đến việc xây dựng một mô hình riêng biệt chỉ để tìm ra điều này thay vì đưa ra một phỏng đoán có cơ sở. Trích xuất các phần có liên quan từ dữ liệu thô là một vấn đề khó khăn khác. (Đây là những vấn đề quan trọng, đó là lý do tại sao chúng tôi xây dựng Kaskada để giải quyết chúng .)
  2. Huấn luyện một mô hình bằng cách sử dụng các vectơ đó để hoàn thành mục tiêu của bạn. Ví dụ: một trong những mục tiêu quan trọng nhất của Netflix là dự đoán “Jonathan sẽ muốn xem gì khi đăng nhập”. Nếu bạn gặp vấn đề phổ biến như nhận dạng hình ảnh, bạn có thể "tinh chỉnh" một mô hình hiện có thay vì bắt đầu lại từ đầu nhưng đây thường là lãnh thổ của nhiều gpus trong nhiều giờ hoặc nhiều ngày.
  3. Triển khai mô hình và hiển thị nó dưới dạng API.
  4. Để chạy nó trong sản xuất, hãy chạy dữ liệu thời gian thực của bạn thông qua cùng một mã hóa như trong bước 1, sau đó gửi nó qua mô hình bạn đã xây dựng và triển khai để thực hiện dự đoán của nó ("suy luận").

Bước 3 nói chung là đơn giản (mặc dù không phải không có thách thức ); các bước 1, 2 và 4 đều liên quan đến các giải pháp riêng biệt có thể yêu cầu các kỹ năng khó tìm.


Không có gì đáng ngạc nhiên, khi một lĩnh vực có vấn đề yêu cầu một nhóm tiến sĩ giải quyết vấn đề đó thành công, thì tất cả trừ một số công ty sẽ bị cấm về chi phí và kỹ năng.

Tại sao AI bây giờ dễ dàng với LLM

Một lý do khiến mọi người rất hào hứng với AI tổng quát với LLM là vì bạn thường có thể giải quyết một vấn đề "đủ tốt" mà không cần bất kỳ bước nào ở trên. Với AI sáng tạo, công việc của bạn là:


  1. Tìm hiểu cách đưa dữ liệu của bạn vào GPT dưới dạng văn bản
  2. Xây dựng các truy vấn về dữ liệu đó bằng tiếng Anh


Đó là nó, thực sự. Mọi thứ khác là chi tiết.


Chi tiết quan trọng nhất: bạn cung cấp dữ liệu gì cho GPT ở bước 1? Bạn không thể ném mọi thứ vào nó; nó chỉ có thể xử lý 4k mã thông báo trong GPT-3.5 hoặc tối đa 32k trong GPT-4, chậm hơn và đắt hơn nhiều.


Tìm kiếm véc tơ cho phép bạn lấy truy vấn chính xác mà bạn đã tạo để gửi tới GPT và đưa truy vấn đó vào cơ sở dữ liệu của bạn, nơi bạn đặt mọi thứ bạn biết về khách hàng. Tìm kiếm véc tơ trả lời theo nghĩa đen "dữ liệu phù hợp nhất cho truy vấn này là gì" mà bạn không cần nỗ lực thêm nữa–điều đó gần như kỳ diệu.

(Tôi tin chắc rằng tìm kiếm véc-tơ phải là một tính năng của cơ sở dữ liệu ứng dụng chính của bạn chứ không phải một hệ thống riêng biệt, đó là lý do tại sao chúng tôi đã thêm nó vào Apache Cassandra và DataStax Astra DB .)


Khi bạn có dữ liệu phù hợp nhất và truy vấn của mình, bạn nhóm chúng lại với nhau và thực hiện cuộc gọi tới OpenAI, bạn sẽ nhận được câu trả lời của mình và bạn đã hoàn tất. (Tôi đang lướt qua một số thách thức, như “ làm cách nào để bạn có được một LLM trả lời ở định dạng được xác định nghiêm ngặt để bạn có thể sử dụng câu trả lời và kết hợp nó vào ứng dụng của mình,” nhưng đây là những loại thách thức mà các kỹ sư phần mềm đã biết cách giải quyết.)


Vì vậy, nhà cung cấp nội dung phát trực tuyến sẽ sử dụng dữ liệu như: mọi phiên mà Jonathan từng dành cho tiêu đề, diễn viên và danh mục; anh ấy đã xem nó trong bao lâu; cộng với tất cả siêu dữ liệu mà chúng tôi có thể đưa ra, sau đó chỉ cần chuẩn hóa tất cả thành một đốm văn bản duy nhất và chạy nó qua bộ mã hóa để có được một véc-tơ.


Và nếu đây là Netflix, nó sẽ cực kỳ dễ dàng, bởi vì Netflix đã có dữ liệu của họ trong Cassandra , vì vậy sẽ không cần thiết lập một hệ thống mới hoặc thuê các tiến sĩ. Bạn chỉ cần các nhà phát triển của mình viết một truy vấn để kéo siêu dữ liệu đó lại với nhau vào một bảng duy nhất và gửi từng hàng tới Google Lòng bàn tay hoặc OpenAI's Ađa API để biến chúng thành vectơ (được gọi là nhúng ).


Khi đã xong, bạn có thể tìm nạp các hàng có liên quan từ Cassandra bằng một truy vấn như thế này, ở đâu? là một biến liên kết cho vectơ truy vấn của bạn mà bạn nhận được từ cùng một API nhúng:


 SELECT original_data_text FROM user_recommendation_data WHERE user_id = 'jonathan' ORDER BY embedding ANN OF ? LIMIT 20


Sau đó, bạn thêm những kết quả đó vào lời nhắc LLM của mình và… thế là xong. Bây giờ bạn có một hệ thống khuyến nghị mà bạn đã xây dựng trong một tuần mà không cần bằng tiến sĩ, chỉ cần Astra DB và LLM của bạn lựa chọn.

Là mô hình truyền thống vẫn còn hữu ích?

Travis Fisher đã đúng khi anh ấy nói chỉ xem xét các mô hình tinh chỉnh hoặc tùy chỉnh khi bạn đã sử dụng hết các cách tiếp cận đơn giản hơn với LLM. Tuy nhiên, LLM chậm hơn và đắt hơn so với các mô hình được xây dựng tùy chỉnh với các vectơ đặc trưng nhỏ hơn và/hoặc được điều chỉnh cẩn thận hơn. Ngoài ra, trong các trường hợp sử dụng như trường hợp Netflix mà bạn muốn nhận đầu vào có thể đọc được bằng máy và lấy lại kết quả đầu ra có thể đọc được bằng máy, thông thường bạn có thể đạt được kết quả chính xác hơn với một mô hình tùy chỉnh so với bạn có thể thực hiện bằng cách chuyển vòng qua văn bản và tiếng Anh.


Nhưng ngay cả khi bạn cần xây dựng một mô hình tùy chỉnh, LLM có thể giúp tạo dữ liệu, nhãn và tính năng để làm như vậy. Tuy nhiên, đó là một chủ đề cho một bài viết khác!

Làm thế nào tôi có thể thử điều này?

tôi khuyên bạn nên đọc Hướng tới bài viết của Khoa học dữ liệu bao quát cấp độ tiếp theo về cách tất cả điều này hoạt động. Sau đó đăng ký cho Astra DB hỗ trợ tìm kiếm véc-tơ và đăng ký hội thảo trực tuyến ngày 15 tháng 6 của chúng tôi về tìm kiếm vectơ cho LLM. Hãy sẵn sàng: điều này sẽ rất vui!



Bởi Jonathan Ellis, DataStax