REST API를 사용하여 프로그래밍 방식으로 온디맨드 방식으로 파운데이션 모델을 배포하세요. foundation model 온디맨드 방식으로 배포하면 조직에서 독점적으로 사용할 수 있도록 전용 하드웨어에서 사용할 수 있습니다. IBM 온디맨드 방식으로 배포할 수 있는 엄선된 모델 세트를 제공합니다.
시작하기 전에
- 온디맨드 방식으로 파운데이션 모델을 배포하려면 작업 자격 증명을 설정하거나 활성화해야 합니다. 자세한 내용은 작업 자격 증명 관리하기를 참조하세요.
- 온디맨드 foundation model 배포하기 위한 요구 사항 및 고려 사항을 검토하세요.
모델 에셋 만들기
' /ml/v4/models
엔드포인트를 사용하여 온디맨드로 배포하려는 foundation model 대한 에셋을 만들 수 있습니다.
다음 코드 스니펫은 온디맨드 foundation model 배포하기 위해 watsonx.ai 런타임 리포지토리에서 에셋을 생성하는 방법을 보여 줍니다. 모델을 배포할 때 이 코드에서 생성된 에셋 ID를 사용합니다.
curl -X POST "https://<cluster url>/ml/v4/models?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"type": "curated_foundation_model_1.0",
"version": "1.0",
"name": "granite",
"space_id": "<Space id for deployment>",
"foundation_model": {
"model_id": "ibm/granite-13b-chat-v2-curated"
}
}'
온디맨드 foundation model 배포 만들기
' /ml/v4/deployments
엔드포인트를 사용하여 배포 공간에서 온디맨드 방식으로 foundation model 배포할 수 있습니다. 배포하려면 모델 에셋을 생성할 때 생성된 에셋 ID를 사용해야 합니다. 자세한 내용은 모델 에셋 생성을 참조하세요.
다음 코드 스니펫은 온디맨드 방식으로 foundation model 배포하기 위해 온라인 배포를 만드는 방법을 보여줍니다:
curl -X POST "https://<cluster url>/ml/v4/deployments?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"asset": {
"id": <Asset id created>
},
"online": {
"parameters": {
"serving_name": "llma"
}
},
"description": "<Description>,
"name": "mi",
"space_id": <Space id for deployment>
}'
배포 상태 폴링
배포 ID를 사용하여 배포 상태를 폴링할 수 있습니다. 상태가 초기화 중에서 준비됨으로 변경되면 배포를 사용할 준비가 된 것입니다.
다음 코드 샘플은 REST API를 사용하여 배포 상태를 폴링하는 방법을 보여줍니다:
curl -X GET "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your project ID>" \
-H "Authorization: Bearer <replace with your token>"
출력:
"deployed_asset_type": "curated_foundation_model"
온디맨드 방식으로 배포된 파운데이션 모델 테스트
온라인 추론을 위해 온디맨드 방식으로 배포된 foundation model 테스트할 수 있습니다.
다음 코드 스니펫은 온라인 추론을 위해 온디맨드 방식으로 배포되는 foundation model 테스트하는 방법을 보여줍니다:
curl -X POST "https://<replace with your cloud hostname>/ml/v1/deployments/<replace with your deployment ID>/text/generation?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"input": "Hello, what is your name",
"parameters": {
"max_new_tokens": 200,
"min_new_tokens": 20
}
}'
온디맨드 방식으로 배포된 파운데이션 모델 관리하기
REST API를 사용하여 온디맨드 방식으로 배포된 foundation model 액세스, 업데이트, 확장 또는 삭제할 수 있습니다.
배포된 모델에 액세스하기
REST API를 사용하여 배포 공간에 온디맨드 방식으로 배포된 모든 파운데이션 모델 목록을 검색하려면 쿼리 매개 변수 ' type=curated_foundation_model
'을 설정하면 됩니다.
다음 코드 샘플은 배포 공간에서 온디맨드 방식으로 배포되는 모든 기초 모델에 액세스하기 위해 REST API를 사용하는 방법을 보여 줍니다:
curl -X GET "https://<replace with yourcloud hostname>/ml/v4/deployments?version=2024-01-29&space_id=<replace with your space ID>&type=curated_foundation_model" \
-H "Authorization: Bearer <replace with your token>"
배포 업데이트하기
이름, 설명, 태그 등 배포에 필요한 배포 메타데이터를 업데이트하세요.
다음 코드 샘플은 온디맨드 방식으로 배포되는 foundation model 이름을 업데이트하는 방법을 보여 줍니다:
curl -X PATCH "https://<replace with your cloud hostname>//ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your space ID>" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '[{
"op": "replace",
"path": "/name",
"value": "<replace with updated deployment name>"
}]'
배포 확장하기
배포 공간에 foundation model 모델 온디맨드 모델의 인스턴스 하나만 배포할 수 있습니다. 증가하는 수요를 처리하기 위해 추가 복사본을 만들어 배포를 확장할 수 있습니다.
다음 코드 샘플은 배포를 위해 복제본 수를 확장하는 방법을 보여줍니다:
curl -X PATCH "<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" \
-H "Authorization: Bearer $token" \
-H "content-type: application/json" \
--data '[{
"op": "replace",
"path": "/hardware_request",
"value": {"num_nodes": 2}
}]'
- 하드웨어 리소스를 확장하려면 '
/hardware_request
' 매개변수와 함께 'PATCH
' 작업을 사용하고 'num_nodes
' 매개변수에 값을 제공하여 하드웨어 노드 수를 업데이트하세요. 'size
' 매개변수는 '/hardware_request
'와 함께 사용할 수 없습니다. - '
PATCH
작업을 사용하여 foundation model 매개변수(/online/parameters/foundation_model
)를 업데이트할 수 없습니다.
배치 삭제
배포된 foundation model 더 이상 필요하지 않은 경우 삭제하여 청구 청구를 중지할 수 있습니다.
다음 코드 샘플은 REST API를 사용하여 온디맨드로 배포된 foundation model 삭제하는 방법을 보여 줍니다:
curl -vk -X DELETE "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" -H "Authorization: Bearer <replace with your token>"
샘플 노트북
다음 샘플 노트북은 프로그래밍 방식으로 온디맨드 방식으로 배포되는 기초 모델에 대한 프롬프트를 보여 줍니다. 노트북을 실행하기 전에 foundation model 온디맨드 방식으로 배포해야 합니다.
노트북 | 설명 |
---|---|
Granite 텍스트-SQL 모델을 사용한 추론 | 설정 스키마 연결 모델에 대한 프롬프트 생성 WX.AI 엔드포인트를 사용하여 스키마 연결 모델에 대한 추론 수행 스키마 연결 모델 출력 프로세스 게시 SQL 생성 모델에 대한 프롬프트 생성 WX.AI 엔드포인트를 사용하여 SQL 생성 모델에 대한 추론 수행 |
자세히 알아보기
상위 주제: 전용 파운데이션 모델 배포