Nhảy đến nội dung chính

Tùy chỉnh đầu ra bằng các tham số trong OpenAI API

Mục tiêu

Trong bài học này, chúng ta sẽ:

  • Khám phá cách tinh chỉnh đầu ra của mô hình ngôn ngữ bằng cách sử dụng các tham số.

  • Hiểu rõ vai trò của từng tham số: temperature, top_p, frequency_penalty, presence_penalty, v.v.

  • Trải nghiệm thực tế bằng cách thử nghiệm các tham số ngay trong mã nguồn hoặc trên Playground của OpenAI.

Tổng quan về Tham số trong Chat Completion

OpenAI API cung cấp một số tham số quan trọng để điều chỉnh cách mô hình tạo ra văn bản. Chúng ta sẽ tập trung vào những tham số thường dùng nhất:

Tham số Mô tả ngắn gọn Giá trị thường dùng
temperature Điều khiển độ ngẫu nhiên của kết quả. Cao hơn → sáng tạo hơn. 0 (chắc chắn), 1 (trung lập), 2 (siêu sáng tạo)
top_p Sử dụng nucleus sampling, mô hình chỉ xét các token có xác suất tích lũy nằm trong p. 0.1 → chỉ lấy top 10%
frequency_penalty Phạt nếu từ/ý lặp lại nhiều lần. Từ -2 đến 2
presence_penalty Phạt nếu từ/ý đã từng xuất hiện trước đó. Khuyến khích ý tưởng mới. Từ -2 đến 2

Ví dụ: Điều chỉnh temperature

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "Viết một đoạn thơ ngắn về bầu trời đêm"}
    ],
    temperature=0.2
)
print(response['choices'][0]['message']['content'])

Với temperature = 0.2, kết quả sẽ logic, nhất quán và có vẻ "an toàn".

Giờ hãy thử với temperature = 1.5

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "Viết một đoạn thơ ngắn về bầu trời đêm"}
    ],
    temperature=1.5
)

Kết quả sẽ sáng tạo, bất ngờ, nhưng có thể "quá bay bổng" hoặc không chính xác – gọi là ảo giác(hallucination).

Kết hợp các tham số để điều chỉnh hành vi

Hãy xem ví dụ với presence_penaltyfrequency_penalty

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "Bạn là một nhà văn sáng tạo."},
        {"role": "user", "content": "Hãy kể một câu chuyện về chú mèo khám phá vũ trụ."}
    ],
    temperature=1.0,
    frequency_penalty=1.2,
    presence_penalty=1.0
)

Điều này giúp GPT tránh lặp lạitìm ra nội dung mới mẻ, tạo nên một câu chuyện hấp dẫn hơn.

Sử dụng Playground để dễ dàng điều chỉnh

Truy cập: https://platform.openai.com/playground

  • Bạn có thể điều chỉnh tham số qua thanh trượt.

  • Playground sẽ tự động sinh ra mã code Python để bạn sao chép về dùng.

  • Cũng có tính năng so sánh mô hình (Compare), giúp bạn đối chiếu đầu ra giữa GPT-4-0125, GPT-4o, hay mô hình fine-tuned của bạn.

Lưu ý khi sử dụng

  • Không nên kết hợp top_ptemperature cùng lúc, hãy chọn một trong hai.

  • Cần kiểm thử đầu ra nhiều lần, vì đầu ra không cố định khi temperature > 0.

  • Nếu GPT tạo ra kết quả kỳ lạ (hallucination), hãy giảm temperature và thử lại.

Việc điều chỉnh các tham số trong OpenAI API giúp bạn:

  • Tạo ra nội dung sáng tạo hơn hoặc ổn định hơn tùy theo nhu cầu.

  • Tránh việc GPT lặp lại ý tưởng.

  • Tùy biến trải nghiệm người dùng cho chatbot, hệ thống gợi ý, hoặc sáng tạo nội dung.

Tác giả: Đỗ Ngọc Tú
Công Ty Phần Mềm VHTSoft