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. Đ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 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 điều chỉnh, 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à tinh chỉnh có giám sát, để phân biệt với các loại 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ể 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 này sẽ học các tham số bổ sung giúp nó mã hoá thông tin cần thiết để thực hiện tác vụ mong muốn hoặc tìm hiểu hành vi. 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. Để đạ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 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 cụ thể hoặc thông tin, thì dữ liệu sản xuất phải được định dạng theo cùng cách và chứa hướng dẫn tương tự.

Ví dụ: nếu các ví dụ trong tập dữ liệu của bạn bao gồm "question:""context:", thì lưu lượng truy cập thực tế cũng phải được định dạng để bao gồm "question:""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 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.

Một ví dụ khác, đâ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 dãy số:

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, 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 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 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 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. 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. Xem điều chỉnh nhanh 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 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: Số dấu phẩy động cho thuật toán biết cách để đ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ỷ lệ học tập cao và thấp ưu nhược điểm riêng và nên được điều chỉnh tuỳ theo trường hợp sử dụng của bạn.
  • Hệ số tốc độ học: Hệ số giá sửa đổi hệ số của mô hình tốc độ học ban đầu. 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 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
Kỷ nguyên 5

Nếu tổn thất bắt đầu ở mức ổn định trước 5 khoảng thời gian bắt đầu của hệ thống, 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 mức độ sai lệch của dự đoán của mô hình so với dự đoán lý tưởng trong các ví dụ huấn luyện sau mỗi epoch. Tốt nhất là bạn nên dừng đào tạo ở đ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ụ: đồ 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 tổn thất của mô hình. Đường này tăng đột biến giữa thời gian bắt đầu đầu tiên và thời gian bắt đầu thứ hai, sau đó giảm mạnh xuống gần 0 và trở lại bình thường sau ba thời gian bắt đầu.

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 giải quyết những lỗi mà bạn có thể gặp phải khi bằng cách tạo mô hình được đ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 Thiết lập khoá API.

Nếu thấy lỗi 'PermissionDenied: 403 Request had insufficient authentication scopes', bạn có thể phải thiết lập tính năng xác thực người dùng bằng OAuth thông tin xác thực. Để định cấu hình thông tin đăng nhập OAuth cho Python, hãy truy cập vào hướng dẫn thiết lập OAuth.

Người mẫu bị 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ỷ bỏ là không thể dự đoán, đặc biệt nếu công việc điều chỉnh bị huỷ sớm trong quá trình đào tạo. 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.
  • 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 hướng dẫn tinh chỉnh: