25 điểm bởi GN⁺ 2023-12-17 | 2 bình luận | Chia sẻ qua WhatsApp
  • Hướng dẫn chia sẻ các chiến lược và kỹ thuật để đạt kết quả tốt hơn từ các mô hình ngôn ngữ lớn (còn gọi là mô hình GPT)
  • Các phương pháp được mô tả ở đây đôi khi có thể kết hợp với nhau để tạo ra hiệu quả lớn hơn, và nên thử nghiệm để tìm ra cách phù hợp nhất
  • Có thể khám phá các prompt ví dụ để tìm hiểu mô hình có thể làm được gì

Sáu chiến lược để đạt kết quả tốt hơn

Viết chỉ dẫn rõ ràng

  • Mô hình không thể đọc được suy nghĩ, vì vậy bạn cần yêu cầu rõ ràng điều mình muốn.
  • Bao gồm chi tiết để nhận được câu trả lời phù hợp hơn, yêu cầu mô hình đóng vai một nhân vật cụ thể, hoặc dùng dấu phân tách để thể hiện rõ các phần riêng biệt của đầu vào.
  • Nêu rõ các bước cần thiết để hoàn thành tác vụ, cung cấp ví dụ và chỉ định độ dài mong muốn của đầu ra.

Cung cấp văn bản tham chiếu

  • Mô hình ngôn ngữ có thể tự tin tạo ra câu trả lời sai, đặc biệt khi được hỏi về chủ đề khó hoặc yêu cầu trích dẫn, URL.
  • Hãy chỉ dẫn mô hình trả lời bằng cách sử dụng văn bản tham chiếu, hoặc yêu cầu nó trích dẫn từ văn bản tham chiếu để trả lời.

Chia tác vụ phức tạp thành các tác vụ con đơn giản

  • Cũng như việc tách một hệ thống phức tạp thành các thành phần mô-đun là thực hành tốt trong kỹ thuật phần mềm, điều tương tự cũng áp dụng cho các tác vụ giao cho mô hình ngôn ngữ.
  • Tác vụ phức tạp có tỷ lệ lỗi cao hơn và thường có thể được định nghĩa lại thành một quy trình gồm các tác vụ đơn giản.
  • Dùng phân loại ý định để xác định chỉ dẫn phù hợp nhất với truy vấn của người dùng, và với các ứng dụng hội thoại cần cuộc trò chuyện rất dài thì có thể tóm tắt hoặc lọc các đoạn hội thoại trước đó.
  • Tóm tắt tài liệu dài theo từng phần và xây dựng bản tóm tắt tổng thể một cách đệ quy.

Cho mô hình "thời gian để suy nghĩ"

  • Nếu yêu cầu "chuỗi suy nghĩ" trước khi mô hình viết câu trả lời, thay vì để nó vội vàng đáp lại, có thể tạo ra câu trả lời đáng tin cậy hơn.
  • Chỉ dẫn mô hình tự đưa ra lời giải trước, và dùng độc thoại nội bộ hoặc một chuỗi truy vấn để ẩn quá trình suy luận của mô hình.
  • Hỏi mô hình xem có điều gì đã bị bỏ sót ở lượt xử lý trước hay không.

Sử dụng công cụ bên ngoài

  • Cung cấp cho mô hình đầu ra từ các công cụ khác để bù đắp điểm yếu của nó.
  • Dùng truy xuất dựa trên embedding để triển khai tìm kiếm tri thức hiệu quả, dùng thực thi mã để tính toán chính xác hơn hoặc gọi API bên ngoài.
  • Cho phép mô hình truy cập vào các hàm cụ thể.

Kiểm thử thay đổi một cách có hệ thống

  • Việc cải thiện hiệu năng sẽ dễ hơn khi có thể đo lường được.
  • Cần định nghĩa một bộ kiểm thử toàn diện (hoặc "eval") để xác nhận xem thay đổi có tác động tích cực đến hiệu năng tổng thể hay không.
  • Đánh giá bằng cách so sánh đầu ra của mô hình với đáp án chuẩn.

Ý kiến của GN⁺

  • Điểm quan trọng nhất: Prompt engineering là một phương pháp cốt lõi để tối ưu hóa hiệu năng của mô hình ngôn ngữ, giúp nắm bắt chính xác ý định của người dùng và cung cấp hướng dẫn cụ thể để đạt được kết quả mong muốn.
  • Lý do thú vị: Các chiến lược này giúp việc sử dụng mô hình ngôn ngữ AI hiệu quả hơn, đặc biệt cho phép các mô hình mới như GPT-4 phát huy hiệu năng cao hơn nữa.
  • Điểm đáng chú ý: Hướng dẫn này đưa ra các ví dụ và chiến lược cụ thể giúp giải quyết những vấn đề phổ biến mà kỹ sư phần mềm mới vào nghề có thể gặp khi sử dụng mô hình ngôn ngữ, qua đó chỉ ra cách khai thác mô hình hiệu quả hơn trong công việc thực tế.

2 bình luận

 
GN⁺ 2023-12-17
Ý kiến trên Hacker News
  • Thảo luận về system prompt của ChatGPT

    • Các model mới nhất của ChatGPT hoạt động hiệu quả trong việc tuân theo các quy tắc phức tạp.
    • Theo kinh nghiệm, đưa ra chỉ thị nghiêm ngặt hơn sẽ tốt hơn là chỉ dùng system prompt.
    • Function calling và hỗ trợ dữ liệu có cấu trúc là một dạng prompt engineering, mạnh hơn rất nhiều so với chỉ dùng system prompt.
    • Có một ví dụ demo thú vị so sánh giữa system prompt và kết quả dữ liệu có cấu trúc.
  • Trải nghiệm gọi cheeseburger bằng tiếng Tây Ban Nha

    • Người phục vụ phản ứng khá lạ với bản dịch tiếng Tây Ban Nha do ChatGPT và Google Dịch gợi ý.
    • Vì muốn cải thiện bản dịch, người này đã yêu cầu một bản dịch tiếng Tây Ban Nha phù hợp hơn cho người Mỹ gốc Mexico.
    • Ngày hôm sau, khi gọi món bằng cụm từ "Cheeseburger sin pepinillos", người phục vụ nói rằng cách đó tốt hơn.
  • Thảo luận về đặc điểm của LLM (Large Language Models)

    • Hầu như không có ranh giới rõ ràng giữa đầu vào và chỉ thị, nên đầu vào của người dùng được xem như một phần của prompt.
    • Điều này dẫn đến lỗ hổng "prompt injection" đã được biết đến, nhưng đó là hệ quả từ đặc tính cốt lõi là model không phân biệt giữa chỉ thị và đầu vào.
    • Prompt và đầu vào kết hợp lại thành toàn bộ đầu vào của chương trình, khiến rất khó chắc chắn về hành vi của chương trình.
    • Đây là lý do LLM vẫn chưa đủ đáng tin cậy để dùng cho các tác vụ phức tạp.
  • Sự do dự trong việc học cách viết prompt

    • Có sự ngần ngại khi dành quá nhiều thời gian để học cách viết prompt một cách hoàn hảo, vì các phiên bản mới và các LLM khác nhau phản ứng khác nhau.
    • Khi hệ thống ngày càng thông minh hơn, có thể sẽ không còn cần đến những prompt phức tạp.
  • So sánh prompt engineering với truy vấn tìm kiếm nâng cao của Google

    • Với các câu hỏi cơ bản, chatbot hoạt động tốt, nhưng khi thông tin cần tìm trở nên phức tạp hơn thì việc lấy được thông tin chính xác trở nên khó hơn.
    • Tương tự, trên Google Search, thông tin cơ bản có thể tìm dễ dàng, nhưng khi muốn kết quả không hiển nhiên thì người ta dùng các toán tử tìm kiếm nâng cao.
  • So sánh prompt cho Google Search và prompt cho LLM

    • Mọi người đã quen với việc chỉ nhập vài từ khóa đơn giản vào Google để tìm thứ mình cần trên internet.
    • Việc giờ đây phải viết những câu phức tạp sẽ cần thời gian để thích nghi, và đây có thể chỉ là một giai đoạn tạm thời.
  • Sự thất bại trong giao tiếp giữa con người và giới hạn của LLM

    • Giao tiếp giữa con người thường xuyên thất bại, và đa số mọi người không phải là những người truyền đạt hiệu quả.
    • Cũng khó có thể kỳ vọng máy móc sẽ giỏi hơn trong việc đọc được suy nghĩ và ý định của con người.
    • Prompt engineering nên tồn tại để cải thiện khả năng giao tiếp giữa con người với nhau.
  • Chỉ trích đối với thuật ngữ "prompt engineering"

    • Có ý kiến cho rằng từ "engineering" đang bị lạm dụng.
  • Vai trò của LLM trong việc dạy con người giao tiếp rõ ràng hơn

    • Thông qua LLM, con người đang học cách giao tiếp rõ ràng hơn.
  • Mức độ dễ dàng trong việc triển khai ứng dụng chat dựa trên LLM

    • Ngay cả khi không có tiến bộ mang tính lý thuyết, vẫn có rất nhiều lợi ích trong việc triển khai các ứng dụng chat dựa trên LLM.
    • Cần có nỗ lực từ phía nhà phát triển để đạt được kết quả tốt hơn hiện tại.