1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ゼロから始めるAIシステム開発 #09 「Bedrockの機能・AWSサービスとの連携」

Posted at

Bedrockの機能

Amazon Bedrock 生成AIアプリ開発入門 [AWS深掘りガイド]
https://amzn.asia/d/co7MB5S
入門書6章はBedrockの機能について、7章はAWSサービスとの連携について書かれているのでそれらをまとめてみる。(どちらもハンズオンはなし。)

ファインチューニング

カスタムモデル機能の一つ。Bedrockで提供されている生成AIモデルは自前のデータを使ってカスタマイズできる。RAGと比較して大量のデータが必要になるので、まずはやりたいことがRAGで可能かどうかを検討する必要がある。ファインチューニングは特定のタスクの精度向上のためにラベル付きデータ(正解となる情報が付与されたデータ)を用いて微調整すること。トレーニング用のデータはJSONL形式でS3バケットに配置し微調整ジョブを実行することでファインチューニングを行う。必要なデータの件数は数百件以上が目安。

継続的な事前トレーニング

モデルに特定分野の知識を与える目的で利用する。ファインチューニングとは違いラベルのないデータを用いて継続的な事前トレーニングジョブを実行する。こちらもJSONL形式でデータを用意し、ファインチューニングよりはるかに大量のデータが必要。10億トークン以上が目安。

カスタムモデルインポート

Bedrock以外の環境でカスタマイズしたモデルをAPI経由でサーバーレスに利用できる機能。現在はプレビューとして提供されている。

ウォーターマーク検出

セーフガードの一つでAIによって生成された画像を識別するための機能。Amazon提供のTitanでは透かしが追加されるため、透かし検出機能を利用することでAI生成画像であることが確認できる。現在はプレビューとして提供。

ガードレール

望ましくないコンテンツの入出力を回避する機能。以下4つのポリシーを用いて安全装置を設定できる。

  • コンテンツフィルター
    決められたカテゴリ(性的・暴力など)ごとに閾値を設定し、フィルタリングできる
  • 拒否されたトピック
    望ましくないトピックを自然言語で指定し入出力しないようにできる
  • 単語フィルター
    ブロックしたい単語セットを定義できる
  • 機密情報フィルター
    個人情報を識別してブロックやマスクができる

モデル評価

自身の用途に最適なモデルを選択するために定量評価する機能。以下のモデル評価ジョブを作成して評価レポートを作成する。

  • 自動評価
    AWS側が用意したデータor自前のデータで定量評価する
  • 人間ベース評価
    利用者が自分たちのチームメンバーで評価する
  • AWSマネージド評価
    AWSのエキスパートチームに評価を依頼する

データセットを自前で用意する場合はS3バケットにJSONL形式で配置する。モデル評価の指標については毒性(不適切な言葉が含まれていないか)・精度(正確にタスクを実行できるか)・頑健性(テキストの微差に惑わされず同じ意味の単語として理解できるか)などがある。

バッチ推論

推論処理を非同期で大量に実行できる機能。S3バケットに保存したJSONL形式のデータを入力し、APIからリクエスト実行できる。最新ではなく専用バージョンのPython等をインストールする必要がある。現状ではプレビューとして提供。

Bedrock Studio

組織内の開発者向けにWebベースの試作開発環境を提供するサービス。ワークスペースという開発環境を作成することで組織内の開発者に権限を付与できる。これにアクセスすると専用のWebコンソール内でプロジェクトを作成してGUIからローコードでアプリを作成できる。権限を付与されたユーザーしか利用できないので組織全体のガバナンスを保つことができる。現在はプレビューとして提供。

AWSサービスとの連携

AWSにはBedrockと連携することでより便利に生成AIを活用できる機能がある。以下にまとめる。

Amazon CloudWatch

AWSのリソースやアプリケーションの監視を行うためのサービス。

  • CloudWatch Metrics
    Bedrockのメトリクス(指標)情報を自動的に収集する。API操作のリクエスト数やモデルの実行時間、スロットリング(超過)回数などのデータがある。スロットリング等が多発しないようにアラートを設定する等に利用できる。
  • CloudWatch Logs
    InvokeModel API等のログを出力できる。デフォルトではオフになっているので利用には設定が必要。大量のデータの場合などはオプションでS3バケットに出力することも可能。

Amazon CloudTrail

AWSの呼び出し履歴を記録するサービス。履歴には管理イベントデータイベントの2種があり、APIごとに記録されるイベントが異なる。管理イベントはリソースの操作に対して行われるイベントであり、データイベントはリソースの中に対するイベントである。

Amazon PrivateLink

VPCの内部から外部にあるサービスにプライベート接続するサービス。

AWS CloudFromation

以前まとめたので割愛。

その他のAWSサービス

  • Amazon Aurora
    BedrockやSageMaker等の機械学習系サービスとの連携に対応。SQLを発行できる。
  • Amazon CodeCatalyst
    アプリ開発を複数人で行う際に使用するコラボレーションサービス。
  • Amazon Lex
    アレクサのような音声を使った会話形式インターフェースを持ったアプリを構築するサービス。
  • Amazon Transcribe
    音声を文字に変換するサービス。
  • Amazon Connect
    会話の感情やトレンドをリアルタイム分析する機能、会話を要約する機能がある。

おわりに

次回は8章、AWS Step Functionsを使ってローコードで生成AIアプリを開発する予定。
年の瀬ですね。総括としてはとりあえず、4ヵ月ほどやって入門書1冊終わらないとは…。エンジニア素養がなくPython知識がないのも原因としてあるけど、入門書のカタカナひとつひとつにつまづきがちなのも地味に遅滞する要因だった。(メトリクスやらエンドポイントやらを「指標」「端末」と表記してほしい。)まあある程度慣れてきたので来年はもう少しスピードアップしたい。では来年もよろしくお願いします。よいお年を。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?