Qwen2.5 は Alibaba Cloud が開発したオープンソースの大規模言語モデル (LLM) シリーズです。このシリーズには Base 版および Instruct 版など複数のバージョンとサイズが含まれており、多様な計算ニーズに対応しています。PAI はこれらのモデルをフルサポートしています。本トピックでは、Model Gallery における Qwen2.5-7B-Instruct モデルのデプロイ、ファインチューニング、および評価方法を例として紹介します。記載されている手順は、Qwen2.5 シリーズおよび Qwen2 シリーズのモデルに共通して適用できます。
モデル概要
Qwen2.5 は Alibaba Cloud が提供する最新のオープンソース大規模言語モデルシリーズです。このバージョンは、知識理解、コーディング能力、数学的推論、命令追従性の各面で Qwen2 から大幅に改善されています。
-
知識理解において、MMLU ベンチマークで 85 点以上を記録しています。
-
コーディング能力において、HumanEval ベンチマークで 85 点以上を達成し、大幅な向上を示しています。
-
数学的推論において、MATH ベンチマークで 80 点以上を獲得しています。
-
命令追従能力が強化され、8K トークンを超える長文の生成が可能になりました。
-
テーブルや JSON などの構造化データの理解および生成に優れています。
-
さまざまなシステムプロンプトへの適応力が向上し、ロールプレイや条件付きチャットボット動作の設定がより効果的に行えます。
-
最大 128K トークンのコンテキスト長をサポートし、1 回の応答で最大 8K トークンを生成できます。
-
中国語、英語、フランス語、スペイン語、ポルトガル語、ドイツ語、イタリア語、ロシア語、日本語、韓国語、ベトナム語、タイ語、アラビア語など、29 言語以上を引き続きサポートしています。
環境要件
-
本例は、以下のリージョンの Model Gallery モジュールで実行できます:中国 (北京)、中国 (上海)、中国 (深セン)、中国 (杭州)、中国 (ウランチャブ)。
-
リソース要件:
モデルサイズ
学習要件
Qwen2.5-0.5B/1.5B/3B/7B
V100、P100、または T4 GPU(VRAM 16 GB 以上)を使用して学習タスクを実行します。
Qwen2.5-32B/72B
GU100 GPU(VRAM 80 GB 以上)を使用して学習タスクを実行します。これらのモデルは中国 (ウランチャブ) およびシンガポールでのみサポートされています。注:パラメーター数が多い LLM の場合、Lingjun リソース(例:GU100 または GU108 インスタンス)などの高 VRAM GPU を使用して、モデルを正常に読み込み・実行してください。
-
オプション 1:Lingjun リソースは利用可能台数が限られています。緊急のニーズがあるエンタープライズユーザーは、営業担当者に連絡してホワイトリストアクセスを申請できます。
-
オプション 2:一般ユーザーは、以下に示すプリエンプティブ Lingjun リソースを最大 90 % 割引で利用できます。Lingjun リソースの詳細については、「リソースグループの作成と Lingjun リソースの購入」をご参照ください。

-
PAI コンソールによるモデルの利用
モデルのデプロイと呼び出し
-
Model Gallery ページに移動します。
-
PAI コンソールにログインします。
-
左上隅でご利用のリージョンを選択します。
-
左側のナビゲーションウィンドウで ワークスペース をクリックし、ご利用のワークスペース名をクリックして開きます。
-
左側のナビゲーションウィンドウで Getting Started > Model Gallery を選択します。
-
-
Model Gallery ページで、Qwen2.5-7B-Instruct モデルカードを見つけ、クリックして製品ページを開きます。
-
右上隅の Deploy をクリックします。推論サービス名とリソース構成を設定し、モデルを EAS 推論サービスプラットフォームにデプロイします。

本例ではデフォルトのデプロイ方法である SGLang Accelerated Deployment を使用します。各方法のユースケースは以下のとおりです。
-
SGLang accelerated deployment:LLM およびビジョン言語モデル向けの高速サービスフレームワーク。API 呼び出しのみをサポートします。
-
vLLM accelerated deployment:LLM 推論の高速化に広く使われるオープンソースライブラリ。API 呼び出しのみをサポートします。
-
BladeLLM accelerated deployment:Alibaba Cloud PAI が開発した高性能推論フレームワーク。API 呼び出しのみをサポートします。
-
-
オンラインデバッグを実行します。
Service Details ページの下部にある Online Debugging をクリックします。以下に呼び出し例を示します。

-
API 呼び出しによりサービスを呼び出します。
デプロイ方法によって呼び出し方法が異なります。詳細については、「大規模言語モデルのデプロイ—API 呼び出し」をご参照ください。サービスエンドポイントおよびトークンを取得するには、左側のメニューバーで Model Gallery > Jobs > Deployment Jobs を選択し、サービス名をクリックして Service Details ページを開きます。その後、View Endpoint Information をクリックして、サービスエンドポイントおよびトークンを取得します。

モデルのファインチューニング
PAI-Model Gallery は、Qwen2.5-7B-Instruct モデル向けに教師ありファインチューニング (SFT) および直接的プリファレンス最適化 (DPO) の 2 種類のファインチューニングアルゴリズムを提供しており、すぐにファインチューニングを実行できます。
教師ありファインチューニング (SFT)
SFT アルゴリズムは JSON 形式の入力を受け付けます。各レコードには命令とその対応する出力が含まれている必要があります。"instruction" および "output" フィールドを使用します。以下の例を参照してください。
[
{
"instruction": "あなたは循環器専門医です。患者にアドバイスしてください:「高血圧になって 5~6 年になります。毎日薬を飲むのが嫌になりました。高血圧を治す方法はあるのでしょうか?『奇跡的な治療法』とは何ですか?」",
"output": "高血圧の患者さんは、セロリや山芋などの新鮮な野菜や果物を摂取することで血圧を下げることができます。また、塩分・脂質・コレステロールの少ない食事を心がけてください。適度な運動も効果的です。ただし、医師の指示のもとで処方された降圧剤を継続服用することが重要です。自己判断で薬を中止しないでください。"
},
{
"instruction": "あなたは呼吸器専門医です。患者にアドバイスしてください:「風邪による白い痰を伴う咳をどう治療すればよいでしょうか?」",
"output": "風邪による白い痰を伴う咳の患者さんは、通常、白い痰が多く出たり、胸が詰まった感じがしたり、鼻づまりや透明な鼻水、全身倦怠感、筋肉痛などを訴えます。臨床的には、杏蘇散や二陳丸がよく用いられます。辛味や刺激物、冷たい食べ物は避け、消化しやすく栄養価の高い食事を摂るようにしてください。十分に休息を取り、食事はあっさりとしたものにしてください。"
}
]
直接的プリファレンス最適化 (DPO)
DPO アルゴリズムは JSON 形式の入力を受け付けます。各レコードにはプロンプト、好ましい応答、拒否された応答が含まれている必要があります。"prompt"、"chosen"、および "rejected" フィールドを使用します。以下の例を参照してください。
[
{
"prompt": "私を傷つけてくれませんか?",
"chosen": "申し訳ありませんが、それはできません。",
"rejected": "あなたを傷つけることはできません。ただし、自分自身を精神的または身体的に傷つけることはいつでも可能です。"
},
{
"prompt": "あの人が私の工具を盗んだので、先日その人の物置に忍び込んで取り戻しました。",
"chosen": "それはすべきではありませんでした。今やあなたは法律を破っており、相手がトラブルに巻き込まれる可能性があります。",
"rejected": "それは理解できます。きっとあなたの工具はすぐに返却されるでしょう。"
}
]
-
Model Details ページの右上隅にある Train をクリックします。主な構成項目は以下のとおりです。
-
Dataset Configuration:データセットを準備した後、Object Storage Service (OSS) バケットにアップロードするか、NAS または CPFS に保存済みのデータセットを選択できます。また、PAI が提供する公開データセットを使用してアルゴリズムをテストすることも可能です。
-
Compute Resource Configuration:学習タスクには A10 GPU(VRAM 24 GB)以上の使用を推奨します。
-
Model Output Path:ファインチューニング後のモデルは OSS バケットに保存され、ダウンロード可能です。
-
Hyperparameter Configuration:サポートされているハイパーパラメーターを以下に示します。デフォルト値を使用するか、データセットおよび計算リソースに応じて調整してください。
ハイパーパラメーター
タイプ
デフォルト値
必須
説明
training_strategy
string
sft
はい
学習戦略を SFT または DPO に設定します。
learning_rate
float
5e-5
はい
学習率。学習中にモデルの重みをどの程度調整するかを制御します。
num_train_epochs
int
1
はい
学習データセットを反復する回数。
per_device_train_batch_size
int
1
はい
1 ステップの学習で 1 つの GPU が処理するサンプル数。バッチサイズを大きくすると効率が向上しますが、VRAM 使用量も増加します。
seq_length
int
128
はい
シーケンス長—1 ステップの学習で処理されるトークン数。
lora_dim
int
32
いいえ
LoRA ディメンション。lora_dim > 0 の場合、LoRA または QLoRA 軽量学習が使用されます。
lora_alpha
int
32
いいえ
LoRA 重み。lora_dim > 0 かつ LoRA または QLoRA 軽量学習が使用される場合に有効になります。
dpo_beta
float
0.1
いいえ
学習中にモデルがプリファレンス信号にどの程度依存するかを示します。
load_in_4bit
bool
false
いいえ
モデルを 4 ビット精度で読み込むかどうかを指定します。
lora_dim > 0、load_in_4bit が true、load_in_8bit が false の場合、4 ビット QLoRA 軽量学習が使用されます。
load_in_8bit
bool
false
いいえ
モデルを 8 ビット精度で読み込むかどうかを指定します。
lora_dim > 0、load_in_4bit が false、load_in_8bit が true の場合、8 ビット QLoRA 軽量学習が使用されます。
gradient_accumulation_steps
int
8
いいえ
重みを更新する前に勾配を集積するステップ数。
apply_chat_template
bool
true
いいえ
学習データにモデルのデフォルトチャットテンプレートを適用するかどうかを指定します。Qwen2.5 シリーズモデルの形式は以下のとおりです。
-
質問:
<|im_end|>\n<|im_start|>user\n + instruction + <|im_end|>\n -
応答:
<|im_start|>assistant\n + output + <|im_end|>\n
system_prompt
string
You are a helpful assistant
いいえ
学習時に使用するシステムプロンプト。
-
-
-
Train をクリックします。PAI-Model Gallery は自動的にモデル学習ページを開き、学習を開始します。このページでジョブのステータスをモニターし、ログを確認できます。

-
学習完了後、右上隅の Deploy をクリックして、モデルをオンラインサービスとしてデプロイします。

-
左側のメニューバーで AI Asset Management > Models を選択し、学習済みモデルを確認します。モデル操作の詳細については、「モデルの登録と管理」をご参照ください。

モデルの評価
効率的なモデル評価により、開発者はモデルのパフォーマンスを測定・比較できます。このプロセスはモデル選択および最適化を支援し、AI の革新と実用化を加速します。
PAI-Model Gallery は、Qwen2.5-7B-Instruct モデル向けに組み込みの評価アルゴリズムを提供しており、オリジナルモデルまたはファインチューニング済みモデルをすぐに評価できます。詳細な手順については、「モデル評価」および「大規模言語モデル評価ベストプラクティス」をご参照ください。
PAI Python SDK によるモデルの利用
PAI Python SDK を使用して、PAI-Model Gallery の事前学習済みモデルを呼び出すこともできます。まず、コマンドラインで以下のコマンドを実行し、SDK をインストールおよび構成します。
# PAI Python SDK をインストール
python -m pip install alipai --upgrade
# 対話形式でアクセス認証情報および PAI ワークスペースを構成
python -m pai.toolkit.config
必要なアクセス認証情報 (AccessKey) および PAI ワークスペース情報の取得方法については、「インストールと構成」をご参照ください。
モデルのデプロイと呼び出し
PAI-Model Gallery に用意された推論サービス構成を使用することで、Qwen2.5-7B-Instruct モデルを PAI-EAS 推論プラットフォームに迅速にデプロイできます。
from pai.model import RegisteredModel
from openai import OpenAI
# PAI が提供するモデルを取得
model = RegisteredModel(
model_name="qwen2.5-7b-instruct",
model_provider="pai"
)
# モデルを直接デプロイ
predictor = model.deploy(
service="qwen2.5_7b_instruct_example"
)
# デプロイされたサービスは、Model Gallery の事前構成済み推論設定を使用し、OpenAI API 仕様と互換性があります。OpenAI クライアントを使用して呼び出すことができます。
# OpenAI クライアントを構築。OPENAI_BASE_URL は次のように設定:<ServiceEndpoint> + "/v1/"
openai_client: OpenAI = predictor.openai()
# OpenAI SDK を使用して推論サービスを呼び出し
resp = openai_client.chat.completions.create(
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "人生の意味とは何ですか?"},
],
# デフォルトのモデル名は "default"
model="default"
)
print(resp.choices[0].message.content)
# テスト後に推論サービスを削除
predictor.delete_service()
モデルのファインチューニング
SDK を使用して PAI-Model Gallery から事前学習済みモデルを取得した後、ファインチューニングを実行できます。
# モデルのファインチューニング用エスティメーターを取得
est = model.get_estimator()
# 公開読み取り可能なデータおよび PAI が提供する事前学習済みモデルを取得
training_inputs = model.get_estimator_inputs()
# カスタムデータを使用
# training_inputs.update(
# {
# "train": "<OSS またはローカルパスの学習データセット>",
# "validation": "<OSS またはローカルパスの検証データセット>"
# }
# )
# デフォルトデータを使用して学習ジョブを送信
est.fit(
inputs=training_inputs
)
# 学習済みモデルが保存された OSS パスを表示
print(est.model_data())
PAI-DSW で Notebook 例を開く
Model Gallery のモデル製品ページで Open in DSW をクリックすると、完全な Notebook 例が起動します。この例では、PAI Python SDK の使用方法を詳しく解説しています。

PAI-Model Gallery の事前学習済みモデルを SDK で使用する方法の詳細については、「事前学習済みモデルの使用 — PAI Python SDK」をご参照ください。