Tinh chỉnh bằng Gemini API

Các chiến lược thiết kế câu lệnh, chẳng hạn như nhắc qua một vài lần không phải lúc nào cũng tạo ra kết quả mình cần. Tinh chỉnh là quá trình có thể cải thiện hiệu suất trên các tác vụ cụ thể hoặc giúp mô hình tuân thủ kết quả cụ thể các yêu cầu khi hướng dẫn không đủ và bạn có một tập hợp các ví dụ để minh hoạ kết quả bạn muốn.

Trang này cung cấp thông tin tổng quan về khái niệm của việc tinh chỉnh mô hình văn bản dịch vụ văn bản Gemini API. Khi bạn sẵn sàng bắt đầu dò, hãy thử hướng dẫn tinh chỉnh. Nếu muốn hướng dẫn chung hơn về cách tuỳ chỉnh LLM cho các trường hợp sử dụng cụ thể, xem bị loại LLM: Tinh chỉnh, chưng cất và kỹ thuật câu lệnh trong Khoá học nhanh về máy học.

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ề nhiệm 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 mẫu vừa phải. Loại điều chỉnh mô hình này đôi khi được gọi là điều chỉnh tinh vi có giám sát để phân biệt với các loại điều chỉnh tinh vi khác.

Dữ liệu huấn luyện của bạn nên được cấu trúc thành các ví dụ với thông tin đầu vào và đầu ra phản hồi dự kiến. Bạn cũng có thể trực tiếp điều chỉnh các mô hình bằng dữ liệu mẫu trong Google AI Studio. Mục tiêu là để dạy mô hình này bắt chước hành vi mong muốn bằng cách đưa ra nhiều ví dụ minh hoạ cho 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 thông 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. Để 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 quy trình sản xuất dự kiến lưu lượng truy cập. 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:""context:", lưu lượng truy cập sản xuất cũng phải được định dạng để bao gồm "question:""context:" theo cùng thứ tự như trong tập dữ liệu ví dụ. Nếu bạn loại trừ ngữ cảnh, mô hình sẽ không nhận ra mẫu, ngay cả khi câu hỏi chính xác nằm trong một 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 mỗi ví dụ trong tập dữ liệu cũng có thể giúp ích cho bạn cải thiện hiệu suất của mô hình được điều chỉnh. Lưu ý, nếu câu lệnh hoặc lời mở đầu là có trong tập dữ liệu của mình, thì dữ liệu này cũng sẽ được đưa vào lời nhắc để tại thời điểm suy luậ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ó những thông tin sau giới hạn:

  • 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 sẽ cải thiện chất lượng của câu trả lời. Bạn nên nhắm mục tiêu trong khoảng 100 và 500 ví dụ, tuỳ thuộc vào ứng dụng của bạn. Bảng sau đây cho thấy 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 khác nhau:

Việc cần làm Số 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 cách sử dụng API hoặc thông qua các tệp được tải lên 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. Kích thước tệp tối đa 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ụ 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:

  • Epochs: Một lượt huấn luyện đầy đủ cho 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 dùng trong một vòng lặp huấn luyện. Chiến lược phát hành đĩa đơn kích thước lô sẽ 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ụ: một thì tốc độ học 0,3 sẽ điều chỉnh trọng số và độ lệch nhiều hơn gấp 3 lần. mạnh hơ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 sẽ làm tăng tốc độ học và các giá trị nằm trong khoảng 1 và 0 là giảm tốc độ học.

Bảng sau đây trình bày các cấu hình được đề xuất để tinh chỉnh một mô hình nền tảng:

Siêu tham số Giá trị mặc định Điều chỉnh được đề xuất
Kỷ nguyên 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 điểm bão hoà, 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 độ chênh lệch của dự đoán của mô hình so với giá trị lý tưởng dự đoán trong các ví dụ huấn luyện sau mỗi khoảng thời gian bắt đầu của hệ thống. Lý tưởng nhất là bạn muốn dừng được huấn luyện tại điểm thấp nhất trên đường cong ngay trước khi dừng lại. Ví dụ: đồ thị dưới đây cho thấy đường cong tổn thất đi xuống ổn định ở khoảng thời gian bắt đầu của hệ thống 4-6, có nghĩa là bạn có thể đặt tham số Epoch thành 4 mà vẫn nhận được hiệu suất tương tự.

Biểu đồ dạng đường cho thấy đường cong về mức ngừng sử dụng của mô hình. Đường tăng đột biến giữa
giai đoạn đầu và giai đoạn thứ hai, sau đó giảm mạnh xuống gần như bằng 0 và giảm dần
sau 3 khoảng thời gian bắt đầu của hệ thống.

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 phần Thẻ Thư viện của tôi hoặc sử dụng thuộc tính metadata của mô hình được điều chỉnh trong API Gemini.

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 phương thức xác thực bằng khoá API (nên dùng) hoặc OAuth thông tin xác thực. Để xem tài liệu về cách thiết lập khoá API, hãy xem 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.

Người mẫu bị huỷ

Bạn có thể huỷ công việc tinh chỉnh bất kỳ 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 bạn huỷ vì bạn muốn dừng quá trình huấn luyện ở thời gian bắt đầu trước đó, bạn nên tạo một quy trình điều chỉnh mới công việc và đặt thời gian bắt đầu của hệ thống ở 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 đã được điều chỉnh.
  • Chỉ hỗ trợ phương thức nhập văn bản.

Các bước tiếp theo

Bắt đầu với các hướng dẫn tinh chỉnh: