# Hugging FaceハブからのLLMのデプロイ

> Hugging FaceハブからのLLMのデプロイ - vLLM環境を使用して、Hugging FaceハブからオープンソースのLLMを作成してデプロイします。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-27T18:44:30.779506+00:00` (UTC).

## Primary page

- [Hugging FaceハブからのLLMのデプロイ](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [前提条件](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md#prerequisites): In-page section heading.
- [テキスト生成カスタムモデルの作成](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md#create-a-text-generation-custom-model): In-page section heading.
- [カスタムLLMのアセンブル](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md#assemble-the-custom-llm): In-page section heading.
- [必要なランタイムパラメーターの設定](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md#configure-the-required-runtime-parameters): In-page section heading.
- [カスタムモデルのリソースの設定](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md#configure-the-custom-model-resources): In-page section heading.
- [カスタムLLMのデプロイと実行](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md#deploy-and-run-the-custom-llm): In-page section heading.
- [デプロイされたLLMでの追加のガバナンスAPIの使用](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md#use-the-bolt-on-governance-api-with-a-deployed-llm): In-page section heading.
- [Dockerを使用したローカルでのテスト](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-open-source-textgen-template.html.md#test-locally-with-docker): In-page section heading.

## Related documentation

- [public_dropin_gpu_environments/vllm](https://docs.datarobot.com/en/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-add-custom-env.html): Linked from this page.

## Documentation content

> [!NOTE] プレミアム機能
> Hugging FaceハブからLLMをデプロイするには、GenAIエクスペリメントとGPU推論のためのプレミアム機能へのアクセスが必要です。 これらの機能を有効にするには、DataRobotの担当者または管理者にお問い合わせください。

[Hugging Face Hub](https://huggingface.co/models) で一般的なオープンソースLLMを作成およびデプロイする際、ワークショップを利用できます。これにより、DataRobotでは、GenAIに対して提供されるエンタープライズグレードの可観測性とガバナンスによってAIアプリが保護されます。 新しい [\[GenAI\] vLLM Inference Server実行環境](https://github.com/datarobot/datarobot-user-models/tree/master/public_dropin_gpu_environments/vllm) および [vLLM Inference Server Text Generation Template](https://github.com/datarobot/datarobot-user-models/tree/master/model_templates/gpu_vllm_textgen) は、DataRobotが提供するGenAIモニタリング機能およびボルトオンガバナンスAPIとすぐに統合できます。

このインフラストラクチャは、LLMの推論と提供のためのオープンソースフレームワークである [vLLMライブラリ](https://github.com/vllm-project/vllm) を使用して、Hugging Faceライブラリと連携し、一般的なオープンソースLLMをHugging Face Hubからシームレスにダウンロードして読み込みます。 まず、 [テキスト生成モデルのテンプレートをカスタマイズ](https://github.com/datarobot/datarobot-user-models/blob/master/model_templates/gpu_vllm_textgen/README.md) してください。 デフォルトでは [Llama-3.1-8b](https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct) LLMを使用しますが、 `engine_config.json` ファイルを変更して使用するOSSモデル名を指定することで、選択するモデルを変更することができます。

## 前提条件

DataRobotでHugging Face LLMの組み立てを開始する前に、次のリソースを取得します。

- [GenAI] vLLM Inference Server実行環境
- vLLM Inference Server Text Generation Template
- ゲート付きモデルにアクセスするには、Hugging FaceアカウントとREAD権限を備えたHugging Faceアクセストークンが必要です。 Hugging Faceアクセストークンに加えて、モデルの作成者にモデルアクセス権限をリクエストします。

## テキスト生成カスタムモデルの作成

カスタムLLMを作成するには、ワークショップで [新しいカスタムテキスト生成モデルを作成](https://docs.datarobot.com/ja/docs/workbench/nxt-console/nxt-monitoring/nxt-genai-monitoring.html.md#create-and-deploy-a-generative-custom-model) します。 ターゲットタイプ を テキスト生成 に設定し、 ターゲット を定義します。

カスタムLLMの必要なファイルをアップロードする前に、 GenAI vLLM推論サーバー を 基本環境 リストから選択します。 モデル環境は、カスタムモデルの [テスト](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-test-custom-model.html.md) と [登録済みカスタムモデル](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-directory/nxt-deploy-models.html.md) の [デプロイ](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-directory/nxt-register-cus-models.html.md) に使用されます。

> [!NOTE] 必要な環境が利用できない場合はどうなりますか？
> GenAI vLLM推論サーバー 環境が 基本環境 リストにない場合、DRUMリポジトリの [public_dropin_gpu_environments/vllm](https://docs.datarobot.com/en/docs/workbench/nxt-registry/nxt-environment-workshop/nxt-add-custom-env.html) ディレクトリにあるリソースを使用して [カスタム環境を追加](https://github.com/datarobot/datarobot-user-models/tree/master/public_dropin_gpu_environments/vllm) することができます。

## カスタムLLMのアセンブル

カスタムLLMをアセンブルするには、DRUMリポジトリの [model_templates/gpu_vllm_textgen](https://github.com/datarobot/datarobot-user-models/tree/master/model_templates/gpu_vllm_textgen) ディレクトリにあるカスタムモデルファイルを使用します。 [モデルファイルを手動で追加](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-create-custom-model.html.md#assemble-the-custom-model) するか、 [DRUMリポジトリからプル](https://docs.datarobot.com/ja/docs/workbench/nxt-registry/nxt-model-workshop/nxt-create-custom-model.html.md#connect-to-remote-repositories) できます。

モデルファイルを追加した後、読み込むHugging faceモデルを選択できます。 デフォルトでは、このテキスト生成の例は [Llama-3.1-8b](https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct) モデルを使用します。 選択したモデルを変更するには、 `engine_config.json` ファイルの横にある edit をクリックして `--model` 引数を変更します。

```
# engine_config.json
{
  "args": [
    "--model", "meta-llama/Llama-3.1-8B-Instruct"
  ]
} 
```

## 必要なランタイムパラメーターの設定

カスタムLLMのファイルがアセンブルされた後、カスタムモデルの `model-metadata.yaml` ファイルで定義されたランタイムパラメーターを設定します。 次のランタイムパラメーターは 未設定 なので、設定が必要です。

| ランタイムパラメーター | 説明 |
| --- | --- |
| HuggingFaceToken | 少なくともREAD権限を備えた Hugging Faceアクセストークンを含む、 資格情報管理ページで作成されたDataRobot APIトークン資格情報 |
| system_prompt | カスタムLLMのすべての個別プロンプトの前に付加される「ユニバーサル」プロンプト LLMのレスポンスを指示およびフォーマットします。 システムプロンプトは、レスポンス生成中に作成される構造、トーン、形式、コンテンツに影響を与えることがあります。 |

さらに、次のランタイムパラメーターのデフォルト値を更新できます。

| ランタイムパラメーター | 説明 |
| --- | --- |
| max_tokens | チャット補完で生成できるトークンの最大数 この値を使用して、APIを介して生成されたテキストのコストを制御できます。 |
| max_model_len | モデルのコンテキスト長 指定しない場合、このパラメーターはモデル設定から自動的に派生します。 |
| prompt_column_name | LLMプロンプトを含む入力列の名前 |
| gpu_memory_utilization | モデルの実行に使用するGPUメモリーの割合。0から1までの範囲で指定できます。たとえば、0.5という値は、GPUメモリー使用率50%を示します。 指定しない場合、デフォルト値の0.9が使用されます。 |

> [!NOTE] 高度な設定
> `[GenAI] vLLM Inference Server` 実行環境で使用できるランタイムパラメーターと設定オプションの詳細については、環境 [README](https://github.com/datarobot/datarobot-user-models/tree/master/public_dropin_gpu_environments/vllm) を参照してください。

## カスタムモデルのリソースの設定

カスタムモデルリソースで、適切なGPUバンドル（少なくとも GPU - L / `gpu.large` ）を選択します。

必要なリソースバンドルを推定するには、次の式を使用します。

ここで、各特徴量は以下を表します。

| 特徴量 | 説明 |
| --- | --- |
| \(M\) | ギガバイト (GB) 単位で必要なGPUメモリー |
| \(P\) | モデル内のパラメーターの数（たとえば、Llama-3.1-8bには80億個のパラメーターがあります）。 |
| \(Q\) | モデルのロードに使用されるビット数（4、8、または16など） |

> [!NOTE] 手動計算の詳細
> 詳細については、 [LLMに対応するためのGPUメモリーの計算](https://www.substratus.ai/blog/calculating-gpu-memory-for-llm) を参照してください。

> [!TIP] Hugging Faceでの自動計算
> [Hugging face](https://huggingface.co/spaces/Vokturz/can-it-run-llm) でGPUメモリー要件を計算することもできます。

この例のモデル [Llama-3.1-8b](https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct) の場合、次のように評価されます。

したがって、このモデルには19.2GBのメモリーが必要であり、 GPU - L バンドル (1 x NVIDIA A10G | 24GB VRAM | 8 CPU | 32GB RAM) を選択する必要があることを示しています。

## カスタムLLMのデプロイと実行

カスタムLLMをアセンブルして設定した後、以下を実行します。

- カスタムモデルをテストする（テキスト生成モデルの場合、テストプランには起動テストと予測エラーテストのみが含まれます）。
- カスタムモデルを登録する。
- 登録済みモデルをデプロイする。
- 予測の作成。
- チャット生成Q&Aアプリケーションを作成する。

## デプロイされたLLMでの追加のガバナンスAPIの使用

生成されるLLMデプロイではデフォルトで [DRUM](https://github.com/datarobot/datarobot-user-models) を使用するため、 [OpenAI Python APIライブラリ](https://github.com/openai/openai-python) を使用して [OpenAIチャット補完API仕様](https://platform.openai.com/docs/api-reference/chat/create) を実装するボルトオンのガバナンスAPIを使用できます。 詳細については、 [OpenAI Python APIライブラリのドキュメント](https://github.com/openai/openai-python/blob/main/api.md) を参照してください。

以下のコードスニペットで強調表示されている行では、 `{DATAROBOT_DEPLOYMENT_ID}` および `{DATAROBOT_API_KEY}` のプレースホルダーをLLMデプロイのIDとDataRobot APIキーに置き換える必要があります。

| Call the Chat API for the deployment |
| --- |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |

## Dockerを使用したローカルでのテスト

Dockerを使用してローカルでカスタムモデルをテストするには、次のコマンドを使用できます。

```
# Build an image
export HF_TOKEN=<INSERT HUGGINGFACE TOKEN HERE>
cd ~/datarobot-user-models/public_dropin_gpu_environments/vllm
cp ~/datarobot-user-models/model_templates/gpu_vllm_textgen/* .
docker build -t vllm . 
```

```
# Run the model
docker run -p8080:8080 \
  --gpus 'all' \
  --net=host \
  --shm-size=8GB \
  -e DATAROBOT_ENDPOINT=https://app.datarobot.com/api/v2 \
  -e DATAROBOT_API_TOKEN=${DATAROBOT_API_TOKEN} \
  -e MLOPS_DEPLOYMENT_ID=${DATAROBOT_DEPLOYMENT_ID} \
  -e TARGET_TYPE=textgeneration \
  -e TARGET_NAME=completions \
  -e MLOPS_RUNTIME_PARAM_HuggingFaceToken="{\"type\": \"credential\", \"payload\": {\"credentialType\": \"api_token\", \"apiToken\": \"${HF_TOKEN}\"}}" \
  vllm 
```

> [!NOTE] 複数のGPUの使用
> `--shm-size` 引数は、複数のGPUを利用してLLMを実行しようとしている場合にのみ必要です。
