Skip to main content

モデルファインチューニングの概要

プロンプトエンジニアリングやプラグイン呼び出しなどの最適化手法を試してもモデルの性能が期待に沿わない場合、Alibaba Cloud Model Studio のモデルファインチューニング機能を利用できます。モデルファインチューニングは、モデルの性能を向上させるための中心的な戦略であり、特定の業界やビジネスシナリオにおけるモデルの能力を大幅に強化し、その出力を人間の好みに合わせ、出力レイテンシーを削減することができます。モデルファインチューニングには、教師ありファインチューニング (SFT)、継続的事前学習 (CPT)、Direct Preference Optimization (DPO) の 3 つのトレーニング手法が含まれます。

モデルファインチューニングの概要

モデルファインチューニングは、モデルの性能を最適化するための重要な手法です。これにより、以下のことが可能になります:
  • 特定の業界やビジネスニーズにおけるモデルの性能向上
  • モデルの出力レイテンシーの削減
  • モデルのハルシネーションの抑制
  • モデルを人間の価値観や好みに合わせる
  • より大きなモデルをファインチューニングされた軽量モデルに置き換える
ファインチューニングの過程で、モデルはトレーニングデータから、特定の業界やシナリオに特化した知識、トーン、表現スタイル、自己認識などの特徴を学習します。トレーニング中に特定の業界やシナリオの多くの例をすでに学習しているため、トレーニング後のモデルのワンショットまたはゼロショットのプロンプト性能は、トレーニング前のフューショット性能よりも優れています。これにより、入力トークンが節約され、モデルの出力レイテンシーが削減されます。

モデルファインチューニングのプロセス

詳細については、以下をご参照ください:

サポート対象モデル

  • シンガポール
  • 中国北部 2 (北京)
  • テキスト生成
  • 視覚理解 (Qwen-VL)

モデル名

モデルコード

SFT 全パラメーター訓練 (sft)

SFT 効率的な訓練 (efficient_sft)

Qwen3-14B

qwen3-14b

×

サポート済み

チューニング手法の比較

特徴

CPT (継続的事前学習)

SFT (教師ありファインチューニング)

DPO (Direct Preference Optimization)

概要

知識を補完する(ドメイン知識を注入する)

タスクの実行方法を学習する(指示に従う)

タスクをより良く実行する(人間の好みに合わせる)

入力データ

1,000 万トークン以上

ラベルなしのドメインテキスト

1,000 件以上

高品質な「質問と回答」のペア

100 セット以上

同じ指示に対する「より良い応答」と「より悪い応答」のペア

中心的な目的

ドメイン適応。専門用語や事実を学習する。

モデルに会話形式やタスク実行能力を教える。

モデルの出力を人間の価値観や好みに、より適合させる。

学習方法

自己教師あり学習 (次の単語を予測する)

教師あり学習 (グラウンドトゥルースを模倣する)

直接的な嗜好学習 (良い応答の確率を高め、悪い応答の確率を低くする)

モデルの段階

通常は SFT の前

CPT の後、DPO の前

通常は SFT の後、アライメントの最終ステップとして。

トレーニングパターンの比較

全パラメーター訓練

効率的な訓練 (LoRA、推奨)

シナリオ

• モデルが新しい能力を獲得する必要がある場合

• 最適なグローバルパフォーマンスを達成する。

• 特定のシナリオに合わせてモデルのパフォーマンスを最適化する。

• コストと時間に敏感なシナリオ向け。

トレーニング時間

より長く、収束が遅い。

より短く、収束が速い。

課金

課金方法トレーニングデータの量に基づく従量課金
課金計算式モデルトレーニング料金 = (トレーニングデータの総トークン数 + 混合トレーニングデータの総トークン数) × エポック数 × トレーニング単価 (最小課金単位:1 トークン)
モデルファインチューニングコンソールの下部で推定トレーニング料金を確認し、課金詳細 をクリックして、トレーニングトークンの総数、エポック数、トレーニング単価を表示できます。

トレーニング単価

以下の表は、事前構築済みモデルのトレーニング単価を示しています。カスタムモデルのトレーニング単価は、対応する事前構築済みモデルと同じです。
  • シンガポール
  • 中国北部 2 (北京)
  • Qwen
  • Qwen-VL

モデルサービス

モデルコード

価格

Qwen3-14B

qwen3-14b

$0.0016/1,000 トークン

モデルのファインチューニングを行う前の注意事項

  • テキスト生成モデルのファインチューニングは、特定のビジネスシナリオで優れた効果を発揮しますが、以下の制限事項があります:
    • 時間がかかる:大規模な CPT データセット (少なくとも 5,000 万トークン) の作成、効果的な SFT データセット (1,000 件以上) の構築、効果的な DPO データセットを構築するための十分な不正解例 (100 件以上) の収集、そしてモデルの最適化の反復速度が遅いことなどが含まれます。
    • 高コスト:ファインチューニング済みモデルはデプロイメント後にのみ使用でき、モデルデプロイメントの課金は高額です。
  • Alibaba Cloud Model Studio では、まず プロンプトエンジニアリング または Function Calling を使用してアプリケーションをカスタマイズすることを推奨します。モデルのファインチューニングは、通常、モデルのパフォーマンスを向上させるための「最終手段」です。その理由は次のとおりです:
    1. 多くのタスクにおいて、モデルは初期段階ではパフォーマンスが低い場合がありますが、適切なプロンプト技術を適用することで、モデルのファインチューニングを行わなくても結果を改善できます。
    2. プロンプトとプラグインを反復的に最適化する方が、モデルのファインチューニングの反復よりもアジャイルでコスト効率が高いです。なぜなら、ファインチューニングでは、データの再収集、クリーニング、最適化、不正解例の収集、顧客調査が必要になる場合があるためです。
    3. 最終的にモデルのファインチューニングを行うことを決定した場合でも、プロンプトエンジニアリングとプラグインの最適化に関する初期作業は無駄にはなりません。この事前作業は、ファインチューニングデータセットを構築する際に完全に再利用できます。

クイックスタート

コンソールを使用したモデルのファインチューニング

ファインチューニングの手順

コンソールのスクリーンショット

ステップ 1: モデルのファインチューニング ページで、トレーニングタスクを作成する をクリックします。

[トレーニングタスクの作成] ページで、次の設定を完了します。

  1. トレーニングタイプを [SFT ファインチューニングトレーニング] に設定します。

  2. モデルとして [Qwen3-8B] を選択します。

  3. トレーニング方法を [効率的なトレーニング] に設定します。

  4. ハイパーパラメーター設定で、batch_size を 16 に設定します (範囲: [8, 1024]、ステップ: 8)。

  5. 右側の [トレーニングタスクの概要] パネルで、課金方法がトークンベースの課金であること、およびトレーニングセットの 10% が検証データセットとして自動的に分割されることを確認し、[トレーニングの開始] をクリックします。

ステップ 2: トレーニングの設定

  • 学習方式: Supervised Fine-tuning (SFT)

  • Select Model: Qwen3-8B

  • 学習方式: Efficient Training

  • パラメータ設定: Model Studio はファインチューニングのハイパーパラメーターに推奨設定を提供するため、デフォルト設定のままでかまいません。

この組み合わせは、トレーニング時間が短く、データ要件も低く抑えられます。

ステップ 3: データの設定

  • 訓練データセット: アップロードしたファインチューニングデータセットを選択してモデルを構築します。

    データサンプル: SFT-ChatML_format_example.jsonl。

  • ミックストレーニング: 無効

  • 検証セット: 自動分割 に設定すると、データの 10% が検証データセットとして使用されます。

ステップ 4: モデルパラメーターのスナップショット (チェックポイント) の保存パラメーターの設定

  • モデル名 は、デフォルト名のままにします。

  • [最大エクスポート数]: デフォルト値を保持します。

  • Checkpoint保存間隔: デフォルト値のままにします。

モデルのファインチューニングが完了した後、Model Studio プラットフォームでパラメータースナップショットをエクスポートできます。その後、このパラメータースナップショットに基づいて Model Studio 上でモデルをデプロイできます。

エクスポートされたパラメータースナップショットはクラウドストレージに保存され、アクセスやダウンロードはできません。

ステップ 5: [トレーニングの開始] をクリックし、モデルトレーニングが完了するのを待ちます。

ステップ 6: Alibaba Cloud Model Studio の デプロイメント 機能を使用して、トレーニング済みのカスタムモデルをデプロイします。デプロイ後、ファインチューニングされたモデルを評価できます。詳細については、「モデルのデプロイメント」をご参照ください。

一般的なファインチューニングプロセス

Model Studio が提供する 3 つのファインチューニング方法は、相互排他的なものではなく、段階的かつ補完的な関係にあります。 CPT (オプション) → SFT → DPO (オプション)
  1. CPT (継続的事前学習) - 知識の補完 (汎用モデルは知識が広く浅いため、専門分野で求められる深さと精度を満たせない場合があります)
    • 金融モデル: 金融用語の学習
    • 医療モデル: 薬剤病理の記憶
    • 法律モデル: 法条文と判例の理解
  2. SFT (教師ありファインチューニング) - タスク実行方法の学習
    • カスタマーサービスボット: カスタマーサービス手順の学習
    • コードアシスタント: プログラミングパラダイムの学習
    • ツール呼び出し (エージェント): MCP の使用方法の学習
  3. DPO (Direct Preference Optimization) - タスク実行能力の向上
    • 安全性と責任: 有害な提案の拒否
    • 簡潔さと有効性: 簡潔な回答の提供
    • 客観性と中立性: 公正かつ客観的な評価

ファインチューニングのデータ形式

  • SFT トレーニングセット
SFT ChatML (Chat Markup Language) 形式のトレーニングデータは、マルチターン対話とさまざまなロール設定をサポートします。
OpenAI の name および weight パラメーターはサポートされていません。すべての assistant の出力がトレーニングされます。
# 1行のトレーニングデータ (JSON 形式) を展開すると、通常、次のような構造になります。
{"messages": [
  {"role": "system", "content": "System input 1"},
  {"role": "user", "content": "User input 1"},
  {"role": "assistant", "content": "Expected model output 1"},
  {"role": "user", "content": "User input 2"},
  {"role": "assistant", "content": "Expected model output 2"}
  ...
]}
system、user、assistant の違いについては、「概要」をご参照ください。トレーニングデータセットのサンプル:SFT-ChatML_format_example.jsonl、SFT-ChatML_format_example.xlsx。XLS および XLSX 形式は、単一ターンの対話のみをサポートします。1つのトレーニングデータ入力におけるすべての assistant の行は、トレーニング中にその行の相対的な重要度を設定する "loss_weight" パラメーターをサポートします。(有効値:0.0~1.0。値が大きいほど重要度が高くなります。)
このパラメーターは招待プレビューで利用できます。使用するには、アカウントマネージャーにご連絡ください。
 {"role": "assistant", "content": "Expected model output 1", "loss_weight": 1.0},
 {"role": "assistant", "content": "Expected model output 2", "loss_weight": 0.5}

データセット構築のヒント

データセットサイズの要件

CPT の場合、データセットには少なくとも 5,000 万トークンの高品質な事前学習データが必要です。SFT の場合、データセットには少なくとも 1,000 件の高品質なファインチューニングデータが必要です。DPO の場合、データセットには通常、数百件の人間の嗜好データが必要です。データのファインチューニング後のモデル評価結果が満足のいくものでない場合、最も簡単な改善方法は、トレーニングのためにより多くのデータを収集することです。 データが不足している場合は、エージェントアプリケーションを構築し、ナレッジベースインデックスを使用してモデルの能力を強化することを推奨します。多くの複雑なビジネスシナリオでは、モデルファインチューニングとナレッジベース検索を組み合わせて使用することもできます。 たとえば、カスタマーサービスのシナリオでは、モデルファインチューニングを使用して、カスタマーサービスエージェントの口調、表現スタイル、自己認識に関する問題に対処できます。シナリオに関連する専門知識は、ナレッジベースを使用してモデルのコンテキストに動的に導入できます。 Alibaba Cloud Model Studio では、まず検索拡張生成 (RAG) アプリケーションを構築してテストすることを推奨します。十分なアプリケーションデータを収集した後、モデルファインチューニングを使用してモデルのパフォーマンスをさらに向上させることができます。 また、以下の戦略を使用してデータセットを拡張することもできます:
  1. 大規模言語モデル (LLM) を使用して、特定のビジネスシナリオのコンテンツ生成をシミュレートし、ファインチューニング用のデータをより多く生成します。(生成には、より大規模で高性能なモデルを選択することを推奨します。)
  2. アプリケーションシナリオからの収集、Web スクレイピング、ソーシャルメディアやオンラインフォーラム、パブリックデータセット、パートナーや業界リソース、ユーザーからの提供など、さまざまな方法でより多くのデータを取得します。

データの多様性とバランス

モデルファインチューニングの要件はシナリオによって異なります。たとえば、特定のビジネスシナリオでは専門性が重要ですが、Q&A シナリオでは汎用性がより重要になります。モデルが担当するビジネスモジュールや利用シーンに基づいて、データユースケースを設計する必要があります。したがって、トレーニング効果はデータ量だけでなく、特定のシナリオに対するデータの専門性と多様性にも依存します。 たとえば、インテリジェント AI 対話シナリオでは、専門的で多様なデータセットには、以下のビジネスシナリオが含まれるべきです:

特定のビジネス

多様なシナリオ/ビジネス

E コマースカスタマーサービス

プロモーションのプッシュ、販売前コンサルティング、販売中ガイダンス、アフターサービス、アフターフォロー、苦情処理など。

金融サービス

ローン相談、投資・資産運用アドバイス、クレジットカードサービス、銀行口座管理など。

オンラインヘルスケア

症状相談、予約登録、受診案内、薬剤情報照会、健康に関するヒントなど。

AI 秘書

IT 情報、管理情報、人事情報、福利厚生照会、会社カレンダー照会など。

旅行アシスタント

旅行計画、出入国ガイド、旅行保険相談、目的地の習慣・文化紹介など。

企業法務

契約レビュー、知的財産保護、コンプライアンスチェック、労働法 Q&A、国際取引コンサルティング、個別ケースの法的分析など。

また、各シナリオ/ビジネスのデータ量は比較的バランスが取れており、データの割合が実際のシナリオの割合と一致している必要があることにも注意が必要です。これにより、あるタイプのデータが多すぎてモデルがそれらの特徴の学習に偏り、汎化能力に影響を与えるのを防ぎます。

トレーニングセットと検証データセットの分割

コンソールでモデルファインチューニングを実行できます。
  • 完全なトレーニングデータセットを自動的に分割し、少量のデータをランダムにサンプリングして検証データセットを形成します。
  • 別のデータセットをアップロードすることを選択します。
コンソールには、トレーニング中に検証データセットの損失とトークン精度がリアルタイムで表示されます。 [データ設定] ページには、ミックストレーニング の切り替えスイッチ (デフォルトでは無効) も含まれています。[自動分割] が選択されている場合、デフォルトでトレーニングセットの 10% がランダムに検証データセットとして分割されます。

よくある質問

独自のモデルをファインチューニングできますか?

Model Studio では、ファインチューニング、独自モデルのアップロード、ダウンロード済みモデルのエクスポートはサポートされていません。