Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Prompt Engineering

Kỹ thuật prompt thiết kế chỉ dẫn, ngữ cảnh và ví dụ cung cấp cho model AI để định hướng đầu ra mà không cần huấn luyện lại, từ LLM đến thị giác máy tính.

Prompt engineering là thực hành thiết kế đầu vào cho model tạo sinh, bao gồm chỉ dẫn, ngữ cảnh, ví dụ và định dạng đầu ra mong muốn, nhằm định hướng nội dung model tạo ra mà không thay đổi trọng số model. Phương pháp này phát triển mạnh cùng GPT-3: trong Language Models are Few-Shot Learners (2020), OpenAI cho thấy model 175 tỷ tham số có thể thực hiện tác vụ mới mà không cần cập nhật gradient khi prompt mô tả tác vụ và đưa ra một vài ví dụ; bài báo gọi khả năng này là học trong ngữ cảnh. Ngày nay, prompt là cách chính để kiểm soát mô hình ngôn ngữ lớn (LLM), mô hình thị giác-ngôn ngữ (VLM), bộ sinh văn bản thành hình ảnh và các model thị giác có thể điều khiển bằng prompt.

Các kỹ thuật cốt lõi#

  • Chỉ dẫn và vai trò: System prompt thiết lập vai trò, quy tắc và đối tượng người dùng của model; các dấu phân cách như tiêu đề hoặc thẻ theo kiểu XML phân tách chỉ dẫn với dữ liệu đang được xử lý.
  • Ví dụ few-shot: Các cặp đầu vào-đầu ra mẫu minh họa tác vụ và định dạng câu trả lời rõ hơn phần mô tả. Prompt không có ví dụ được gọi là zero-shot.
  • Định dạng đầu ra: Prompt nêu định dạng, chẳng hạn danh sách hoặc JSON với các key được chỉ định. Khi mã cần phân tích kết quả, đầu ra có cấu trúc áp dụng schema trong quá trình giải mã thay vì chỉ dựa vào request.
  • Prompt chain-of-thought: Yêu cầu các bước lập luận trung gian trước khi trả lời, giúp tăng độ chính xác cho những bài toán nhiều bước.
  • Prompt chaining: Chia một tác vụ phức tạp thành nhiều prompt, mỗi prompt đảm nhiệm một tác vụ hẹp và được kết nối bằng mã.
  • Ngữ cảnh truy xuất: Chèn tài liệu hoặc dữ liệu tìm được qua tìm kiếm để model trả lời dựa trên dữ kiện được cung cấp thay vì trí nhớ.

Dữ kiện được cung cấp giúp giảm hallucination, và vị trí của chúng cũng quan trọng: nghiên cứu Lost in the Middle cho thấy model sử dụng thông tin hiệu quả nhất khi thông tin xuất hiện ở đầu hoặc cuối cửa sổ ngữ cảnh dài, và kém hiệu quả nhất khi thông tin bị chôn ở giữa.

Tác động của ví dụ thể hiện rõ nhất trên model nền chưa từng được tinh chỉnh theo chỉ dẫn. Đoạn mã sau đưa cho GPT-2, được tải bằng Transformers của Hugging Face, cùng một chỉ dẫn có và không có ba ví dụ:

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")

# The same instruction, without and with three worked examples that show the answer format
instruction = "Convert each country to its capital city.\n"
prompts = {
    "zero-shot": instruction + "Italy:",
    "few-shot": instruction + "France: Paris\nJapan: Tokyo\nCanada: Ottawa\nItaly:",
}

for name, prompt in prompts.items():
    inputs = tokenizer(prompt, return_tensors="pt")
    output = model.generate(**inputs, max_new_tokens=4, do_sample=False, pad_token_id=tokenizer.eos_token_id)
    completion = tokenizer.decode(output[0, inputs.input_ids.shape[1] :])
    print(f"{name}: {completion!r}")

Đoạn mã in ra zero-shot: '\n\nItaly is' và few-shot: ' Rome\nSpain:'. Chỉ dẫn đơn thuần khiến GPT-2 viết văn xuôi về Italy, trong khi ba ví dụ giúp model trả lời "Rome" theo định dạng mong đợi và tiếp tục theo mẫu với quốc gia tiếp theo.

Thiết kế prompt dựa trên thực nghiệm#

Những thay đổi nhỏ về cách dùng từ hoặc bố cục có thể làm kết quả khác biệt đáng kể. Melanie Sclar và cộng sự đo lường mức chênh lệch độ chính xác lên đến 76 điểm trên LLaMA-2-13B chỉ từ thay đổi định dạng, chẳng hạn dấu phân cách, kiểu chữ hoa-thường và khoảng trắng; độ nhạy này vẫn tồn tại ở các model lớn hơn, với nhiều ví dụ hơn và sau khi tinh chỉnh theo chỉ dẫn. Vì vậy, prompt được phát triển như mã: thử nghiệm trên một tập đầu vào cố định với đầu ra đúng đã biết, chỉnh sửa dựa trên các trường hợp thất bại và quản lý phiên bản—một phần công việc thường lệ của LLMOps.

Có thể tự động hóa vòng lặp này. Automatic Prompt Engineer (APE), do Yongchao Zhou và cộng sự phát triển, sử dụng LLM để đề xuất các chỉ dẫn ứng viên rồi giữ lại những chỉ dẫn đạt điểm cao nhất trên các ví dụ; chỉ dẫn do phương pháp này tạo ra đạt kết quả ngang bằng hoặc tốt hơn chỉ dẫn do con người viết ở 19 trong số 24 tác vụ trong Large Language Models Are Human-Level Prompt Engineers.

Prompt cho model thị giác#

Trong thị giác máy tính, prompt có nhiều dạng. Các bộ tạo ảnh từ văn bản như Stable Diffusion phản hồi mô tả về chủ thể, phong cách, ánh sáng và bố cục, cùng với prompt phủ định liệt kê những điều cần tránh. Model segmentation có thể nhận prompt chấp nhận prompt trực quan như điểm và hộp; SAM 3 của Meta cũng nhận các cụm danh từ ngắn và phân đoạn mọi instance của khái niệm được nêu tên. Ultralytics Platform sử dụng tính năng này để tự động gán nhãn bằng prompt văn bản.

Detector có vocabulary mở chuyển tên lớp thành prompt. Ultralytics YOLOE phát hiện và phân đoạn bất kỳ lớp nào mà set_classes() chỉ định, chẳng hạn "forklift" hoặc "double-decker bus", bằng cách so sánh đặc trưng vùng với embedding văn bản của các tên đó, nên cách diễn đạt trực tiếp làm thay đổi đối tượng model tìm thấy. Vì việc so khớp dựa trên hình thức, các prompt phụ thuộc vào trạng thái, vị trí hoặc phép so sánh, chẳng hạn "damaged", "left-most" hoặc "the one being carried", không có dấu hiệu thị giác đáng tin cậy; tên gần với các danh mục thông dụng thường hoạt động tốt nhất.

  • Prompt tuning: Học các vector prompt liên tục bằng gradient descent trên dữ liệu có nhãn. Prompt engineering viết prompt thủ công bằng ngôn ngữ tự nhiên.
  • Fine-tuning: Thay đổi trọng số của model bằng cách huấn luyện trên tập dữ liệu có nhãn. Prompt engineering giữ nguyên model và hoạt động tại thời điểm suy luận.
  • Context engineering: Bao quát mọi nội dung được đưa vào ngữ cảnh của model trong một ứng dụng, bao gồm tài liệu truy xuất, kết quả từ công cụ và bộ nhớ. Prompt engineering là phần tập trung vào việc viết chỉ dẫn và ví dụ.
  • Prompt injection: Một cuộc tấn công giấu chỉ dẫn trong văn bản hoặc hình ảnh mà model đọc, khiến chúng ghi đè prompt của developer.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning