Khi bạn chọn mô hình của mình, bạn sẽ cần tìm hiểu cấu hình của mô hình. Hầu hết các LLM đi kèm với nhiều tùy chọn cấu hình khác nhau để kiểm soát đầu ra của LLM. Kỹ thuật nhắc hiệu quả đòi hỏi việc thiết lập các cấu hình này một cách tối ưu cho nhiệm vụ của bạn.
Độ dài đầu ra (Output length)
Một cài đặt cấu hình quan trọng là số lượng token được tạo ra trong một phản hồi. Việc tạo ra nhiều token hơn yêu cầu LLM thực hiện nhiều tính toán hơn, dẫn đến tiêu thụ năng lượng cao hơn, thời gian phản hồi có khả năng chậm hơn và chi phí cao hơn.
Việc giảm độ dài đầu ra của LLM không làm cho LLM trở nên cô đọng hơn về mặt văn phong hay văn bản trong đầu ra nó tạo ra, mà chỉ khiến LLM ngừng dự đoán thêm token khi đạt đến giới hạn. Nếu nhu cầu của bạn đòi hỏi độ dài đầu ra ngắn, bạn cũng có thể cần phải thiết kế lời nhắc của mình để phù hợp. Hạn chế độ dài đầu ra đặc biệt quan trọng đối với một số kỹ thuật nhắc LLM, như ReAct, nơi LLM sẽ tiếp tục phát ra các token vô dụng sau khi có phản hồi bạn mong muốn.
Hãy lưu ý rằng, việc tạo ra nhiều token hơn đòi hỏi LLM phải thực hiện nhiều phép tính hơn, dẫn đến tiêu thụ năng lượng cao hơn, thời gian phản hồi có khả năng chậm hơn và chi phí cao hơn.
Hiển thị thêm
Mục tiêu:
• Hiểu và áp dụng các tham số cấu hình đầu ra của LLM (Temperature, Top-K, Top-P, độ dài token).
• Nhận diện và giải quyết các vấn đề phổ biến liên quan đến đầu ra của LLM.
• Áp dụng các thực hành tốt nhất trong kỹ thuật nhắc liên quan đến cấu hình đầu ra.
• Thực hành ghi lại các lần thử nghiệm nhắc.
Phần 1: Hiểu biết về các tham số cấu hình đầu ra
• Câu 1: Giải thích mối quan hệ và sự ảnh hưởng lẫn nhau giữa Nhiệt độ (Temperature), Top-K và Top-P khi chúng đều khả dụng trong một LLM như Vertex Studio. Điều gì xảy ra khi Nhiệt độ được đặt cực cao hoặc bằng 0, và Top-K hoặc Top-P được đặt ở giá trị cực đoan?
• Khi Nhiệt độ, Top-K và Top-P đều có sẵn (như trong Vertex Studio), các token đáp ứng cả tiêu chí Top-K và Top-P sẽ là ứng cử viên cho token tiếp theo được dự đoán. Sau đó, nhiệt độ được áp dụng để lấy mẫu từ các token đã vượt qua tiêu chí Top-K và Top-P đó. Nếu chỉ có Top-K hoặc Top-P khả dụng, hành vi sẽ tương tự nhưng chỉ sử dụng một cài đặt đó.
• Ở các cài đặt cực đoan của một giá trị cấu hình lấy mẫu, cài đặt đó có thể triệt tiêu các cài đặt cấu hình khác hoặc trở nên không liên quan.
◦ Nhiệt độ bằng 0: Khi bạn đặt nhiệt độ bằng 0, Top-K và Top-P trở nên không liên quan. Token có xác suất cao nhất sẽ luôn là token tiếp theo được dự đoán. Đây còn được gọi là giải mã tham lam (greedy decoding).
◦ Nhiệt độ cực cao (trên 1, thường khoảng 10): Nhiệt độ trở nên không liên quan. Bất kỳ token nào vượt qua tiêu chí Top-K và/hoặc Top-P sẽ được lấy mẫu ngẫu nhiên để chọn token tiếp theo được dự đoán.
◦ Top-K bằng 1: Nhiệt độ và Top-P trở nên không liên quan. Chỉ một token duy nhất vượt qua tiêu chí Top-K, và token đó là token tiếp theo được dự đoán. Điều này tương đương với giải mã tham lam (greedy decoding).
◦ Top-K cực cao (bằng kích thước bộ từ vựng của LLM): Bất kỳ token nào có xác suất khác 0 để trở thành token tiếp theo sẽ đáp ứng tiêu chí Top-K và không có token nào bị loại bỏ.
◦ Top-P bằng 0 (hoặc một giá trị rất nhỏ): Hầu hết các triển khai lấy mẫu của LLM sẽ chỉ xem xét token có xác suất cao nhất để đáp ứng tiêu chí Top-P, làm cho Nhiệt độ và Top-K trở nên không liên quan.
◦ Top-P bằng 1: Bất kỳ token nào có xác suất khác 0 để trở thành token tiếp theo sẽ đáp ứng tiêu chí Top-P, và không có token nào bị loại bỏ.
• Câu 2: Tại sao việc kiểm soát độ dài đầu ra (output length) của LLM lại quan trọng? Điều gì xảy ra nếu bạn chỉ giảm giới hạn độ dài token mà không điều chỉnh nhắc (prompt) tương ứng?
• Việc kiểm soát độ dài đầu ra quan trọng vì:
◦ Tiêu thụ tài nguyên: Tạo ra nhiều token hơn đòi hỏi nhiều tính toán hơn từ LLM.
◦ Hiệu suất và chi phí: Điều này dẫn đến tiêu thụ năng lượng cao hơn, thời gian phản hồi có khả năng chậm hơn và chi phí cao hơn.
◦ Tính hữu dụng: Việc hạn chế độ dài đầu ra đặc biệt quan trọng đối với một số kỹ thuật nhắc như ReAct, nơi LLM có thể tiếp tục phát ra các token không hữu ích sau khi phản hồi mong muốn đã được tạo ra.
• Nếu bạn chỉ giảm giới hạn độ dài token mà không điều chỉnh nhắc tương ứng, LLM sẽ ngừng dự đoán thêm token ngay khi đạt đến giới hạn. Việc giảm độ dài đầu ra không làm cho LLM trở nên ngắn gọn hơn về mặt văn phong hay nội dung; nó chỉ đơn thuần cắt đứt quá trình tạo ra đầu ra. Nếu nhu cầu của bạn yêu cầu một đầu ra ngắn, bạn cũng có thể cần phải thiết kế nhắc của mình để phù hợp.
--------------------------------------------------------------------------------
Phần 2: Ứng dụng thực tế và khắc phục sự cố
• Tình huống: Bạn đang sử dụng một LLM để tạo ra các mô tả sản phẩm sáng tạo cho một cửa hàng trực tuyến.
◦ Nhiệm vụ 1: Hãy đề xuất một bộ cài đặt khởi đầu cho Nhiệt độ, Top-P và Top-K để có được kết quả sáng tạo nhưng không quá mức. Nếu bạn muốn kết quả đặc biệt sáng tạo, cài đặt của bạn sẽ thay đổi như thế nào?
▪ Để có kết quả tương đối mạch lạc, có thể sáng tạo nhưng không quá mức: Hãy thử bắt đầu với Nhiệt độ 0.2, Top-P 0.95 và Top-K 30.
▪ Nếu bạn muốn kết quả đặc biệt sáng tạo: Hãy thử bắt đầu với Nhiệt độ 0.9, Top-P 0.99 và Top-K 40.
◦ Nhiệm vụ 2: Trong quá trình thử nghiệm, bạn nhận thấy LLM của mình đôi khi tạo ra các câu trả lời kết thúc bằng một lượng lớn từ đệm hoặc lặp lại cùng một cụm từ liên tục.
▪ Đây được gọi là lỗi gì?.
• Đây được gọi là "lỗi lặp lại" (repetition loop bug).
▪ Giải thích tại sao lỗi này có thể xảy ra ở cả cài đặt nhiệt độ thấp và cao.
• Ở nhiệt độ thấp: Mô hình trở nên quá xác định, bám chặt vào con đường có xác suất cao nhất. Điều này có thể dẫn đến một vòng lặp nếu con đường đó quay lại văn bản đã tạo trước đó.
• Ở nhiệt độ cao: Đầu ra của mô hình trở nên ngẫu nhiên quá mức, làm tăng khả năng một từ hoặc cụm từ được chọn ngẫu nhiên sẽ, do tình cờ, dẫn trở lại trạng thái trước đó, tạo ra một vòng lặp do số lượng lớn các tùy chọn có sẵn.
▪ Bạn sẽ làm gì để cố gắng giải quyết vấn đề này dựa trên thông tin được cung cấp?.
• Để giải quyết vấn đề này, thường đòi hỏi phải tinh chỉnh cẩn thận các giá trị Nhiệt độ và Top-K/Top-P để tìm ra sự cân bằng tối ưu giữa tính xác định và tính ngẫu nhiên.
◦ Nhiệm vụ 3: Bạn muốn đảm bảo rằng các mô tả sản phẩm luôn trả về dữ liệu có cấu trúc để dễ dàng tích hợp vào cơ sở dữ liệu của mình.
▪ Theo các thực hành tốt nhất, bạn nên sử dụng định dạng đầu ra nào để đạt được điều này?.
• Bạn nên thử có đầu ra được trả về dưới định dạng có cấu trúc như JSON hoặc XML.
▪ Nêu ít nhất ba lợi ích chính của việc sử dụng định dạng này cho đầu ra của LLM.
• Các lợi ích chính của việc sử dụng JSON cho đầu ra bao gồm:
◦ Luôn trả về cùng một kiểu/định dạng.
◦ Buộc mô hình tạo ra một cấu trúc và hạn chế "ảo giác" (hallucinations).
◦ Cho phép bạn tập trung vào dữ liệu bạn muốn nhận.
◦ Có thể làm cho dữ liệu nhận biết mối quan hệ.
◦ Bạn nhận được các kiểu dữ liệu cụ thể.
◦ Bạn có thể sắp xếp dữ liệu.
▪ Nếu đầu ra bị cắt cụt và không hợp lệ, bạn có thể sử dụng công cụ nào để sửa chữa?.
• Bạn có thể sử dụng các công cụ như thư viện json-repair (có sẵn trên PyPI) để tự động sửa chữa các đối tượng JSON không đầy đủ hoặc bị lỗi.
▪ Ngoài ra, các lược đồ JSON (JSON Schemas) có thể hữu ích như thế nào trong việc cấu trúc đầu vào cho LLM?.
• Lược đồ JSON (JSON Schemas) có thể định nghĩa cấu trúc và kiểu dữ liệu dự kiến của đầu vào JSON của bạn. Bằng cách cung cấp một lược đồ, bạn cung cấp cho LLM một bản thiết kế rõ ràng về dữ liệu mà nó nên mong đợi, giúp mô hình tập trung sự chú ý vào thông tin liên quan và giảm nguy cơ hiểu sai đầu vào. Hơn nữa, lược đồ có thể giúp thiết lập mối quan hệ giữa các phần dữ liệu khác nhau và thậm chí làm cho LLM "nhận biết thời gian" bằng cách bao gồm các trường ngày hoặc dấu thời gian với các định dạng cụ thể.
--------------------------------------------------------------------------------
Phần 3: Tài liệu hóa (Documentation)
• Nhiệm vụ: Bạn đã thực hiện nhiều lần thử nghiệm với các nhắc khác nhau và cài đặt cấu hình đầu ra cho nhiệm vụ mô tả sản phẩm ở trên.
◦ Tại sao việc ghi lại chi tiết các lần thử nhắc lại quan trọng?
▪ Việc ghi lại chi tiết các lần thử nhắc là cực kỳ quan trọng để bạn có thể học hỏi theo thời gian điều gì đã diễn ra tốt và điều gì không.
▪ Đầu ra của nhắc có thể khác nhau giữa các mô hình, giữa các cài đặt lấy mẫu, và thậm chí giữa các phiên bản khác nhau của cùng một mô hình. Ngay cả với các nhắc giống hệt nhau cho cùng một mô hình, có thể có những khác biệt nhỏ trong định dạng câu và lựa chọn từ.
▪ Nó cung cấp một bản ghi đầy đủ khi bạn cần xem lại công việc thiết kế nhắc của mình trong tương lai (ví dụ: để tiếp tục công việc sau một thời gian nghỉ, để kiểm tra hiệu suất của nhắc trên các phiên bản mô hình khác nhau, và để giúp gỡ lỗi các lỗi trong tương lai).
◦ Hãy tạo một mẫu tài liệu đơn giản (ví dụ: sử dụng bảng hoặc gạch đầu dòng) mà bạn sẽ sử dụng để ghi lại các lần thử nghiệm của mình. Mẫu này nên bao gồm ít nhất các trường được đề xuất trong tài liệu, và nếu có thể, hãy thêm một số trường bổ sung được gợi ý.
• Dưới đây là một mẫu tài liệu đơn giản, có thể dùng trong Google Sheet hoặc tương tự:
• Mẫu tài liệu hóa lần thử nhắc:
◦ Tên: [tên và phiên bản nhắc của bạn]
◦ Mục tiêu: [Giải thích mục tiêu của lần thử này trong một câu]
◦ Mô hình: [tên và phiên bản mô hình được sử dụng]
◦ Nhiệt độ: [giá trị từ 0 - 1]
◦ Giới hạn Token (Token Limit): [số lượng]
◦ Top-K: [số lượng]
◦ Top-P: [số lượng]
◦ Nhắc (Prompt): [Viết toàn bộ nhắc đầy đủ]
◦ Đầu ra (Output): [Viết ra đầu ra hoặc nhiều đầu ra]
◦ Phiên bản nhắc (Iteration): [số lần lặp lại của nhắc này]
◦ Kết quả: [OK / KHÔNG OK / ĐÔI KHI OK]
◦ Phản hồi/Nhận xét: [ghi chú về những gì đã xảy ra, các điểm cần cải thiện, hoặc bất kỳ quan sát nào khác]
◦ Hyperlink tới nhắc đã lưu (nếu có): [liên kết trực tiếp đến nhắc đã lưu trong Vertex AI Studio hoặc công cụ tương tự]
Hiển thị thêm