Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "HI.AI Members" các nội dung bạn quan tâm.

Bài 5. Điều chỉnh temperature, top_p, num_ctx

1. Đặt vấn đề

Khi làm việc với model ngôn ngữ, chất lượng câu trả lời không chỉ phụ thuộc vào model nền và system prompt. Các tham số sinh văn bản cũng ảnh hưởng rất lớn. Trong Ollama và Modelfile, các tham số như temperature, top_p, num_ctx thường được dùng để điều chỉnh mức độ sáng tạo, độ ổn định và độ dài ngữ cảnh mà model xử lý.

Trong bệnh viện, việc điều chỉnh tham số cần thận trọng. Không phải lúc nào câu trả lời sáng tạo cũng tốt. Với quy trình, quy định, văn bản pháp luật, chuyên môn y tế và RAG, ưu tiên là đúng, ổn định, bám nguồn. Với các tác vụ gợi ý ý tưởng, truyền thông hoặc phác thảo nội dung, có thể cho model linh hoạt hơn.

2. Temperature là gì?

temperature ảnh hưởng đến mức độ ngẫu nhiên khi model sinh câu trả lời. Nói đơn giản:

  • Temperature thấp: câu trả lời ổn định hơn, ít sáng tạo hơn.
  • Temperature cao: câu trả lời đa dạng hơn, sáng tạo hơn nhưng dễ lệch hơn.

Ví dụ:

 
PARAMETER temperature 0.2
 

Trong bệnh viện, temperature thấp thường phù hợp cho:

  • Trả lời quy trình.
  • Tra cứu văn bản.
  • RAG.
  • Tóm tắt tài liệu.
  • Trích xuất thông tin.
  • Phân loại.
  • Văn bản hành chính cần ổn định.

Temperature cao hơn có thể dùng cho:

  • Gợi ý ý tưởng truyền thông.
  • Đề xuất khẩu hiệu.
  • Phác thảo nội dung đào tạo.
  • Brainstorm giải pháp cải tiến.

Tuy nhiên, ngay cả với tác vụ sáng tạo, vẫn cần giới hạn vì môi trường bệnh viện yêu cầu tính chính xác và phù hợp.

3. Gợi ý temperature theo tác vụ bệnh viện

Có thể tham khảo:

Tác vụTemperature gợi ý
Tra cứu quy trình, quy định0.1–0.3
RAG tài liệu nội bộ0.1–0.3
Văn bản pháp luật y tế0.1–0.2
Tóm tắt tài liệu0.1–0.3
Trích xuất thông tin0.0–0.2
Phân loại phản ánh0.0–0.2
Soạn thảo hành chính0.2–0.4
Quản lý chất lượng0.2–0.5
Gợi ý ý tưởng truyền thông0.5–0.7

Đây chỉ là định hướng. Cần test với model cụ thể.

4. top_p là gì?

top_p là tham số nucleus sampling. Nó kiểm soát tập hợp token mà model có thể chọn dựa trên xác suất tích lũy. Hiểu đơn giản, top_p thấp hơn làm câu trả lời tập trung hơn; top_p cao hơn cho phép đa dạng hơn.

Ví dụ:

 
PARAMETER top_p 0.9
 

Trong bệnh viện, thường có thể dùng top_p khoảng 0.8–0.95. Không nên chỉnh quá cực đoan nếu chưa hiểu rõ. Với tác vụ cần ổn định, có thể dùng top_p thấp hơn một chút; với tác vụ sáng tạo, có thể cao hơn.

5. Quan hệ giữa temperature và top_p

Cả temperature và top_p đều ảnh hưởng đến độ đa dạng của câu trả lời. Nếu cả hai đều cao, model có thể sáng tạo hơn nhưng cũng dễ sai hơn. Nếu cả hai đều thấp, câu trả lời có thể ổn định nhưng đôi khi khô cứng.

Trong bệnh viện, nên bắt đầu với cấu hình an toàn:

 
PARAMETER temperature 0.2
PARAMETER top_p 0.9
 

Sau đó điều chỉnh theo tác vụ.

6. num_ctx là gì?

num_ctx là tham số liên quan đến độ dài ngữ cảnh mà model có thể xử lý. Context bao gồm system prompt, câu hỏi người dùng, lịch sử hội thoại, tài liệu RAG và câu trả lời sinh ra. Nếu context quá nhỏ, model không xử lý đủ tài liệu. Nếu context quá lớn, hệ thống cần nhiều RAM/VRAM hơn và có thể chậm.

Ví dụ:

 
PARAMETER num_ctx 4096
 

Hoặc:

 
PARAMETER num_ctx 8192
 

Tùy model và phần cứng, giá trị phù hợp khác nhau.

7. num_ctx trong hệ thống RAG bệnh viện

RAG thường cần đưa tài liệu vào prompt, nên cần context đủ lớn. Tuy nhiên, không nên tăng num_ctx tùy tiện. Cách tốt hơn là tối ưu truy xuất để chỉ đưa các chunk liên quan nhất.

Ví dụ, thay vì đưa 20 đoạn dài vào prompt, nên đưa 3–5 đoạn chất lượng cao. Điều này giúp:

  • Giảm token.
  • Tăng tốc độ.
  • Giảm nhiễu.
  • Giúp model bám nguồn tốt hơn.
  • Giảm nhu cầu VRAM.

Trong bệnh viện, tối ưu RAG thường quan trọng hơn tăng context quá lớn.

8. Gợi ý num_ctx theo tác vụ

Tác vụnum_ctx gợi ý
Chat ngắn2048–4096
Soạn văn bản hành chính4096–8192
RAG cơ bản4096–8192
Tóm tắt tài liệu dài8192 trở lên nếu phần cứng cho phép
Pháp luật y tế có nhiều trích đoạn8192 hoặc tối ưu chunk
Model nhỏ/GPU hạn chếgiữ thấp hơn để ổn định

Cần kiểm tra thực tế vì num_ctx cao có thể làm model chậm hoặc tăng VRAM.

9. Không có tham số tối ưu cho mọi model

Mỗi model phản ứng khác nhau với temperature, top_p và num_ctx. Một model có thể hoạt động tốt ở temperature 0.2, model khác cần 0.3. Một model có thể xử lý context dài tốt, model khác suy giảm chất lượng khi context quá dài.

Vì vậy, cần test theo từng model tùy biến.

10. Cấu hình theo vai trò trợ lý

Ví dụ:

Trợ lý pháp luật y tế

 
PARAMETER temperature 0.1
PARAMETER top_p 0.8
PARAMETER num_ctx 8192
 

Ưu tiên ổn định và bám nguồn.

Trợ lý hành chính

 
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
 

Cân bằng giữa ổn định và khả năng viết.

Trợ lý truyền thông sức khỏe

 
PARAMETER temperature 0.5
PARAMETER top_p 0.95
PARAMETER num_ctx 4096
 

Linh hoạt hơn nhưng vẫn cần kiểm duyệt.

Trợ lý CNTT

 
PARAMETER temperature 0.2
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
 

Ưu tiên chính xác, ít sáng tạo sai.

11. Kiểm tra sau khi chỉnh tham số

Sau mỗi lần chỉnh, cần test:

  • Câu trả lời có ổn định hơn không?
  • Có bịa ít hơn không?
  • Có quá khô cứng không?
  • Có đủ sáng tạo cho tác vụ viết không?
  • Tốc độ có thay đổi không?
  • VRAM/RAM có tăng không?
  • RAG có bám nguồn hơn không?

Không nên chỉnh tham số theo cảm giác rồi triển khai ngay.

12. Kết luận

temperature, top_pnum_ctx là các tham số quan trọng khi tùy biến model bằng Modelfile. Trong bệnh viện, cần ưu tiên độ đúng, tính ổn định và bám nguồn hơn là sáng tạo tự do. Temperature thấp phù hợp với quy trình, pháp luật, RAG và trích xuất. num_ctx cần đủ cho ngữ cảnh nhưng không nên tăng quá mức nếu không tối ưu RAG. Mọi tham số phải được kiểm tra bằng tác vụ thực tế trước khi dùng chính thức.