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:
- 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 .) - 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.
- Triển khai mô hình và hiển thị nó dưới dạng API.
- Để 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 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à:
- 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
- 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
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ư “
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ì
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
Là mô hình truyền thống vẫn còn hữu ích?
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
Bởi Jonathan Ellis, DataStax