Lời nhắc cơ bản

Nhắc LLM

Bạn có thể nhận được nhiều kết quả chỉ với những lời nhắc đơn giản, nhưng chất lượng của kết quả phụ thuộc vào lượng thông tin bạn cung cấp và khả năng soạn thảo lời nhắc của bạn tốt như thế nào. Lời nhắc có thể chứa thông tin như hướng dẫn hoặc câu hỏi mà bạn chuyển đến mô hình và bao gồm các chi tiết khác như ngữ cảnhthông tin đầu vào hoặc ví dụ. Bạn có thể sử dụng các yếu tố này để hướng dẫn mô hình hiệu quả hơn nhằm cải thiện chất lượng kết quả đầu ra.

Hãy bắt đầu bằng cách xem qua một ví dụ cơ bản về một lời nhắc đơn giản:

Lời nhắc

The sky is

Đầu ra:

blue.

Nếu bạn đang sử dụng OpenAI playground hoặc bất kỳ playground LLM nào khác, bạn có thể nhắc mô hình như trong ảnh chụp màn hình sau:

GIỚI THIỆU 1

Một điều cần lưu ý là khi sử dụng các mô hình trò chuyện OpenAI như gpt-3.5-turbo hoặc gpt-4, bạn có thể cấu trúc lời nhắc của mình bằng ba vai trò khác nhau: systemuser và assistant. Thông báo hệ thống không bắt buộc nhưng giúp thiết lập hành vi chung của trợ lý. Ví dụ trên chỉ bao gồm thông báo người dùng mà bạn có thể sử dụng để nhắc trực tiếp mô hình. Để đơn giản, tất cả các ví dụ, ngoại trừ khi được đề cập rõ ràng, sẽ chỉ sử dụng vai trò user để nhắc với mô hình gpt-3.5-turbo. Thông báo assistant trong ví dụ trên tương ứng với phản hồi của mô hình. Bạn cũng có thể xác định thông báo trợ lý để chuyển các ví dụ về hành vi mong muốn mà bạn muốn.

Bạn có thể quan sát từ ví dụ gợi ý ở trên rằng mô hình ngôn ngữ phản hồi bằng một chuỗi token có ý nghĩa tùy theo ngữ cảnh "The sky is". Kết quả đầu ra có thể không như mong đợi hoặc khác xa với nhiệm vụ bạn muốn hoàn thành. Trên thực tế, ví dụ cơ bản này nêu bật sự cần thiết phải cung cấp thêm ngữ cảnh hoặc hướng dẫn về những gì bạn muốn đạt được cụ thể với hệ thống. Đây chính là nội dung của kỹ thuật nhắc (prompt).

Hãy thử cải thiện nó một chút:

Lời nhắc:

Complete the sentence: The sky is

Đầu ra:

blue during the day and dark at night.

Điều đó có tốt hơn không? Chà, với lời nhắc ở trên, bạn đang hướng dẫn mô hình hoàn thành câu nên kết quả sẽ tốt hơn rất nhiều vì nó tuân theo chính xác những gì bạn yêu cầu (“hoàn thành câu”). Cách tiếp cận này nhằm thiết kế các lời nhắc hiệu quả để hướng dẫn mô hình thực hiện một nhiệm vụ mong muốn được gọi là kỹ thuật nhắc trong hướng dẫn này.

Ví dụ trên là minh họa cơ bản về những gì có thể làm được với LLM ngày nay. LLM ngày nay có thể thực hiện tất cả các loại nhiệm vụ nâng cao, từ tóm tắt văn bản đến lý luận toán học cho đến tạo mã lập trình phần mềm.

Định dạng lời nhắc

Bạn đã thử một lời nhắc rất đơn giản ở trên. Lời nhắc tiêu chuẩn có định dạng sau:

<Question>?

hoặc

<Instruction>

Bạn có thể định dạng này thành định dạng trả lời câu hỏi (QA), đây là định dạng tiêu chuẩn trong nhiều bộ dữ liệu QA, như sau:

Q: <Question>?
A: 

Khi nhắc nhở như trên, nó còn được gọi là lời nhắc zero-shot, tức là bạn đang trực tiếp nhắc mô hình phản hồi mà không có bất kỳ ví dụ hoặc minh họa nào về nhiệm vụ bạn muốn nó đạt được. Một số mô hình ngôn ngữ lớn có khả năng thực hiện nhắc zero-shot nhưng điều đó phụ thuộc vào mức độ phức tạp và kiến ​​thức về nhiệm vụ hiện tại cũng như các nhiệm vụ mà mô hình đã được đào tạo để thực hiện tốt.

Một ví dụ cụ thể về lời nhắc như sau:

Lời nhắc

Q: What is prompt engineering?

Với một số mô hình gần đây hơn, bạn có thể bỏ qua phần “Q:” vì nó được mô hình ngụ ý và hiểu là một nhiệm vụ trả lời câu hỏi dựa trên cách cấu thành chuỗi. Nói cách khác, lời nhắc có thể được đơn giản hóa như sau:

Lời nhắc

What is prompt engineering?

Với định dạng tiêu chuẩn ở trên, một kỹ thuật nhắc phổ biến và hiệu quả được gọi là nhắc few-shot trong đó bạn cung cấp các ví dụ mẫu (tức là minh họa). Bạn có thể định dạng lời nhắc few-shot như sau:

<Question>?
<Answer>
<Question>?
<Answer>
<Question>?
<Answer>
<Question>?

Phiên bản định dạng QA sẽ trông như thế này:

Q: <Question>?
A: <Answer>
Q: <Question>?
A: <Answer>
Q: <Question>?
A: <Answer>
Q: <Question>?
A:

Hãy nhớ rằng không bắt buộc phải sử dụng định dạng QA. Định dạng lời nhắc phụ thuộc vào nhiệm vụ hiện tại. Ví dụ: bạn có thể thực hiện một nhiệm vụ phân loại đơn giản và đưa ra các mẫu thể hiện nhiệm vụ đó như sau:

Lời nhắc:

This is awesome! // Positive
This is bad! // Negative
Wow that movie was rad! // Positive
What a horrible show! //

Đầu ra:

Negative

Lời nhắc few-shot cho phép học theo ngữ cảnh, đó là khả năng của các mô hình ngôn ngữ trong việc học các nhiệm vụ được trình bày một vài lần. Chúng ta thảo luận rộng rãi hơn về việc nhắc nhở zero-shot và nhắc few-shot trong các phần tiếp theo.