こんにちは、人工知能研究所の岩下です。今日は、Fujitsu Kozuchiに搭載されている Composite AI について紹介します。
このブログは、Fujitsu Kozuchi のAIコアエンジンを紹介する連載ブログのひとつです。最後に、これまでのブログをまとめておさらいできます!
Composite AI は、利用者とのチャット形式の対話を通して、さまざまなビジネス課題の解決策を提案する技術です。数多くのAIモデルやデータから最適なものを組み合わせることで、これを実現します。複数のAI技術を組み合わせることもできるので、1つのAI技術では解決できなかったような多様で複雑な事柄にも対応できるようになります。Composite AI はAIの活用範囲を大幅に広げます。この技術は、富士通が研究開発した先端AI技術を迅速に試すことができるプラットフォーム Fujitsu Kozuchi の、コア技術単位のソフトウェア部品「AIコアエンジン」のひとつです。
このブログでは、さまざまなビジネス課題のうち”最適化”について紹介します。Composite AI はホワイトペーパーを公開していますので、こちらも是非ご覧ください。
最適化はさまざまなものに活用が可能です。例えば、「ジョブ割り当て」です。ジョブ割り当ては、特定のタスクを、利用可能なリソース(従業員や機械など)を使って、コストやスキルや能力、優先度などさまざまな条件を考慮し、最短時間での完了やコストの最小化など、目的にあう最適な割り当てを見つけることです。この時、ジョブの数や利用可能なリソース数、考慮する条件の数が増えるほど複雑になり、最適な方法を見つけることが難しくなります。
従来は、最適な方法を見つけるためには、考慮すべき条件(要件)を数式で記述(定式化)し、最適化アルゴリズムを使って、数学的に解を求めるという方法をとっていました(ソルバと呼ばれるツールを使う場合にも、定式化が必要です)。そのため、最適化問題を定式化するための知識を持つ専門家が必要でした。また、専門家は、顧客から要件を聞き、技術的視点や経験から他の必要な要件を抽出し、数式への定式化をおこない、解を求め、調整するという繰り返しを経て、結果を求めていました。これには、長い時間が必要です。例えば、工場の人員配置計画では、数百におよぶ要件を洗い出し、適切な人員を割り当てたスケジュール作成に1~2か月もかかっていました。Composite AI はこのような課題を解決します。
Composite AI の価値と利用イメージ
Composite AI による最適化AI自動生成の価値は、最適化が必要な事柄について、チャットのような対話インターフェースを通して、短時間で最適化の結果を得ることができる、ということです。上記の工場の人員配置計画では、1~2か月かかっていたスケジュール作成が、Composite AI を使うことで1日に短縮できました。
使い方がイメージできるように、Composite AI の画面を使って順番に説明します。
Composite AI への入力は、チャット形式のメッセージで入力します。記述方法に特に決まりは無く、普通の会話のような言葉で入力できます。全ての情報を一度に伝える必要もありません。必要な情報が足りない場合は Composite AI が適切な質問をしてくれるため、情報を整理しながら進めることができます。
「ジョブ割り当て」の例で説明します。ある問題やトラブル(インシデント)が発生した時、それを特定の人数のスタッフ(エージェント)に割り当て、全てのインシデントを最短の時間で完了する方法を知りたいとします。まず、利用者は対象とするインシデントの処理時間が書かれたファイルを入力します。
Composite AI はファイルを読み込み、このデータをどのように使いたいのか利用者に問いかけます。
利用者は、やりたいこと(インシデントを複数のエージェントに割り当てたい)と、それぞれのインシデントの処理時間が、ファイルの”pred_min”に書かれていることを入力します。 それに対して、Composite AI は、不足している情報として、目的と考慮する制約があるかどうかを利用者へ質問します。
利用者は、エージェントの人数が5名であることと、全てのインシデントを最短の時間で完了したいと入力します。 必要な情報を得た Composite AI は、全てのインシデントを最短で処理するための最適化問題の定式化を行います。
定式化後、問題を解いてください、と指示することで、Composite AI は、全てのインシデントを最短の時間で完了するための計画を回答します。
最適化の結果はテキストで提示されますが、表やグラフでの可視化を指示することもできます。棒フラグや散布図などグラフの形式や、カテゴリーの色分けなどスタイル、最初の結果と新しい結果のグラフを左右に並べるなどグラフの配置を指示することもできます。ここでは、ガントチャートでの表示と、インシデント毎に色分けするなどのスタイルを指示しています。
他にも、複数の機械への作業の割り当て、教室や会議室利用の割り当て、スタッフのシフト計画などへ活用することができます。
Composite AI の技術の特長
Composite AI の特長は、対話を通じてユーザーの要件を理解し、それに基づいて具体的な問題解決を行う「要件学習技術」にあります。これは、特定の問題に対してカスタマイズされた大規模言語モデル(LLM)によって実現されています。
LLMは広範な知識を持っていますが、ただ知識が豊富であるだけでは、ユーザーが必要とする正確な回答を常に提供することは難しいです。そのため、「プロンプトエンジニアリング」という技術が重要になります。これは、LLMにどのように質問するか(プロンプトするか)によって、より適切な回答を引き出す技術です。たとえば、最適化問題を解決する際には、LLMを最適化の専門家として設定します。このLLMエージェントは、ユーザーの要件に基づいて問題を整理し、それを数学的に定式化する役割を担います。
今回私たちが取り組んだ「ジョブ割り当て問題」は整数計画問題として定式化できるタイプの問題です。この問題を適切に理解し、定式化するために、二つのLLMエージェントを活用しました。一つ目のLLMエージェントは、ユーザーとの対話を通じて問題の具体的な要件を抽出し、それを最適化問題として整理する役割を担います。二つ目のLLMエージェントは、この整理された問題を整数計画問題として定式化します。このエージェントは、整数計画問題を定式化するための定形的な手法や知識を活用し、問題を数学的なモデルに変換します。これらのLLMエージェントの連携により、自然言語で表された曖昧な要件を、数理的な表現に安定して変換することが可能になりました。
Fujitsu Kozuchi で適用検証を始めませんか
Composite AI についてご紹介してきましたが、この技術はまだ若く、多くの課題があります。今現在、Composite AI は特定の種類の最適化問題に対応しており、効率的に利用するためにはユーザーがデータの前処理を行う必要がありますが、最新のAIコアエンジンやデータ処理技術を積極的に取り入れることで、これらの課題は解決されることでしょう。
現実のビジネスシーンでは、問題の曖昧な要件を明確に定式化することは非常に大変であり、このプロセスがビジネスの拡大における大きなボトルネックとなっています。従来、プロトタイピングには約1ヶ月の時間がかかり、その結果をもとにお客様からのフィードバックを得て再びプロトタイピングを繰り返してきました。この時間を大幅に短縮し、お客様の要件を聞いたその場で解決策を提供できるようにすることが、私たちの技術開発の目標です。
Fujitsu Kozuchi は富士通が研究開発した先端AI技術を迅速に試すことができるプラットフォームです。Composite AI のご紹介デモやトライアル環境については、以下よりお問い合わせください。
Composite AI の他にも、Fujitsu Kozuchi のAIコアエンジンをTechBlogで紹介しています。