Chiến lược thiết kế câu lệnh

Thiết kế lời nhắc cho phép người dùng mới làm quen với đầu ra của mô hình học máy (ML) điều khiển với mức hao tổn thấp nhất. Bằng cách xây dựng câu lệnh cẩn thận, bạn có thể nhắc mô hình tạo ra kết quả mong muốn. Thiết kế lời nhắc là một cách hiệu quả để thử nghiệm việc điều chỉnh một mô hình ngôn ngữ cho một trường hợp sử dụng cụ thể.

Các mô hình ngôn ngữ, đặc biệt là các mô hình ngôn ngữ lớn (LLM), được huấn luyện dựa trên một lượng lớn dữ liệu văn bản để tìm hiểu các quy luật và mối quan hệ giữa các từ. Khi được cung cấp một số văn bản (lời nhắc), các mô hình ngôn ngữ có thể dự đoán những gì có thể xảy ra tiếp theo, chẳng hạn như một công cụ tự động hoàn thành tinh vi. Do đó, khi thiết kế lời nhắc, hãy cân nhắc các yếu tố khác nhau có thể ảnh hưởng đến nội dung mô hình dự đoán tiếp theo.

Mặc dù không có cách đúng hay sai để thiết kế câu lệnh, nhưng bạn có thể sử dụng các chiến lược phổ biến để tác động đến phản hồi của mô hình. Phần này giới thiệu cho bạn một số chiến lược thiết kế câu lệnh phổ biến.

Cung cấp hướng dẫn rõ ràng

Việc cung cấp hướng dẫn cho mô hình có nghĩa là cho mô hình biết việc cần làm. Chiến lược này có thể là một cách hiệu quả để tuỳ chỉnh hành vi của mô hình. Hãy đảm bảo rằng hướng dẫn bạn đưa ra rõ ràng và súc tích.

Lời nhắc sau đây cung cấp một khối văn bản và yêu cầu mô hình tóm tắt khối văn bản đó:

Mô hình này cung cấp một bản tóm tắt ngắn gọn, nhưng có thể bạn nên viết bản tóm tắt theo cách dễ hiểu hơn. Ví dụ: lời nhắc sau đây bao gồm hướng dẫn viết một bản tóm tắt đủ đơn giản để học sinh lớp năm hiểu:

Hướng dẫn viết bản tóm tắt để học sinh lớp năm có thể hiểu, dẫn đến một phản hồi dễ hiểu hơn.

Tóm tắt:

  • Hướng dẫn mô hình tuỳ chỉnh hành vi.
  • Làm cho mỗi hướng dẫn đều rõ ràng và súc tích.

Thêm ví dụ

Bạn có thể đưa các ví dụ vào lời nhắc để cho mô hình thấy cách trình bày đúng. Mô hình này cố gắng xác định các mẫu và mối quan hệ từ các ví dụ, rồi áp dụng các mẫu và mối quan hệ đó để tạo thành phản hồi. Lời nhắc chứa một vài ví dụ được gọi là lời nhắc few-shot, trong khi lời nhắc không cung cấp ví dụ nào được gọi là lời nhắc không tiến hành. Một số ít lời nhắc thường được dùng để điều chỉnh định dạng, cách diễn đạt, phạm vi hoặc mẫu chung của các phản hồi của mô hình.

Lời nhắc thiết lập tự động và một vài ảnh

Câu lệnh sau đây yêu cầu mô hình chọn lời giải thích phù hợp nhất.

Nếu trường hợp sử dụng của bạn yêu cầu mô hình tạo câu trả lời súc tích, thì bạn có thể đưa các ví dụ vào câu lệnh để ưu tiên phản hồi ngắn gọn.

Lời nhắc sau đây cung cấp 2 ví dụ cho thấy sự ưu tiên đối với các nội dung giải thích ngắn hơn. Trong phản hồi, bạn có thể thấy các ví dụ đã hướng dẫn mô hình chọn nội dung giải thích ngắn hơn (Giải thích 2) thay vì nội dung giải thích dài hơn (Giải thích 1) như trước đây.

Tìm số lượng ví dụ tối ưu

Bạn có thể thử nghiệm với số lượng ví dụ để cung cấp trong lời nhắc để thu được kết quả mong muốn nhất. Các mô hình như PaLM thường có thể chọn các mẫu bằng cách sử dụng một vài ví dụ, mặc dù bạn có thể cần phải thử nghiệm với số lượng ví dụ dẫn đến kết quả mong muốn. Đối với các mô hình đơn giản hơn như BERT, bạn có thể cần nhiều ví dụ hơn. Đồng thời, nếu bạn đưa vào quá nhiều ví dụ, mô hình có thể bắt đầu tiết kiệm phản hồi cho các ví dụ đó.

Dùng ví dụ để cho thấy các mẫu thay vì đối tượng mẫu

Việc sử dụng ví dụ để cho mô hình thấy một mẫu cần tuân theo sẽ hiệu quả hơn so với việc sử dụng ví dụ để cho mô hình thấy một mẫu chống mẫu cần tránh.

Mẫu âm:

Mẫu tích cực:

Tóm tắt:

  • Việc đưa các ví dụ về phản hồi nhanh vào lời nhắc sẽ giúp mô hình này tìm hiểu cách phản hồi.
  • Cung cấp ví dụ về các mẫu cần tuân theo thay vì ví dụ về các mẫu cần tránh.
  • Thử nghiệm với số lượng lời nhắc cần đưa vào. Tuỳ thuộc vào mô hình, có quá ít ví dụ không hiệu quả trong việc thay đổi hành vi của mô hình. Quá nhiều ví dụ khiến mô hình bị quá mức.

Cho phép mô hình hoàn thành dữ liệu đầu vào một phần

Mô hình ngôn ngữ tạo sinh hoạt động giống như một công cụ tự động hoàn thành nâng cao. Khi bạn cung cấp một phần nội dung, mô hình có thể cung cấp phần nội dung còn lại hoặc nội dung mà mô hình cho là phần tiếp theo của nội dung đó dưới dạng phản hồi. Trong trường hợp bạn thêm ví dụ hoặc ngữ cảnh bất kỳ, mô hình có thể xem xét các ví dụ hoặc ngữ cảnh đó.

Ví dụ sau đây cung cấp một lời nhắc kèm theo hướng dẫn và dữ liệu đầu vào cho thực thể:

Mặc dù mô hình này đã làm như được nhắc, nhưng đôi khi việc viết hướng dẫn bằng ngôn ngữ tự nhiên có thể gây khó khăn. Trong trường hợp này, bạn có thể đưa ra một ví dụ và tiền tố phản hồi, sau đó để mô hình hoàn thành:

Hãy lưu ý cách "waffles" bị loại trừ khỏi kết quả vì nó không được liệt kê trong ngữ cảnh là một trường hợp lệ.

Nhắc mô hình định dạng phản hồi

Chiến lược hoàn thành cũng có thể giúp định dạng câu trả lời. Ví dụ sau đây nhắc mô hình tạo một đề cương bài luận:

Lời nhắc không chỉ định định dạng cho đường viền và mô hình đã chọn một định dạng cho bạn. Để mô hình này trả về đường viền ở một định dạng cụ thể, bạn có thể thêm văn bản thể hiện phần đầu đường viền và để mô hình hoàn tất đường viền đó dựa trên mẫu bạn đã tạo.

Tóm tắt:

  • Nếu bạn cung cấp cho mô hình dữ liệu đầu vào một phần, mô hình sẽ hoàn tất dữ liệu đầu vào đó dựa trên mọi ví dụ hoặc ngữ cảnh có sẵn trong lời nhắc.
  • Đôi khi, việc mô hình hoàn tất dữ liệu đầu vào có thể dễ dàng hơn việc mô tả nhiệm vụ bằng ngôn ngữ tự nhiên.
  • Việc thêm một phần câu trả lời vào lời nhắc có thể hướng dẫn mô hình tuân theo một mẫu hoặc định dạng mong muốn.

Thêm thông tin theo ngữ cảnh

Bạn có thể đưa vào lời nhắc và thông tin mà mô hình cần để giải quyết vấn đề thay vì giả định rằng mô hình này có mọi thông tin bắt buộc.

Ví dụ sau đây yêu cầu mô hình đưa ra hướng dẫn khắc phục sự cố cho bộ định tuyến:

Phản hồi trông giống như thông tin khắc phục sự cố chung không dành riêng cho bộ định tuyến hoặc trạng thái của đèn chỉ báo LED.

Để tuỳ chỉnh phản hồi cho bộ định tuyến cụ thể, bạn có thể thêm vào lời nhắc hướng dẫn khắc phục sự cố của bộ định tuyến đó dưới dạng ngữ cảnh để tham khảo khi cung cấp phản hồi.

Tóm tắt:

  • Đưa thông tin (ngữ cảnh) vào lời nhắc mà bạn muốn mô hình sử dụng khi tạo phản hồi.
  • Đưa ra hướng dẫn cho mô hình về những việc cần làm.

Thêm tiền tố

Tiền tố là một từ hoặc cụm từ mà bạn thêm vào nội dung lời nhắc. Tiền tố có thể phục vụ một số mục đích, tuỳ thuộc vào nơi bạn đặt tiền tố:

  • Tiền tố đầu vào: Thêm một tiền tố vào các đầu vào báo hiệu các phần có ý nghĩa về mặt ngữ nghĩa của đầu vào cho mô hình. Ví dụ: tiền tố "Tiếng Anh:" và "Tiếng Pháp:" phân cách hai ngôn ngữ khác nhau.
  • Tiền tố đầu ra: Mặc dù đầu ra là do mô hình tạo ra, nhưng bạn có thể thêm tiền tố cho kết quả đầu ra trong lời nhắc. Tiền tố đầu ra cung cấp cho mô hình thông tin về nội dung phản hồi dự kiến. Ví dụ: tiền tố đầu ra "JSON:" báo hiệu cho mô hình rằng dữ liệu đầu ra phải ở định dạng JSON.
  • Tiền tố mẫu: Trong các lời nhắc vài lần, việc thêm tiền tố vào ví dụ sẽ cung cấp các nhãn mà mô hình có thể sử dụng khi tạo dữ liệu đầu ra, giúp phân tích cú pháp nội dung đầu ra dễ dàng hơn.

Trong ví dụ sau, "Text:" là tiền tố đầu vào và "Câu trả lời là:" là tiền tố đầu ra.

Thử nghiệm với nhiều giá trị thông số

Mỗi lệnh gọi mà bạn gửi đến một mô hình sẽ bao gồm các giá trị tham số kiểm soát cách mô hình tạo ra phản hồi. Mô hình này có thể tạo ra các kết quả riêng tuỳ theo giá trị thông số. Hãy thử nghiệm với nhiều giá trị thông số để nhận được giá trị tốt nhất cho nhiệm vụ. Các tham số có sẵn cho từng mô hình có thể không giống nhau. Sau đây là các tham số phổ biến nhất:

  • Số mã thông báo đầu ra tối đa
  • Nhiệt độ
  • Đầu-K
  • Trên cùng

Số mã thông báo đầu ra tối đa

Số mã thông báo tối đa có thể tạo trong phản hồi. Mã thông báo có khoảng bốn ký tự. 100 mã thông báo tương ứng với khoảng 60-80 từ.

Chỉ định giá trị thấp hơn cho phản hồi ngắn hơn và giá trị cao hơn cho phản hồi dài hơn.

Nhiệt độ

Nhiệt độ được dùng để lấy mẫu trong quá trình tạo phản hồi, xảy ra khi áp dụng topPtopK. Nút điều khiển nhiệt độ kiểm soát mức độ ngẫu nhiên trong việc lựa chọn mã thông báo. Nhiệt độ thấp hơn phù hợp với các lời nhắc đòi hỏi phản hồi sáng tạo hoặc chắc chắn hơn, trong khi nhiệt độ cao hơn có thể dẫn đến kết quả đa dạng hoặc sáng tạo hơn. Nhiệt độ của 0 mang tính xác định, nghĩa là phản hồi có xác suất cao nhất sẽ luôn được chọn.

Đối với hầu hết các trường hợp sử dụng, hãy thử bắt đầu với nhiệt độ là 0.2. Nếu mô hình trả về một phản hồi quá chung chung, quá ngắn hoặc mô hình đưa ra phản hồi dự phòng, hãy thử tăng nhiệt độ.

Đầu-K

Top-K thay đổi cách mô hình chọn mã thông báo cho đầu ra. K top-K của 1 có nghĩa là mã thông báo được chọn tiếp theo là mã có nhiều khả năng xuất hiện nhất trong số tất cả mã thông báo theo từ vựng của mô hình (còn được gọi là giải mã tham lam), trong khi đầu K là 3 có nghĩa là mã thông báo tiếp theo được chọn trong số 3 mã thông báo có khả năng xuất hiện nhất bằng cách sử dụng nhiệt độ.

Đối với mỗi bước chọn mã thông báo, những mã thông báo K hàng đầu có xác suất cao nhất sẽ được lấy mẫu. Sau đó, các mã thông báo được lọc thêm dựa trên P trên cùng với mã thông báo cuối cùng được chọn bằng cách lấy mẫu nhiệt độ.

Chỉ định giá trị thấp hơn cho phản hồi ít ngẫu nhiên hơn và giá trị cao hơn cho nhiều phản hồi ngẫu nhiên hơn. K-K mặc định là 40.

Trên cùng

Top-P thay đổi cách mô hình chọn mã thông báo cho đầu ra. Các mã thông báo được chọn từ nhiều nhất (xem K trên cùng) đến ít có khả năng xảy ra nhất cho đến khi tổng xác suất của chúng bằng giá trị P cao nhất. Ví dụ: nếu các mã thông báo A, B và C có xác suất là 0, 3, 0, 2 và 0, 1 và giá trị của P cao nhất là 0.5, thì mô hình này sẽ chọn A hoặc B làm mã thông báo tiếp theo bằng cách sử dụng nhiệt độ và loại trừ C làm đề xuất.

Chỉ định giá trị thấp hơn cho phản hồi ít ngẫu nhiên hơn và giá trị cao hơn cho nhiều phản hồi ngẫu nhiên hơn. Top-P mặc định là 0.95.

Chiến lược lặp lại lời nhắc

Thiết kế lời nhắc là một quy trình lặp lại thường cần vài lần lặp lại để bạn nhận được phản hồi mong muốn một cách nhất quán. Phần này cung cấp hướng dẫn về một số việc bạn có thể thử khi lặp lại câu lệnh.

Sử dụng cách diễn đạt khác nhau

Việc sử dụng các từ hoặc cụm từ khác nhau trong câu lệnh của bạn thường mang lại các phản hồi khác nhau so với mô hình mặc dù tất cả đều có ý nghĩa như nhau. Nếu bạn không nhận được kết quả mong đợi từ lời nhắc của mình, hãy thử diễn đạt lại.

Chuyển sang một tác vụ tương tự

Nếu bạn không thể yêu cầu mô hình thực hiện theo hướng dẫn cho một nhiệm vụ, hãy thử hướng dẫn cho mô hình đó cho một nhiệm vụ tương tự cũng đạt được kết quả tương tự.

Lời nhắc này sẽ yêu cầu mô hình phân loại một cuốn sách bằng cách sử dụng các danh mục được xác định trước.

Phản hồi là chính xác, nhưng mô hình này không nằm trong giới hạn của các tuỳ chọn. Bạn cũng muốn lập mô hình để chỉ phản hồi bằng một trong các lựa chọn thay vì trong một câu đầy đủ. Trong trường hợp này, bạn có thể diễn đạt lại hướng dẫn dưới dạng câu hỏi trắc nghiệm và yêu cầu mô hình chọn một phương án.

Thay đổi thứ tự của nội dung câu lệnh

Thứ tự của nội dung trong câu lệnh đôi khi có thể ảnh hưởng đến phản hồi. Hãy thử thay đổi thứ tự nội dung và xem điều đó ảnh hưởng đến phản hồi như thế nào.

Version 1:
[examples]
[context]
[input]

Version 2:
[input]
[examples]
[context]

Version 3:
[examples]
[input]
[context]

Phản hồi dự phòng

Phản hồi dự phòng là một phản hồi được mô hình trả về khi lời nhắc hoặc phản hồi kích hoạt một bộ lọc an toàn. Ví dụ về phản hồi dự phòng là "Tôi không thể giúp bạn làm việc đó, vì tôi chỉ là một người mẫu ngôn ngữ".

Nếu mô hình phản hồi bằng phản hồi dự phòng, hãy thử tăng nhiệt độ.

Những điều nên tránh

  • Tránh dựa vào các mô hình để tạo thông tin thực tế.
  • Hãy thận trọng khi sử dụng các bài toán và logic.

Các bước tiếp theo

  • Giờ thì bạn đã hiểu rõ hơn về thiết kế của câu lệnh, hãy thử tự viết câu lệnh bằng Google AI Studio.
  • Để tìm hiểu về việc nhắc đa phương thức, hãy xem nội dung tổng quan về các khái niệm đa phương thức.