24 điểm bởi xguru 2024-12-03 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Để đảm bảo đầu ra chính xác và phù hợp từ LLM, việc thiết kế prompt tinh vi là điều thiết yếu
  • Thiết kế prompt cho phép cả những người dùng không quen với machine learning cũng có thể kiểm soát đầu ra của mô hình với mức overhead tối thiểu
  • Uber đã phát triển một bộ công cụ tập trung để có thể lặp thử nghiệm với LLM một cách nhanh chóng
    • Tạo và quản lý prompt template
    • Tận dụng RAG và các dataset tại thời điểm chạy
  • Tính năng:
    • Hỗ trợ system instruction, ngữ cảnh hóa động, tạo hàng loạt offline (suy luận LLM), đánh giá phản hồi
    • Quản lý phiên bản, cộng tác, kiểm tra an toàn (kiểm tra hallucination, framework đánh giá chuẩn, bao gồm cả chính sách an toàn)

Vòng đời Prompt Engineering

Vòng đời prompt engineering gồm hai giai đoạn:

  • Giai đoạn phát triển: gồm 3 bước là khám phá LLM, lặp prompt template và đánh giá
    • Bước khám phá LLM: khám phá các LLM khả dụng thông qua model catalog và GenAI Playground, đồng thời kiểm thử phản hồi của LLM bằng prompt
    • Bước lặp prompt template: xác định yêu cầu kinh doanh cụ thể, thu thập dữ liệu mẫu, tạo/phân tích/kiểm thử prompt, đánh giá phản hồi và chỉnh sửa khi cần. Nhờ auto-prompting, không cần phải tạo prompt template từ đầu
    • Bước đánh giá: kiểm thử prompt template với dataset lớn hơn để đo hiệu năng. Có thể đánh giá bằng cách dùng LLM làm giám khảo hoặc dùng bộ đánh giá LLM tùy chỉnh dựa trên mã
  • Giai đoạn productionization: chỉ những prompt template vượt ngưỡng ở bước đánh giá mới được đưa vào production. Theo dõi/giám sát việc sử dụng trong môi trường production và thu thập dữ liệu sử dụng hệ thống để cải thiện quy trình

Kiến trúc

  • UI/SDK prompt template: quản lý prompt template và revision. Tích hợp với GetAPI và Execute API
  • Model catalog LLM: giao tiếp với các mô hình LLM đã triển khai
  • Mô hình và prompt được lưu trong ETCD và UCS, rồi được dùng trong pipeline tạo offline và pipeline đánh giá prompt template

Tạo prompt template

  • Prompt builder trong bộ công cụ prompt tự động tạo prompt cho người dùng
  • Giúp khám phá các kỹ thuật prompting nâng cao phù hợp với từng use case AI cụ thể
  • Auto prompt builder dùng framework Langfx nội bộ dựa trên LangChain thực hiện các bước sau
    • 1. Tích hợp các best practice về prompt engineering
    • 2. Cung cấp hướng dẫn chi tiết về danh sách template và một số ví dụ để hỗ trợ tạo prompt
    • 3. Tận dụng mô hình LLM để hỗ trợ tạo prompt
  • Hướng dẫn prompt nâng cao: prompt builder tạo prompt dựa trên các nguyên tắc dưới đây
    • Prompting CoT(Chain of Thought): cho phép năng lực suy luận phức tạp thông qua các bước suy luận trung gian
    • Auto-CoT: dùng cụm từ dẫn dắt "think step by step". Sử dụng prompt "Let's think step by step" với LLM để loại bỏ nỗ lực thủ công
    • Prompt chaining: có thể dùng cho các kịch bản bao gồm nhiều tác vụ hoặc phép biến đổi
    • ToT(Tree of Thought): khái quát hóa chain-of-thought prompting và khuyến khích khám phá ý tưởng, có thể dùng như các bước trung gian để giải quyết vấn đề tổng quát bằng mô hình ngôn ngữ
    • APE(Automatic Prompt Engineering): framework tự động hóa việc tạo và lựa chọn instruction
    • Prompting CoT đa phương thức: tích hợp văn bản và hình ảnh theo framework 2 giai đoạn. Giai đoạn 1 tạo lập cơ sở lý giải dựa trên thông tin đa phương thức, giai đoạn 2 suy luận câu trả lời bằng cách tận dụng cơ sở lý giải đã tạo
  • Quản lý revision
    • Việc lặp prompt template tuân theo các best practice lặp dựa trên mã
    • Người dùng có thể chỉnh sửa instruction và tham số mô hình để kiểm thử phản hồi và kiểm thử với dataset
    • Mỗi lần lặp của prompt template đều cần code review. Khi được phê duyệt và hợp nhất, một revision prompt template mới sẽ được tạo

Đánh giá prompt template

Để đánh giá hiệu năng của prompt template, nhiều thành phần phối hợp với nhau:

  • Hai cơ chế đánh giá
    • Dùng LLM làm bộ đánh giá. Hữu ích cho các tác vụ mà chất lượng chủ quan hoặc sắc thái ngôn ngữ là quan trọng
    • Dùng mã tùy chỉnh do người dùng định nghĩa để đánh giá hiệu năng. Hữu ích để đo các khía cạnh cụ thể của hiệu năng
  • Prompt template đánh giá: template thân thiện với người dùng, cung cấp instruction cho việc đánh giá, ví dụ ngắn, chỉ số, định dạng phản hồi, v.v.
  • Prompt template thực tế: template được dùng trong production. Được hydrate tại runtime và dùng để đánh giá hiệu năng
  • Tùy chọn dataset đầu vào: golden dataset đã gắn nhãn hoặc dataset phát sinh từ traffic production
  • Mỗi template được đánh giá có xét đến instruction cụ thể, ngữ cảnh, mô hình liên quan và các tham số

Các use case tại Uber

Dịch vụ LLM offline

Pipeline tạo offline theo lô cho LLM giúp thực hiện batch inference để tạo phản hồi LLM ở quy mô lớn:

  • Có thể áp dụng cho use case xác minh username của người dùng tiêu dùng
  • Trong MA Studio, chỉ cần chọn và nhập dataset liên quan
  • Prompt template được hydrate động bằng dataset

Dịch vụ LLM online

Prompt template bao gồm các placeholder động cần được thay bằng giá trị cụ thể tại runtime:

  • Hiện chỉ hỗ trợ thay thế kiểu chuỗi bằng cú pháp template dựa trên Jinja
  • Hỗ trợ khả năng fan-out giữa prompt, template và mô hình
    • Template: API template bao gồm chức năng định dạng payload do mô hình dữ liệu chung cung cấp thành cấu trúc API riêng theo từng nhà cung cấp
    • Prompt và mô hình: prompt được gắn với một mô hình và template cụ thể. Dịch vụ sẽ lấy prompt và thực thi bằng cách gọi genAI API với các tham số mô hình và template cần thiết

Khám phá các tính năng trên qua use case tóm tắt:

  • Trong kịch bản một ticket hỗ trợ (contact) có thể được nhiều tư vấn viên xử lý, tư vấn viên mới phải xem lại ticket để hiểu ngữ cảnh hoặc yêu cầu khách hàng giải thích lại vấn đề
  • Điều này được giải quyết bằng cách cung cấp bản tóm tắt khi bàn giao giữa các tư vấn viên

Giám sát

Giám sát đo lường hiệu năng của các prompt template production đang được sử dụng trong production:

  • Pipeline giám sát hiệu năng hằng ngày thực hiện đánh giá hiệu năng trên traffic production
  • Giám sát các chỉ số theo từng revision production của prompt template như độ trễ, accuracy, độ chính xác
  • Dashboard MES được làm mới hằng ngày bằng các chỉ số giám sát hiệu năng

Kết luận

Bộ công cụ prompt engineering của Uber là một framework toàn diện nhằm nâng cao cách tương tác và khai thác LLM ở nhiều giai đoạn khác nhau trong phát triển và production:

  • Hỗ trợ từ bước khám phá ban đầu các khả năng của LLM trong Gen AI Playground cho tới lặp và tạo prompt template chi tiết
  • Kiến trúc của bộ công cụ cung cấp cách tiếp cận có hệ thống cho thiết kế prompt, tích hợp các kỹ thuật hướng dẫn nâng cao và phương pháp đánh giá vững chắc
  • Vòng đời có cấu trúc từ phát triển prompt template đến sử dụng và giám sát trong production giúp đảm bảo mỗi template đều được kiểm thử nghiêm ngặt và tối ưu cho hiệu năng
  • Trong tương lai, Uber có kế hoạch tích hợp với đánh giá online và RAG cho đánh giá, cũng như RAG cho tạo offline

Chưa có bình luận nào.

Chưa có bình luận nào.