日々膨大なデータを扱う社会インフラや基幹ビジネスに直結するエンタープライズ領域のシステムにおいて,新しい価値や変革を創出するための手段として,AIの活用ニーズが急速に高まっている。
しかし,試行開発段階で効果の見通しが立ったとしても,エンタープライズ領域へAIを導入するためには日々の変化に対応した実運用を可能とするための追加機能開発が必要になるなど,難易度が高く導入が困難という課題がある。
日立は,こうした課題に応えるために,高効率かつ高品質なAIシステムの開発・運用を支援する新たな製品「Justware AIアプリケーションフレームワーク」を開発した。本稿では,この製品のねらいや機能の特長について紹介する。
ビジネスにおけるAI(Artificial Intelligence)活用は,試行の段階を終え,本格的な活用の段階を迎えた。そのため,各企業はビッグデータの解析や自然言語処理,画像認識に基づく業務の自動化や予測など,AIを活用した既存ビジネスの改善や新ビジネスの創生を推し進め始めている。
しかし,現時点でのAIの活用の範囲は,多くが表面的なビジネスへの活用にとどまっており,各企業のビジネスのコアを成す基幹システムや社会インフラを支えるミッションクリティカルシステムなどの,エンタープライズ領域への活用には至っていないと言える。その背景には,他領域のシステムとは異なるエンタープライズシステムならではの特性があると考える。
日立はこれまで,エンタープライズ向けアプリケーションの構築を支援するJava※1)開発用の日立アプリケーションフレームワーク「Justware」を開発し,提供してきた。そこで蓄積してきたエンタープライズシステムの開発ノウハウと,日立がこれまで幅広い業種で手がけてきたAI導入案件でのノウハウを基に,エンタープライズ領域におけるAIアプリケーションの開発を支援する新たなフレームワークである「Justware AIアプリケーションフレームワーク」(以下,「本製品」と記す。)を開発し,2021年4月より販売を開始した(図1参照)。
図1|Justware AIアプリケーションフレームワークの全体像 AIの開発・運用を支援するアプリケーションフレームワークとして,「AIテンプレート」,「AIスタンダードライブラリ」,「開発・運用支援基盤」の三つの機能を提供している。
本稿では,エンタープライズシステムでのAI活用に向けた課題と,解決のために本製品が提供する機能について述べる。
エンタープライズシステムにAIアプリケーションを導入する場合,その特性から以下の課題があると考えた。
エンタープライズシステムの開発では,アジャイル開発の適用も徐々に進み始めているが,要件定義から段階的に機能を細分化,詳細化しながら開発を進めるウォーターフォール開発が採用されるケースの方が多い。しかし,AIアプリケーションを開発する場合は,AIエンジンがどのような学習結果を返すかは入力データやパラメータに依存するため,最初に要件定義を実施することは非常に困難である。
よって,AIアプリケーション開発の場合は,その要件を決めるために,試行開発を実施して実現可能性を検証する場合が多い。試行開発で学習と検証を繰り返し,AI適用の効果を見極めた後は,本開発に向け再度要件定義から実施することになると考える。
このように,AIアプリケーション開発では,通常のアプリケーション開発とは異なるアプローチを取るため,より長い開発期間を要する場合が多い。
エンタープライズ領域の基幹系システムは企業や社会への影響度の大きさから,情報系システムなど他の領域よりもさらに高い厳格性が求められる。システムの信頼性や安定性を,各システムが個々に実現するのは難しく,Justwareでは信頼性や安定性などの「非機能要件」を確保するためのJava用制御機能・共通部品を提供し,システム構築の効率化を実現してきた。
AIアプリケーションの場合,AIのエンジンやデータ活用の効率化など,AIの開発を容易化するためのさまざまな仕組みを提供するPython※2)を利用する場合が多い。しかし,Pythonには非機能要件を実現するための機能がまだ十分には備わっていないことが課題である。
AI,特に機械学習では,あるデータセットを入力としてAIエンジンを用いて学習させ,その結果,得られた学習済みモデルを利用し,未知のデータに対して予測を行う。通常AIアプリケーションで組み込むのは,この「学習済みモデルを活用した予測」のためのアプリケーションである。
学習済みモデルは,学習時のデータと異なる特性を持つデータ(データ分布が異なるデータや不正な値が混在するデータなど)が入ってきた際に,許容できない結果を返す場合がある。またそのような特性の異なるデータの入力は,一時的なものではなく前提条件の変化(季節の変化など)による場合もあり,新たなデータセットを利用した学習のやり直しが必要となるケースも存在する。
よって,AIをシステムに組み込む場合は,これらのAIの特性を踏まえ,学習済みモデルや入出力データを継続的に監視・管理するための仕組みをあらかじめ運用に含めておく必要があることが,従来のシステムとは大きく異なる点である。
本製品では,以下に述べるアプローチを通じて,課題の解決を図った。
従来のJustwareでは,アプリケーション開発の効率化のために,設計書からソースコードやテストコードを自動生成するというアプローチを取ってきた。
しかし,AIアプリケーションの開発においては,設計開始前に試行開発を実施し,その結果をベースに本開発を実施する場合が多いことから,自動生成とは異なるアプローチが必要であると考えた。
そこで,実際に試行開発や本格適用により効果を見極めたAIアプリケーションから,導入システム固有の要素を除き汎用化したものをテンプレートとして提供するというアプローチを取ることとした(図2参照)。
図2|アプリケーション開発効率化の仕組み 従来のJustwareは設計書からソースコードのひな型を自動生成し独自要件を実装するスタイルであったが,本製品は過去事例のテンプレートを提供し,独自要件をカスタマイズするというスタイルに変更した。
試行開発段階からテンプレートを適用し,要件に応じたカスタマイズを組み込むことで,AIアプリケーションの開発期間短縮につながると考えた。
本製品では,初期リリースにおいて以下の三つのテンプレートを提供し,AIアプリケーションの開発効率化に寄与している。
開発言語としてJavaとPythonの違いはあるものの,エンタープライズシステムに組み込むアプリケーション開発に必要な共通部品・制御機能については,AIアプリケーション向けにおいても大きな違いはないと考えた。
そこでJustwareで提供してきた共通部品(ログ出力部品やメッセージ管理など)や制御機能(アプリケーションの実行順序制御やトランザクション制御など)を,Python用に再構築して提供することにより,高い厳格性に効率的に対応できるようにした。また,入力のためのデータは既存システム側にあることから,既存システムとAIシステムとの連携インタフェースも提供し,既に蓄積されているデータの活用を容易化する(表1参照)。
表1|エンタープライズ用の共通部品・制御機能 従来のJustwareで提供してきたJava用の共通部品・制御機能の中から,AIアプリケーション開発でも必要不可欠なものを抽出して,Python用の部品群として再構成して提供する。
前述のように,AIアプリケーションにおいては学習した結果(学習済みモデル)を利用し,日々の予測を未知のデータ群に対して実行するため,入力データの傾向が学習時と異なる場合に,許容できない予測結果となる可能性がある。
このことにより,AIアプリケーションを組み込むシステムを運用していくためには,学習・推論時の入出力データを実行時に常に監視し,かつ学習済みモデルのバージョンを管理していくことが必要であると考え,共通的な仕組みとして提供することとした。
監視要件はシステムにより異なるが,AIの特性を考慮すると監視対象とチェックすべき内容はある程度共通化することが可能である。そこで,監視対象とチェック内容の組み合わせをあらかじめ「監視ルール」として本製品に登録し,学習・推論時に入出力データを自動的にチェックすることで,エラーを自動検知する仕組みを提供することとした(図3参照)。
図3|AIの挙動監視 入力データや出力結果を,あらかじめ設定したルールに基づいて自動的に監視することで,ユーザーがデータの変化や想定外の出力を検知できるようにする。
また,学習済みモデルのバージョン管理と,推論時に利用する学習済みモデルの選択を製品が自動化できるため,利用者は意識することなく適切な学習済みモデルを利用した運用ができるようになると考えた。
本製品において,AIアプリケーションの開発期間短縮に最も寄与するのは「AIテンプレート」である。実現したい要件にうまく当てはめられるテンプレートがあれば,一から開発するのではなくテンプレートをカスタマイズすることで,素早くAIアプリケーションとしてシステムに組み込むことが可能となるためである。よって,エンタープライズ領域にAIを浸透させるためには,AIテンプレートの拡充は必要不可欠である。日立は,Lumada Data Science Lab.を中心としてさまざまなAIノウハウを日々蓄積しており,このノウハウを有効活用し,AIテンプレートを継続的に拡充していく。
また,本製品は従来のソフトウェア製品と同様の提供形態となっており,開発時の利用や本番環境への導入に向けて,利用者自身によるセットアップ作業が発生する。日立は,デジタルトランスフォーメーションの実現に向けたプロセスを効率化するプラットフォームとしてLumada Solution Hubを展開しており,必要なソリューションの選択と導入の容易化を実現している。本製品もLumada Solution Hubを介して展開することで,導入の容易化を支援する。
ここでは日立が考えるエンタープライズ領域へのAIの導入に向けた課題と,課題解決のために本製品が提供する機能について述べた。
日立は,本製品および関連する各種ソリューションを活用することで,各企業が抱えるAI導入に向けたハードルを下げ,ビジネスにおけるAI活用がさらに加速するよう支援していく考えである。