Amazon Nova を触ってみた (テキスト生成編)

昨年のre:Invent 2024にて、Amazon Bedrockでのみ利用可能なモデルとしてAmazon Novaが発表されました。
本記事では、Amazon Novaシリーズの中でテキスト生成が可能な3つのモデルについてまとめました。
Amazon Novaを使用した画像生成や動画生成については、次回の投稿でご紹介します!

Amazon Novaとは?

Amazon Novaは、フルマネージドサービスであるAmazon Bedrockにて利用可能な、Amazonが開発したモデルです。
テキストや画像、動画をプロンプトとして与えることにより、テキスト生成だけでなく、画像生成や動画生成も可能です。
本記事投稿時点では、バージニア北部、オハイオ、オレゴンリージョンでのみ利用可能です。
※オハイオ、オレゴンリージョンはテキスト生成が可能なMicro、Lite、Proのみ利用が可能です。画像生成が可能なCanvasや動画生成が可能なReelは、バージニア北部でのみ提供されています。

Amazon Nova Micro

Amazon Novaシリーズの中で最も低コストで低レイテンシーなテキスト生成モデルです。
入力形式はテキストのみ、最大トークン数は128kと他のモデルの半分以下となっています。
言語理解、翻訳、推論、コード補完、ブレインストーミング、数学的問題解決が得意なモデルとのことです。

入力形式 テキスト
最大トークン 128k
言語 200+(日本語含む)
Converse API 対応
1000入力トークンあたりの料金 USD 0.000035
1000出力トークンあたりの料金 USD 0.00014

Amazon Nova Lite

テキストや画像、動画からテキストを生成するマルチモーダルなモデルです。
最大トークン数は300kとMicroの2倍以上となり、複数の画像や最大30分の動画を入力として受け付け可能です。
リアルタイム顧客対応、文書分析、質問応答タスクを高い精度で処理することができるとのことです。

入力形式 テキスト、画像、動画
最大トークン 300k
最大画像サイズ 25MB
最大動画サイズ 1GB
言語 200+(日本語含む)
Converse API 対応
1000入力トークンあたりの料金 USD 0.00006
1000出力トークンあたりの料金 USD 0.00024

Amazon Nova Pro

2025年1月時点でGAされているMicro、Lite、Proの中で最も高性能なテキスト生成モデルです。
主要なベンチマークにおいてClaude 3.5 Sonnet V2やGPT-4oと比較しても遜色ない性能となっています。
複雑な文書分析、動画要約、数学的推論などを得意としているようです。

入力形式 テキスト、画像、動画
最大トークン 300k
最大画像サイズ 25MB
最大動画サイズ 1GB
言語 200+(日本語含む)
Converse API 対応
1000入力トークンあたりの料金 USD 0.0008
1000出力トークンあたりの料金 USD 0.0032

Amazon Nova Premier

2025年初頭にリリース予定のテキスト生成モデルであり、最上位モデルとして登場予定です。
現時点で公開されている情報は少ないですが、複雑な推論タスクやカスタムモデルを精製するための最適な教師として使用できるとのことです。

実際に触ってみる

モデルアクセス有効化

まずはモデルアクセスを有効化します。
リージョンをバージニア北部に変更し、Bedrockのメニューから「モデルアクセス」をクリックします。
以下のような画面が表示されたら「特定のモデルを有効にする」をクリックします。
Bedrockモデルアクセス画面

「Nova Micro」、「Nova Lite」、「Nova Pro」にチェックを入れて「次へ」をクリックします。

「送信」をクリックします。

アクセスのステータスが「アクセスが付与されました」となっていればモデルアクセス有効化完了です。

Chat / Text playgroundからモデルを実行する

「モデルを選択」をクリックします。

実行したいモデルを選択して「適用」をクリックします。

チャットボックスにプロンプトを入力し、「実行」をクリックします。
今回はBedrockについて質問したいと思います。

Amazon Nova Micro

Input:8トークン
Output:554トークン
Latency:3384ms
回答:

Amazon Bedrockは、Amazon Web Services (AWS)が提供する新しいインフラストラクチャサービスです。これは、大規模言語モデル(LLMs)や他のAI/MLモデルを簡単に利用できるようにするインフラストラクチャを提供することを目的としています。以下に主な特徴を紹介します。

### 1. **カスタマイズ可能なAI/MLモデル**
Amazon Bedrockは、ベンダー固有のハードウェアやソフトウェアに依存せずに、カスタマイズ可能なAI/MLモデルを提供します。これは、ユーザーが特定のニーズに合わせてモデルを調整できることを意味します。

### 2. **オープンで互換性のあるインフラストラクチャ**
ベンダーロックインを避けるために、Amazon Bedrockはオープンで互換性のあるアーキテクチャを採用しています。これにより、ユーザーは異なるベンダーのツールやサービスを容易に統合できます。

### 3. **開発者フレンドリーなツールとサービス**
Bedrockは開発者に向けたツールやサービスを提供し、モデルのトレーニング、デプロイメント、管理を容易にします。これには、モデルのカスタマイズや効率的なトレーニングのためのフレームワークが含まれます。

### 4. **高度なセキュリティとプライバシー**
AWSの信頼できるセキュリティモデルを継承し、Amazon Bedrockはデータプライバシーとセキュリティの強化に重点を置いています。これにはデータの暗号化、アクセス管理、コンプライアンス機能が含まれます。

### 5. **コスト効率の良い利用**
AWSの従量課金制の価格モデルを採用しており、ユーザーは実際に利用したリソースに対してのみ支払います。これは、特に大規模なモデルのトレーニングやデプロイメントにおいて経済的に有利です。

### 6. **エンドツーエンドのソリューション**
Amazon Bedrockは、モデルのトレーニングからデプロイメントまでをカバーするエンドツーエンドのソリューションを提供します。これにより、開発者はモデルの開発サイクル全体をより効率的に管理できます。

### 7. **継続的なアップデートとサポート**
AWSは定期的に新しい機能やサービスをリリースし、ベンダー固有のハードウェアやソフトウェアに依存せずに、最新の技術トレンドに対応できるようサポートしています。

Amazon Bedrockは、開発者がAI/MLモデルを効果的に利用し、最適化できるよう設計されています。特に、特定のビジネスニーズに合わせたカスタマイズが容易な点が特徴的です。
Amazon Nova Lite

Input:8トークン
Output:475トークン
Latency:3730ms
回答:

Amazon Bedrockは、Amazon Web Services (AWS) が提供する新しい機械学習プラットフォームで、主に生成AIモデルの構築、カスタマイズ、デプロイをサポートする機能に焦点を当てています。以下は、Amazon Bedrockの主要な特徴です:

1. **カスタマイズ可能な生成AIモデル**:
- 既存の生成AIモデル(例:テキスト生成、画像生成など)をカスタマイズして、特定の業界やアプリケーションに合わせて調整することができます。

2. **迅速なプロトタイピングと開発**:
- 開発者が簡単にプロトタイプを作成し、モデルをテスト、評価できる環境を提供します。これにより、開発サイクルが短縮されます。

3. **幅広いモデルサポート**:
- 様々な生成AIモデルに対応しており、ユーザーは自分のニーズに合わせて最適なモデルを選択できます。

4. **セキュリティとコンプライアンス**:
- データのセキュリティとプライバシーを重視し、企業がコンプライアンス要件を満たすための機能を提供します。

5. **スケーラブルなインフラストラクチャ**:
- 必要に応じてモデルのスケーリングが容易であり、大規模なデータセットや高負荷のアプリケーションに対応できます。

6. **統合性**:
- AWSの他のサービス(例:Amazon S3、Amazon SageMakerなど)とシームレスに統合され、データ管理、モデルトレーニング、デプロイメントなどのプロセスを効率化します。

7. **カスタムエンドポイント**:
- モデルをカスタムエンドポイントとしてデプロイし、アプリケーションやサービスに組み込むことができます。

8. **サブスクリプションベースのモデルアクセス**:
- 特定のモデルへのアクセスは、サブスクリプションベースで提供される場合があり、柔軟な支払いオプションを提供します。

これらの特徴により、Amazon Bedrockは、企業や開発者が生成AIモデルを活用して、革新的なアプリケーションやサービスを構築するのに役立つ強力なツールとなっています。
Amazon Nova Pro

Input:8トークン
Output:512トークン
Latency:6558ms
回答:

Amazon Bedrockは、Amazon Web Services (AWS) が提供するサービスで、主に以下のような特徴があります:

### 1. **基盤となるモデルの統合**
- 複数の先進的な大規模言語モデル(LLMs)へのアクセスを提供し、ユーザーは様々なモデルを比較・選択できます。

### 2. **プライベートでセキュア**
- データのプライバシーとセキュリティに重点を置いており、モデルのトレーニングに使用されるデータはユーザーのAWSアカウント内で管理されます。

### 3. **簡単な統合**
- AWSエコシステムとの深い統合により、他のAWSサービス(Lambda、S3、DynamoDBなど)とシームレスに連携できます。

### 4. **カスタマイズ可能**
- ユーザーは自分のデータを使用してモデルを微調整(Fine-tuning)でき、特定の用途や業界に合わせてカスタマイズが可能です。

### 5. **プロンプトエンジニアリングの支援**
- 効果的なプロンプトの作成を支援するツールやガイダンスを提供し、ユーザーがより良い結果を得られるようにサポートします。

### 6. **パフォーマンスとスケーラビリティ**
- AWSのインフラストラクチャを活用して、高パフォーマンスとスケーラビリティを確保します。需要に応じてリソースを自動的に調整できます。

### 7. **コスト効率**
- ペイ・アス・ユー・ゴーの課金モデルを採用しており、使用量に応じて支払うため、コストを最小限に抑えることができます。

### 8. **監視とログ**
- アプリケーションのパフォーマンスを監視し、必要に応じてログを記録できる機能を提供します。

### 9. **幅広い利用シナリオ**
- チャットボット、コンテンツ生成、推薦システム、カスタマーサポートなど、様々なアプリケーションに適用可能です。

### 10. **コミュニティとサポート**
- 活発なAWSコミュニティと充実したサポートリソース(ドキュメント、フォーラム、コンサルティングサービスなど)が利用可能です。

これらの特徴により、Amazon Bedrockは企業が機械学習と人工知能を活用し、革新的なソリューションを迅速に開発・展開できるように

Converse APIから実行してみる

ソースコード

NovaはConverse APIにも対応しているので実際に実行してみます。
以下のコードをLambdaで実行します。

import boto3

def lambda_handler(event, context):
    client = boto3.client("bedrock-runtime", region_name="us-east-1")
    modelId_micro = 'amazon.nova-micro-v1:0'
    modelId_lite = 'amazon.nova-lite-v1:0'
    modelId_pro = 'amazon.nova-pro-v1:0'

    prompt = "SCSK株式会社について簡潔に教えてください"

    messages = [
        {
            "role": "user",
            "content": [{"text": prompt}],
        }
    ]

    inferenceConfig = {
        "temperature": 0.1,
        "topP": 0.9,
        "maxTokens": 500,
        "stopSequences":[]
    }

    response_micro = client.converse(
        modelId=modelId_micro,
        messages=messages,
        inferenceConfig=inferenceConfig
    )

    response_lite = client.converse(
        modelId=modelId_lite,
        messages=messages,
        inferenceConfig=inferenceConfig
    )

    response_pro = client.converse(
        modelId=modelId_pro,
        messages=messages,
        inferenceConfig=inferenceConfig
    )

    print("-------------Nova Micro-------------")
    print(f'latency : {response_micro["metrics"]["latencyMs"]}')
    print(response_micro["output"]["message"]["content"][0]["text"])

    print("-------------Nova Lite-------------")
    print(f'latency : {response_lite["metrics"]["latencyMs"]}')
    print(response_lite["output"]["message"]["content"][0]["text"])

    print("-------------Nova Pro-------------")
    print(f'latency : {response_pro["metrics"]["latencyMs"]}')
    print(response_pro["output"]["message"]["content"][0]["text"])

実行結果

-------------Nova Micro-------------
latency : 867
SCSK株式会社は、日本の情報サービス会社で、主に情報技術(IT)ソリューションを提供しています。1972年に設立され、現在は東京証券取引所プライム市場に上場しています。主なサービスには、クラウドサービス、データセンター運用、セキュリティソリューション、ビジネスプロセスアウトソーシング(BPO)などがあります。SCSKは、企業のITインフラストラクチャの構築や運用、データの保護、効率的なビジネスプロセスの管理を支援しています。また、政府機関や大手企業向けにも幅広いサービスを提供しています。
-------------Nova Lite-------------
latency : 2375
SCSK株式会社(エス・シー・エス・ケー、英文社名:SCSK Corporation)は、日本の情報技術(IT)サービス企業です。以下に主な特徴を簡潔にまとめました:
1. **設立**: 2011年4月にSCSK株式会社として設立されました。これは、日本システム開発株式会社(JSD)と日本ソフトバンク株式会社(SBB)の合併により設立されました。
2. **事業内容**:
    - **システムインテグレーション(SI)サービス**: 企業のIT基盤の構築・運用管理など。
    - **アウトソーシングサービス**: ビジネスプロセスアウトソーシング(BPO)やITアウトソーシングなど。
    - **クラウドサービス**: クラウドコンピューティングサービスの提供。
    - **セキュリティサービス**: 情報セキュリティ対策の提供。
3. **主要顧客**: 大企業や官公庁など幅広い顧客層を対象としています。
4. **株式上場**: 東京証券取引所プライム市場に上場しています。
5. **グループ会社**: 国内外に多数のグループ会社を持ち、幅広いITサービスを提供しています。
SCSKは、日本の主要なITサービスプロバイダーの一つとして、幅広いサービスを提供しています。
-------------Nova Pro-------------
latency : 2105
SCSK株式会社は、日本の大手ITサービス企業で、SCSK Corporationとして知られています。主にシステムインテグレーション、ITコンサルティング、ソフトウェア開発、ネットワークサービスなどを提供しています。親会社は日本電気株式会社(NEC)で、SCSKはNECグループ内のITサービス部門を担う重要な企業です。SCSKは官公庁、金融機関、通信事業者、製造業など様々な業界のクライアントにサービスを提供しており、特に金融・公共セクターでの経験が豊富です。同社はITインフラの構築・運用、クラウドサービス、サイバーセキュリティ、デジタルトランスフォーメーション(DX)支援など、幅広いITソリューションを提供しています。

temperatureを0.1にしたからでしょうか、嘘の情報が混じってますね…
Converse APIで実行できたので今回は良しとしましょう!
実際に使う時はパラメータやNovaシリーズのどのモデルを使うか検討が必要そうです。

まとめ

Amazon Novaシリーズの中でテキスト生成が可能な3つモデルについてまとめました。
使い倒してどのユースケースにどのモデルを使うのが最適か検証していきたいと思います。
次回は画像生成ができるNova Canvasについて紹介します。

タイトルとURLをコピーしました