[ マイモデル ] では、作成またはインポートしたモデルを管理できます。このページでは、ローカルでトレーニングされた LoRA モデルを Alibaba Cloud Object Storage Service (OSS) から Alibaba Cloud Model Studio にインポートします。
前提条件
インポートする前に、以下の条件が満たされていることを確認してください。
-
OSS バケットの準備:OSS バケットを作成し、タグを追加します。
注記
- サポート対象の OSS バケットのストレージクラスには、アーカイブ、低温アーカイブ、ディープコールドアーカイブは含まれません。サーバー側の暗号化が有効になっているバケットはサポートされています。プライベートバケットもサポートされています。
- モデルファイルは OSS バケットのルートディレクトリに保存しないでください。Alibaba Cloud Model Studio がアクセスできるように、既存のサブディレクトリを選択するか、新しいサブディレクトリを作成してください。
- 任意のサイズのモデルファイルをインポートできます。インポート後、モデルは Alibaba Cloud Model Studio が提供する無料のストレージ領域を使用します。
-
モデルファイルの準備:モデルファイルは インポートの要件と制限 を満たしている必要があります。モデルフォルダを OSS バケットに直接配置してください。システムが自動的に検出します。
サポートされているベースモデル
現在、以下のベースモデルの LoRA ファインチューニング済みバージョンをインポートできます。
モデルファミリー | モデル名 |
|---|---|
Qwen3 | Qwen3-32B |
Qwen3-14B | |
Qwen3-8B | |
Qwen3-4B-Instruct-2507 | |
Qwen3-VL | Qwen3-VL-8B-Instruct |
Qwen2.5 | Qwen2.5-72B-Instruct |
Qwen2.5-32B-Instruct | |
Qwen2.5-14B-Instruct | |
Qwen2.5-7B-Instruct | |
Qwen2.5-VL | Qwen2.5-VL-72B-Instruct |
Qwen2.5-VL-7B-Instruct |
操作手順
以下の手順に従って、LoRA モデルを OSS から Model Studio にインポートしてください。
-
[My Models]ページで、Import Model ボタンをクリックします。
-
モデルのインポートページで、以下の情報を入力してください。
- モデル名:モデルの表示名を入力します (最大 50 文字)。
- ベースモデル:LoRA モデルに対応するベースモデルを選択します。
- トレーニング方法:モデルに使用されたトレーニング方法を選択します。選択肢は選択したベースモデルによって異なり、ベースモデルを選択すると自動的に表示されます。
- インポート元:「Import from OSS」のみがサポートされています。このオプションはデフォルトで選択されています。
- バケット:モデルファイルを格納する OSS バケットを選択します。
- モデルディレクトリ:選択したバケット内でモデルチェックポイントを含むディレクトリを参照して選択します。
- モデルの暗号化:データを保護するため、プラットフォームはフルマネージドキーを使用して OSS のサーバー側の暗号化 (SSE-OSS) を有効にします。暗号化アルゴリズムは AES256 です。
-
情報を確認後、OK をクリックしてインポートリクエストを送信してください。[Cancel] をクリックするとリストページに戻ります。システムはモデルファイルの形式と完全性を検証します。検証に合格すると、インポートが開始されます。完了後、[マイモデル]ページでインポートされたモデルを表示し、デプロイ、増分ファインチューニング、または削除できます。
インポートされたモデルの状態には、作成中 (インポート中)、作成済み (インポート成功、デプロイ準備完了)、作成失敗 (インポート失敗)、期限切れ (モデルファイルの変更) が含まれます。リストページには、モデル名/ID、ベースモデル、インポート元、サポートされているデプロイ方法、作成時刻も表示されます。上部の検索ボックスを使用して、モデルを名前でフィルタリングできます。
インポートの要件と制限
重要:このバージョンでは、Low-Rank Adaptation (LoRA) モデルのみがサポートされています。フルパラメータファインチューニングモデルはサポートされていません。
LoRA モデルをインポートする前に、以下の要件が満たされていることを確認してください。
-
必須ファイル:OSS バケットには以下のファイルが含まれている必要があります。
- adapter_model.safetensors:SafeTensors 形式で保存された LoRA アダプターの重みファイル。
- adapter_config.json:rank や alpha などの主要なパラメーターを含む LoRA アダプターの設定ファイル。
-
Rank パラメーターの制限:rank の値は 8、16、32、または 64 のいずれかである必要があります。同じモデル内のすべての LoRA レイヤーは、同じ rank 値を使用する必要があります。
-
語彙が変更されたモデル:トレーニング中に新しいトークンを追加したり、元の語彙を変更したりしたモデルはインポートできません。語彙がベースモデルの語彙と完全に一致する必要があります。
-
チャットテンプレートが変更されたモデル:トレーニング中に chat_template を変更したモデルはインポートできません。システムは、対応するオープンソースのベースモデルのデフォルトの chat_template のみをサポートします。
chat_template の設定は通常、次のいずれかの場所にあります。
-
モデルの config.json ファイルの
chat_templateフィールド。
-
tokenizer_config.json ファイルの
chat_templateフィールド。
-
-
凍結されていない ViT を持つ視覚言語モデル:VL (視覚言語) モデルの場合、Vision Transformer (ViT) 部分は凍結されている必要があります。LoRA アダプターに視覚関連の重み (凍結されていない ViT を示す) が含まれるモデルはインポートできません。
次のコードを実行して確認します。
from safetensors import safe_open
import argparse
def print_safetensor_structure(file_path):
print(f"Loading safetensor file: {file_path}")
print("="*80)
with safe_open(file_path, framework="pt") as f:
keys = f.keys()
print(f"Found {len(keys)} tensors in the file:\n")
for key in sorted(keys):
tensor = f.get_tensor(key)
shape = tuple(tensor.shape)
dtype = str(tensor.dtype)
device = tensor.device if hasattr(tensor, 'device') else 'cpu'
lora_tag = " [LoRA]" if "lora_A" in key or "lora_B" in key else ""
print(f"[{dtype:>14}] {shape} | {key} {lora_tag}")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Print structure of a .safetensors LoRA adapter.")
parser.add_argument("filepath", type=str, help="Path to the .safetensors file")
args = parser.parse_args()
print_safetensor_structure(args.filepath)
方法:adapter_model.safetensors ファイルに視覚関連の重みパラメーターが含まれているかどうかを確認してください。ファイルに visual で始まるパラメーターキー (例:visual.encoder.layer.0...) が含まれている場合、ViT コンポーネントは凍結されておらず、モデルはインポートできません。
よくある質問
インポートしたモデルの推論結果が、ローカルの vLLM や SGLang と異なるのはなぜですか?
Model Studio の推論エンジンは、ローカルフレームワークとは異なるデフォルトのパラメーター値を使用する場合があります。一貫した結果を確保するには、API を呼び出すときに次のパラメーターを調整してください。
パラメーター名 | 推奨値 (vLLM のデフォルトに一致) |
|---|---|
temperature | 範囲:[0, 2)。vLLM のデフォルトに合わせるには 1.0 に設定します。 |
top_p | 範囲:(0, 1.0]。vLLM のデフォルトに合わせるには 1.0 に設定します。 |
top_k | None または 100 より大きい値に設定すると、top_k サンプリングが無効になります (top_p のみ適用)。99 に設定すると、vLLM のデフォルト値 0 (フルサンプリング) に近くなります。 |
presence_penalty | 範囲:[-2.0, 2.0]。vLLM のデフォルトに合わせるには 0 に設定します。 |
repetition_penalty (DashScope プロトコル) | repetition_penalty を大きくすると、生成されるテキストの繰り返しが減少します。値が 1.0 の場合はペナルティなしを意味します。範囲:0 より大きい。vLLM のデフォルトに合わせるには 1.0 に設定します。 |
注:これらのパラメーター値は vLLM のデフォルトに基づいています。ローカルで SGLang または別の推論フレームワークを使用する場合は、そのフレームワークのドキュメントを参照して、それに応じてパラメーターを調整してください。
初めて OSS から Alibaba Cloud Model Studio にファイルをインポートするにはどうすればよいですか?
初めて OSS から Alibaba Cloud Model Studio にファイルをインポートする場合は、プロンプトに従って権限付与を完了し、インポートする前に対象の OSS バケットに bailian-datahub-access タグを追加してください。
Alibaba Cloud アカウントと RAM ユーザーに慣れていない場合は、まず「権限管理」をお読みください。
Alibaba Cloud アカウントの使用
-
[Go to authorize] をクリックします。
インポート元で [Import from OSS] を選択すると、ページに「You have not authorized OSS.」と表示されます。このメッセージの右側にある [Go to authorize] リンクを見つけてください。
-
表示されるダイアログボックスで、[Confirm Authorization] をクリックします。システムは自動的に OSS サービスリンクロール (必須) を作成します。
これは通常、数秒で有効になりますが、ピーク時には遅延する場合があります。
-
対象の OSS バケットに
bailian-datahub-accessタグを追加してください。このタグは、Alibaba Cloud Model Studio がアクセスできるバケットをマークします。Model Studio はタグ付けされていないバケットにはアクセスできません。
- OSS コンソールに移動します。左側メニューで、[Bucket List] をクリックしてバケットを表示します。
- 対象バケットの ラベル 列で、
アイコンにカーソルを合わせ、[Go to edit] をクリックします。 - [Create Tag] をクリックします。
- [Tag] をクリックし、名前が
bailian-datahub-access、値がreadのタグを追加してから、[Save] をクリックします。
-
[モデルのインポート]ページに戻り、対象のバケットを再選択して、もう一度インポートを試してください。
注:Alibaba Cloud Model Studio は、バケットのルートディレクトリに保存されているファイルへのアクセスをサポートしていません。バケット内の既存のフォルダを選択するか、Model Studio がアクセスできるように新しいフォルダを作成してください。
RAM ユーザーの使用
-
[Go to authorize] をクリックします。
-
表示されるダイアログボックスで [Confirm Authorization] をクリックします。インターフェイスに [「Authorization failed」] と [「The current user lacks permission to create a service-linked role」] が表示されます (RAM ユーザーにはこの権限がないため)。まず RAM ユーザーにサービスリンクロールを作成する権限を付与し、次に Model Studio を介して OSS にアクセスする権限を付与する必要があります。
ダイアログには、サービス名として
datahub.sfm.aliyuncs.com、サービスリンクロール名としてAliyunServiceRoleForSFMDataHubOSSImport、必要なユーザー権限としてram:CreateServiceLinkedRoleが表示されます。 -
RAM ユーザーにサービスリンクロールを作成する権限を付与します。
- Alibaba Cloud アカウントで RAM コンソールにログインする必要があります。左側メニューで、[Permission Management] > [Policies] を選択し、[Create Policy] をクリックします。
- [Script Editor] で、
Effect、Action、Resource、Conditionフィールドに次の内容を入力し、[OK] をクリックしてください。
{
"Action": [
"ram:CreateServiceLinkedRole"
],
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "datahub.sfm.aliyuncs.com"
}
}
}
-
ポリシー名を入力し、[OK] をクリックしてください。
この例では、ポリシー名は
SFMアクセス権限ポリシーです。 -
左側メニューで、[Identity Management] > [Users] を選択します。リストで対象の RAM ユーザーを見つけ、[Actions] 列の [Add Permissions] をクリックします。
-
先ほど作成したカスタムポリシーを選択し、[Confirm New Authorization] をクリックします。これで、RAM ユーザーはサービスリンクロールを作成する権限を持ちます。
-
RAM ユーザーに Alibaba Cloud Model Studio を介して OSS にアクセスする権限を付与してください。
-
[モデルのインポート]ページに戻り、[Go to authorize] をクリックしてください。
インポート元で [Import from OSS] を選択すると、ページに「You have not authorized OSS.」と表示されます。
-
表示されるダイアログボックスで、Confirm Authorization をクリックします。システムは自動的に OSS サービスリンクロール (必須) を作成します。
これは通常、数秒で有効になりますが、ピーク時には遅延する場合があります。
-
-
対象の OSS バケットに
bailian-datahub-accessタグを追加してください。このタグは、Alibaba Cloud Model Studio がアクセスできるバケットをマークします。Model Studio はタグ付けされていないバケットにはアクセスできません。
- OSS コンソールに移動します。左側メニューで、[Bucket List] をクリックしてバケットを表示します。
- 対象バケットの ラベル 列で、
アイコンにカーソルを合わせ、[Go to edit] をクリックします。 - [Create Tag] をクリックします。
- [Tag] をクリックし、名前が
bailian-datahub-access、値がreadのタグを追加してから、[Save] をクリックします。
-
[モデルのインポート]ページに戻り、対象のバケットを再選択して、もう一度インポートを試してください。
注:Alibaba Cloud Model Studio は、バケットのルートディレクトリに保存されているファイルへのアクセスをサポートしていません。バケット内の既存のフォルダを選択するか、Model Studio がアクセスできるように新しいフォルダを作成してください。
エラー「10041495」が発生した場合、どうすればよいですか?
これは通常、Alibaba Cloud アカウントが OSS を有効化していないために発生します。次の手順に従ってください。
- Alibaba Cloud アカウントで OSS コンソールに移動し、指示に従って OSS を有効化する必要があります。
- Alibaba Cloud Model Studio の [モデルのインポート]ページに戻り、再度権限付与を試してください。