クイックスタートを使用すると、コードを記述することなく、Platform for AI (PAI) で Llama 2 大規模言語モデルのトレーニングと推論を実行できます。ワンクリックデプロイにより、Web UI または API 経由で呼び出せるオンライン推論サービスを起動できます。
背景情報
Llama 2 は、Meta 社が提供するオープンソースの事前学習済み大規模言語モデルで、主に英語向けに設計されています。自然言語のテキストを入力として受け取り、テキストを出力として生成します。Llama 2 モデルのパラメータ数は 70 億から 700 億の範囲で、7B、13B、70B のサイズが利用可能です。各サイズには、会話型ユースケースに最適化された Llama2-chat のバリアントがあります。クイックスタートは Llama 2 モデルのオンライン推論をサポートしており、カスタムシナリオでより良い結果を得るために、これらのモデルをトレーニングのベースモデルとして使用できます。
クイックスタートの llama-2-7b-chat モデルは、Hugging Face の Llama-2-7b-chat モデルをベースにしています。これは Transformer アーキテクチャに基づく大規模言語モデルであり、複数のオープンソースデータセットを組み合わせてトレーニングされているため、ほとんどの汎用的な英語シナリオに適しています。
このトピックでは、クイックスタートを使用して llama-2-7b-chat モデルを Model Online Service (EAS) にデプロイし、推論サービスを作成して呼び出す方法を説明します。
制限事項
クイックスタートは現在、中国 (北京) 、中国 (上海) 、中国 (杭州) 、中国 (深圳) 、中国 (ウランチャブ) の各リージョンで利用できます。
中国 (ウランチャブ) リージョンを有効にするには、アカウントマネージャーにお問い合わせください。
課金
-
OSS の使用に対して課金されます。詳細については、「OSSの課金の概要」をご参照ください。
-
クイックスタートは無料ですが、モデルのデプロイとトレーニングを行う際には、Model Online Service (EAS) と Distributed training (DLC) に対して課金されます。詳細については、「Model Online Service (EAS) の課金」と「Distributed training (DLC) の課金」をご参照ください。
前提条件
-
PAI (Model Online Service (EAS) と Distributed training (DLC) を含む) が有効化され、デフォルトのワークスペースが作成済みであること。詳細については、「PAIの有効化とデフォルトワークスペースの作成」をご参照ください。
-
説明
バケットは PAI ワークスペースと同じリージョンにある必要があります。バケットのリージョンは作成後に変更できません。
-
Llama モデルの カスタム商用オープンソースライセンスを読み、同意していること。
説明リンクにアクセスできない場合は、プロキシを設定して再度お試しください。
操作手順
直接デプロイによる予測が要件を満たさない場合、またはドメイン固有の知識を適用する必要がある場合は、モデルのファインチューニングが可能です。これにより、カスタムドメインにおけるモデルの能力を向上させ、実際のビジネス要件により適合させることができます。
大規模言語モデルは、会話を通じて比較的単純な知識を直接学習できます。必要に応じてモデルをトレーニングするかどうかを選択できます。このクイックスタートでサポートされているトレーニング方法は LoRA に基づいています。SFT などの他のトレーニング方法と比較して、LoRA トレーニングはトレーニングコストと時間を大幅に削減します。
モデルの直接デプロイ
-
モデルギャラリーページに移動します。
-
PAI コンソールにログインします。
-
左側のナビゲーションウィンドウで Workspaces をクリックし、ワークスペースを選択します。
-
左側のナビゲーションウィンドウで QuickStart > Model Gallery をクリックして、モデルギャラリーページに移動します。
-
-
モデルリストの検索ボックスに「llama-2-7b-chat」と入力し、Enter キーを押します。
説明ビジネスニーズに応じて他のモデルを選択することもできます。モデルには、少なくとも 64 GiB のメモリと 24 GiB 以上の GPU メモリが必要です。デプロイの失敗を回避するため、選択したコンピューティングリソースがこれらの要件を満たしていることを確認してください。
-
llama-2-7b-chat モデルカードをクリックしてモデル詳細ページに移動します。右上隅の Deploy をクリックします。
-
デプロイページの下部にある Deploy をクリックします。
-
表示される Billing reminder ダイアログボックスで、OK をクリックします。
-
Service Details ページが表示されます。Status が Running に変わると、推論サービスのデプロイは完了です。
-
サービスのデプロイ後、Web UI または API を使用してサービスを呼び出すことができます。
-
Service Details ページで、右上隅の View Web App をクリックします。
-
推論サービスを呼び出します。
-
Web UI: [Chat] タブで、ダイアログボックスにテキストを入力し、[Send] をクリックして会話を開始します。
左側の [Model params] ペインでは、[Max New Tokens] (デフォルト:2048) 、[Top K] (デフォルト:0) 、[Top P] (デフォルト:0) 、[Temperature] (デフォルト:0) などの推論パラメーターを設定できます。また、[Do sample]、[KV cache]、[Stream output] オプションを選択することもできます。[Max round] のデフォルト値は 5 です。
-
API: Web UI ページの下部にある [Use via API] をクリックすると、API エンドポイント、リクエスト例、コードスニペットなどの API 呼び出しの詳細が表示されます。
-
-
モデルのファインチューニング
-
モデルギャラリーページに移動します。
-
PAI コンソールにログインします。
-
左側のナビゲーションウィンドウで Workspaces をクリックし、ワークスペースを選択します。
-
左側のナビゲーションウィンドウで QuickStart > Model Gallery をクリックして、モデルギャラリーページに移動します。
-
-
モデルリストの検索ボックスに「llama-2-7b-chat」と入力し、Enter キーを押します。
説明ビジネスニーズに応じて他のモデルを選択することもできます。モデルには、少なくとも 64 GiB のメモリと 24 GiB 以上の GPU メモリが必要です。デプロイの失敗を回避するため、選択したコンピューティングリソースがこれらの要件を満たしていることを確認してください。
-
llama-2-7b-chat モデルカードをクリックしてモデル詳細ページに移動し、Train をクリックします。
-
モデルのトレーニングパラメーターを設定します。
クイックスタートでは、ほとんどのユースケースに適したデフォルトの コンピューティングリソースと ハイパーパラメータが提供されます。必要に応じてこれらを変更できます。
パラメーター
説明
出力設定
モデル出力パス
トレーニング中に生成されるモデルファイルを格納する OSS バケットパスを選択します。
説明ワークスペース詳細ページでストレージパスを設定した場合、このフィールドは自動的に入力されるため、手動で設定する必要はありません。ワークスペースのストレージパスを設定する方法の詳細については、「ワークスペースの管理」をご参照ください。
データセット設定
トレーニングデータセット
Llama 2 モデルをすぐに使い始められるように、クイックスタートでは、直接使用できるデフォルトのトレーニングデータセットが提供されます。デフォルトのデータセットを使用しない場合は、モデルのドキュメントで指定された形式でトレーニングデータを準備し、次のいずれかの方法でトレーニングデータをアップロードする必要があります:
-
データセットの選択:パブリックデータセットまたはカスタムデータセットを使用します。カスタムデータセットの作成方法の詳細については、「データセットの作成と管理」をご参照ください。
-
OSSファイルまたはディレクトリ:OSS を使用してデータをアップロードします。詳細については、「クイックスタート」をご参照ください。
トレーニングデータは JSON 形式である必要があります。各レコードは、質問、回答、および ID で構成され、それぞれ
instruction、output、およびidフィールドで表されます。例:[ { "instruction": "Does the following text belong to the world topic? Why do Americans rarely hold military parades?", "output": "Yes", "id": 0 }, { "instruction": "Does the following text belong to the world topic? Breaking news! The timetable for vehicle reform in public institutions has been released!", "output": "No", "id": 1 } ]トレーニング結果をより正確に検証するために、PAI が提供するトレーニングデータセットに加えて、検証データセットを準備することを推奨します。このデータセットは、トレーニング結果を評価し、トレーニングパラメーターの最適化と調整に役立ちます。
-
-
Train をクリックしてトレーニングジョブを送信します。
-
表示される Billing reminder ダイアログボックスで、OK をクリックします。
-
Task details ページが表示されます。[Task Status] が [Succeeded] に変わると、モデルのトレーニングは完了です。
トレーニング済みのモデルは OSS に保存されます。その場所は、Basic Information セクションの Output Path で確認できます。
説明カスタムデータと設定を使用した場合、トレーニング時間は変動する可能性がありますが、通常は数時間以内に完了します。
-
ファインチューニングされたモデルをデプロイします。
ファインチューニングされたモデルのデプロイと呼び出しのプロセスは、直接デプロイの場合と同じです。詳細については、「モデルの直接デプロイ」をご参照ください。
次のステップ
[Quick Start] > [Model Gallery] ページで、Job Management をクリックします。[Training Tasks] タブと [Deployment Tasks] タブで、トレーニングジョブとデプロイジョブの詳細を表示できます。
トレーニングジョブのリストには、ジョブ名/ID、事前学習済みモデル、トレーニング方法、リソースクォータ、ステータス、作成日時、更新日時、期間が含まれます。[Stop]、[Clone]、[Delete] などの操作を実行できます。