-
Notifications
You must be signed in to change notification settings - Fork 143
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #80 from maekawataiki/feat/sagemaker
SageMaker Endpoint Support
- Loading branch information
Showing
23 changed files
with
846 additions
and
155 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Amazon Bedrock を利用する場合 | ||
|
||
このソリューションではデフォルトでは `us-east-1` の `anthropic.claude-v2` を利用しています。 | ||
|
||
CDK Deploy 時のパラメータもしくは `packages/cdk/cdk.json` で Context として指定することでリージョン、モデル、プロンプトを変更することが可能です。 | ||
|
||
```bash | ||
npm run cdk:deploy -- -c modelRegion=<Region> -c modelName=<Model Name> -c promptTemplate=<Prompt Tempalte File> | ||
``` | ||
|
||
promptTemplate はプロンプトを構築するためのテンプレートを JSON にしたファイル名を指定します。 (例: `llama2.json`) | ||
プロンプトテンプレートの例は `prompt-templates` フォルダを参照してください。 | ||
|
||
## デプロイの例 | ||
|
||
**Claude Instant** | ||
|
||
```bash | ||
npm run cdk:deploy -- -c modelRegion=us-east-1 -c modelName=anthropic.claude-instant-v1 -c promptTemplate=claude.json | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Amazon SageMaker のカスタムモデルを利用する場合 | ||
|
||
Amazon SageMaker エンドポイントにデプロイされた大規模言語モデルを利用することが可能です。 | ||
|
||
Text Generation Inference (TGI) の Huggingface Container を使用した SageMaker Endpoint に対応しています。 | ||
|
||
モデルはユーザーとアシスタントが交互に発言するチャット形式のプロンプトをサポートしているのが理想的です。 | ||
|
||
## SageMaker エンドポイントのデプロイ | ||
|
||
**利用可能なモデル** | ||
|
||
- [SageMaker JumpStart Rinna 3.6B](https://aws.amazon.com/jp/blogs/news/generative-ai-rinna-japanese-llm-on-amazon-sagemaker-jumpstart/) | ||
- [SageMaker JumpStart Bilingual Rinna 4B](https://aws.amazon.com/jp/blogs/news/generative-ai-rinna-japanese-llm-on-amazon-sagemaker-jumpstart/) | ||
- [elyza/ELYZA-japanese-Llama-2-7b-instruct](https://github.com/aws-samples/aws-ml-jp/blob/f57da0343d696d740bb980dc16ebf28b1221f90e/tasks/generative-ai/text-to-text/fine-tuning/instruction-tuning/Transformers/Elyza_Inference_TGI_ja.ipynb) | ||
|
||
これらのモデル以外でも Text Generation Inference にデプロイしたモデルは利用可能です。 | ||
|
||
## SageMaker エンドポイントをターゲットにソリューションをデプロイする | ||
|
||
事前にデプロイ済みの SageMaker エンドポイントをターゲットのソリューションをデプロイする際は、以下のようにコマンドライン引数で指定することができます。 | ||
|
||
```bash | ||
npm run cdk:deploy -- -c modelType=sagemaker -c modelRegion=<SageMaker Endpoint Region> -c modelName=<SageMaker Endpoint Name> -c promptTemplate=<Prompt Template File> | ||
``` | ||
|
||
promptTemplate はプロンプトを構築するためのテンプレートを JSON にしたファイル名を指定します。 (例: `llama2.json`) | ||
プロンプトテンプレートの例は `prompt-templates` フォルダを参照してください。 | ||
|
||
## デプロイの例 | ||
|
||
**Rinna 3.6B** | ||
|
||
```bash | ||
npm run cdk:deploy -- -c modelType=sagemaker -c modelRegion=us-west-2 -c modelName=jumpstart-dft-hf-llm-rinna-3-6b-instruction-ppo-bf16 -c promptTemplate=rinna.json | ||
``` | ||
|
||
**Bilingual Rinna 4B** | ||
|
||
```bash | ||
npm run cdk:deploy -- -c modelType=sagemaker -c modelRegion=us-west-2 -c modelName=jumpstart-dft-bilingual-rinna-4b-instruction-ppo-bf16 -c promptTemplate=bilingualRinna.json | ||
``` | ||
|
||
**ELYZA-japanese-Llama-2-7b-instruct** | ||
|
||
```bash | ||
npm run cdk:deploy -- -c modelType=sagemaker -c modelRegion=us-west-2 -c modelName=elyza-7b-inference -c promptTemplate=llama2.json | ||
``` |
Oops, something went wrong.