3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ファインチューニング済みモデルをサーバーレス推論へ載せる:vLLM×GPUコンテナ実践

3
Last updated at Posted at 2026-03-12

はじめに

前回の記事はこちらです。
ノーコードでモデルのテストを実行する手順を紹介しました。

前回は「モデルの評価設計」を整理しました。
今回は、そのモデルを実際に業務で使える推論環境へ載せます。

ファインチューニングしたプライベートモデルをサーバーレスで推論環境に載せるやり方を紹介します。
推論環境の構築に手間をかけず、FPT AI FACTORYのGPUコンテナで推論環境を構築します。

なぜサーバーレス推論なのか

評価が完了したモデルを業務で利用するには、安定した推論環境が必要です。
学習環境と推論環境は分離して設計するのが一般的です。

  • 学習:高負荷・一時的
  • 推論:継続的・API経由

常時GPUを起動する構成ではコストが増大するため、利用時のみ起動するサーバーレス構成が有効です。

この記事を読むとできるようになること

  • サーバーレスで推論環境を構築できるようになる

使用する環境

FPT AI FACTORYのGPUコンテナ

GPUコンテナは、アプリケーションとその実行環境をまとめた「Dockerコンテナ」の1つです。
CPUに加えてGPUリソースを使うことが特徴で、機械学習に適したコンテナとなっています。

GPUコンテナは、Dockerコンテナの中でGPUを使えるようにした物です。

サーバーレス推論環境の構築手順

FPT CLOUD トークンの取得

  1. FPT CLOUDのトークン取得画面にログインします
  2. サイドバーのトークンを選択して作成ボタンを押下します
  3. 名前有効期限を設定して作成ボタンを押下します
  4. 画面に表示されるトークンを記録します(OneNoteやメモ帳などに記録します)

トークンはGPUコンテナを作成する際に使用します。

プライベートモデルのダウンロードパラメータ確認

  1. FPT AI FACTORYにログインします
  2. サイドバーのFPT AI Studio>モデルハブ>プライベートモデルを開いてモデルを選択します
    image.png
  3. アクション>モデルをダウンロードを押下します
    image.png
  4. ダウンロードパラメータを記録します(OneNoteやメモ帳などに記録する)
    image.png

GPUコンテナ設定

  1. FPT AI FACTORYにログインします
  2. サイドバーのFPT GPUクラウド>GPUコンテナを開いて「+コンテナを作成」ボタンを押下します
  3. コンテナ名を設定します
    任意の名称を設定
  4. GPUインスタンスを選択します
    GPU1基から8基まで選択可
  5. テンプレートテンプレートを変更ボタンを押下してvllm-openaiを選択します
  6. 詳細設定の項目を展開してパラメータを設定します
  7. コンテナを作成ボタンを押下します

詳細設定のパラメータ設定

以下を参考に設定してください。

永続ディスク

項目 設定値 説明
ボリューム容量 10 GB モデルのサイズに適した値にする
パス /workspace 作業フォルダのパスを指定する

ボリューム容量は最小 1 GB、最大 3000 GB まで指定可能


環境変数

項目 設定値
FPT_SPACE_URL https://ai-api.fptcloud.jp
FPT_TENANT_ID プライベートモデルのダウンロードパラメータのFPT_TENANT_ID
FPT_SPACE_TOKEN https://console.fptcloud.jp/tokens で作成したトークン
VLLM_API_KEY 外部(例:Difyなど)からアクセスするためのAPIキー

VLLM_API_KEY: 推測されにくい値を設定すること


起動コマンド

コマンド
順序 内容
1 sh
2 -c
3 (プライベートモデルのダウンロードパラメータを組み合わせます)

本記事のプライベートモデルのダウンロードパラメータで記録した値を以下の順序で文字列を連結します。

連結順序 内容
1 「ステップ1: SDK CLI をインストールする」の値
2 &&
3 「ステップ3: モデルバージョンをダウンロード」の値
※末の「local_directory」は「/workspace」に置換
4 && vllm serve "/workspace" --trust-remote-code --enable-chunked-prefill --max_num_batched_tokens 1024

例)前述のパラメータを連結した結果
ここでは見やすいように改行を入れてますが、改行無しの一行で書いても良い。

pip install https://s3-han02.fptcloud.com/aifactory-public/SDK/model_space-0.4.0-py3-none-any.whl \
 && model_space model download \
 --model-id 7c5fa973-471c-425d-a64a-947de6bc44c1 \
 --version-id 05513621-db06-44d4-9e91-e30fb45bbb8a \
 --path "/workspace" \
 && vllm serve "/workspace" \
 --trust-remote-code \
 --enable-chunked-prefill \
 --max_num_batched_tokens 1024
引数

プライベートモデルを起動する場合は、デフォルトの引数をすべて削除してください。

以下はデフォルト値です。

項目 設定値
--model openai/gpt-oss-20b
--dtype bfloat16
--gpu-memory-utilization 0.9
--max-model-len 8192
--api-key your_api_key

Difyからアクセス

Dify (ディフィー)とは

Difyは、オープンソースのLLMOpsプラットフォームです。
名称は「Do It For You(あなたに代わってそれを行う)」に由来しています。
GUI上でRAG、エージェント、ワークフローなどのLLMアプリケーションを直感的に構築・運営できるツールであり、開発から運用までのサイクルを効率化します。

今回は、GPUコンテナの推論環境とチャットボットアプリのフロントエンドとしてDifyを組み合わせた構成で説明します。

モデルプロバイダーを設定

  1. Difyのサイトを開きます
  2. 右上のアカウントのアイコンから設定を開きます
    image.png
  3. サイドバーの設定>モデルプロバイダーを押下します
  4. モデルプロバイダー>モデル>OpenAI-API-compatibleをインストールします
  5. OpenAI-API-compatibleで+モデルを追加を押下します
    image.png
  6. 「モデルを追加する」の画面で各パラメータを設定して追加ボタンを押下します
項目 設定値
Model Name /workspace
Model Type LLM
Model display name 任意の名称を設定
例)FineTunedGemmaModel
API Key 環境変数で設定したVLLM_API_KEY
API endpoint URL 作成済みGPUコンテナのHTTPポートの文字列を設定 ※1
Model context size 8192

※1 GPUコンテナのHTTPポート
下図の赤枠箇所からHTTPポートをコピーして加工します。
image.png
例)加工済みのGPUコンテナのHTTPポート設定値
http://my-container-kjeg79c9-8000.serverless.fptcloud.jp/v1/

httpsのsを削除し、最後に /v1/を追加して設定してください。

アプリを作成

  1. Difyのサイトを開きます

  2. アプリを作成する>最初から作成を押下します
    image.png

  3. アプリタイプを選択>チャットボットを選択します

  4. アプリのアイコンと名前を設定して作成するボタンを押下します
    image.png

  5. システムプロンプトを入力します

  6. モデルプロバイダーで設定したモデルになっていることを確認します

  7. 「Botと話す」のテキストボックスに質問を入力して送信します

  8. 応答が来ることを確認します

チャット画面

前述の設定が問題なくできていると、下図のようにDifyの画面でプライベートモデルと会話ができます。
image.png
右上の赤枠のとおり、FineTunedGemmaModelと表示されており、プライベートモデルで推論できていることが確認できます。
また、適切なシステムプロンプトを設定することで、それなりの回答が得られます。

まとめ

  • ファインチューニング済みモデルは、推論環境へ載せて初めて業務で使える状態になる
  • 学習環境と推論環境は分離して設計するのが基本
  • サーバーレス構成により、コストと運用負荷を抑えられる
  • vLLMとGPUコンテナを組み合わせることで、OpenAI互換APIとして活用可能

モデルを「作る」だけでなく、「どう運用するか」まで設計することが重要です。

連載まとめ

読者の方々へ
初の連載編をここまで読んでいただき、誠にありがとうございます。

本連載では、LLMの導入を

  • 適用判断(RAGか、ファインチューニングか)
  • ノーコードでファインチューニングのやり方
  • モデル評価設計
  • サーバーレス推論運用

の4段階で整理しました。

LLMは「回せる」だけでは意味がありません。
設計、評価、運用ができて初めて業務で使える技術になります。

モデルは魔法ではなく、設計の積み重ねです。
どの技術を、どの順番で、どう適用するか。

本連載が、LLM導入を構造的に考えるための設計図になれば幸いです。

あとがき

私は初めて4週連続4本立ての記事を記載しました。
今後も連載編を記載していく予定です。
まだまだ手探りな部分はありますが、技術屋として成長しながら情報を発信していきます。

FPT AI FACTORY(リンク集)

サーバーレス推論環境へいってらっしゃい!

期間限定 無料バウチャー発行中
※新規ユーザー向けに100ドル分のクレジットが提供されています。
詳細は公式ページをご確認ください。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?