<ph type="x-smartling-placeholder">
이 튜토리얼은 Gemini API 조정을 시작하는 데 도움이 됩니다. REST API를 사용하여 REST API를 curl 이 예에서는 이면의 텍스트 모델을 조정하는 방법을 보여줍니다. Gemini API 텍스트 생성 서비스입니다
ai.google.dev에서 보기 | Colab 노트북 사용해 보기 | GitHub에서 노트북 보기 |
인증 설정
Gemini API를 사용하면 자체 데이터를 기반으로 모델을 조정할 수 있습니다. 사용자의 데이터와 API 키가 제공할 수 있는 것보다 더 엄격한 액세스 제어가 필요합니다
이 가이드를 실행하기 전에 먼저 도메인에 OAuth를 설정해야 합니다. 프로젝트의 인스턴스입니다.
조정된 모델 나열
genai.list_tuned_models
에서 기존 조정된 모델을 확인할 수 있습니다.
메서드를 사용하여 축소하도록 요청합니다.
for model_info in genai.list_tuned_models():
print(model_info.name)
조정된 모델 만들기
조정된 모델을 만들려면 데이터 세트를
genai.create_tuned_model
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다. 이렇게 하려면
또는 파일에서 DataFrame으로 가져와서
메서드에 전달합니다.
이 예에서는 모델을 조정하여
시퀀스입니다. 예를 들어 입력이 1
이면 모델은 2
를 출력해야 합니다. 만약
입력은 one hundred
이고 출력은 one hundred one
입니다.
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
에포크 수, 배치 크기, 학습률의 최적값은 상황에 따라 다릅니다. 사용 사례의 기타 제약 조건을 적용할 수 있습니다 자세히 알아보려면 자세한 내용은 고급 미세 조정 설정 및 초매개변수.
모델을 조정하는 데 상당한 시간이 걸릴 수 있으므로 이 API는
튜닝을 완료합니다 대신 google.api_core.operation.Operation
을 반환합니다.
조정 작업의 상태를 확인하거나 해당 작업이 수행될 때까지 기다릴 수 있는 객체
완료되고 결과를 확인합니다.
조정된 모델은 조정된 모델 목록에 즉시 추가되지만 상태가 '생성 중'으로 설정됩니다. 모델을 조정할 수 있습니다
조정 진행 상황 확인
wait_bar()
를 사용하여 조정 작업의 진행 상황을 확인할 수 있습니다.
메서드를 사용하여 축소하도록 요청합니다.
for status in operation.wait_bar():
time.sleep(10)
operation.metadata
를 사용하여 총 조정 단계 수를 확인할 수도 있습니다.
operation.update()
는 작업 상태를 새로고침합니다.
cancel()
메서드를 사용하여 언제든지 조정 작업을 취소할 수 있습니다.
operation.cancel()
모델 사용해 보기
genai.generate_text
메서드를 사용하고 조정된
성능을 테스트할 수 있습니다
model = genai.GenerativeModel(model_name="tunedModels/my-increment-model")
result = model.generate_content("III")
print(result.text) # "IV"
설명 업데이트
다음 명령어를 사용하여 언제든지 조정된 모델의 설명을 업데이트할 수 있습니다.
genai.update_tuned_model
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다.
genai.update_tuned_model('tunedModels/my-increment-model', {"description":"This is my model."})
모델 삭제
더 이상 필요하지 않은 모델을 삭제하여 조정된 모델 목록을 정리할 수 있습니다.
genai.delete_tuned_model
메서드를 사용하여 모델을 삭제합니다. 하나라도 취소한 경우
성능 저하가 발생할 수 있으므로 이러한 작업은 삭제하는 것이 좋습니다.
예측할 수 없습니다.
genai.delete_tuned_model("tunedModels/my-increment-model")