Các chiến lược thiết kế lời nhắc như lời nhắc một vài lần có thể không phải lúc nào cũng mang lại kết quả mà bạn cần. Điều chỉnh chi tiết là một quy trình có thể cải thiện hiệu suất của mô hình đối với các nhiệm vụ cụ thể hoặc giúp mô hình tuân thủ các yêu cầu đầu ra cụ thể khi hướng dẫn không đủ và bạn có một bộ ví dụ minh hoạ đầu ra mà bạn muốn.
Trang này cung cấp thông tin tổng quan khái niệm về việc tinh chỉnh mô hình văn bản đằng sau dịch vụ văn bản API Gemini. Khi bạn đã sẵn sàng bắt đầu điều chỉnh, hãy thử hướng dẫn tinh chỉnh. Nếu bạn muốn tìm hiểu thêm về cách tuỳ chỉnh LLM cho các trường hợp sử dụng cụ thể, hãy xem phần LLM: Điều chỉnh, tinh lọc và kỹ thuật câu lệnh trong Khoá học máy học ứng dụng.
Cách hoạt động của tính năng tinh chỉnh
Mục tiêu của việc tinh chỉnh là cải thiện thêm hiệu suất của mô hình cho tác vụ cụ thể của bạn. Tính năng tinh chỉnh hoạt động bằng cách cung cấp cho mô hình một tập dữ liệu đào tạo chứa nhiều ví dụ về tác vụ. Đối với các tác vụ chuyên biệt, bạn có thể cải thiện đáng kể hiệu suất của mô hình bằng cách điều chỉnh mô hình trên một số lượng ví dụ khiêm tốn. Loại điều chỉnh mô hình này đôi khi được gọi là điều chỉnh tinh chỉnh có giám sát để phân biệt với các loại điều chỉnh tinh chỉnh khác.
Dữ liệu huấn luyện của bạn phải được cấu trúc dưới dạng ví dụ với dữ liệu đầu vào và dữ liệu đầu ra phản hồi dự kiến. Bạn cũng có thể điều chỉnh mô hình bằng dữ liệu mẫu ngay trong Google AI Studio. Mục tiêu là dạy mô hình bắt chước hành vi hoặc nhiệm vụ mong muốn bằng cách đưa ra nhiều ví dụ minh hoạ hành vi hoặc nhiệm vụ đó.
Khi bạn chạy một công việc điều chỉnh, mô hình sẽ học thêm các thông số giúp mô hình mã hoá thông tin cần thiết để thực hiện tác vụ mong muốn hoặc học hành vi mong muốn. Sau đó, bạn có thể sử dụng các tham số này tại thời điểm dự đoán. Kết quả của công việc điều chỉnh là một mô hình mới, là sự kết hợp hiệu quả giữa các tham số mới học được và mô hình ban đầu.
Chuẩn bị tập dữ liệu
Trước khi có thể bắt đầu tinh chỉnh, bạn cần có một tập dữ liệu để điều chỉnh mô hình. Để đạt được hiệu suất tốt nhất, các ví dụ trong tập dữ liệu phải có chất lượng cao, đa dạng và đại diện cho dữ liệu đầu vào và đầu ra thực tế.
Định dạng
Các ví dụ trong tập dữ liệu của bạn phải khớp với lưu lượng truy cập dự kiến trong môi trường thực tế. Nếu tập dữ liệu của bạn chứa định dạng, từ khoá, hướng dẫn hoặc thông tin cụ thể, thì dữ liệu sản xuất phải được định dạng theo cách tương tự và chứa cùng hướng dẫn.
Ví dụ: nếu các ví dụ trong tập dữ liệu của bạn bao gồm "question:"
và "context:"
, thì lưu lượng truy cập thực tế cũng phải được định dạng để bao gồm "question:"
và "context:"
theo thứ tự giống như trong các ví dụ về tập dữ liệu. Nếu bạn loại trừ ngữ cảnh, mô hình sẽ không nhận ra được mẫu, ngay cả khi câu hỏi chính xác có trong ví dụ trong tập dữ liệu.
Ví dụ khác: Dưới đây là dữ liệu huấn luyện Python cho một ứng dụng tạo số tiếp theo trong một trình tự:
training_data = [
{"text_input": "1", "output": "2"},
{"text_input": "3", "output": "4"},
{"text_input": "-3", "output": "-2"},
{"text_input": "twenty two", "output": "twenty three"},
{"text_input": "two hundred", "output": "two hundred one"},
{"text_input": "ninety nine", "output": "one hundred"},
{"text_input": "8", "output": "9"},
{"text_input": "-98", "output": "-97"},
{"text_input": "1,000", "output": "1,001"},
{"text_input": "10,100,000", "output": "10,100,001"},
{"text_input": "thirteen", "output": "fourteen"},
{"text_input": "eighty", "output": "eighty one"},
{"text_input": "one", "output": "two"},
{"text_input": "three", "output": "four"},
{"text_input": "seven", "output": "eight"},
]
Việc thêm câu lệnh hoặc lời mở đầu vào từng ví dụ trong tập dữ liệu cũng có thể giúp cải thiện hiệu suất của mô hình đã điều chỉnh. Lưu ý: nếu một lời nhắc hoặc lời mở đầu có trong tập dữ liệu của bạn, thì lời nhắc đó cũng phải có trong lời nhắc cho mô hình đã điều chỉnh tại thời điểm dự đoán.
Các điểm hạn chế
Lưu ý: Việc tinh chỉnh tập dữ liệu cho Gemini 1.5 Flash có các giới hạn sau:
- Kích thước đầu vào tối đa cho mỗi ví dụ là 40.000 ký tự.
- Kích thước đầu ra tối đa cho mỗi ví dụ là 5.000 ký tự.
Kích thước dữ liệu huấn luyện
Bạn có thể tinh chỉnh một mô hình chỉ với 20 ví dụ. Dữ liệu bổ sung thường giúp cải thiện chất lượng của câu trả lời. Bạn nên nhắm đến khoảng từ 100 đến 500 ví dụ, tuỳ thuộc vào ứng dụng của bạn. Bảng sau đây cho biết kích thước tập dữ liệu được đề xuất để tinh chỉnh mô hình văn bản cho nhiều tác vụ phổ biến:
Việc cần làm | Số lượng ví dụ trong tập dữ liệu |
---|---|
Phân loại | 100+ |
Tóm tắt | 100-500+ |
Tìm kiếm tài liệu | 100+ |
Tải tập dữ liệu điều chỉnh lên
Dữ liệu được truyền cùng dòng bằng API hoặc thông qua các tệp được tải lên trong Google AI Studio.
Để sử dụng thư viện ứng dụng, hãy cung cấp tệp dữ liệu trong lệnh gọi createTunedModel
.
Giới hạn kích thước tệp là 4 MB. Hãy xem phần bắt đầu nhanh để tinh chỉnh bằng Python để bắt đầu.
Để gọi API REST bằng cURL, hãy cung cấp các ví dụ về việc huấn luyện ở định dạng JSON cho đối số training_data
. Hãy xem phần bắt đầu nhanh về việc điều chỉnh bằng cURL để bắt đầu.
Chế độ cài đặt điều chỉnh nâng cao
Khi tạo một công việc điều chỉnh, bạn có thể chỉ định các chế độ cài đặt nâng cao sau:
- Kỷ nguyên: Một lượt huấn luyện đầy đủ trên toàn bộ tập huấn luyện sao cho mỗi ví dụ được xử lý một lần.
- Kích thước lô: Tập hợp các ví dụ được sử dụng trong một lượt lặp huấn luyện. Kích thước lô xác định số lượng ví dụ trong một lô.
- Tốc độ học: Một số dấu phẩy động cho thuật toán biết mức độ điều chỉnh các tham số mô hình trong mỗi lần lặp lại. Ví dụ: tốc độ học 0,3 sẽ điều chỉnh trọng số và độ lệch hiệu quả hơn gấp ba lần so với tốc độ học 0,1. Tốc độ học cao và thấp có những điểm đánh đổi riêng và bạn nên điều chỉnh tốc độ học dựa trên trường hợp sử dụng của mình.
- Hệ số tốc độ học: Hệ số tốc độ sửa đổi tốc độ học ban đầu của mô hình. Giá trị 1 sử dụng tốc độ học ban đầu của mô hình. Giá trị lớn hơn 1 làm tăng tốc độ học và giá trị từ 1 đến 0 làm giảm tốc độ học.
Cấu hình đề xuất
Bảng sau đây cho thấy các cấu hình được đề xuất để tinh chỉnh mô hình cơ sở:
Siêu tham số | Giá trị mặc định | Các mức điều chỉnh được đề xuất |
---|---|---|
Thời gian bắt đầu | 5 |
Nếu tổn thất bắt đầu đạt mức ổn định trước 5 chu kỳ, hãy sử dụng giá trị nhỏ hơn. Nếu tổn thất đang hội tụ và có vẻ như không đạt đến mức ổn định, hãy sử dụng giá trị cao hơn. |
Kích thước lô | 4 | |
Tốc độ học | 0,001 | Sử dụng giá trị nhỏ hơn cho các tập dữ liệu nhỏ hơn. |
Đường cong tổn thất cho biết mức độ chênh lệch giữa dự đoán của mô hình với dự đoán lý tưởng trong các ví dụ huấn luyện sau mỗi thời gian. Tốt nhất là bạn nên dừng đào tạo tại điểm thấp nhất của đường cong ngay trước khi đường cong đạt đến trạng thái ổn định. Ví dụ: biểu đồ dưới đây cho thấy đường cong tổn thất đạt mức ổn định ở khoảng thời gian 4-6, nghĩa là bạn có thể đặt tham số Epoch
thành 4 và vẫn nhận được hiệu suất tương tự.
Kiểm tra trạng thái công việc điều chỉnh
Bạn có thể kiểm tra trạng thái của công việc điều chỉnh trong Google AI Studio trong thẻ Thư viện của tôi hoặc sử dụng thuộc tính metadata
của mô hình đã điều chỉnh trong Gemini API.
Khắc phục lỗi
Phần này bao gồm các mẹo về cách khắc phục lỗi mà bạn có thể gặp phải trong khi tạo mô hình đã điều chỉnh.
Xác thực
Bạn cần xác thực để điều chỉnh bằng API và thư viện ứng dụng. Bạn có thể thiết lập tính năng xác thực bằng khoá API (nên dùng) hoặc bằng thông tin xác thực OAuth. Để xem tài liệu về cách thiết lập khoá API, hãy xem phần Thiết lập khoá API.
Nếu thấy lỗi 'PermissionDenied: 403 Request had insufficient authentication
scopes'
, bạn có thể cần thiết lập tính năng xác thực người dùng bằng thông tin xác thực OAuth. Để định cấu hình thông tin xác thực OAuth cho Python, hãy truy cập vào hướng dẫn thiết lập OAuth của chúng tôi.
Mô hình đã huỷ
Bạn có thể huỷ một công việc tinh chỉnh bất cứ lúc nào trước khi công việc đó hoàn tất. Tuy nhiên, hiệu suất suy luận của mô hình bị huỷ là không thể dự đoán được, đặc biệt là nếu công việc điều chỉnh bị huỷ sớm trong quá trình huấn luyện. Nếu huỷ vì muốn dừng quá trình huấn luyện ở một thời gian bắt đầu sớm hơn, bạn nên tạo một công việc điều chỉnh mới và đặt thời gian bắt đầu thành một giá trị thấp hơn.
Hạn chế của mô hình được điều chỉnh
Lưu ý: Các mô hình được điều chỉnh có các hạn chế sau:
- Giới hạn đầu vào của mô hình Gemini 1.5 Flash đã điều chỉnh là 40.000 ký tự.
- Chế độ JSON không được hỗ trợ với các mô hình đã điều chỉnh.
- Không hỗ trợ hướng dẫn hệ thống với các mô hình đã điều chỉnh.
- Chỉ hỗ trợ phương thức nhập văn bản.
Bước tiếp theo
Bắt đầu với các hướng dẫn tinh chỉnh: