İnce ayar eğiticisi

Bu eğitim, Gemini API ayar hizmetini kullanmaya başlamanıza yardımcı olacaktır. Python SDK veya REST API kullanarak curl değerine ayarlayın. Örneklerde, arka plandaki metin modelinin nasıl ayarlanacağı gösterilmektedir Gemini API metin oluşturma hizmeti.

ai.google.dev adresinde görüntüleme Colab not defterini deneyin GitHub'da not defterini görüntüle

Sınırlamalar

Bir modelde ince ayar yapmadan önce, aşağıdaki sınırlamaların farkında olmanız gerekir:

Veri kümelerini hassas ayarlama

Gemini 1.5 Flash için veri kümelerinde ince ayar yapmak için aşağıdaki sınırlamalar geçerlidir:

  • Örnek başına maksimum giriş boyutu 40.000 karakterdir.
  • Örnek başına maksimum çıkış boyutu 5.000 karakterdir.
  • Yalnızca giriş-çıkış çifti örnekleri desteklenir. Sohbet tarzında çoklu turlu görüşmeler desteklenmez.

Ayarlanmış modeller

Ayarlanmış modellerde aşağıdaki sınırlamalar vardır:

  • Ayarlanmış Gemini 1.5 Flash modelinin giriş sınırı 40.000 karakterdir.
  • JSON modu, ayarlanmış modellerde desteklenmez.
  • Yalnızca metin girişi desteklenir.

Başlamadan önce: Projenizi ve API anahtarınızı oluşturun

Gemini API'yi çağırmadan önce projenizi oluşturmanız ve API anahtarınızı yapılandırmanız gerekir.

Hassaslaştırılmış modelleri listeleme

Mevcut ayarlanmış modellerinizi tunedModels.list yöntemiyle kontrol edebilirsiniz.

import google.generativeai as genai

for model_info in genai.list_tuned_models():
    print(model_info.name)

Ayarlanmış bir model oluşturma

Ayarlanmış bir model oluşturmak için veri kümenizi tunedModels.create yönteminde modele iletmeniz gerekir.

Bu örnekte, bir modeli sıradaki sonraki sayıyı oluşturacak şekilde ayarlayacaksınız. Örneğin, giriş 1 ise model 2 çıktısı vermelidir. Giriş one hundred ise çıkış one hundred one olmalıdır.

import google.generativeai as genai

import time

base_model = "models/gemini-1.5-flash-001-tuning"
training_data = [
    {"text_input": "1", "output": "2"},
    # ... more examples ...
    # ...
    {"text_input": "seven", "output": "eight"},
]
operation = genai.create_tuned_model(
    # You can use a tuned model here too. Set `source_model="tunedModels/..."`
    display_name="increment",
    source_model=base_model,
    epoch_count=20,
    batch_size=4,
    learning_rate=0.001,
    training_data=training_data,
)

for status in operation.wait_bar():
    time.sleep(10)

result = operation.result()
print(result)
# # You can plot the loss curve with:
# snapshots = pd.DataFrame(result.tuning_task.snapshots)
# sns.lineplot(data=snapshots, x='epoch', y='mean_loss')

model = genai.GenerativeModel(model_name=result.name)
result = model.generate_content("III")
print(result.text)  # IV

Dönem sayısı, grup boyutu ve öğrenme hızı için en uygun değerler bağlıdır veri kümenize ve kullanım alanınızın diğer kısıtlamalarına bağlı kalır. Şu konu hakkında daha fazla bilgi edinmek için: daha fazla bilgi için Gelişmiş ayar ayarları ve Hiperparametreler.

Bir modelin ayarlanması önemli ölçüde zaman alabileceğinden bu API, ayarlama yapabilirsiniz. Bunun yerine, bir google.api_core.operation.Operation değeri döndürüyor ince ayar işinin durumunu kontrol etmenizi veya ve sonucu kontrol edin.

Hassaslaştırılmış modeliniz, hassaslaştırılmış modeller listesine hemen eklenir, ancak durum "create" değerine ayarlandığında otomatik olarak devreye girer.

Ayarlamanın ilerleme durumunu kontrol etme

İnce ayar işleminin ilerleme durumunu wait_bar() kullanarak kontrol edebilirsiniz. yöntem:

for status in operation.wait_bar():
    time.sleep(10)

Toplam ayarlama adımı sayısını kontrol etmek için operation.metadata öğesini de kullanabilirsiniz ve operation.update() tuşlarına basarak işlemin durumunu yenileyin.

cancel() yöntemini kullanarak ayarlama işinizi dilediğiniz zaman iptal edebilirsiniz.

operation.cancel()

Modeli deneyin

tunedModels.generateContent yöntemini kullanarak performansını test etmek için ayarlanmış modelin adını belirtebilirsiniz.

import google.generativeai as genai

model = genai.GenerativeModel(model_name="tunedModels/my-increment-model")
result = model.generate_content("III")
print(result.text)  # "IV"

Açıklamayı güncelle

genai.update_tuned_model yöntemini kullanarak ayarlanmış modelinizin açıklamasını istediğiniz zaman güncelleyebilirsiniz.

genai.update_tuned_model('tunedModels/my-increment-model', {"description":"This is my model."})

Modeli silme

Artık ihtiyaç duymadığınız modelleri silerek ayarlanmış model listenizi temizleyebilirsiniz. Bir modeli silmek için tunedModels.delete yöntemini kullanın. İptal ettiğiniz ayarlama işlerinin performansı tahmin edilemez olabileceğinden bunları silebilirsiniz.

genai.delete_tuned_model("tunedModels/my-increment-model")