İnce ayar eğiticisi

Bu eğitim, Gemini API ayarlarını 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'de görüntüleyin Colab not defterini deneyin GitHub'da not defterini görüntüle

Kimlik doğrulamayı ayarlayın

Gemini API, modelleri kendi verilerinize göre ayarlamanıza olanak tanır. Bu sizin verileriniz ve bu nedenle, ayarlanmış modelleriniz için API anahtarlarının sağlayabileceğinden daha sıkı erişim denetimlerine ihtiyaç vardır.

Bu eğiticiyi çalıştırmadan önce Google Ads'de OAuth'u kurmanız inceleyebilirsiniz.

Hassaslaştırılmış modelleri listeleme

Hassaslaştırılmış mevcut modellerinizi genai.list_tuned_models ile kontrol edebilirsiniz yöntemidir.

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

Hassaslaştırılmış model oluşturma

Hassaslaştırılmış bir model oluşturmak için veri kümenizi modele genai.create_tuned_model yöntemini çağırın. Bunu, tablodaki anahtar kelimeleri veya bir dosyadan veri çerçevesine aktarılarak oluşturulan dosyadaki giriş ve çıkış değerlerinin yöntemini de kullanabilirsiniz.

Bu örnekte, bir sonraki sayıyı oluşturmak için bir modeli tıklayın. Örneğin, giriş 1 ise model 2 çıktısı vermelidir. Öğe giriş one hundred, çıkış one hundred one olmalıdır.

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.

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

operation.cancel()

Modeli dene

genai.generate_text yöntemini kullanabilir ve hassaslaştırılmışın adını belirtebilirsiniz. test etmek için modelimiz.

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

Açıklamayı güncelle

Hassaslaştırılmış modelinizin açıklamasını istediğiniz zaman genai.update_tuned_model yöntemini çağırın.

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

Modeli silin

Artık ihtiyaç duymadığınız modelleri silerek hassaslaştırılmış model listenizi temizleyebilirsiniz. Bir modeli silmek için genai.delete_tuned_model yöntemini kullanın. Herhangi bir ince ayar yapan işlerin performansını artırmak, öngörülemez.

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