すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:LLM 向けデータ拡張およびモデル蒸留

最終更新日:Mar 03, 2026

大規模言語モデル(LLM)の学習および推論には多大なエネルギー消費と長い応答時間が伴います。これらの制約により、リソースが限られた環境への LLM のデプロイが困難になっています。この課題を解決するため、PAI では**モデル蒸留**という手法を提供しています。これは、大規模な教師モデルから知識を小規模な学生モデルへ転送する技術です。これにより、元の性能の大部分を維持しつつ、モデルサイズおよび計算リソース要件を大幅に削減でき、実世界における幅広い活用が可能になります。本トピックでは、Qwen2 LLM を用いた LLM 向けデータ拡張およびモデル蒸留のエンドツーエンド開発ワークフローを順に説明します。

ワークフロー

以下の完全な開発ワークフローに従ってください:

  1. 命令データの準備

    必要なデータ形式および推奨されるデータ準備戦略に従って、学習用データセットを準備します。

  2. (任意)命令拡張モデルの使用

    PAI-Model Gallery で事前構築済みの命令拡張モデル—`Qwen2-1.5B-Instruct-Exp` または `Qwen2-7B-Instruct-Exp` を使用します。これらのモデルは、ご利用のデータセット内の命令と意味的に類似した追加命令を自動生成します。命令拡張は、LLM 蒸留学習時の汎化性能を向上させます。

  3. (任意)命令最適化モデルの使用

    PAI-Model Gallery で事前構築済みの命令最適化モデル—`Qwen2-1.5B-Instruct-Refine` または `Qwen2-7B-Instruct-Refine` を使用します。これらのモデルは、ご利用のデータセット(拡張済みの命令を含む)から命令を精緻化・充実化し、LLM のテキスト生成品質を向上させます。

  4. 教師 LLM をデプロイして応答を生成

    PAI-Model Gallery で事前構築済みの教師 LLM—`Qwen2-72B-Instruct` を使用し、学習用データセット内の命令に対する応答を生成します。このステップにより、教師モデルの知識がデータセットに蒸留されます。

  5. 小規模な学生モデルの蒸留学習

    PAI-Model Gallery で、完成した命令・応答データセットを用いて、本番環境へのデプロイに適した小規模な学生モデルの蒸留学習を行います。

前提条件

開始する前に、以下の手順を完了していることを確認してください:

命令データの準備

データ準備戦略およびデータ形式の要件を用いて命令データを準備します:

データ準備戦略

モデル蒸留の有効性および安定性を高めるために、以下の戦略を用いてデータを準備できます:

  • 最低でも数百件のデータポイントを準備する必要があります。より多くのデータを準備することで、モデルの性能が向上します。

  • シードデータセットは、広範でバランスの取れた分布を持つ必要があります。例えば、タスクのシナリオは多様であるべきであり、データの入力および出力には短いものと長いものの両方が含まれるべきです。また、データセットが中国語および英語などの複数言語を含む場合、言語の分布は比較的バランスが取れている必要があります。

  • 異常なデータを処理します。わずかな異常データであっても、ファインチューニング結果に大きな影響を与える可能性があります。ルールベースの方法を用いてデータをクリーニングし、無効なエントリをフィルターで除外します。

データ形式の要件

学習用データセットは、単一のフィールド `instruction` を含む JSON ファイルである必要があります。このフィールドには入力命令が格納されます。例:

[
    {
        "instruction": "2008 年の金融危機において、各国政府は金融市場の安定化のためにどのような主要な措置を講じましたか?"
    },
    {
        "instruction": "気候変動の悪化に伴い、各国政府は持続可能な開発を促進するためにどのような重要な行動をとってきましたか?"
    },
    {
        "instruction": "2001 年のテクノロジー・バブル崩壊時に、各国政府は経済回復を支援するためにどのような主要な措置を講じましたか?"
    }
]

(任意)命令拡張モデルの使用

命令拡張は、LLM における一般的なプロンプトエンジニアリング手法です。ユーザーが提供した命令データセットを自動的に拡張し、多様性およびカバー率を高めます。

  • 例えば、次の入力が与えられた場合:

    魚の風味の豚肉細切りを調理する方法を教えてください。
    GRE 試験の準備方法を教えてください。
    友達に誤解された場合、どうすればよいですか?
  • モデルは次のような出力を生成します:

    麻婆豆腐の作り方を教えてください。
    TOEFL 試験の準備に関する詳細なガイドを提供してください。
    職場で挫折に直面した場合、どのようにしてマインドセットを調整しますか?

命令の多様性は、LLM の汎化性能に直接影響します。命令の拡張により、最終的な学生モデルの性能が向上します。Qwen2 ベースモデルに基づき、PAI では 2 つの独自の命令拡張モデル—`Qwen2-1.5B-Instruct-Exp` および `Qwen2-7B-Instruct-Exp` を提供しています。これらはいずれも EAS オンラインサービスとしてワンクリックでデプロイ可能です。以下の手順に従ってください:

モデルサービスのデプロイ

命令拡張モデルを EAS オンラインサービスとしてデプロイします:

  1. Model Gallery ページに移動します。

    1. PAI コンソール にログインします。

    2. 左上隅で、ご利用のリージョンを選択します。

    3. 左側のナビゲーションウィンドウで ワークスペース を選択し、ワークスペース名をクリックして開きます。

    4. 左側のナビゲーションウィンドウで、はじめに > Model Gallery を選択します。

  2. Model Gallery ページ右側のモデル一覧で、Qwen2-1.5B-Instruct-Exp または Qwen2-7B-Instruct-Exp を検索し、対応するカードの デプロイ をクリックします。

  3. デプロイ 構成パネルで、システムが モデルサービス情報 および リソースデプロイ情報 にデフォルト値を設定します。必要に応じて変更し、デプロイ をクリックします。

  4. 課金通知 ダイアログボックスで、OK をクリックします。

    システムが デプロイタスク ページを開きます。ステータス実行中 と表示された場合、デプロイは成功です。

モデルサービスの呼び出し

デプロイが成功した後、API を使用して推論を実行します。完全な使い方については、「大規模言語モデルのデプロイ」をご参照ください。以下はクライアントリクエストの例です:

  1. サービスエンドポイントおよびトークンを取得します。

    1. サービスの詳細 ページで、基本情報 をクリックし、エンドポイント情報の表示 をクリックします。image

    2. エンドポイント情報 ダイアログボックスで、エンドポイントおよびトークンを確認し、ローカルに保存します。

  2. ターミナルで、以下の Python スクリプトを作成して実行します:

    import argparse
    import json
    import requests
    from typing import List
    
    def post_http_request(prompt: str,
                          system_prompt: str,
                          host: str,
                          authorization: str,
                          max_new_tokens: int,
                          temperature: float,
                          top_k: int,
                          top_p: float) -> requests.Response:
        headers = {
            "User-Agent": "Test Client",
            "Authorization": f"{authorization}"
        }
        pload = {
            "prompt": prompt,
            "system_prompt": system_prompt,
            "top_k": top_k,
            "top_p": top_p,
            "temperature": temperature,
            "max_new_tokens": max_new_tokens,
            "do_sample": True,
            "eos_token_id": 151645
        }
        response = requests.post(host, headers=headers, json=pload)
        return response
    
    def get_response(response: requests.Response) -> List[str]:
        data = json.loads(response.content)
        output = data["response"]
        return output
    
    if __name__ == "__main__":
        parser = argparse.ArgumentParser()
        parser.add_argument("--top-k", type=int, default=50)
        parser.add_argument("--top-p", type=float, default=0.95)
        parser.add_argument("--max-new-tokens", type=int, default=2048)
        parser.add_argument("--temperature", type=float, default=1)
        parser.add_argument("--prompt", type=str, default="私に歌を歌ってください。")
    
        args = parser.parse_args()
        prompt = args.prompt
        top_k = args.top_k
        top_p = args.top_p
        temperature = args.temperature
        max_new_tokens = args.max_new_tokens
    
        host = "EAS HOST"
        authorization = "EAS TOKEN"
    
        print(f" --- 入力: {prompt}\n", flush=True)
        system_prompt = "あなたは命令作成者です。目的は、[与えられた命令] に着想を得た新しい命令を作成することです。"
        response = post_http_request(
            prompt, system_prompt,
            host, authorization,
            max_new_tokens, temperature, top_k, top_p)
        output = get_response(response)
        print(f" --- 出力: {output}\n", flush=True)

    以下:

    • host:ご利用のサービスエンドポイントに設定します。

    • authorization:ご利用のサービストークンに設定します。

バッチ命令拡張

上記の EAS オンラインサービスを用いて、命令をバッチ処理できます。以下の例では、カスタム JSON データセットを読み込み、モデル API を呼び出して命令を拡張します。ターミナルでこの Python スクリプトを作成して実行します:

import requests
import json
import random
from tqdm import tqdm
from typing import List

input_file_path = "input.json"  # 入力ファイル名
with open(input_file_path) as fp:
    data = json.load(fp)

total_size = 10  # 拡張後のサンプル総数の目標値
pbar = tqdm(total=total_size)

while len(data) < total_size:
    prompt = random.sample(data, 1)[0]["instruction"]
    system_prompt = "あなたは命令作成者です。目的は、[与えられた命令] に着想を得た新しい命令を作成することです。"
    top_k = 50
    top_p = 0.95
    temperature = 1
    max_new_tokens = 2048

    host = "EAS HOST"
    authorization = "EAS TOKEN"

    response = post_http_request(
        prompt, system_prompt,
        host, authorization,
        max_new_tokens, temperature, top_k, top_p)
    output = get_response(response)
    temp = {
        "instruction": output
    }
    data.append(temp)
    pbar.update(1)
pbar.close()

output_file_path = "output.json" # 出力ファイル名
with open(output_file_path, 'w') as f:
    json.dump(data, f, ensure_ascii=False)

以下に示すとおり:

  • host:ご利用のサービスエンドポイントに設定します。

  • authorization:ご利用のサービストークンに設定します。

  • file_path:データセットファイルのローカルパスに置き換えます。

  • post_http_request および get_response 関数は、「モデルサービスの呼び出し」の Python スクリプトで定義されたものと一致します。

コードを使用せずに同様の処理を行うには、PAI-Designer の LLM-Instruction Expansion (DLC) コンポーネントを使用できます。詳細については、「カスタムパイプライン」をご参照ください。image

(任意)命令最適化モデルの使用

命令最適化は、LLM におけるもう一つの一般的なプロンプトエンジニアリング手法です。ユーザーが提供した命令データセットを自動的に精緻化し、より詳細で構造化された命令を生成することで、LLM の応答をより豊かにします。

  • 例えば、命令最適化モデルへの次の入力が与えられた場合:

    魚の風味の豚肉細切りを調理する方法を教えてください。
    GRE 試験の準備方法を教えてください。
    友達に誤解された場合、どうすればよいですか?
  • モデルは次のような出力を生成します:

    四川風の魚の風味の豚肉細切りの詳細なレシピを提供してください。具体的な材料リスト(野菜、豚肉、調味料)と、ステップバイステップの調理手順を含めてください。また、それに合うサイドディッシュおよび主食の推奨も行ってください。
    GRE 試験の登録、必要な書類、学習戦略、推奨される復習資料を網羅した包括的なガイドを提供してください。さらに、効果的な練習問題および模擬試験の推奨も行ってください。
    友達に誤解されたときに冷静かつ合理的に振る舞い、それを効果的に解決するための詳細なガイドを提供してください。実践的なアドバイス(例:自分の考えや感情をどう伝えるか、誤解を悪化させないための方法、練習用の具体的な会話シーンおよび状況)を含めてください。

命令の詳細度は、LLM の出力品質に直接影響します。命令の最適化により、最終的な学生モデルの性能が向上します。Qwen2 ベースモデルに基づき、PAI では 2 つの独自の命令最適化モデル—`Qwen2-1.5B-Instruct-Refine` および `Qwen2-7B-Instruct-Refine` を提供しています。これらはいずれも EAS オンラインサービスとしてワンクリックでデプロイ可能です。以下の手順に従ってください:

モデルサービスのデプロイ

  1. Model Gallery ページに移動します。

    1. PAI コンソール にログインします。

    2. 左上隅で、ご利用のリージョンを選択します。

    3. 左側のナビゲーションウィンドウで ワークスペース を選択し、ワークスペース名をクリックして開きます。

    4. 左側のナビゲーションウィンドウで、はじめに > Model Gallery を選択します。

  2. Model Gallery ページ右側のモデル一覧で、Qwen2-1.5B-Instruct-Refine または Qwen2-7B-Instruct-Refine を検索し、対応するカードの デプロイ をクリックします。

  3. デプロイ 構成パネルで、システムが モデルサービス情報 および リソースデプロイ情報 にデフォルト値を設定します。必要に応じて変更し、デプロイ をクリックします。

  4. 課金通知 ダイアログボックスで、OK をクリックします。

    システムが デプロイタスク ページを開きます。ステータス実行中 と表示された場合、デプロイは成功です。

モデルサービスの呼び出し

デプロイが成功した後、API を使用して推論を実行します。完全な使い方については、「大規模言語モデルのデプロイ」をご参照ください。以下はクライアントリクエストの例です:

  1. サービスエンドポイントおよびトークンを取得します。

    1. サービスの詳細 ページで、基本情報 をクリックし、エンドポイント情報の表示 をクリックします。image

    2. エンドポイント情報 ダイアログボックスで、エンドポイントおよびトークンを確認し、ローカルに保存します。

  2. ターミナルで、以下の Python スクリプトを作成して実行します:

    import argparse
    import json
    import requests
    from typing import List
    
    
    def post_http_request(prompt: str,
                          system_prompt: str,
                          host: str,
                          authorization: str,
                          max_new_tokens: int,
                          temperature: float,
                          top_k: int,
                          top_p: float) -> requests.Response:
        headers = {
            "User-Agent": "Test Client",
            "Authorization": f"{authorization}"
        }
        pload = {
            "prompt": prompt,
            "system_prompt": system_prompt,
            "top_k": top_k,
            "top_p": top_p,
            "temperature": temperature,
            "max_new_tokens": max_new_tokens,
            "do_sample": True,
            "eos_token_id": 151645
        }
        response = requests.post(host, headers=headers, json=pload)
        return response
    
    
    def get_response(response: requests.Response) -> List[str]:
        data = json.loads(response.content)
        output = data["response"]
        return output
    
    
    if __name__ == "__main__":
        parser = argparse.ArgumentParser()
        parser.add_argument("--top-k", type=int, default=2)
        parser.add_argument("--top-p", type=float, default=0.95)
        parser.add_argument("--max-new-tokens", type=int, default=256)
        parser.add_argument("--temperature", type=float, default=0.5)
        parser.add_argument("--prompt", type=str, default="私に歌を歌ってください。")
    
        args = parser.parse_args()
        prompt = args.prompt
        top_k = args.top_k
        top_p = args.top_p
        temperature = args.temperature
        max_new_tokens = args.max_new_tokens
    
        host = "EAS HOST"
        authorization = "EAS TOKEN"
    
        print(f" --- 入力: {prompt}\n", flush=True)
        system_prompt = "この命令を、より詳細かつ具体的になるよう最適化してください。"
        response = post_http_request(
            prompt, system_prompt,
            host, authorization,
            max_new_tokens, temperature, top_k, top_p)
        output = get_response(response)
        print(f" --- 出力: {output}\n", flush=True)
    

    ここで、

    • host:ご利用のサービスエンドポイントに設定します。

    • authorization:ご利用のサービストークンに設定します。

バッチ命令最適化

上記の EAS オンラインサービスを用いて、命令をバッチ処理できます。以下の例では、カスタム JSON データセットを読み込み、モデル API を呼び出して命令を最適化します。ターミナルでこの Python スクリプトを作成して実行します:

import requests
import json
import random
from tqdm import tqdm
from typing import List

input_file_path = "input.json"  # 入力ファイル名

with open(input_file_path) as fp:
    data = json.load(fp)

pbar = tqdm(total=len(data))
new_data = []

for d in data:
    prompt = d["instruction"]
    system_prompt = "次の命令を最適化してください。"
    top_k = 50
    top_p = 0.95
    temperature = 1
    max_new_tokens = 2048

    host = "EAS HOST"
    authorization = "EAS TOKEN"

    response = post_http_request(
        prompt, system_prompt,
        host, authorization,
        max_new_tokens, temperature, top_k, top_p)
    output = get_response(response)
    temp = {
        "instruction": output
    }
    new_data.append(temp)
    pbar.update(1)
pbar.close()

output_file_path = "output.json"  # 出力ファイル名
with open(output_file_path, 'w') as f:
    json.dump(new_data, f, ensure_ascii=False)

以下に示すとおり:

  • host:ご利用のサービスエンドポイントに設定します。

  • authorization:ご利用のサービストークンに設定します。

  • file_path:データセットファイルのローカルパスに置き換えます。

  • post_http_request および get_response 関数は、「モデルサービスの呼び出し」の Python スクリプトで定義されたものと一致します。

コードを使用せずに同様の処理を行うには、PAI-Designer の LLM-Instruction Optimization (DLC) コンポーネントを使用できます。詳細については、「カスタムパイプライン」をご参照ください。image

教師 LLM をデプロイして応答を生成

モデルサービスのデプロイ

命令データセットの最適化が完了したら、教師 LLM をデプロイして応答を生成します。以下の手順に従ってください:

  1. Model Gallery ページに移動します。

    1. PAI コンソール にログインします。

    2. 左上隅で、ご利用のリージョンを選択します。

    3. 左側のナビゲーションウィンドウで ワークスペース を選択し、ワークスペース名をクリックして開きます。

    4. 左側のナビゲーションウィンドウで、はじめに > Model Gallery を選択します。

  2. Model Gallery ページ右側のモデル一覧で、Qwen2-72B-Instruct を検索し、対応するカードの デプロイ をクリックします。

  3. デプロイ 構成パネルで、システムが モデルサービス情報 および リソースデプロイ情報 にデフォルト値を設定します。必要に応じて変更し、デプロイ をクリックします。

  4. 課金通知 ダイアログボックスで、OK をクリックします。

    システムが デプロイタスク ページを開きます。ステータス実行中 と表示された場合、デプロイは成功です。

モデルサービスの呼び出し

デプロイが成功した後、API を使用して推論を実行します。完全な使い方については、「大規模言語モデルのデプロイ」をご参照ください。以下はクライアントリクエストの例です:

  1. サービスエンドポイントおよびトークンを取得します。

    1. サービスの詳細 ページで、基本情報 をクリックし、エンドポイント情報の表示 をクリックします。image

    2. エンドポイント情報 ダイアログボックスで、エンドポイントおよびトークンを確認し、ローカルに保存します。

  2. ターミナルで、以下の Python スクリプトを作成して実行します:

    import argparse
    import json
    import requests
    from typing import List
    
    
    def post_http_request(prompt: str,
                          system_prompt: str,
                          host: str,
                          authorization: str,
                          max_new_tokens: int,
                          temperature: float,
                          top_k: int,
                          top_p: float) -> requests.Response:
        headers = {
            "User-Agent": "Test Client",
            "Authorization": f"{authorization}"
        }
        pload = {
            "prompt": prompt,
            "system_prompt": system_prompt,
            "top_k": top_k,
            "top_p": top_p,
            "temperature": temperature,
            "max_new_tokens": max_new_tokens,
            "do_sample": True,
        }
        response = requests.post(host, headers=headers, json=pload)
        return response
    
    
    def get_response(response: requests.Response) -> List[str]:
        data = json.loads(response.content)
        output = data["response"]
        return output
    
    
    if __name__ == "__main__":
        parser = argparse.ArgumentParser()
        parser.add_argument("--top-k", type=int, default=50)
        parser.add_argument("--top-p", type=float, default=0.95)
        parser.add_argument("--max-new-tokens", type=int, default=2048)
        parser.add_argument("--temperature", type=float, default=0.5)
        parser.add_argument("--prompt", type=str)
        parser.add_argument("--system_prompt", type=str)
    
        args = parser.parse_args()
        prompt = args.prompt
        system_prompt = args.system_prompt
        top_k = args.top_k
        top_p = args.top_p
        temperature = args.temperature
        max_new_tokens = args.max_new_tokens
    
        host = "EAS HOST"
        authorization = "EAS TOKEN"
    
        print(f" --- 入力: {prompt}\n", flush=True)
        response = post_http_request(
            prompt, system_prompt,
            host, authorization,
            max_new_tokens, temperature, top_k, top_p)
        output = get_response(response)
        print(f" --- 出力: {output}\n", flush=True)
    

    以下:

    • host:ご利用のサービスエンドポイントに設定します。

    • authorization:ご利用のサービストークンに設定します。

教師モデルによる命令アノテーション(バッチ処理)

以下の例では、カスタム JSON データセットを読み込み、教師モデルの API を呼び出して命令をアノテーションします。ターミナルでこの Python スクリプトを作成して実行します:

import json 
from tqdm import tqdm
import requests
from typing import List

input_file_path = "input.json"  # 入力ファイル名

with open(input_file_path) as fp:
    data = json.load(fp)

pbar = tqdm(total=len(data))
new_data = []

for d in data:
    system_prompt = "あなたは親切なアシスタントです。"
    prompt = d["instruction"]
    print(prompt)
    top_k = 50
    top_p = 0.95
    temperature = 0.5
    max_new_tokens = 2048

    host = "EAS HOST"
    authorization = "EAS TOKEN"

    response = post_http_request(
        prompt, system_prompt,
        host, authorization,
        max_new_tokens, temperature, top_k, top_p)
    output = get_response(response)
    temp = {
        "instruction": prompt,
        "output": output
    }
    new_data.append(temp)
    pbar.update(1)
pbar.close()

output_file_path = "output.json" # 出力ファイル名
with open(output_file_path, 'w') as f:
    json.dump(new_data, f, ensure_ascii=False)

以下:

  • host:ご利用のサービスエンドポイントに設定します。

  • authorization:ご利用のサービストークンに設定します。

  • file_path:データセットファイルのローカルパスに置き換えます。

  • post_http_request および get_response 関数は、「モデルサービスの呼び出し」のスクリプトで定義されたものと一致します。

小規模な学生モデルの蒸留学習

モデルの学習

教師モデルの応答を取得した後、PAI-Model Gallery で学生モデルを学習します。コードを記述する必要はありません。これにより、モデル開発が大幅に簡素化されます。本ソリューションでは、`Qwen2-7B-Instruct` モデルを例として使用します。PAI-Model Gallery で、準備済みのデータセットを用いてモデルを学習するには、以下の手順に従ってください:

  1. Model Gallery ページに移動します。

    1. PAI コンソール にログインします。

    2. 左上隅で、ご利用のリージョンを選択します。

    3. 左側のナビゲーションウィンドウで ワークスペース を選択し、ワークスペース名をクリックして開きます。

    4. 左側のナビゲーションウィンドウで、はじめに > Model Gallery を選択します。

  2. Model Gallery ページ右側のモデル一覧で、Qwen2-7B-Instruct モデルカードを検索してクリックし、詳細ページを開きます。

  3. モデル詳細ページの右上隅にある ファインチューニング をクリックします。

  4. ファインチューニング 構成パネルで、以下の主要パラメーターを設定します。その他はデフォルト値のままにしてください。

    パラメーター

    説明

    デフォルト値

    データセット構成

    学習用データセット

    ドロップダウンから OSS ファイルまたはディレクトリ を選択し、データセットの OSS ストレージパスを選択します:

    1. image をクリックし、OSS バケットを選択します。

    2. ファイルのアップロード をクリックし、コンソールの案内に従ってデータセットファイルを OSS ディレクトリにアップロードします。

    3. OK をクリックします。

    なし

    学習出力構成

    model

    image をクリックし、OSS ストレージディレクトリを選択します。

    なし

    tensorboard

    image をクリックし、OSS ストレージディレクトリを選択します。

    なし

    計算リソース構成

    ジョブリソース

    リソース仕様を選択します。システムが適切なオプションを推奨します。

    なし

    ハイパーパラメーター構成

    learning_rate

    モデル学習の学習率。型:Float。

    5e-5

    num_train_epochs

    学習エポック数。型:INT。

    1

    per_device_train_batch_size

    GPU あたりの反復ごとの学習サンプル数。型:INT。

    1

    seq_length

    テキストシーケンス長。型:INT。

    128

    lora_dim

    LoRA ディメンション。型:INT。`lora_dim > 0` の場合、LoRA/QLoRA 軽量学習を使用します。

    32

    lora_alpha

    LoRA 重み。型:INT。`lora_dim > 0` かつ LoRA/QLoRA 軽量学習が使用されている場合にのみ有効です。

    32

    load_in_4bit

    モデルを 4 ビットモードで読み込むかどうか。型:bool。有効な値:

    • true

    • false

    `lora_dim > 0`、`load_in_4bit` が true、`load_in_8bit` が false の場合、4 ビット QLoRA 軽量学習を使用します。

    true

    load_in_8bit

    モデルを 8 ビットモードで読み込むかどうか。型:bool。有効な値:

    • true

    • false

    `lora_dim > 0`、`load_in_4bit` が false、`load_in_8bit` が true の場合、8 ビット QLoRA 軽量学習を使用します。

    false

    gradient_accumulation_steps

    勾配蓄積ステップ数。型:INT。

    8

    apply_chat_template

    学習データをデフォルトのチャットテンプレートと組み合わせてモデル出力を最適化するかどうか。型:bool。有効な値:

    • true

    • false

    Qwen2 シリーズモデルの場合、フォーマットは以下の通りです:

    • 質問:<|im_end|>\n<|im_start|>user\n + instruction + <|im_end|>\n

    • 回答:<|im_start|>assistant\n + output + <|im_end|>\n

    true

    system_prompt

    モデル学習中に使用されるシステムプロンプト。型:String。

    あなたは親切なアシスタントです

  5. パラメーターを設定した後、学習 をクリックします。

  6. 課金通知 ダイアログボックスで、OK をクリックします。

    システムが学習タスクページを開きます。

モデルサービスのデプロイ

学習が完了したら、モデルを EAS オンラインサービスとしてデプロイします:

  1. 学習タスクページで、右側の デプロイ をクリックします。

  2. デプロイ構成パネルで、システムが モデルサービス情報 および リソースデプロイ情報 にデフォルト値を設定します。必要に応じて変更し、デプロイ をクリックします。

  3. 課金通知 ダイアログボックスで、OK をクリックします。

    システムが デプロイタスク ページを開きます。ステータス実行中 と表示された場合、デプロイは成功です。

モデルサービスの呼び出し

デプロイが成功した後、API を使用して推論を実行します。完全な使い方については、「大規模言語モデルのデプロイ」をご参照ください。

参考文献

  • EAS の詳細については、「EAS の概要」をご参照ください。

  • PAI-Model Gallery を使用すると、Llama-3、Qwen1.5、Stable Diffusion V1.5 など、多数のシナリオ向けにモデルを簡単にデプロイおよびファインチューニングできます。詳細については、「Model Gallery のユースケースコレクション」をご参照ください。