Cơ bản về Prompt Engineering và tham số suy luận
Prompt Engineering Basics and Inference Parameters
Prompt engineering Prompt engineering là kỹ thuật viết và điều chỉnh prompt để mô hình cho ra kết quả tốt hơn — mà không cần huấn luyện lại mô hình. Đây là cách rẻ nhất, nhanh nhất để cải thiện đầu ra và là chủ đề chắc chắn xuất hiện trong AIF-C01.
Cấu trúc (anatomy) của một prompt tốt
Một prompt rõ ràng thường gồm bốn thành phần:
- Chỉ dẫn Instruction — bạn muốn mô hình làm gì.
- Ngữ cảnh Context — thông tin nền giúp mô hình trả lời đúng.
- Dữ liệu đầu vào Input data — nội dung cần xử lý.
- Định dạng đầu ra Output indicator — kết quả mong muốn trông thế nào.
Ví dụ minh họa:
[Instruction] Tóm tắt đoạn đánh giá sản phẩm sau thành tối đa 3 gạch đầu dòng.
[Context] Đối tượng đọc là quản lý sản phẩm, cần nắm nhanh điểm chính.
[Input] "Pin trâu nhưng màn hình hơi tối, camera ổn trong điều kiện đủ sáng..."
[Output] Trả về dạng danh sách gạch đầu dòng, mỗi dòng < 15 từ.
Mẹo
Càng cụ thể càng tốt: nêu rõ vai trò, định dạng, độ dài, giọng văn. Prompt mơ hồ → kết quả mơ hồ.
Zero-shot, One-shot, Few-shot
Đây là cách bạn cung cấp ví dụ mẫu ngay trong prompt:
| Kỹ thuật | Số ví dụ trong prompt | Khi nào dùng |
|---|---|---|
| Zero-shot Zero-shot | 0 | Tác vụ đơn giản, mô hình đã biết làm |
| One-shot One-shot | 1 | Cần định hình định dạng/giọng văn |
| Few-shot Few-shot | Vài ví dụ (2+) | Tác vụ khó, cần mô hình "bắt chước" mẫu |
Ví dụ few-shot cho phân loại cảm xúc:
Phân loại cảm xúc (tích cực/tiêu cực):
"Sản phẩm tuyệt vời!" -> tích cực
"Giao hàng quá chậm." -> tiêu cực
"Đóng gói rất cẩn thận." ->
Trọng tâm thi
Nhớ định nghĩa theo số ví dụ: 0 = zero-shot, 1 = one-shot, nhiều = few-shot. Few-shot giúp tăng chất lượng cho tác vụ phức tạp mà không cần fine-tuning.
Tham số suy luận (inference parameters)
Khi gọi FM, bạn điều chỉnh hành vi sinh token qua các tham số. Đây là điểm hay thi.
Temperature
Temperature Temperature kiểm soát độ ngẫu nhiên / sáng tạo:
- Thấp (gần 0): đầu ra tập trung, nhất quán, ít sáng tạo — hợp cho dữ kiện, code, trích xuất.
- Cao: đầu ra đa dạng, sáng tạo, ngẫu nhiên hơn — hợp cho viết sáng tạo, brainstorm.
Top-p và Top-k
Cả hai giới hạn tập token mà mô hình được chọn ở mỗi bước:
- Top-k Top-k: chỉ chọn trong k token có xác suất cao nhất.
- Top-p Top-p (nucleus sampling): chọn trong nhóm token nhỏ nhất có tổng xác suất ≥ p (ví dụ p = 0.9).
Top-p/top-k thấp → đầu ra an toàn, ít bất ngờ; cao → đa dạng hơn.
Max tokens
Max tokens Max tokens giới hạn độ dài tối đa của đầu ra. Đặt giá trị phù hợp để kiểm soát chi phí và tránh câu trả lời bị cắt giữa chừng.
| Mục tiêu | Gợi ý tham số |
|---|---|
| Câu trả lời chính xác, nhất quán | Temperature thấp, top-p thấp |
| Nội dung sáng tạo, đa dạng | Temperature cao, top-p cao |
| Kiểm soát chi phí / độ dài | Giảm max tokens |
Lưu ý
Đừng nhầm: temperature/top-p/top-k điều chỉnh độ ngẫu nhiên, còn max tokens điều chỉnh độ dài. Đề thi hay gài lẫn hai nhóm này.
Context window
Context window Context window là lượng token tối đa mà mô hình có thể xử lý cùng lúc — bao gồm cả prompt đầu vào lẫn đầu ra. Nếu nội dung vượt context window, phần thừa sẽ bị cắt và mô hình "quên" thông tin đầu. Context window lớn cho phép đưa nhiều ngữ cảnh hơn (ví dụ cả tài liệu dài).
Negative prompting
Negative prompting Negative prompting là việc nói rõ điều bạn KHÔNG muốn trong đầu ra — ví dụ "không dùng thuật ngữ kỹ thuật", "không bịa số liệu", "tránh giọng văn quảng cáo". Trong sinh ảnh, negative prompt loại bỏ các yếu tố không mong muốn khỏi kết quả.
Mẹo
Kết hợp chỉ dẫn rõ ràng + ví dụ few-shot + negative prompt + tham số phù hợp thường cải thiện chất lượng nhiều hơn bất kỳ thủ thuật đơn lẻ nào.
Tóm tắt
- Prompt tốt gồm: instruction, context, input, output indicator.
- Zero-shot (0) / one-shot (1) / few-shot (nhiều ví dụ) — thêm ví dụ để nâng chất lượng mà không cần fine-tuning.
- Tham số: temperature, top-p, top-k điều chỉnh độ ngẫu nhiên; max tokens điều chỉnh độ dài.
- Context window = tổng token (prompt + output) mô hình xử lý được.
- Negative prompting = nêu rõ điều không muốn để loại trừ khỏi đầu ra.