Một trong những mẫu ứng dụng hữu ích nhất cho khối lượng công việc AI tổng quát là Thế hệ tăng cường truy xuất (RAG). Trong mẫu RAG, chúng tôi tìm thấy các phần nội dung tham chiếu liên quan đến lời nhắc đầu vào bằng cách thực hiện tìm kiếm điểm tương đồng trên các phần nhúng. Phần nhúng nắm bắt nội dung thông tin trong nội dung văn bản, cho phép các mô hình xử lý ngôn ngữ tự nhiên (NLP) hoạt động với ngôn ngữ ở dạng số. Phần nhúng chỉ là vectơ của số dấu phẩy động, vì vậy chúng ta có thể phân tích chúng để giúp trả lời ba câu hỏi quan trọng: Dữ liệu tham chiếu của chúng ta có thay đổi theo thời gian không? Những câu hỏi mà người dùng đang hỏi có thay đổi theo thời gian không? Và cuối cùng, dữ liệu tham khảo của chúng tôi bao gồm các câu hỏi được hỏi tốt đến mức nào?
Trong bài đăng này, bạn sẽ tìm hiểu về một số điều cần cân nhắc khi nhúng phân tích vectơ và phát hiện các tín hiệu nhúng trôi. Bởi vì các phần nhúng là nguồn dữ liệu quan trọng cho các mô hình NLP nói chung và các giải pháp AI tổng quát nói riêng, nên chúng tôi cần một cách để đo lường xem các phần nhúng của chúng tôi có thay đổi theo thời gian hay không (trôi dạt). Trong bài đăng này, bạn sẽ thấy một ví dụ về cách thực hiện phát hiện độ lệch khi nhúng vectơ bằng cách sử dụng kỹ thuật phân cụm với các mô hình ngôn ngữ lớn (LLMS) được triển khai từ Khởi động Amazon SageMaker. Bạn cũng có thể khám phá các khái niệm này thông qua hai ví dụ được cung cấp, bao gồm ứng dụng mẫu toàn diện hoặc, tùy chọn, một tập hợp con của ứng dụng.
Tổng quan về RAG
Sản phẩm mẫu RAG cho phép bạn truy xuất kiến thức từ các nguồn bên ngoài, chẳng hạn như tài liệu PDF, bài viết wiki hoặc bản ghi cuộc gọi, sau đó sử dụng kiến thức đó để tăng cường lời nhắc hướng dẫn được gửi tới LLM. Điều này cho phép LLM tham chiếu thông tin phù hợp hơn khi tạo phản hồi. Ví dụ: nếu bạn hỏi LLM cách làm bánh quy sô cô la chip, nó có thể bao gồm thông tin từ thư viện công thức nấu ăn của riêng bạn. Trong mẫu này, văn bản công thức được chuyển đổi thành vectơ nhúng bằng mô hình nhúng và được lưu trữ trong cơ sở dữ liệu vectơ. Các câu hỏi đến được chuyển đổi thành phần nhúng và sau đó cơ sở dữ liệu vectơ chạy tìm kiếm tương tự để tìm nội dung liên quan. Sau đó, câu hỏi và dữ liệu tham khảo sẽ được đưa vào lời nhắc cho LLM.
Chúng ta hãy xem xét kỹ hơn các vectơ nhúng được tạo và cách thực hiện phân tích độ lệch trên các vectơ đó.
Phân tích về vectơ nhúng
Các vectơ nhúng là các biểu diễn số cho dữ liệu của chúng tôi, do đó, việc phân tích các vectơ này có thể cung cấp cái nhìn sâu sắc về dữ liệu tham chiếu của chúng tôi mà sau này có thể được sử dụng để phát hiện các tín hiệu trôi dạt tiềm ẩn. Các vectơ nhúng biểu diễn một phần tử trong không gian n chiều, trong đó n thường lớn. Ví dụ: mô hình GPT-J 6B, được sử dụng trong bài đăng này, tạo vectơ có kích thước 4096. Để đo độ lệch, giả sử rằng ứng dụng của chúng tôi ghi lại các vectơ nhúng cho cả dữ liệu tham chiếu và lời nhắc đến.
Chúng tôi bắt đầu bằng cách thực hiện giảm kích thước bằng cách sử dụng Phân tích thành phần chính (PCA). PCA cố gắng giảm số lượng kích thước trong khi vẫn giữ được phần lớn phương sai trong dữ liệu. Trong trường hợp này, chúng tôi cố gắng tìm số thứ nguyên bảo toàn 95% phương sai, số thứ nguyên này sẽ nắm bắt mọi thứ nằm trong hai độ lệch chuẩn.
Sau đó, chúng tôi sử dụng K-Means để xác định một tập hợp các trung tâm cụm. K-Means cố gắng nhóm các điểm lại với nhau thành các cụm sao cho mỗi cụm tương đối nhỏ gọn và các cụm càng xa nhau càng tốt.
Chúng tôi tính toán thông tin sau dựa trên kết quả phân cụm được hiển thị trong hình sau:
- Số thứ nguyên trong PCA giải thích 95% phương sai
- Vị trí của mỗi trung tâm cụm hoặc centroid
Ngoài ra, chúng tôi xem xét tỷ lệ (cao hơn hoặc thấp hơn) của các mẫu trong mỗi cụm, như thể hiện trong hình sau.
Cuối cùng, chúng tôi sử dụng phân tích này để tính toán như sau:
- Không hoạt động – Quán tính là tổng bình phương khoảng cách đến trọng tâm của cụm, thước đo mức độ dữ liệu được phân cụm bằng K-Means.
- Điểm hình bóng – Điểm hình bóng là thước đo để xác thực tính nhất quán trong các cụm và nằm trong khoảng từ -1 đến 1. Giá trị gần 1 có nghĩa là các điểm trong cụm gần với các điểm khác trong cùng cụm và cách xa điểm điểm của các cụm khác. Bạn có thể xem hình ảnh trực quan của điểm số hình bóng trong hình dưới đây.
Chúng tôi có thể định kỳ thu thập thông tin này để chụp ảnh nhanh các phần nhúng cho cả dữ liệu tham chiếu nguồn và lời nhắc. Việc thu thập dữ liệu này cho phép chúng tôi phân tích các tín hiệu tiềm ẩn về sự trôi dạt.
Phát hiện nhúng trôi
Theo định kỳ, chúng tôi có thể so sánh thông tin phân cụm thông qua ảnh chụp nhanh của dữ liệu, bao gồm các phần nhúng dữ liệu tham chiếu và phần nhúng nhắc nhở. Đầu tiên, chúng ta có thể so sánh số thứ nguyên cần thiết để giải thích 95% sự thay đổi trong dữ liệu nhúng, quán tính và điểm hình bóng từ công việc phân cụm. Như bạn có thể thấy trong bảng sau, so với đường cơ sở, ảnh chụp nhanh mới nhất về phần nhúng yêu cầu thêm 39 thứ nguyên để giải thích sự khác biệt, cho thấy rằng dữ liệu của chúng tôi bị phân tán nhiều hơn. Quán tính đã tăng lên, cho thấy các mẫu được tổng hợp ở xa trung tâm cụm của chúng hơn. Ngoài ra, điểm hình bóng đã giảm xuống, cho thấy các cụm không được xác định rõ ràng. Đối với dữ liệu kịp thời, điều đó có thể cho thấy rằng các loại câu hỏi được đưa vào hệ thống đang đề cập đến nhiều chủ đề hơn.
Tiếp theo, trong hình dưới đây, chúng ta có thể thấy tỷ lệ mẫu trong mỗi cụm đã thay đổi như thế nào theo thời gian. Điều này có thể cho chúng tôi biết liệu dữ liệu tham chiếu mới hơn của chúng tôi có giống với bộ dữ liệu trước đó hay bao gồm các lĩnh vực mới hay không.
Cuối cùng, chúng ta có thể xem liệu tâm của cụm có đang di chuyển hay không, điều này sẽ thể hiện sự trôi dạt trong thông tin trong các cụm, như được hiển thị trong bảng sau.
Phạm vi dữ liệu tham khảo cho các câu hỏi đến
Chúng tôi cũng có thể đánh giá mức độ phù hợp của dữ liệu tham khảo với các câu hỏi sắp tới. Để thực hiện việc này, chúng tôi chỉ định từng lần nhúng lời nhắc vào một cụm dữ liệu tham chiếu. Chúng tôi tính toán khoảng cách từ mỗi dấu nhắc đến tâm tương ứng của nó và xem xét giá trị trung bình, trung vị và độ lệch chuẩn của những khoảng cách đó. Chúng ta có thể lưu trữ thông tin đó và xem nó thay đổi như thế nào theo thời gian.
Hình dưới đây cho thấy một ví dụ về phân tích khoảng cách giữa trung tâm dữ liệu nhúng và tham chiếu theo thời gian.
Như bạn có thể thấy, thống kê khoảng cách trung bình, trung vị và độ lệch chuẩn giữa các phần nhúng nhanh chóng và trung tâm dữ liệu tham chiếu đang giảm dần giữa đường cơ sở ban đầu và ảnh chụp nhanh mới nhất. Mặc dù khó diễn giải giá trị tuyệt đối của khoảng cách nhưng chúng ta có thể sử dụng các xu hướng để xác định xem sự trùng lặp về ngữ nghĩa giữa dữ liệu tham chiếu và các câu hỏi được đưa ra đang trở nên tốt hơn hay xấu đi theo thời gian.
Ứng dụng mẫu
Để thu thập các kết quả thử nghiệm được thảo luận trong phần trước, chúng tôi đã xây dựng một ứng dụng mẫu triển khai mẫu RAG bằng cách sử dụng các mô hình nhúng và tạo được triển khai thông qua SageMaker JumpStart và được lưu trữ trên Amazon SageMaker điểm cuối thời gian thực.
Ứng dụng này có ba thành phần cốt lõi:
- Chúng tôi sử dụng luồng tương tác, bao gồm giao diện người dùng để ghi lại lời nhắc, kết hợp với lớp điều phối RAG, sử dụng LangChain.
- Luồng xử lý dữ liệu trích xuất dữ liệu từ tài liệu PDF và tạo các phần nhúng được lưu trữ trong Dịch vụ Tìm kiếm Mở của Amazon. Chúng tôi cũng sử dụng những thông tin này trong thành phần phân tích độ lệch nhúng cuối cùng của ứng dụng.
- Các phần nhúng được ghi lại trong Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) qua Amazon Kinesis Dữ liệu Firehosevà chúng tôi chạy kết hợp Keo AWS trích xuất, chuyển đổi và tải các công việc (ETL) và sổ ghi chép Jupyter để thực hiện phân tích nhúng.
Sơ đồ sau minh họa kiến trúc end-to-end.
Mã mẫu đầy đủ có sẵn trên GitHub. Mã được cung cấp có sẵn ở hai mẫu khác nhau:
- Ứng dụng full-stack mẫu có giao diện Streamlit – Điều này cung cấp một ứng dụng end-to-end, bao gồm giao diện người dùng sử dụng Streamlit để ghi lại lời nhắc, kết hợp với lớp điều phối RAG, sử dụng LangChain chạy trên Dịch vụ container đàn hồi Amazon (Amazon ECS) với Cổng xa AWS
- Ứng dụng phụ trợ – Đối với những người không muốn triển khai toàn bộ ngăn xếp ứng dụng, bạn có thể tùy ý chọn chỉ triển khai phần phụ trợ Bộ công cụ phát triển đám mây AWS (AWS CDK), sau đó sử dụng sổ ghi chép Jupyter được cung cấp để thực hiện điều phối RAG bằng LangChain
Để tạo các mẫu được cung cấp, có một số điều kiện tiên quyết được trình bày chi tiết trong các phần sau, bắt đầu bằng việc triển khai các mô hình tổng quát và nhúng văn bản, sau đó chuyển sang các điều kiện tiên quyết bổ sung.
Triển khai mô hình thông qua SageMaker JumpStart
Cả hai mẫu đều giả định việc triển khai mô hình nhúng và mô hình tổng quát. Để làm điều này, bạn sẽ triển khai hai mô hình từ SageMaker JumpStart. Mẫu đầu tiên, GPT-J 6B, được sử dụng làm mô hình nhúng và mẫu thứ hai, Falcon-40b, được sử dụng để tạo văn bản.
Bạn có thể triển khai từng mô hình này thông qua SageMaker JumpStart từ Bảng điều khiển quản lý AWS, Xưởng sản xuất Amazon SageMaker, hoặc theo chương trình. Để biết thêm thông tin, hãy tham khảo Cách sử dụng mô hình móng JumpStart. Để đơn giản hóa việc triển khai, bạn có thể sử dụng sổ ghi chép được cung cấp bắt nguồn từ sổ ghi chép được SageMaker JumpStart tự động tạo. Sổ ghi chép này kéo các mô hình từ trung tâm SageMaker JumpStart ML và triển khai chúng đến hai điểm cuối thời gian thực SageMaker riêng biệt.
Sổ ghi chép mẫu cũng có phần dọn dẹp. Đừng chạy phần đó vội vì nó sẽ xóa các endpoint vừa được triển khai. Bạn sẽ hoàn thành việc dọn dẹp ở cuối hướng dẫn.
Sau khi xác nhận việc triển khai thành công các điểm cuối, bạn đã sẵn sàng triển khai ứng dụng mẫu đầy đủ. Tuy nhiên, nếu bạn quan tâm hơn đến việc chỉ khám phá sổ ghi chép phân tích và phụ trợ, bạn có thể tùy ý triển khai chỉ sổ ghi chép đó, nội dung này sẽ được đề cập trong phần tiếp theo.
Tùy chọn 1: Chỉ triển khai ứng dụng phụ trợ
Mẫu này cho phép bạn chỉ triển khai giải pháp phụ trợ và tương tác với giải pháp bằng sổ ghi chép Jupyter. Sử dụng mẫu này nếu bạn không muốn xây dựng giao diện lối vào đầy đủ.
Điều kiện tiên quyết
Bạn nên có các điều kiện tiên quyết sau:
- Đã triển khai điểm cuối mô hình SageMaker JumpStart – Triển khai các mô hình tới các điểm cuối thời gian thực của SageMaker bằng cách sử dụng SageMaker JumpStart, như đã nêu trước đó
- Thông số triển khai - Ghi lại các nội dung sau:
- Tên điểm cuối của mô hình văn bản – Tên điểm cuối của mô hình tạo văn bản được triển khai với SageMaker JumpStart
- Tên điểm cuối của mô hình nhúng – Tên điểm cuối của mô hình nhúng được triển khai với SageMaker JumpStart
Triển khai tài nguyên bằng AWS CDK
Sử dụng các tham số triển khai được ghi chú trong phần trước để triển khai ngăn xếp AWS CDK. Để biết thêm thông tin về cài đặt AWS CDK, hãy tham khảo Bắt đầu với AWS CDK.
Đảm bảo rằng Docker được cài đặt và chạy trên máy trạm sẽ được sử dụng để triển khai AWS CDK. tham khảo Tải Docker để được hướng dẫn thêm.
Ngoài ra, bạn có thể nhập các giá trị ngữ cảnh vào một tệp có tên cdk.context.json
trong pattern1-rag/cdk
thư mục và chạy cdk deploy BackendStack --exclusively
.
Quá trình triển khai sẽ in ra kết quả đầu ra, một số kết quả sẽ cần thiết để chạy sổ ghi chép. Trước khi bạn có thể bắt đầu hỏi và trả lời, hãy nhúng các tài liệu tham khảo vào, như được trình bày trong phần tiếp theo.
Nhúng tài liệu tham khảo
Đối với phương pháp RAG này, trước tiên các tài liệu tham khảo được nhúng bằng mô hình nhúng văn bản và được lưu trữ trong cơ sở dữ liệu vectơ. Trong giải pháp này, một đường dẫn nhập đã được xây dựng để tiếp nhận các tài liệu PDF.
An Đám mây điện toán đàn hồi Amazon Phiên bản (Amazon EC2) đã được tạo để nhập tài liệu PDF và Hệ thống tệp đàn hồi Amazon (Amazon EFS) hệ thống tệp được gắn vào phiên bản EC2 để lưu tài liệu PDF. MỘT Đồng bộ dữ liệu AWS tác vụ được chạy mỗi giờ để tìm nạp các tài liệu PDF được tìm thấy trong đường dẫn hệ thống tệp EFS và tải chúng lên bộ chứa S3 để bắt đầu quá trình nhúng văn bản. Quá trình này nhúng các tài liệu tham khảo và lưu các phần nhúng vào Dịch vụ OpenSearch. Nó cũng lưu kho lưu trữ nhúng vào bộ chứa S3 thông qua Kinesis Data Firehose để phân tích sau này.
Để nhập tài liệu tham khảo, hãy hoàn thành các bước sau:
- Truy xuất ID phiên bản EC2 mẫu đã được tạo (xem đầu ra AWS CDK
JumpHostId
) và kết nối bằng cách sử dụng Quản lý phiên, một khả năng của Người quản lý hệ thống AWS. Để được hướng dẫn, hãy tham khảo Kết nối với phiên bản Linux của bạn bằng Trình quản lý phiên của Trình quản lý hệ thống AWS. - Đi tới thư mục
/mnt/efs/fs1
, đây là nơi hệ thống tệp EFS được gắn kết và tạo một thư mục có têningest
: - Thêm tài liệu PDF tham khảo của bạn vào
ingest
thư mục.
Tác vụ DataSync được cấu hình để tải tất cả các tệp tìm thấy trong thư mục này lên Amazon S3 để bắt đầu quá trình nhúng.
Tác vụ DataSync chạy theo lịch trình hàng giờ; bạn có thể tùy ý bắt đầu tác vụ theo cách thủ công để bắt đầu quá trình nhúng ngay lập tức cho các tài liệu PDF bạn đã thêm.
- Để bắt đầu tác vụ, hãy tìm ID tác vụ từ đầu ra AWS CDK
DataSyncTaskID
và bắt đầu nhiệm vụ với các giá trị mặc định.
Sau khi tạo phần nhúng, bạn có thể bắt đầu câu hỏi RAG và trả lời thông qua sổ ghi chép Jupyter, như minh họa trong phần tiếp theo.
Hỏi và trả lời bằng sổ ghi chép Jupyter
Hoàn thành các bước sau:
- Truy xuất tên phiên bản sổ ghi chép SageMaker từ đầu ra AWS CDK
NotebookInstanceName
và kết nối với JupyterLab từ bảng điều khiển SageMaker. - Đi tới thư mục
fmops/full-stack/pattern1-rag/notebooks/
. - Mở và chạy sổ ghi chép
query-llm.ipynb
trong phiên bản sổ ghi chép để thực hiện câu hỏi và trả lời bằng RAG.
Đảm bảo sử dụng conda_python3
hạt nhân cho máy tính xách tay.
Mẫu này rất hữu ích để khám phá giải pháp phụ trợ mà không cần cung cấp thêm các điều kiện tiên quyết cần thiết cho ứng dụng toàn ngăn xếp. Phần tiếp theo đề cập đến việc triển khai một ứng dụng đầy đủ, bao gồm cả thành phần giao diện người dùng và phụ trợ, để cung cấp giao diện người dùng để tương tác với ứng dụng AI tổng quát của bạn.
Tùy chọn 2: Triển khai ứng dụng mẫu toàn ngăn xếp với giao diện Streamlit
Mẫu này cho phép bạn triển khai giải pháp với giao diện người dùng cho câu hỏi và trả lời.
Điều kiện tiên quyết
Để triển khai ứng dụng mẫu, bạn phải có các điều kiện tiên quyết sau:
- Đã triển khai điểm cuối mô hình SageMaker JumpStart – Triển khai các mô hình tới điểm cuối thời gian thực SageMaker của bạn bằng cách sử dụng SageMaker JumpStart, như đã nêu trong phần trước, bằng cách sử dụng sổ ghi chép được cung cấp.
- Vùng lưu trữ Amazon Route 53 - Tạo ra một Amazon Route 53 vùng lưu trữ công cộng để sử dụng cho giải pháp này. Bạn cũng có thể sử dụng vùng lưu trữ công khai của Tuyến 53 hiện có, chẳng hạn như
example.com
. - Chứng chỉ Trình quản lý chứng chỉ AWS – Cung cấp một Trình quản lý chứng chỉ AWS (ACM) Chứng chỉ TLS cho tên miền vùng được lưu trữ trên Tuyến 53 và các tên miền phụ hiện hành của nó, chẳng hạn như
example.com
và*.example.com
cho tất cả các tên miền phụ. Để biết hướng dẫn, hãy tham khảo Yêu cầu chứng chỉ công cộng. Chứng chỉ này được sử dụng để định cấu hình HTTPS trên Amazon CloudFront và bộ cân bằng tải gốc. - Thông số triển khai - Ghi lại các nội dung sau:
- Tên miền tùy chỉnh của ứng dụng Frontend – Một tên miền tùy chỉnh được sử dụng để truy cập ứng dụng mẫu giao diện người dùng. Tên miền được cung cấp được sử dụng để tạo bản ghi DNS Route 53 trỏ đến bản phân phối CloudFront giao diện người dùng; Ví dụ,
app.example.com
. - Tên miền tùy chỉnh gốc cân bằng tải – Một tên miền tùy chỉnh được sử dụng cho nguồn gốc của bộ cân bằng tải phân phối CloudFront. Tên miền được cung cấp được sử dụng để tạo bản ghi DNS Tuyến 53 trỏ đến bộ cân bằng tải gốc; Ví dụ,
app-lb.example.com
. - ID vùng được lưu trữ trên tuyến 53 – ID vùng được lưu trữ trên Tuyến 53 để lưu trữ các tên miền tùy chỉnh được cung cấp; Ví dụ,
ZXXXXXXXXYYYYYYYYY
. - Tên vùng được lưu trữ trên tuyến 53 – Tên của vùng lưu trữ Tuyến 53 để lưu trữ các tên miền tùy chỉnh được cung cấp; Ví dụ,
example.com
. - Chứng chỉ ACM ARN – ARN của chứng chỉ ACM sẽ được sử dụng với miền tùy chỉnh được cung cấp.
- Tên điểm cuối của mô hình văn bản – Tên điểm cuối của mô hình tạo văn bản được triển khai với SageMaker JumpStart.
- Tên điểm cuối của mô hình nhúng – Tên điểm cuối của mô hình nhúng được triển khai bằng SageMaker JumpStart.
- Tên miền tùy chỉnh của ứng dụng Frontend – Một tên miền tùy chỉnh được sử dụng để truy cập ứng dụng mẫu giao diện người dùng. Tên miền được cung cấp được sử dụng để tạo bản ghi DNS Route 53 trỏ đến bản phân phối CloudFront giao diện người dùng; Ví dụ,
Triển khai tài nguyên bằng AWS CDK
Sử dụng các tham số triển khai mà bạn đã lưu ý trong điều kiện tiên quyết để triển khai ngăn xếp AWS CDK. Để biết thêm thông tin, hãy tham khảo Bắt đầu với AWS CDK.
Đảm bảo Docker được cài đặt và chạy trên máy trạm sẽ được sử dụng để triển khai AWS CDK.
Trong mã trước, -c đại diện cho một giá trị ngữ cảnh, dưới dạng các điều kiện tiên quyết bắt buộc, được cung cấp khi nhập dữ liệu. Ngoài ra, bạn có thể nhập các giá trị ngữ cảnh vào một tệp có tên cdk.context.json
trong pattern1-rag/cdk
thư mục và chạy cdk deploy --all
.
Lưu ý rằng chúng tôi chỉ định Vùng trong tệp bin/cdk.ts
. Việc định cấu hình nhật ký truy cập ALB yêu cầu một Khu vực được chỉ định. Bạn có thể thay đổi Vùng này trước khi triển khai.
Quá trình triển khai sẽ in ra URL để truy cập ứng dụng Streamlit. Trước khi có thể bắt đầu hỏi và trả lời, bạn cần nhúng các tài liệu tham khảo, như được trình bày trong phần tiếp theo.
Nhúng tài liệu tham khảo
Đối với phương pháp RAG, tài liệu tham khảo trước tiên được nhúng bằng mô hình nhúng văn bản và được lưu trữ trong cơ sở dữ liệu vectơ. Trong giải pháp này, một đường dẫn nhập đã được xây dựng để tiếp nhận các tài liệu PDF.
Như chúng ta đã thảo luận trong tùy chọn triển khai đầu tiên, một phiên bản EC2 mẫu đã được tạo để nhập tài liệu PDF và hệ thống tệp EFS được gắn trên phiên bản EC2 để lưu tài liệu PDF. Tác vụ DataSync được chạy mỗi giờ để tìm nạp các tài liệu PDF được tìm thấy trong đường dẫn hệ thống tệp EFS và tải chúng lên bộ chứa S3 để bắt đầu quá trình nhúng văn bản. Quá trình này nhúng các tài liệu tham khảo và lưu các phần nhúng vào Dịch vụ OpenSearch. Nó cũng lưu kho lưu trữ nhúng vào bộ chứa S3 thông qua Kinesis Data Firehose để phân tích sau này.
Để nhập tài liệu tham khảo, hãy hoàn thành các bước sau:
- Truy xuất ID phiên bản EC2 mẫu đã được tạo (xem đầu ra AWS CDK
JumpHostId
) và kết nối bằng Trình quản lý phiên. - Đi tới thư mục
/mnt/efs/fs1
, đây là nơi hệ thống tệp EFS được gắn kết và tạo một thư mục có têningest
: - Thêm tài liệu PDF tham khảo của bạn vào
ingest
thư mục.
Tác vụ DataSync được cấu hình để tải tất cả các tệp tìm thấy trong thư mục này lên Amazon S3 để bắt đầu quá trình nhúng.
Tác vụ DataSync chạy theo lịch trình hàng giờ. Bạn có thể tùy ý bắt đầu tác vụ theo cách thủ công để bắt đầu quá trình nhúng ngay lập tức cho các tài liệu PDF bạn đã thêm.
- Để bắt đầu tác vụ, hãy tìm ID tác vụ từ đầu ra AWS CDK
DataSyncTaskID
và bắt đầu nhiệm vụ với các giá trị mặc định.
Câu hỏi và trả lời
Sau khi các tài liệu tham khảo đã được nhúng, bạn có thể bắt đầu câu hỏi và trả lời RAG bằng cách truy cập URL để truy cập ứng dụng Streamlit. MỘT Nhận thức về Amazon Lớp xác thực được sử dụng nên yêu cầu tạo tài khoản người dùng trong nhóm người dùng Amazon Cognito được triển khai thông qua AWS CDK (xem đầu ra AWS CDK để biết tên nhóm người dùng) để truy cập ứng dụng lần đầu. Để biết hướng dẫn về cách tạo người dùng Amazon Cognito, hãy tham khảo Tạo người dùng mới trong Bảng điều khiển quản lý AWS.
Nhúng phân tích trôi dạt
Trong phần này, chúng tôi chỉ cho bạn cách thực hiện phân tích độ lệch bằng cách trước tiên tạo đường cơ sở của các phần nhúng dữ liệu tham chiếu và các phần nhúng nhắc nhở, sau đó tạo ảnh chụp nhanh về các phần nhúng theo thời gian. Điều này cho phép bạn so sánh các phần nhúng cơ sở với các phần nhúng ảnh chụp nhanh.
Tạo đường cơ sở nhúng cho dữ liệu tham chiếu và lời nhắc
Để tạo đường cơ sở nhúng của dữ liệu tham chiếu, hãy mở bảng điều khiển AWS Glue và chọn tác vụ ETL embedding-drift-analysis
. Đặt tham số cho công việc ETL như sau và chạy công việc:
- Thiết lập
--job_type
đếnBASELINE
. - Thiết lập
--out_table
đến Máy phát điện Amazon bảng để tham khảo dữ liệu nhúng. (Xem đầu ra AWS CDKDriftTableReference
cho tên bảng.) - Thiết lập
--centroid_table
vào bảng DynamoDB để tham chiếu dữ liệu trung tâm. (Xem đầu ra AWS CDKCentroidTableReference
cho tên bảng.) - Thiết lập
--data_path
vào nhóm S3 có tiền tố; Ví dụ,s3://
/embeddingarchive/
. (Xem đầu ra AWS CDKBucketName
cho tên nhóm.)
Tương tự, sử dụng công việc ETL embedding-drift-analysis
, tạo đường cơ sở nhúng của lời nhắc. Đặt tham số cho công việc ETL như sau và chạy công việc:
- Thiết lập
--job_type
đếnBASELINE
- Thiết lập
--out_table
vào bảng DynamoDB để nhanh chóng nhúng dữ liệu. (Xem đầu ra AWS CDKDriftTablePromptsName
cho tên bảng.) - Thiết lập
--centroid_table
vào bảng DynamoDB để có dữ liệu trung tâm nhanh chóng. (Xem đầu ra AWS CDKCentroidTablePrompts
cho tên bảng.) - Thiết lập
--data_path
vào nhóm S3 có tiền tố; Ví dụ,s3://
/promptarchive/
. (Xem đầu ra AWS CDKBucketName
cho tên nhóm.)
Tạo ảnh chụp nhanh nhúng cho dữ liệu tham chiếu và lời nhắc
Sau khi bạn nhập thông tin bổ sung vào Dịch vụ OpenSearch, hãy chạy công việc ETL embedding-drift-analysis
một lần nữa để chụp nhanh các phần nhúng dữ liệu tham chiếu. Các tham số sẽ giống như công việc ETL mà bạn đã chạy để tạo đường cơ sở nhúng của dữ liệu tham chiếu như được hiển thị trong phần trước, ngoại trừ việc đặt --job_type
tham số để SNAPSHOT
.
Tương tự, để chụp nhanh các phần nhúng nhắc nhở, hãy chạy công việc ETL embedding-drift-analysis
lại. Các tham số sẽ giống như công việc ETL mà bạn đã chạy để tạo đường cơ sở nhúng cho các lời nhắc như được hiển thị trong phần trước, ngoại trừ việc đặt --job_type
tham số để SNAPSHOT
.
So sánh đường cơ sở với ảnh chụp nhanh
Để so sánh đường cơ sở nhúng và ảnh chụp nhanh để có dữ liệu tham khảo và lời nhắc, hãy sử dụng sổ ghi chép được cung cấp pattern1-rag/notebooks/drift-analysis.ipynb
.
Để xem so sánh nhúng cho dữ liệu tham chiếu hoặc lời nhắc, hãy thay đổi các biến tên bảng DynamoDB (tbl
và c_tbl
) trong sổ ghi chép vào bảng DynamoDB thích hợp cho mỗi lần chạy sổ ghi chép.
Biến sổ ghi chép tbl
nên được thay đổi thành tên bảng trôi thích hợp. Sau đây là ví dụ về vị trí đặt cấu hình biến trong sổ ghi chép.
Tên bảng có thể được lấy như sau:
- Đối với dữ liệu nhúng tham chiếu, hãy truy xuất tên bảng trôi dạt từ đầu ra AWS CDK
DriftTableReference
- Để nhắc nhở nhúng dữ liệu, hãy truy xuất tên bảng trôi dạt từ đầu ra AWS CDK
DriftTablePromptsName
Ngoài ra, biến sổ ghi chép c_tbl
nên được thay đổi thành tên bảng centroid thích hợp. Sau đây là ví dụ về vị trí đặt cấu hình biến trong sổ ghi chép.
Tên bảng có thể được lấy như sau:
- Đối với dữ liệu nhúng tham chiếu, hãy truy xuất tên bảng centroid từ đầu ra AWS CDK
CentroidTableReference
- Để nhắc nhở nhúng dữ liệu, hãy truy xuất tên bảng centroid từ đầu ra AWS CDK
CentroidTablePrompts
Phân tích khoảng cách nhanh chóng từ dữ liệu tham chiếu
Đầu tiên, chạy tác vụ AWS Glue embedding-distance-analysis
. Công việc này sẽ tìm ra cụm nào, từ đánh giá K-Means của các phần nhúng dữ liệu tham chiếu, mà mỗi lời nhắc thuộc về. Sau đó, nó tính toán giá trị trung bình, trung vị và độ lệch chuẩn của khoảng cách từ mỗi dấu nhắc đến tâm của cụm tương ứng.
Bạn có thể chạy sổ ghi chép pattern1-rag/notebooks/distance-analysis.ipynb
để xem xu hướng của số liệu khoảng cách theo thời gian. Điều này sẽ giúp bạn hiểu được xu hướng chung trong việc phân bổ khoảng cách nhúng nhanh.
Cuốn tập pattern1-rag/notebooks/prompt-distance-outliers.ipynb
là sổ ghi chép AWS Glue tìm kiếm các ngoại lệ, có thể giúp bạn xác định liệu bạn có nhận được thêm lời nhắc không liên quan đến dữ liệu tham chiếu hay không.
Theo dõi điểm tương đồng
Tất cả các điểm tương đồng từ Dịch vụ OpenSearch đều được đăng nhập amazoncloudwatch theo rag
không gian tên. bảng điều khiển RAG_Scores
hiển thị điểm trung bình và tổng số điểm được nhập.
Làm sạch
Để tránh phát sinh phí trong tương lai, hãy xóa tất cả tài nguyên bạn đã tạo.
Xóa các mô hình SageMaker đã triển khai
Tham khảo phần dọn dẹp của cung cấp sổ ghi chép ví dụ để xóa các mô hình SageMaker JumpStart đã triển khai hoặc bạn có thể xóa các mô hình trên bảng điều khiển SageMaker.
Xóa tài nguyên CDK AWS
Nếu bạn nhập các tham số của mình vào một cdk.context.json
tập tin, dọn dẹp như sau:
Nếu bạn đã nhập tham số của mình trên dòng lệnh và chỉ triển khai ứng dụng phụ trợ (ngăn xếp AWS CDK phụ trợ), hãy dọn dẹp như sau:
Nếu bạn đã nhập các tham số của mình trên dòng lệnh và triển khai giải pháp đầy đủ (ngăn xếp AWS CDK giao diện người dùng và phụ trợ), hãy dọn dẹp như sau:
Kết luận
Trong bài đăng này, chúng tôi đã cung cấp một ví dụ hoạt động về một ứng dụng ghi lại các vectơ nhúng cho cả dữ liệu tham chiếu và lời nhắc trong mẫu RAG cho AI tổng hợp. Chúng tôi đã chỉ ra cách thực hiện phân tích phân cụm để xác định xem dữ liệu tham chiếu hoặc dữ liệu nhắc nhở có bị trôi theo thời gian hay không và dữ liệu tham chiếu bao gồm các loại câu hỏi mà người dùng đang hỏi tốt đến mức nào. Nếu bạn phát hiện ra sự trôi dạt, nó có thể cung cấp tín hiệu cho thấy môi trường đã thay đổi và mô hình của bạn đang nhận được các đầu vào mới mà mô hình có thể không được tối ưu hóa để xử lý. Điều này cho phép đánh giá chủ động mô hình hiện tại trước những thay đổi đầu vào.
Về các tác giả
Abdullahi Olaoye là Kiến trúc sư giải pháp cấp cao tại Amazon Web Services (AWS). Abdullahi có bằng Thạc sĩ về Mạng Máy tính của Đại học Bang Wichita và là tác giả đã xuất bản sách, đảm nhiệm các vai trò trong nhiều lĩnh vực công nghệ khác nhau như DevOps, hiện đại hóa cơ sở hạ tầng và AI. Anh hiện đang tập trung vào Generative AI và đóng vai trò quan trọng trong việc hỗ trợ các doanh nghiệp kiến trúc và xây dựng các giải pháp tiên tiến được hỗ trợ bởi Generative AI. Ngoài lĩnh vực công nghệ, anh tìm thấy niềm vui trong nghệ thuật khám phá. Khi không tạo ra các giải pháp AI, anh ấy thích đi du lịch cùng gia đình để khám phá những địa điểm mới.
Randy DeFauw là Kiến trúc sư giải pháp chính cấp cao tại AWS. Anh ấy có bằng MSEE của Đại học Michigan, nơi anh ấy làm việc về thị giác máy tính cho xe tự hành. Ông cũng có bằng MBA của Đại học Bang Colorado. Randy đã đảm nhiệm nhiều vị trí khác nhau trong lĩnh vực công nghệ, từ kỹ thuật phần mềm đến quản lý sản phẩm. Trong không gian Dữ liệu lớn vào năm 2013 và tiếp tục khám phá lĩnh vực đó. Anh ấy đang tích cực làm việc với các dự án trong không gian ML và đã trình bày tại nhiều hội nghị bao gồm Strata và GlueCon.
Shelbee Eigenbrode là Kiến trúc sư chính về giải pháp chuyên gia về AI và học máy tại Amazon Web Services (AWS). Cô đã làm việc trong lĩnh vực công nghệ được 24 năm với nhiều lĩnh vực, công nghệ và vai trò khác nhau. Cô ấy hiện đang tập trung vào việc kết hợp nền tảng DevOps và ML của mình vào lĩnh vực MLOps để giúp khách hàng phân phối và quản lý khối lượng công việc ML trên quy mô lớn. Với hơn 35 bằng sáng chế được cấp trên các lĩnh vực công nghệ khác nhau, cô ấy có niềm đam mê đổi mới liên tục và sử dụng dữ liệu để thúc đẩy kết quả kinh doanh. Shelbee là người đồng sáng tạo và là người hướng dẫn chuyên môn Khoa học Dữ liệu Thực tế trên Coursera. Cô cũng là Đồng Giám đốc phụ nữ trong dữ liệu lớn (WiBD), chương Denver. Khi rảnh rỗi, cô ấy thích dành thời gian cho gia đình, bạn bè và những chú chó hiếu động của mình.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/monitor-embedding-drift-for-llms-deployed-from-amazon-sagemaker-jumpstart/
- : có
- :là
- :không phải
- :Ở đâu
- $ LÊN
- 1
- 10
- 100
- 2013
- 24
- 35%
- 39
- 7
- 9
- 95%
- a
- Có khả năng
- Giới thiệu
- Tuyệt đối
- truy cập
- Tài khoản
- ACM
- ngang qua
- tích cực
- thêm
- Ngoài ra
- thêm vào
- thông tin bổ sung
- Ngoài ra
- một lần nữa
- chống lại
- tổng hợp
- AI
- Căn chỉnh
- Tất cả
- Cho phép
- cho phép
- Ngoài ra
- Mặc dù
- đàn bà gan dạ
- Nhận thức về Amazon
- Amazon EC2
- Amazon SageMaker
- Khởi động Amazon SageMaker
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- phân tích
- phân tích
- phân tích
- và
- trả lời
- trả lời
- bất cứ điều gì
- áp dụng
- Các Ứng Dụng
- phương pháp tiếp cận
- thích hợp
- kiến trúc
- lưu trữ
- LÀ
- KHU VỰC
- khu vực
- Nghệ thuật
- bài viết
- AS
- xin
- yêu cầu
- trợ giúp
- đảm đương
- At
- tăng
- tăng cường
- Xác thực
- tác giả
- tự động
- tự trị
- xe tự trị
- có sẵn
- Trung bình cộng
- tránh
- xa
- AWS
- Keo AWS
- Backend
- lý lịch
- cân bằng
- dựa
- Baseline
- BE
- bởi vì
- được
- trước
- được
- thuộc
- Hơn
- giữa
- Ngoài
- lớn
- Dữ Liệu Lớn.
- cơ quan
- cả hai
- rộng rãi
- xây dựng
- xây dựng
- kinh doanh
- by
- tính toán
- tính toán
- cuộc gọi
- gọi là
- CAN
- khả năng
- nắm bắt
- bị bắt
- chụp
- Chụp
- trường hợp
- CD
- Trung tâm
- Trung tâm
- Giấy chứng nhận
- thay đổi
- thay đổi
- Những thay đổi
- thay đổi
- Chương
- tải
- Chip
- Sô cô la
- Chọn
- giống cá lăng
- Đóng
- gần gũi hơn
- đám mây
- cụm
- tập hợp
- mã
- Colorado
- kết hợp
- kết hợp
- kết hợp
- đến
- nhỏ gọn
- so sánh
- so
- sự so sánh
- hoàn thành
- thành phần
- các thành phần
- Tính
- máy tính
- Tầm nhìn máy tính
- khái niệm
- hội nghị
- cấu hình
- cấu hình
- Kết nối
- sự cân nhắc
- An ủi
- Container
- nội dung
- bối cảnh
- liên tiếp
- liên tục
- chuyển đổi
- bánh quy
- Trung tâm
- Tương ứng
- bảo hiểm
- phủ
- bao gồm
- Covers
- tạo
- tạo ra
- tạo ra
- Tạo
- Current
- Hiện nay
- khách hàng
- khách hàng
- tiên tiến
- bảng điều khiển
- dữ liệu
- các trung tâm dữ liệu
- xử lý dữ liệu
- khoa học dữ liệu
- Cơ sở dữ liệu
- mặc định
- xác định
- cung cấp
- Denver
- triển khai
- triển khai
- triển khai
- triển khai
- triển khai
- Nguồn gốc
- phá hủy
- chi tiết
- phát hiện
- Phát hiện
- Xác định
- Phát triển
- sai lệch
- sơ đồ
- khác nhau
- khó khăn
- kích thước
- kích thước
- thảo luận
- phân tán
- khoảng cách
- xa xôi
- phân phối
- dns
- do
- phu bến tàu
- tài liệu
- tài liệu
- miền
- Tên miền
- TÊN MIỀN
- lĩnh vực
- dont
- xuống
- lái xe
- mỗi
- nhúng
- nhúng
- nhúng
- cuối
- Cuối cùng đến cuối
- Điểm cuối
- Kỹ Sư
- đăng ký hạng mục thi
- vào
- doanh nghiệp
- Môi trường
- đánh giá
- đánh giá
- Mỗi
- ví dụ
- ví dụ
- ngoại lệ
- hiện tại
- thử nghiệm
- Giải thích
- thăm dò
- khám phá
- Khám phá
- ngoài
- trích xuất
- Chất chiết xuất
- gia đình
- xa
- Hình
- Tập tin
- Các tập tin
- cuối cùng
- Cuối cùng
- Tìm kiếm
- tìm thấy
- Tên
- nổi
- dòng chảy
- tập trung
- tập trung
- tiếp theo
- sau
- Trong
- hình thức
- tìm thấy
- Nền tảng
- bạn bè
- từ
- lối vào
- Full
- tương lai
- thu thập
- Tổng Quát
- tạo ra
- thế hệ
- thế hệ
- Trí tuệ nhân tạo
- được
- nhận được
- Cho
- Go
- đi
- cấp
- Nhóm
- hướng dẫn
- xử lý
- Có
- he
- Được tổ chức
- giúp đỡ
- cô
- cao hơn
- của mình
- giữ
- chủ nhà
- tổ chức
- giờ
- Độ đáng tin của
- Hướng dẫn
- Tuy nhiên
- HTML
- http
- HTTPS
- Hub
- ID
- xác định
- if
- minh họa
- ngay
- thực hiện
- thực hiện
- quan trọng
- in
- bao gồm
- bao gồm
- Bao gồm
- Incoming
- chỉ
- các ngành công nghiệp
- quán tính
- thông tin
- Cơ sở hạ tầng
- ban đầu
- sự đổi mới
- đầu vào
- đầu vào
- cái nhìn sâu sắc
- cài đặt
- cài đặt
- ví dụ
- hướng dẫn
- tương tác
- tương tác
- tương tác
- quan tâm
- Giao thức
- trong
- IT
- ITS
- Việc làm
- việc làm
- niềm vui
- jpg
- chỉ
- Key
- Vòi cứu hỏa dữ liệu Kinesis
- kiến thức
- Ngôn ngữ
- lớn
- một lát sau
- mới nhất
- lớp
- LEARN
- học tập
- cho phép
- Thư viện
- Lượt thích
- Dòng
- linux
- LLM
- tải
- địa điểm thư viện nào
- đăng nhập
- Xem
- NHÌN
- thấp hơn
- máy
- học máy
- làm cho
- quản lý
- quản lý
- giám đốc
- thủ công
- Có thể..
- nghĩa là
- có nghĩa
- đo
- các biện pháp
- Metrics
- Michigan
- Might
- ML
- MLOps
- kiểu mẫu
- mô hình
- Màn Hình
- chi tiết
- hầu hết
- di chuyển
- nhiều
- phải
- tên
- tên
- Tự nhiên
- Xử lý ngôn ngữ tự nhiên
- Cần
- cần thiết
- cần
- mạng lưới
- Mới
- mới hơn
- tiếp theo
- nlp
- máy tính xách tay
- lưu ý
- con số
- số
- nhiều
- of
- thường
- on
- có thể
- mở
- tối ưu hóa
- Tùy chọn
- or
- dàn nhạc
- gọi món
- nguồn gốc
- Nền tảng khác
- vfoXNUMXfipXNUMXhfpiXNUMXufhpiXNUMXuf
- ra
- kết quả
- nêu
- đầu ra
- kết quả đầu ra
- kết thúc
- tổng thể
- trùng lặp
- riêng
- tham số
- thông số
- riêng
- niềm đam mê
- Bằng sáng chế
- con đường
- Họa tiết
- mô hình
- Thực hiện
- biểu diễn
- miếng
- đường ống dẫn
- Nơi
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- đóng
- Điểm
- điểm
- hồ bơi
- vị trí
- có thể
- Bài đăng
- tiềm năng
- -
- Thực tế
- trước
- điều kiện tiên quyết
- trình bày
- bảo quản
- trước
- trước đây
- Hiệu trưởng
- In
- Chủ động
- quá trình
- xử lý
- Sản phẩm
- quản lý sản phẩm
- dự án
- nhắc nhở
- tỷ lệ
- cho
- cung cấp
- cung cấp
- cung cấp
- công khai
- công bố
- Kéo
- câu hỏi
- Câu hỏi
- giẻ lau
- các dãy
- khác nhau,
- sẵn sàng
- thời gian thực
- vương quốc
- công thức
- ghi
- giảm
- giảm
- xem
- tài liệu tham khảo
- khu
- liên quan
- tương đối
- có liên quan
- đại diện
- đại diện
- đại diện cho
- cần phải
- đòi hỏi
- Thông tin
- phản ứng
- Kết quả
- thu hồi
- Vai trò
- vai trò
- Route
- chạy
- chạy
- chạy
- nhà làm hiền triết
- tương tự
- Lưu
- Quy mô
- lịch trình
- Khoa học
- Điểm số
- Tìm kiếm
- tìm kiếm
- Thứ hai
- Phần
- phần
- xem
- đã xem
- chọn
- ngữ nghĩa
- cao cấp
- ý nghĩa
- gởi
- riêng biệt
- dịch vụ
- DỊCH VỤ
- Phiên
- định
- thiết lập
- một số
- chị ấy
- nên
- hiển thị
- cho thấy
- thể hiện
- Chương trình
- Tín hiệu
- tín hiệu
- tương tự
- Đơn giản
- đơn giản hóa
- Kích thước máy
- Ảnh chụp
- So
- Phần mềm
- kỹ thuật phần mềm
- giải pháp
- Giải pháp
- một số
- nguồn
- nguồn
- Không gian
- Vôn
- chuyên gia
- quy định
- tiêu
- Bình phương
- ngăn xếp
- Stacks
- Tiêu chuẩn
- Bắt đầu
- bắt đầu
- Bắt đầu
- Tiểu bang
- số liệu thống kê
- Các bước
- là gắn
- hàng
- lưu trữ
- thành công
- như vậy
- chắc chắn
- hệ thống
- hệ thống
- bàn
- Hãy
- Nhiệm vụ
- kỹ thuật
- Công nghệ
- Công nghệ
- văn bản
- việc này
- Sản phẩm
- thông tin
- Nguồn
- cung cấp their dịch
- Them
- sau đó
- Đó
- Kia là
- điều này
- những
- số ba
- Thông qua
- thời gian
- đến
- bên nhau
- Chủ đề
- Tổng số:
- Chuyển đổi
- Đi du lịch
- khuynh hướng
- Xu hướng
- thử
- hai
- loại
- Dưới
- trường đại học
- URL
- us
- sử dụng
- đã sử dụng
- hữu ích
- người sử dang
- Giao diện người dùng
- Người sử dụng
- sử dụng
- xác nhận
- giá trị
- Các giá trị
- biến
- nhiều
- khác nhau
- Xe cộ
- thông qua
- tầm nhìn
- trực quan
- hương
- muốn
- là
- Đường..
- we
- web
- các dịch vụ web
- TỐT
- khi nào
- liệu
- cái nào
- trong khi
- sẽ
- với
- ở trong
- không có
- Dành cho Nữ
- Công việc
- làm việc
- đang làm việc
- máy trạm
- tệ hơn
- sẽ
- năm
- nhưng
- Bạn
- trên màn hình
- zephyrnet
- khu vực