NEWS
改めてAIについて学んでみよう 改めてAIについて学んでみよう
2023.11.16

【AI】第2回「Power10の超速AIをイベントストリーミングと共に使う」

【AI】第2回「Power10の超速AIをイベントストリーミングと共に使う」
【AI】第2回「Power10の超速AIをイベントストリーミングと共に使う」

Power10プロセッサの処理能力の高さは既に皆さんよくご存知だと思います。ところがPower10にはAIの処理能力を高めるMMA(Matrix Math Accelerator)というハードウェアが内蔵されていることはあまり知られていないように思います。今回の記事は、このMMAを活用してIBM i でAIの処理速度を大幅に向上させる方法についてです。IBM i にはAIの基盤となるデータが大量にありますから、これを活用してIBM i でAIを高速に実行し、ビジネスを大きく変革する、そんな夢のあるお話です。しかもこれは単なる夢物語ではなく、正夢なのです!(編集部)

2021年9月28日 ジェシー・ゴルジンスキー

IBM Power10は、MMAユニットをチップ内に統合した、AI用の組み込み“加速機構”を備えています。ジェシー・ゴルジンスキー氏が、Power10 のAIをイベントストリーミングと共に使う方法を解説します。

IBMの最新世代のPowerプロセッサは漸進的な更新版ではありません。このプロセッサには人工知能(AI)用の組み込み加速器が付いています。これはチップ内にマトリクス・マス・アクセラレータ(MMA)を統合することで実現されています。信じてください。これはIBM i にとってゲームチェンジャーです!

私は2017年に初めてIBM i 及びAIに関与しました。その当時、IBM i とIBM Watson及び他のAI技術を接続するためのあらゆる方法を設計していました。その年、あなたがもしCOMMON会議に参加していたのなら、Watsonを使ったハリーポッターの「組分け帽」を試してみたことがあるかもしれません。帽子を被り自分自身のことをちょっと話すと、Watsonの力を使って、あなたをハリーポッターに登場する「組」に割り当てるのです。私はスリザリンに、私の同僚であるビジネスアーキテクトのスコット・フォースティーはハッフルパフに組分けされました。

それ以降、IBMは数多くの異なる技術を提供し、AIにアプローチしています。
初心者のために、IBM i のオープンソースチームはIBM i にデータサイエンスと機械学習ライブラリーを移植しました。また、IBM Watson機械学習も含まれています。これは、開発者とデータサイエンティストが協業して、自身のもつアプリケーションに予測能力を統合するためのフルサービスのIBMクラウドサービスです。価値を直接提供するIBM Watson APIがあります。(こちらの例のように)H2OドライバーレスAIを利用しているお客様の例もあります。このリストはまだまだ続きますが、Power10とMMAを活用する能力はこれまでで最大の好機なのです!

まだAIを試していないのなら、今こそAIを詳しく調査するときです。IBM i は生まれながらにしてこの目的に適したプラットフォームです。AIのアルゴリズムには「グラウンドトルース(訳注)」データが必要です。簡単にいえば、多くの「グラウンドトルース」が利用可能であればある程、知能も向上するということです。大量のデータを保持しているのは何だか分かりますか? Db2 for i です! いくつかの会社には数十年分の履歴データがあり、いくつかの会社は毎分気の遠くなる程の数のトランザクションを処理しています。それは認知コンピューティングにとって宝の山です。

IBM i を使用している会社がこの革命的なプロセッサ技術を活用する方法は数多くあります。このブログでは、Db2データのリアルタイムのイベントストリーミングを使用するアプローチに焦点を絞ろうと思います。

イベントストリーミング – 理由と方法

いくつかのシナリオでは、トランザクションデータをリアルタイムで分析したいかもしれません。これに対する論理的なアプローチは、トランザクション処理と分析を切り離すことであり、イベントストリーミングモデルが使えます。このモデルでは、別のコンポーネントが必要に応じて調べられるように、トランザクションがある媒体上にリアルタイムで公開されます。

今日私達が議論する例題アプリケーションでは、データストリーミングプラットフォームとしてApache Kafkaを活用します。Kafkaはメッセージ指向のミドルウェアであり、大量のデータをリアルタイムでストリーム化するのに優れています。Kafkaを流れるデータは重要な構成要素となる可能性があります。

Kafkaの文書には次のように述べられており、それはとても適切です。「イベントストリーミングは人間の中枢神経システムのデジタル(コンピュータ)版です。それは、‘常にオン状態’の世界のための技術的基礎であり、その世界では、ビジネスは増々ソフトウェア定義されるようになっていて、ソフトウェアを使うのはソフトウェアであるという傾向が高まっています。」

その信頼性、セキュリティ及び拡張性故に、KafkaはIBMが故郷と呼ぶいくつかの馴染みある産業を含む多くの主要産業で使用されています(図1参照)。

主要産業のトップ10分析

▲図1. 主要産業のトップ10分析(出典:Apache Kafkaのウェブサイト

AI用のイベントストリーミングを活用する

前置きはこれ位にして、このアプローチを機械学習に取り入れた例題アプリケーションについてお話ししましょう。私は最近1つのプロジェクトに参加しましたが、そこでは、Db2のトランザクションデータをリアルタイムに分析するのにニューラルネットワークを適用しました。もう少し詳しく言うと、例題アプリケーションは、(仮想の)証券取引を実行するDayTraderというものです。私達は基盤データベースとしてDb2 for i を使用する様にそれを構成し、イベントストリーミングアプローチを適用しました。

最終結果は? 私達は株価の振る舞いを学び、将来の株価を予測するのにAIを活用しました。

それはとても洗練されているように聞こえるかもしれませんが、基本概念はとても単純です。株の注文が実行される都度、そのトランザクションデータがApache Kafkaにストリーム化されて渡されます。そこからAIソフトウェアは、このトランザクションデータを「その場で」読み、学びそして予測を行います。そして、もしAIがPower10のMMAを活用していれば、パフォーマンスは非常に高くなるでしょう!

では、これらすべてを1本のワイヤーでどのように正確に繋ぎ合わせるのでしょうか? 以前のブログ記事で、私はApache Camelについて語り、異なる技術を統合するためにそれがどのように使えるかを説明しました。Db2のトランザクションをKafkaにストリーム化して渡したいと思ったとき、私は必然的にCamelに頼りました。以下に、データベーストランザクションが発生したときの毎回の流れを示します:

  • Db2トリガーがトランザクションの詳細をJSONに変換し、それをデータキューに入れる
  • Apache Camelルートがデータキューからメッセージを読み込み、それを今の場合IBM i 上で実行されているKafkaブローカー(サーバー)に送信する
  • あるアプリケーションがKafkaストリームからメッセージを読む。Kafkaは多くのクライアントを提供しているので、使用言語及びその配置先について完全な柔軟性がある。今の場合、私達はPower10 の新しいMMAの能力を活用するPythonアプリケーションを使用する

要するに、このソリューションのIBM i 側の構成は、データベーストリガー、データキュー及び単純なCamelルートです(図2を参照)。

Kafkaへのストリーム化のためのデータベーストリガー及びCamelルート

▲図2. Kafkaへのストリーム化のためのデータベーストリガー及びCamelルート

これはとても単純です! もし覗いてみたいと思うなら、コードはIBM i 部品用のGitHubに置いてあります(そして、じきに私達はAI部品を公開する予定です)。更に良いことに、既存のアプリケーションはAI部品について知っている必要さえありません。すべてはトリガーによって起動されます。AIコンポーネントを含む更に詳しいアーキテクチャ図は図3に示すようなものになります。

統合要素を示すアーキテクチャ図(提供:IBM社,ソフィア・フアン)

▲図3. 統合要素を示すアーキテクチャ図(提供:IBM社,ソフィア・フアン)

私達は、PythonベースのPyTorchフレームワークとLinux上のOpenBLASライブラリーを使ってPower10のMMAの能力を活用するためのAIコンポーネントを作りました。私達はN-BEATS深層学習を適用しました。N-BEATSとは「Neural Basis Expansion Analysis for interpretable Time Series forecasting(説明可能な時系列予測のためのニューラルベースの拡張分析)」の略語です。

ひとたびこれらの部品が共にリンクされると、リアルタイムのAI駆動予測エンジンが出来上がります。私達は、リアルタイムの視覚化インターフェースも作りました。このインターフェースは、この方法論を使って株価の履歴と将来予測の両方を提示します(図4を参照)。

リアルタイムの株価予測

▲図4. リアルタイムの株価予測

更に、Power10は私達を失望させませんでした。私達はPower9とパフォーマンスの比較を行い、この特定の株価予測ケースに於いて凡そ4.5倍の速度向上を観測しました。

このイベントベースのアプローチを使う理由

他と同様に、このアプローチは最善の洞察を提供するためにリアルタイムの情報を活用することができます。それは、オフライン即ち帯域外の方法を使う点で独特です。これは、様々なAIアプリケーションにとって相応しい最終目標である可能性があります。この場合、イベントストリーミングモデルは完全な柔軟性を提供します。最終的に、このアプローチには、データソース、ストリーミングプラットフォーム及びAIという3つの主要なコンポーネントがあります(図5を参照)。

イベントベースのAIアプローチの3つの主要コンポーネント

▲図5. イベントベースのAIアプローチの3つの主要コンポーネント

IBM i のデータベースは典型的なデータソースです。他のコンポーネントはあなたのニーズ用に最も上手く動作するどのような場所にも配置することができます。例えば、Kafkaブローカーは、IBM i 上(確かに私達はそれをサポートしています)または異なるプラットフォーム上で実行することも可能です。また、OpenShift上のRes Hat AMQストリームのような、いくつかのクラウド中心のアプローチもあります。同様にAIコンポーネントはどのようなハードウェア上でも実行可能です。柔軟性故に、このアプローチはネットワーク基盤あるいは予算の制約に関係なく使用できます。また、このアプローチは古くなることのない設計を提供します。もしコンポーネントを変更、更新または再配置する必要があっても、新しいソリューションを設計する必要はありません。加えて、現在どのようなハードウェアを使っているかに関係なく、この旅を始めることができます。例えば、Power9上でソリューションを作り始め、Power10に到達したときに非常に高いパフォーマンスで「本格的に稼働する」準備をしておくことは完全に理に適っている可能性があります。

また、私はIBM研究所でPowerシステムのディスティングイッシュトRSMの任にあるピーター・ホフスティーと話をしましたが、彼は、これが漸進的な旅の継ぎ目のないステップである可能性を指摘しました。彼曰く、「AIを使ったオフライン分析は、AI機能がエンタープライズアプリケーションにさらに密接に埋め込まれた統合の先駆けである可能性があります。Power10システムは、分離されたシステムつまり加速器ではなく、プロセッサコア内でAI機能を提供しているので、Power10ハードウェアは、開発され検証されたAI機能を無停止で統合することができます。従って、例えばこの例の様なアプローチを使って、詐欺検知モデルが開発、検証されたなら、ユーザーは詐欺検知AIを組み込みステップとして配置し、そもそも不正なトランザクションがコミットされるのを防ぎます。」

今こそAIを始めるとき!

先に述べたように、IBM i とその貴重なデータストアは、AIを活用し始める素晴らしい場所です。どのように取り組むかに関係なく、技術は既にあり、配備する最善の時は正に今です!
遠慮なくIBMラボサービスに連絡し、そして多くのコミュニティ資源を使ってください。もし確信が持てないのであれば、IBM i オープンソースの人々から始めましょう。今月末に、私はこの話題についてIBM TechU (2021仮想版)でプレゼンテーションを行う予定です。いずれにせよ、あなたが超高速Power10ハードウェアを活用することを祈ります。

(訳注)
グラウンドトルース(Ground Truth)は、元々は地図作成、気象学、航空写真の分析、衛星画像、および遠隔地からデータを収集するその他のさまざまなリモートセンシング技術で使用される用語で、「現場」で収集された情報を指します。ここでは簡単に、AIモデルの出力の学習・テストに使用されるデータのことと捉えてください。

いいねと思ったらシェア
twitter
facebook
hatena
改めてAIについて学んでみよう 目次を見る

この連載は…

改めてAIについて学んでみよう
関連記事
【AI】第6回「AIへの道にAPIを構築する」
【AI】第6回「AIへの道にAPIを構築する」
【AI】第3回「人工知能(AI)への旅 -第1部:AIの歴史-」
【AI】第3回「人工知能(AI)への旅 -第1部:AIの歴史-」
【AI】第4回「人工知能(AI)への旅<br />-第2部:冬の終わり-」
【AI】第4回「人工知能(AI)への旅
-第2部:冬の終わり-」
あなたにオススメの連載
できるIBM i 温故知新編
7記事
できるIBM i 温故知新編
IBM i の”新”必須言語 〜FFRPG入門〜
14記事
IBM i の”新”必須言語 〜FFRPG入門〜
IBM i アプリの第二の柱 OSS
15記事
IBM i アプリの第二の柱 OSS
PAGE TOP