【AWS Summit Japan 2024】Amazon Neptune Analytics と生成 AI 活用(AWS-07)

AWS

2024.6.20

Topics

こんにちは。Cold-Airflow です。
本記事は、AWS Summit Japan 2024 のセッション「Amazon Neptune Analytics と生成 AI 活用」のレポート記事です。

セッションを見るきっかけや、セッションを見たけど用語がわからないみたいな部分を補足する目的としてご覧ください。
要所要所で、参考になりそうな記事を追加しています。

セッション概要

タイトル:Amazon Neptune Analytics と生成 AI 活用(AWS-07)

AWS セッション(Level 300: 中級者向け)
テーマ:生成 AI

スピーカー

アマゾン ウェブ サービス ジャパン合同会社 木村 達也

概要

Amazon Neptune は、スケーラビリティと可用性に優れた、フルマネージドなグラフデータベースサービスです。
このセッションでは、AWS re:Invent 2023 で発表された Amazon Neptune の新しいグラフ分析エンジン「Amazon Neptune Analytics」について詳しく解説します。
また、近年急速に活用が進んでいる生成 AI と Amazon Neptune Analytics を組み合わせたソリューションについてもご紹介します。

レポート

はじめに

  • 目的
    • グラフの考え方を理解頂く
    • 大規模グラフデータの活用方法を理解頂く
    • 生成 AI アプリケーションにおけるグラフデータを理解頂く
  • 対象者
    • グラフデータを既に活用している方
    • グラフデータの活用を検討している方
    • 大規模グラフデータの分析や生成 AI でのグラフデータ活用に興味がある方

アジェンダ

  • グラフと Amazon Neptune の概要
  • Amazon Neptune Analytics 概要と生成 AI 活用
  • Amazon Neptune Analytics 内部構造と実行例

グラフと Amazon Neptune の概要

はじめにグラフと「Neptune サービス」の説明です。

グラフデータベースとは? | アマゾン ウェブ サービス (AWS)

グラフとは何か?

  • ノード(Node):実世界の様々なオブジェクトを表現する
  • エッジ(Edge):オブジェクト間の関係を表現する
  • プロパティ(Property):ノードとエッジに付加する属性情報
  • ラベル(Label):ノードとエッジをグルーピングする識別情報

代表的なユースケース

課題 : グラフデータの処理は RDBMS では難しい

  • 全ての関連を表現しないといけない複雑な ER
  • JOIN や UNION、外部キーを多用した複雑な SQL

グラフとリレーショナルデータベース – データベースの違い – AWS

Amazon Neptune

サービスの特徴

  • 高い費用対効果
  • 高い保守性
  • 柔軟なプロビジョニング
  • セキュア
  • サーバレス
  • グローバル展開

注目ポイント

  • 億単位のノードの保存やクエリの実現に向けて最適化
  • ミリ秒単位のクエリ応答時間の実現

Amazon Neptune ではじめるグラフデータベース入門

サポートするグラフモデルとクエリ言語

  • プロパティグラフ(PG)
    • Apache TinkerPop,Gremlin:トラバーサル言語
    • openCypher Query Language:宣言型クエリ言語
  • Resource Description Framework (RDF)
    • SPARQL:宣言型クエリ言語

Neptune グラフへのアクセスの開始方法 – Amazon Neptune

直近のアップデート

これまでに 15 回を超えるデータベースエンジンのアップデート

事例

  • Wiz : セキュリティグラフの活用事例
    • クラウドセキュリティ管理ソリューションの提供
      • 脆弱性管理
      • ネットワーク監視
      • ID 管理
      • 権限管理

世界はグラフです: Wiz が Amazon Neptune のグラフを使用してクラウド セキュリティを再構築する方法 | AWS データベース ブログ

Amazon Neptune Analytics 概要と生成 AI 活用

グラフデータ処理(Neptune Analytics リリース前)

  • グラフの一部(OLTP)
    • 探索 Amazon Neptune Database
  • グラフ全体(OLAP)
    • 予測 Amazon Neptune NL
    • 分析 Spark GraphX

お客様の声

数百億のつながりを持つグラフデータを数秒で分析し、より迅速に新しい知見を得たい

Amazon Neptune Analytics 一般提供開始

Neptune Analytics を使用すると、データサイエンティストやアプリケーション開発者は、数百億もの接続があるグラフデータを数秒で分析して、より迅速にインサイトを得て傾向を見出すことができます。
Amazon Neptune Analytics の一般提供を開始

Amazon Neptune Analytics の特徴

  • フルマネージド
    • 分析規模に合わせたサイズの計算環境を提供
    • 既存の Neptune Database/Snapshot、または S3 からグラフデータをロードして利用
  • 数百億のつながりを持つグラフに対応
    • 分散インメモリアーキテクチャ
    • m-NCU という管理単位でスケール
    • 1GB のメモリと対応する 1 時間あたりのコンピューティング能力とネットワーク容量
  • 分析用アルゴリズムとベクトル検索機能
    • openCypher クエリ内で実行
    • neptune.algo ライブラリ
      • グラフ分析用アルゴリズム
      • ベクトル検索

AWS re:Invent Recap – Database

Amazon Neptune Analytics のユースケース

  • 大規模グラフ分析
    • 大規模グラフデータセットの高速ロード
    • 高速かつ高度なグラフ分析アルゴリズム
  • ベクトル検索
    • 検索拡張生成(RAG)を駆使した生成 AI アプリケーション構築

Amazon Neptune Analytics を用いた膨大なグラフデータ分析とベクトル検索の紹介 | Amazon Web Services ブログ

グラフ分析アルゴリズムの概要

  • クラスタリング
  • 類似性
  • 中心性
  • 経路探索
  • ベクトル検索

Amazon Neptune Analytics 内部構造と実行例

グラフパーティショニングの概要

  • 高速化に向けたアプローチ
    • インメモリで並列分散処理
    • パーティショニング
  • データに応じたパーティショニング
    • 文字列レベル
    • トポロジレベル
    • ノード/エッジレベル
      • ノード:1D(一次元)パーティショニング
      • エッジ:2D(二次元)パーティショニング
  • パーティションの組み合わせを自動選択

まとめ

  • グラフは様々なオブジェクトやそのつながりを抽象的な表現で扱える
  • 大規模グラフ分析には、Amazon Neptune Analytics の活用が効果的
  • Amazon Neptune Database/ Analytics と検索拡張生成(RAG)を組み合わせ、生成 AI アプリケーションの精度や性能を向上させる

感想

グラフデータベース(Neptune)に興味があり視聴しました。
基礎的な部分から実装までを解説されていたので、どう活用できるのかについてイメージしやすかったです。
複雑かつ難易度が高い処理をマネージドで提供してくれる Neptune はかなり便利だなという印象を持ちました。

分析アルゴリズムの比較で、アルゴリズムを使わなかった場合と比較して 70 倍の性能差が発生しており、大規模グラフ分析となるとこの差はかなり厳しいものになりそうだなと思いました。

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Cold-Airflow

2021年新卒入社。インフラエンジニアです。RDBが三度の飯より好きです。 主にデータベースやAWSのサーバレスについて書く予定です。あと寒いのは苦手です。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら