Amazon Web Services ブログ

rinna の日本語大規模言語モデルが AWS にワンクリックでデプロイできるようになりました

生成系 AI の発展と共にモデルの規模はどんどん大きくなり、デプロイするためのインフラの選択や設定はますます複雑になっています。 Amazon SageMaker JumpStart は大規模言語モデルを最適な設定、かつワンクリックでデプロイする機能を提供します。オープンソースコミュニティとの連携を通じ、AWS はこれまで Meta の Llama2TII の Falcon などを JumpStart で提供してきましたが、この度 rinna 株式会社から公開されている大規模言語モデルも JumpStart から利用できるようになりました。日本語に対応したモデルが SageMaker JumpStart に採用されるのは初めてです。初回のリリースとして、教師有り学習かつ強化学習済みである japanese-gpt-neox-3.6b-instruction-ppo が利用可能になりました。機械学習の統合開発環境である Amazon SageMaker Studio を起動し、 Home にある SageMaker JumpStart から Models, notebooks, solutions を選択し、 “rinna” で検索することで見つけることができます。

rinna_001

rinna のモデルは Hugging Face で公開されており、 Amazon SageMaker Studio Lab など無料の Jupyter Notebook のサービスで動かすこともできます。ただ、自ら推論のコードを実装し Notebook サービスの限られた GPU やディスクリソースでモデルを動作させるのは面倒ですし時間がかかります。 SageMaker JumpStart では 1 クリックで AWS のエンジニアが最適化したセットアップでモデルを動かすことができ、本記事でご紹介する rinna のモデルの場合 1 時間ずっと推論をし続けても 200 円未満で済みます。 Python SDK を利用した呼び出しを使用することでベンチマーク用データセットに対するまとまった推論も容易に行うことができますし、 API Gateway と組み合わせることで迅速に Web API 化しアプリケーションコードと統合することもできます。実装・実験いずれに使うにあたっても推奨できるサービスです。

Amazon SageMaker JumpStart で rinna のモデルを起動する

Amazon SageMaker Studio から JumpStart のメニューを起動します。 SageMaker Studio を使うのが初めてという方は、SageMaker Immersion Day のハンズオンを参考に環境を構築してください。環境を作るだけ / 起動するだけでは料金はかかりません。実行する Jupyter Notebook やエンドポイント、学習ジョブなどに割り当てたインスタンス、またデータの保管や転送に対し課金が発生します。ここから先、課金が発生するタイミングについてはその旨と価格の目安を記載します。

SageMaker Studio にアクセスしたら、 JumpStart のメニューから “rinna” で検索を行います。ヒットしたモデルカードをクリックすると、モデルの詳細画面が開きます。デプロイするのに必要なのは、 “Deploy” のボタンを押すだけです。

rinna_002

Deployment Configuration ではインスタンスの選択やエンドポイントの設定を行うことができます。インスタンスは最適なものからのみ選べるようになっているので、非常に長いドロップダウンリストに悩まされることはありません。

Security Settings ではエンドポイントの作成に使用する IAM ロールや VPC 、モデルの暗号化に使うキーを設定できます。

rinna のモデルでは現在 “Train” は行うことができませんが、近日対応する予定です。対応後は、データが置いてある Amazon S3 のパスを指定するだけで転移学習が行えるようになります。

Deploy を押すとデプロイが開始します。 4~5 分で完了します。

“In Service” となったらデプロイ完了です。この時点から、エンドポイント用に指定したインスタンスの課金 ( 今回は ml.g5.2xlargeオンデマンドの価格は 2023 年 9 月時点で $1.212/時 、同時期の換算レートで 177 円/時 ) が開始するため注意してください。
Use Endpoint from Studio のセクションから “Open Notebook” をクリックします。

rinna

ここで、ノートブックを動かすためのインスタンスが別途必要になります。ノートブックが動けばよいので、それほどスペックのあるインスタンスは必要ありません。今回使用したインスタンスは ml.t3.medium東京リージョンのオンデマンド価格は $0.065 (同時期の換算レートで 10 円/時) です。料金が気になる方は、ローカル PC や Amazon SageMaker Studio Lab から API を通じ利用することもできます。

i

ノートブックの内容は現時点では英語になっています。payloadinputs を例えば次のように書き換えます。この inputs は、 Hugging Face の japanese-gpt-neox-3.6b-instruction-ppo に記載されている例を参考に作成しました。ユーザーとシステムの対話形式となっています。改行は明示的に <NL> で表記し入力文を作成します。

"inputs": "ユーザー: オムレツを作るためにはどんな手順が必要ですか?<NL>システム: ",
rinna_0

上から順に “Query endpoint that you have created” まで Jupyter Notebook のセルを実行すると、次のような出力が得られます。

Input Text: ユーザー: オムレツを作るためにはどんな手順が必要ですか?<NL>システム:
Generated Text: まず、卵を用意します。卵をボウルに割り入れ、塩とコショウで味付けします。次に、卵に小麦粉を混ぜ合わせます。

プロンプトを変えたり、ハイパーパラメーターを変えることでその違いを検証できます。

検証が終了したら、忘れずに 1) Notebook に使ったインスタンスを停止して、 2) エンドポイントのインスタンスも停止してください。 SageMaker Studio の画面の左側にある電源メニューから Notebook の起動に使われているインスタンスを確認、停止できます。 JumpStart のエンドポイントはモデルの詳細画面にある Delete Endpoint から停止することができます。

rinna_007

モデルの詳細画面を見失った場合、JumpStart の Launched JumpStart assets のメニューからいつでも参照できます。 Title がリンクになっており、モデル詳細画面が開けます。一度エンドポイントを停止すると、ここには表示されなくなります。

rinna_008

AWS Japan の大規模言語モデルに対する取り組み

AWS Japan として 7 月 3 日に「LLM 開発支援プログラム」を発表し、日本で大規模言語モデルの構築にチャレンジするお客様を支援しています。 9 月 4 日には採択企業が公開され、お客様自身からプレスリリースも頂いています。 rinna 株式会社も採択された企業の一つです。今後、開発の成果として様々なモデルがオープンソースとして公開されたり、サービスをより良いものにするために活用されます。

公開を許可頂いている採択された会社と団体の名(五十音順)。プレスリリースを頂いている会社様はリンクをつけています。

LLM 開発支援プログラムは開発の支援だけではなく、ビジネス支援も行うことが特徴です。大規模言語モデルの活用はまだ発展途上の領域であり、多様な活用の可能性がある一方、不確実でもあります。 AWS はプログラム採択企業に対し、 世界中の AWS のお客様にリーチできる AWS Marketplace や Amazon SageMaker JumpStart を活用頂くことでモデルの市場投入を支援します。モデルを利用するお客様にとっても、このプラットフォームを利用することでモデルの実装・実験を加速できます。今回、日本語という言語特化のモデルが AWS のプラットフォームに掲載されるのは、商用では LightOn のフランス語モデルNCSoft の韓国語モデルに次いで 3 番目、 オープンソースのモデルでは初めてになります。この活動の背景には、日本のデベロッパーリレーションズ、ソリューションアーキテクト、事業開発マネジャーの粘り強い活動があります。本ブログを通じお伝えしたい事実は、日本のお客様の声、開発者の声は AWS Japan を通じ AWS にきちんと届いており実際にサービス機能の改善・拡張として実現するということです。ぜひ今後も忌憚のないフィードバックをお寄せください。

今後日本語のモデルを拡充しお客様の比較検証を容易にすると共に、 AWS 自身も先の OpenCALM の記事のようにモデルの性能やコストの検証を行い「モデルのカスタマイズを行うべき場面」を明らかにしていきます。 モデルの利用シーンが明らかになることでビジネス機会が創出され、モデルを掲載頂いているお客様と利用いただくお客様双方にとってプラットフォームの価値を高められると考えています。 rinna 株式会社は人とコミュニケーションを行う AI の開発を推進しており、この領域での検証にまず着手する予定です。

AWS は公開されたモデルが利用されることでフィードバックが集まりよりニーズに合ったモデルが生まれるエコシステムの構築を目指し、今後も取り組みを進めていきます。

rinna_0

著者プロフィール

久保 隆宏 (Takahiro Kubo) は AWS Japan の機械学習領域のデベロッパーリレーションを担当しており、「機械学習をするなら AWS 」と感じて頂くべくコンテンツの作成とフィードバックの収集による AWS サービスの改善を行っています。