0 / 0
영어 버전 문서로 돌아가기
foundation model 프로그래밍 방식으로 조정
마지막 업데이트 날짜: 2024년 11월 28일
foundation model 프로그래밍 방식으로 조정

Python 라이브러리를 사용하여 IBM watsonx.ai 에서 프로그래밍 방식으로 기본 모델을 프롬프트 조정할 수 있습니다.

foundation model 신속하게 조정하려면 사용자가 제공한 훈련 데이터를 사용하여 실험을 실행합니다. 실험은 사용자의 즉각적인 입력에 대해 모델이 반환할 것으로 기대하는 출력을 foundation model 에 보여주는 머신 러닝 프로세스입니다. 튜닝 프로세스는 복잡하며 데이터 자산, 훈련 자산 및 배치 자산을 포함합니다.

python 라이브러리에는 기본 모델을 튜닝하기 위한 메소드 및 헬퍼 클래스가 있습니다. 라이브러리에 대한 자세한 내용은 프롬프트 튜닝을 참조하세요.

watsonx.ai 의 노트북에서 watsonx.ai Python 라이브러리에서 사용 가능한 함수를 사용하여 기초 모델을 프롬프트 조정하십시오.

샘플 노트북

watsonx를 사용하여 자동차 렌털 회사 고객 만족 문서 샘플 Python 노트북을 watsonx 하여 IBM granite-13b-instruct-v2 모델을 조정하는 방법에 대한 내용 은 watsonx.ai 의 기초 모델을 신속하게 조정하기 위한 코드를 포함합니다.

샘플 노트북은 튜닝의 두 가지 기본 단계를 수행하는 데 도움이 됩니다.

샘플 노트북은 granite-13b-instruct-v2 모델을 프롬프트 조정하도록 설계되었습니다. 그러나 다른 기초 모델을 조정하는 데 사용할 수도 있습니다. 이를 수행하려면 다음과 같이 base_model 참조를 바꾸십시오.

  • base_model='google/flan-t5-xl'

foundation model 변경하면 학습 데이터도 교체해야 합니다. 노트북의 데이터 로딩 섹션에서 파일 경로를 바꾸십시오.

url = "{path to your file}"
if not os.path.isfile(filename): 
    wget.download(url)

또한 신속하게 조정할 수 있는 다른 기초 모델을 조정하는 샘플 노트북을 사용할 수도 있습니다.

샘플 노트북을 사용하여 튜닝 매개변수 값 최적화

샘플 노트북에는 learning_rate 매개변수 값을 최적화하는 코드가 있습니다. 샘플 노트북은 학습 비율 값을 체계적으로 변경하고 실험을 10번다시 실행하므로 10개의 실행에서 손실을 비교할 수 있습니다. 샘플 노트북은 최적의 학습 비율 값을 계산합니다.

샘플 노트북은 10개의 개별 실험을 생성합니다. 동일한 실험을 10번실행하지 않습니다.

최적화할 매개변수는 노트북의 검색 공간 및 최적화 섹션에 정의되어 있습니다.

샘플 노트북을 편집하거나 샘플 노트북에 추가하여 학습 비율 외에 다음 매개변수를 최적화하도록 자동화된 코드를 실행할 수 있습니다.

  • accumulate_steps
  • batch_size
  • num_epochs

여러 매개변수의 최적 값을 한 번에 확인하기 위해 다음과 같은 코드를 사용하도록 샘플 노트북을 변경할 수 있습니다. 예를 들어, 다음과 같습니다.

SPACE = [
    skopt.space.Real(0.001, 0.09, name='learning_rate', prior='log-uniform'),
    skopt.space.Integer(1, 50, name='num_epochs', prior='uniform'),
    skopt.space.Integer(1, 16, name='batch_size', prior='uniform')
]

한 번에 여러 매개변수를 최적화하면 매개변수가 함께 작동하므로 시간을 절약할 수 있습니다. 해당 값은 서로 영향을 주며 이들 사이의 올바른 값 밸런스는 최상의 결과를 가져옵니다.

샘플 노트북은 scikit-optimize 라이브러리의 메소드를 사용합니다. 자세한 내용은 scikit-optimize API 참조를 확인하세요.

샘플 노트북을 사용하여 튜닝된 모델 평가

샘플 노트북에는 튜닝된 모델을 배치하고 튜닝된 모델을 추론한 후 튜닝된 모델 출력의 정확도를 계산하는 코드가 있습니다. 또한 foundation model 추론하고 기본 모델 출력의 정확도를 계산하여 비교할 수 있습니다.

샘플 노트북을 사용하여 다른 모델을 조정하고 평가하려는 경우 다음 코드에서 model_id 매개변수의 값을 바꿀 수 있습니다.

base_model = ModelInference(
    model_id='ibm/granite-13b-instruct-v2',
    params=generate_params,
    api_client=client
)

예를 들어, google/flan-t5-xl 항목을 지정하십시오.

또한 프롬프트 텍스트를 자체 훈련 데이터 세트의 프롬프트로 바꿔야 합니다.

response = tuned_model.generate_text(prompt="{your text here}")

튜닝된 모델의 정확도 점수가 낮은 경우 튜닝된 모델 출력에서 데이터 품질 문제점 처리에서 훈련 데이터를 개선하는 방법에 대한 몇 가지 아이디어를 검토하십시오.

튜닝 매개변수의 최적화는 사용 중인 모델 및 훈련 데이터에 따라 다릅니다. 모델 또는 훈련 데이터를 변경하는 경우 튜닝 실험을 재평가해야 합니다. 조정 매개변수를 다시 조정하여 기능 보강된 데이터 세트에 맞게 최적화하십시오.

상위 주제: Python 라이브러리

일반적인 AI 검색 및 응답
이러한 응답은 제품 문서의 컨텐츠를 기반으로 하는 watsonx.ai 의 대형 언어 모델에 의해 생성됩니다. 자세히 알아보기