モデル資産の作成

カスタム・ 基盤モデルクラウド・オブジェクト・ストレージにアップロードしたら、モデルと対応する資産接続を作成します。 接続を使用して、プロジェクトまたはスペースにモデルアセットを作成します。

モデルアセットを作成するには、モデルに接続を追加してからモデルアセットを作成します。 カスタム基盤モデルまずプロジェクトでテストしたい場合(例えばJupyterノートブックで評価する)、カスタム基盤モデル 資産プロジェクトに追加し、それをスペースに昇格させます。

モデル資産追加したら、それをデプロイし、 Prompt Lab を使って推論することができます。

重要:

モデルをリモートのクラウドストレージにアップロードする場合、個人の認証情報に基づいて接続を作成する必要があります。 リモートクラウドストレージでは、個人認証情報を使用した接続のみが許可されます。 その結果、同じデプロイメントスペースの他のユーザーは、モデルのコンテンツにはアクセスできないが、モデルのデプロイメントに対して推論を行うことは許可される。 アクセスキーとシークレットアクセスキーを使用して接続を作成します。 アカウントの個人認証情報を有効にする方法については、アカウント設定を参照してください。

始める前に

カスタム基盤モデルデプロイできるようにするには、タスク認証情報を有効にする必要があります。 詳細については、タスク認証情報の追加を参照してください。

モデルに接続を追加する

配置スペースまたはプロジェクトのどちらからでも、モデルへの接続を追加できます。 プログラムで接続を追加するには、Pythonクライアントを使って接続を作成する、またはAPIを使って接続を作成するを参照してください。

注:

watsonx.ai APIを使用するには、ベアラートークンが必要です。 詳細については、プログラム・アクセスのための認証情報を参照してください。

プロジェクトまたはデプロイメント・スペースモデルへの接続を追加する

プロジェクトまたはデプロイメント・スペースモデルへの接続を追加するには、「 プロジェクトのデータ・ソースへの接続を追加する 」に記載されている手順に従います。

重要:
  • 認証情報では、Access key and Secret keyを選択します。 それ以外のオプションを選択した場合、デプロイは機能しません。

  • 接続エンドポイントには、これらのエンドポイント・タイプのいずれかを使用する必要があります:

    • パブリック
    • パブリック(テザリング)
    • 直接
    • ダイレクト(テザー)
  • クレデンシャル設定のプロンプトが表示されたら、 Personal credentials を選択する。 クレデンシャル設定オプションが表示されない場合は、アカウントで有効にする必要があります。 詳細については、 アカウント設定を参照してください。

モデル資産の作成

カスタム基盤モデル 資産作成するには

  1. ディプロイメント スペースまたはプロジェクトで、Assets に移動し、Import assets をクリックします。

  2. カスタム・ 基盤モデル を選択する。

  3. モデルが置かれているクラウドストレージへの接続を選択します。

  4. モデルを含むフォルダを選択します。

    カスタム基盤モデルインポート

  5. 必要に応じてモデルの詳細を調整する。 モデルデプロイメントパラメータ にエントリーを提出しない場合、デフォルト値が使用される。 利用可能なモデルパラメータについては、 カスタム基盤モデルグローバルパラメータ を参照。

  6. インポート をクリックします。

注:

モデルタスク] でタスクを選択しない場合:

  • モデルにチャットテンプレートが含まれていない場合、デフォルトのタスクはテキスト生成です。
  • モデルにチャットテンプレートが含まれている場合、デフォルトのタスクはテキスト生成とテキストチャットです。

プログラムでカスタム基盤モデル 資産作成する

注:

watsonx.ai APIを使用するには、ベアラートークンが必要です。 詳細については、プログラム・アクセスのための認証情報を参照してください。

利用可能なモデルパラメータについては、カスタム基礎モデルのグローバルパラメータを参照してください。 モデルパラメータに何も入力しない場合は、デフォルト値が使用されます。

配置スペースにモデル アセットを追加するコード例を参照してください:

curl -X POST "https://<your cloud hostname>/ml/v4/models?version=2024-01-29" \
-H "Authorization: Bearer $TOKEN" \
-H "content-type: application/json" \
--data '{
    "type": "custom_foundation_model_1.0",
    "framework": "custom_foundation_model",
    "version": "1.0",
    "name": "<asset name>",
    "software_spec": {
        "name": "<name of software specification>"
    },
    "space_id": "<your space ID>",
    "foundation_model": {
        "model_id": "<model ID>",
        "functions": [
             "text_generation"
             "text_chat"
        ],
        "parameters": [
        {
            "name": "dtype",
            "default": "float16",
            "type": "string",
            "display_name": "Data Type",
            "options": ["float16","bfloat16"]
        },
        {
            "name": "max_batch_size",
            "default": 256,
            "type": "number",
            "display_name": "Max Batch Size"
        }],

        "model_location": {
            "type": "connection_asset",
            "connection": {
                "id": "<your connection ID>"
            },
            "location": {
                "bucket": "<bucket where the model is located>",
                "file_path": "<subpath to model files, if required>"
            }
        }
    }
}'

プロジェクトにモデルアセットを追加するサンプルコードを参照してください:

curl -X POST "https://<your cloud hostname>/ml/v4/models?version=2024-01-29" \
-H "Authorization: Bearer $TOKEN" \
-H "content-type: application/json" \
--data '{
    "type": "custom_foundation_model_1.0",
    "framework": "custom_foundation_model",
    "version": "1.0",
    "name": "<asset name>",
    "software_spec": {
        "name": "<name of software specification>"
    },
    "project_id": "<your project ID>",
    "foundation_model": {
        "model_id": "<model ID>",
        "functions": [
             "text_generation"
             "text_chat"
        ],
        "parameters": [
        {
            "name": "dtype",
            "default": "float16",
            "type": "string",
            "display_name": "Data Type",
            "options": ["float16","bfloat16"]
        },
        {
            "name": "max_batch_size",
            "default": 256,
            "type": "number",
            "display_name": "Max Batch Size"
        }],

        "model_location": {
            "type": "connection_asset",
            "connection": {
                "id": "<your connection ID>"
            },
            "location": {
                "bucket": "<bucket where the model is located>",
                "file_path": "<subpath to model files, if required>"
            }
        }
    }
}'
注:

モデル機能を追加しない場合:

  • モデルにチャットテンプレートが含まれていない場合、デフォルトのタスクはテキスト生成です。
  • モデルにチャットテンプレートが含まれている場合、デフォルトのタスクはテキスト生成とテキストチャットです。

次のステップ

カスタム基盤モデル展開