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.2Trong 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 định | 0.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ệu | 0.1–0.3 |
| Trích xuất thông tin | 0.0–0.2 |
| Phân loại phản ánh | 0.0–0.2 |
| Soạn thảo hành chính | 0.2–0.4 |
| Quản lý chất lượng | 0.2–0.5 |
| Gợi ý ý tưởng truyền thông | 0.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.9Trong 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.2PARAMETER 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 4096Hoặc:
PARAMETER num_ctx 8192Tù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ắn | 2048–4096 |
| Soạn văn bản hành chính | 4096–8192 |
| RAG cơ bản | 4096–8192 |
| Tóm tắt tài liệu dài | 8192 trở lên nếu phần cứng cho phép |
| Pháp luật y tế có nhiều trích đoạn | 8192 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.1PARAMETER top_p 0.8PARAMETER num_ctx 8192
Ưu tiên ổn định và bám nguồn.
Trợ lý hành chính
PARAMETER temperature 0.3PARAMETER top_p 0.9PARAMETER 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.5PARAMETER top_p 0.95PARAMETER num_ctx 4096
Linh hoạt hơn nhưng vẫn cần kiểm duyệt.
Trợ lý CNTT
PARAMETER temperature 0.2PARAMETER top_p 0.9PARAMETER 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_p và num_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.
- Đăng nhập để gửi ý kiến