LLM: Tinh chỉnh, chưng cất và kỹ thuật tạo câu lệnh

Bài trước đã mô tả các LLM dùng cho nhiều mục đích, còn gọi là:

  • LLM nền tảng
  • LLM cơ sở
  • LLM được huấn luyện trước

LLM cơ bản được huấn luyện về đủ ngôn ngữ tự nhiên để "biết" một lượng đáng kể về ngữ pháp, từ và thành ngữ. Mô hình ngôn ngữ cơ sở có thể tạo ra các câu hữu ích về các chủ đề mà mô hình được huấn luyện. Hơn nữa, một LLM cơ bản có thể thực hiện một số nhiệm vụ nhất định thường được gọi là "sáng tạo", chẳng hạn như viết thơ. Tuy nhiên, kết quả văn bản tạo sinh của LLM cơ bản không phải là giải pháp cho các loại vấn đề phổ biến khác về học máy, chẳng hạn như hồi quy hoặc phân loại. Đối với các trường hợp sử dụng này, LLM cơ sở có thể đóng vai trò là một nền tảng thay vì một giải pháp.

Để chuyển đổi LLM cơ sở thành một giải pháp đáp ứng nhu cầu của ứng dụng, bạn cần thực hiện một quy trình gọi là điều chỉnh chi tiết. Một quy trình phụ có tên là chưng cất sẽ tạo ra một phiên bản nhỏ hơn (ít tham số hơn) của mô hình được tinh chỉnh.

Tinh chỉnh

Nghiên cứu cho thấy rằng khả năng nhận dạng mẫu của các mô hình ngôn ngữ cơ sở rất mạnh mẽ, đôi khi chỉ cần đào tạo thêm một chút là có thể học được các nhiệm vụ cụ thể. Quá trình huấn luyện bổ sung đó giúp mô hình đưa ra dự đoán chính xác hơn về một nhiệm vụ cụ thể. Lớp đào tạo bổ sung này, được gọi là điều chỉnh tinh vi, sẽ giúp bạn khai thác khía cạnh thực tế của LLM.

Điều chỉnh chi tiết các mô hình huấn luyện dựa trên các ví dụ cụ thể cho tác vụ mà ứng dụng của bạn sẽ thực hiện. Đôi khi, các kỹ sư có thể tinh chỉnh một LLM cơ bản chỉ bằng vài trăm hoặc vài nghìn ví dụ huấn luyện.

Mặc dù có số lượng ví dụ huấn luyện tương đối nhỏ, nhưng việc tinh chỉnh tiêu chuẩn thường tốn kém về mặt tính toán. Đó là do việc tinh chỉnh chuẩn bao gồm việc cập nhật trọng số và độ lệch của mọi tham số trên mỗi vòng lặp phản hồi ngược. Rất may, một quy trình thông minh hơn có tên là điều chỉnh hiệu quả tham số có thể tinh chỉnh LLM bằng cách chỉ điều chỉnh một nhóm nhỏ tham số trên mỗi lần lặp lại quy trình truyền ngược.

Thông thường, kết quả dự đoán của mô hình được tinh chỉnh sẽ tốt hơn kết quả dự đoán của LLM cơ bản. Tuy nhiên, mô hình được tinh chỉnh chứa cùng số lượng tham số với LLM cơ sở. Vì vậy, nếu một LLM cơ sở chứa 10 tỷ tham số, thì phiên bản được tinh chỉnh cũng sẽ chứa 10 tỷ tham số.

Chưng cất

Hầu hết các LLM được tinh chỉnh đều chứa số lượng tham số khổng lồ. Do đó, các mô hình ngôn ngữ lớn (LLM) cơ sở đòi hỏi tài nguyên điện toán và môi trường khổng lồ để tạo ra dự đoán. Xin lưu ý rằng phần lớn các tham số đó thường không liên quan đến một ứng dụng cụ thể.

Quy trình chưng cất tạo ra một phiên bản LLM nhỏ hơn. LLM tinh chế tạo ra các dự đoán nhanh hơn nhiều và yêu cầu ít tài nguyên tính toán và môi trường hơn so với LLM đầy đủ. Tuy nhiên, kết quả dự đoán của mô hình tinh chế thường không tốt bằng kết quả dự đoán của LLM ban đầu. Hãy nhớ rằng LLM có nhiều tham số hơn gần như luôn tạo ra kết quả dự đoán tốt hơn so với LLM có ít tham số hơn.

Thiết kế câu lệnh

Kỹ thuật nhắc cho phép người dùng cuối của LLM tuỳ chỉnh đầu ra của mô hình. Tức là người dùng cuối sẽ làm rõ cách LLM phản hồi lời nhắc của họ.

Con người học tốt từ các ví dụ. LLM cũng vậy. Việc hiển thị một ví dụ cho LLM được gọi là lệnh nhắc một lần. Ví dụ: giả sử bạn muốn một mô hình sử dụng định dạng sau để xuất ra một họ trái cây:

Người dùng nhập tên của một loại trái cây: LLM sẽ xuất ra lớp của loại trái cây đó.

Lệnh gọi một lần hiển thị cho LLM một ví dụ duy nhất về định dạng trước đó, sau đó yêu cầu LLM hoàn tất một truy vấn dựa trên ví dụ đó. Ví dụ:

peach: drupe
apple: ______

Đôi khi, chỉ cần một ví dụ là đủ. Nếu có, LLM sẽ đưa ra một dự đoán hữu ích. Ví dụ:

apple: pome

Trong các trường hợp khác, một ví dụ không đủ. Tức là người dùng phải cho thấy nhiều ví dụ về LLM. Ví dụ: câu lệnh sau đây chứa hai ví dụ:

plum: drupe
pear: pome
lemon: ____

Việc cung cấp nhiều ví dụ được gọi là câu lệnh gợi ý một vài lần. Bạn có thể coi hai dòng đầu tiên của câu lệnh trước đó là các ví dụ đào tạo.

Mô hình ngôn ngữ lớn (LLM) có thể đưa ra dự đoán hữu ích mà không cần ví dụ (câu lệnh gợi ý không có ví dụ) không? Đôi khi, nhưng LLM thích ngữ cảnh. Nếu không có ngữ cảnh, câu lệnh không có ảnh sau đây có thể trả về thông tin về công ty công nghệ thay vì quả:

apple: _______

Suy luận ngoại tuyến

Đôi khi, số lượng tham số trong một LLM rất lớn nên quy trình suy luận trực tuyến diễn ra quá chậm để có thể áp dụng cho các nhiệm vụ thực tế như hồi quy hoặc phân loại. Do đó, nhiều nhóm kỹ sư dựa vào tính năng suy luận ngoại tuyến (còn gọi là tính năng suy luận hàng loạt hoặc tính năng suy luận tĩnh). Nói cách khác, thay vì phản hồi các truy vấn tại thời điểm phân phát, mô hình đã huấn luyện sẽ dự đoán trước rồi lưu các dự đoán đó vào bộ nhớ đệm.

Không quan trọng việc LLM mất nhiều thời gian để hoàn thành nhiệm vụ nếu LLM chỉ phải thực hiện nhiệm vụ một lần một tuần hoặc một lần một tháng.

Ví dụ: Google Tìm kiếm đã sử dụng LLM để thực hiện suy luận ngoại tuyến nhằm lưu vào bộ nhớ đệm danh sách hơn 800 từ đồng nghĩa cho vắc-xin Covid bằng hơn 50 ngôn ngữ. Sau đó, Google Tìm kiếm đã sử dụng danh sách đã lưu vào bộ nhớ đệm để xác định các cụm từ tìm kiếm về vắc-xin trong lưu lượng truy cập trực tiếp.

Sử dụng LLM một cách có trách nhiệm

Giống như mọi hình thức học máy, LLM thường có những thành kiến như:

  • Dữ liệu mà chúng được huấn luyện.
  • Dữ liệu mà chúng được tổng hợp.

Sử dụng LLM một cách công bằng và có trách nhiệm, tuân theo các nguyên tắc được trình bày trong mô-đun dữ liệumô-đun Công bằng.

Bài tập: Kiểm tra mức độ hiểu bài

Câu nào sau đây là đúng về LLM?
LLM tinh chế chứa ít tham số hơn so với mô hình ngôn ngữ cơ sở mà nó bắt nguồn.
Có, quá trình chưng cất làm giảm số lượng tham số.
LLM được tinh chỉnh chứa ít thông số hơn so với mô hình ngôn ngữ cơ sở mà mô hình này được huấn luyện.
Mô hình được tinh chỉnh chứa cùng số lượng tham số như mô hình ngôn ngữ cơ sở ban đầu.
Khi người dùng thực hiện nhiều kỹ thuật nhắc hơn, số lượng tham số trong LLM sẽ tăng lên.
Kỹ thuật lời nhắc không thêm (hoặc xoá hoặc thay đổi) các thông số LLM.