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 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 lời nhắc 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 nhiệm vụ cụ thể của bạn. Tinh chỉnh hoạt động bằng cách cung cấp cho mô hình một chương trình huấn luyện chứa nhiều ví dụ về nhiệm vụ. Đối với các tác vụ riêng, bạn có thể cải thiện đáng kể về hiệu suất của mô hình bằng cách điều chỉnh mô hình trên một nhiều ví dụ. 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 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 đó, các tham số này có thể được sử dụng tại thời điểm suy luậ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 để tinh 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 lưu lượng truy cập dự kiến trong quá trình phát hành chính thức. 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ách giống nhau 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:", 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.

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 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 dữ liệu đầ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 các 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. Xem Bắt đầu nhanh điều 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. Xem điều chỉnh nhanh bằng cURL để bắt đầu.

Cài đặt dò 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: 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ụ: một thì tốc độ học 0,3 sẽ điều chỉnh trọng số và độ chệch mạnh hơ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 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 ở 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 mức tổn thất đang hội tụ và có vẻ không phải ở mức cao, 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 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 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 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 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

Việc tinh chỉnh bằng API và thư viện ứng dụng yêu cầu xác thực người dùng. Khoá API chỉ riêng thôi là chưa đủ. Nếu thấy lỗi 'PermissionDenied: 403 Request had insufficient authentication scopes', bạn cần thiết lập quy trình xác thực người dùng.

Để định cấu hình thông tin đăng nhập OAuth cho Python, hãy tham khảo hướng dẫn thiết lập OAuth.

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 đó kết thúc. Tuy nhiên, hiệu suất suy luận của mô hình bị huỷ bỏ là không thể đoán trước, đặc biệt là khi công việc điều chỉnh bị huỷ sớm trong quá trình đào tạo. 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 Flash Gemini 1.5 được đ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ợ 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: