2017年09月

29

【てくさぽBLOG】いまさら聞けない「InfiniBand」

こんにちは。てくさぽBLOGメンバーの佐藤です。

最近 AI やディープラーニング基盤がブームとなっています。
そんな中弊社にも「1台では処理能力が不足するため、サーバー同士を接続してクラスタリングしシステムの処理能力を高めたい」との相談があります。

その際ポイントとなるサーバー同士を接続するネットワーク基盤として、InfiniBand か 10Gbps~40GbpsEther との比較で悩まれる方が多いかと思います。

InfiniBand はよくわからないから Ether でと選択される方もなかにはいらっしゃるのではないでしょうか?
InfiniBand はメリットがありますが、残念ながら Ether ほど普及はしていないため資料も非常に少なく、何なのかよくわからない方も多いと思います。

そこで今回は「InfiniBand」について解説していきます。
 

InfiniBandの歴史

デビューは2000年となり、歴史はかなり古いです。

当初は Intel が PCI-X の次世代規格として超強力に推進していましたが、結果 PCI-Expless が主流となり目論見が外れ Intel は早々に撤退、Microsoft も WindowsServer2003 でネイティブサポートしないことを発表したりと冬の時代が続きます。
最近では、2012年に Intel が Qlogic から InfiniBand 事業を買収して再参入といった動きがあります。

なお、WindowsServer2012 以降では標準ドライバが付属しますので、現在では安心してお使いいただけます。
 

InfiniBandのコンセプト (理想)

InfiniBand の基本コンセプトは “Bandwidth Out of the Box” です。
抄訳すると「PCI-Express のような内部の広帯域バスをそのまま外部接続用のポートとして使用する」となります。

内部バスという数十cm という短距離から SAS のような周辺機器系との数~10m程度の接続、Ether のような 10km といった長距離通信まですべてを賄うという野心的な規格でした。(当初の計画では…)
 

InfiniBandの用途 (現実)

さて、InfiniBand の現実ですが、歴史でもふれたように内部接続については PCI-Express に奪われてしまい頓挫しました。
現実には内部接続で採用された例はありません。

また、周辺機器系との接続についても USB や SAS、FC が主流となっており、IBM Flash900 のような一部の例を除いて InfiniBand の出番はありません。
当然のように長距離通信については Ether が主流となっており、こちらも出番がありません。

InfiniBand が活躍する場面は IBM の A9000 や EMC の VMAX といった Storageコントローラと Storageコントローラ、もしくは Storageコントローラと Storageドロワー間を超高速で接続するといった用途や、HPC のノード間接続 (サーバ同士の接続) に利用されています。

市販されている製品でも結構採用はされていますが、エンドユーザーの気づかないところに使われていることが多いです。
 

InfiniBandのメリット

では何が InfiniBand の何が、メリットでしょうか?
わかりやすく言うと、以下の3点です。

  1. 超高速
  2. 低レイテンシ
  3. 低価格

 

1.超高速

以下に InfiniBand の規格を並べます。

SDR DDR QDR FDR EDR
1X 2Gbps 4Gbps 8Gbps 14Gbps 25Gbps
4X 8Gbps 16Gbps 32Gbps 56Gbps 100Gbps
12X 24Gbps 48Gbps 96Gbps 168Gbps 300Gbps

1X、4X、12X というのはチャンネル数で複数を束ねることにより高速化を実現します。
通常一般的に販売されている HCA (Etherカードのようなもの)やスイッチは4Xタイプのものなので、4X を基準として見るとわかりやすいかと思います。

現行世代は EDR となり、100Gbps になります。
なお、2017年中に次世代の HDR が登場予定です。速度は 4X で 200Gbps となります。

「100Gbps なら Ether もあるではないか」と思われる方もいると思いますが、次に記載する2と3の理由からメリットがあります。
 

2.低レイテンシ

InfiniBand は低レイテンシです。*1

理由は複数ありますが、TCP/IP と比較してもともと高速にやり取りするために設計されていること、高速にやり取りするためのプロトコルが実装されていることが挙げられます。
その一つに、最近は Ether でも実装されていますが、RDMA があります。

RDMA は、ものすごくおおざっぱに説明すると宅配BOX のような仕組みです。
TCP/IP だと、配達先の住人の有無の確認、荷物の受け渡し、印鑑の授与が必要で、すべてにおいて受取人 (CPU) を介する必要がありますが、RDMA だと、配達先の宅配BOX (メモリ) の空きを確認するだけで、後は BOX に配達して完了通知して終了となり、CPU をほとんど介さずにデータ転送することが可能です。
 
*1. InfiniBandパフォーマンス : http://jp.mellanox.com/page/performance_infiniband
 

3.低価格

InfiniBand は速度のわりに超低価格です。

なぜか?ベンダーである Mellanox が長年頑張ってきたのも理由の一つですが、SDR~EDR すべての世代においてメタルケーブルを標準供給してきたのが非常に大きいです。

残念ながら EDR では最大長が 3メートルとなってしまいましたが、ラック内配線としては十分です。

光ケーブルだと長距離配線が可能ですが、トランシーバーモジュールの価格が非常に高価になりますので価格が吊り上がります。
スイッチについても、FCスイッチと比較すると半額以下、しかも1台で済んでしまいます。
比較するメーカーによりますが、100GbpsEtherスイッチと比較しても相当に安価な価格で提供されています。

なお、3M以上の配線を行いたい場合は光ケーブルの用意もありますのでご安心ください。
必要なところのみ光ケーブルで配線してもらえればと思います。
 
参考 :
Mellanox MCP1600-E003 Passive Copper Cable IB EDR up to 100GbpsQSFP LSZH 3m 26AWG mellanox.com 参考価格210ドル
– 100Gbpsでメタルケーブルは驚異的!26AWGなので取り回しはかなり固そうです。
Mellanox MFA1A00-C100 Active Fiber Cable Ethernet 100GbE 100Gb/s QSFP LSZH 100m  mellanox.com 参考価格3057ドル
– こちらはファイバの100mケーブル、トランシーバー内蔵しています。100mなので特に高額ですが、ファイバタイプだとこういう価格帯になります。

 

まとめ

InfiniBand は同一ラック内といった短距離接続であれば比類なき速度と低価格を実現します。

IBM でも純正オプションとして供給しており、Storage では Flash900、サーバーでは Minsky等の PowerSystem に搭載可能です。
供給ベンダも実質 Mellanox がほとんどで一部 Qlogic (Intel) といった状況ですので、相性問題も皆無です!

知名度が高いわけではありませんが、これを機にぜひ活用していただければと思います。

 

お問い合わせ

この記事に関する、ご質問は下記までご連絡ください。

エヌアイシー・パートナーズ株式会社
技術支援本部

E-Mail:nicp_support@NIandC.co.jp
 

その他の記事

2024年06月12日

【参加レポート】「Think 2024」に参加した ~AIとハイブリッドクラウドの未来を解き明かす~

こんにちは、ソリューション企画部の西村です。 今回私は、ビジネスイノベーションとテクノロジーの先端を切り開く IBM Global の年次イベント「Think 2024」に参加しました。このブログを通して、イベントで得た印象深いハイライトや知見を皆さんと共有できればと思います。 目次 イベント概要 Partner Plus Day at Think 2024 Think 2024 まとめ お問い合わせ イベント概要 2024年5月20日から23日にかけて、アメリカのマサチューセッツ州ボストンにて「Partner Plus Day at Think 2024」と「Think 2024」イベントが開催されました。この4日間のイベントでは、IBM の戦略や新たな製品の発表がありました。 世界の状況は不透明さを増しており、経済も不確実性を抱えています。そんな中、経営の本質を変えるイノベーション "ビジネスモデルを一新し、生産性を高める取り組み" が、非常に重要なテーマとなっています。 Think 2024では、最新の AI技術、ハイブリッドクラウド、自動化、さらには量子コンピューティングなど、従来の枠を超えた技術革新について発表がありました。イベントには世界中からエンドユーザ様、パートナー様が4,000人以上集まり、これらの発表や最新情報を理解し、ディスカッションする場となりました。 イベント会場 Partner Plus Day at Think 2024 Think 2024 の開催に先立ち「Partner Plus Day at Think 2024」が20日に BCEC のグランドボールルームにて開催され、IBMエコシステムの General Manager ケイト・ウーリーをはじめとした IBM のシニアリーダー陣による、IBMエコシステム戦略や最新の Partner Plusプログラムなどについての説明がありました。 IBM CEO のアービンド・クリシュナ氏は IBM の注力エリアであるハイブリッドクラウドと AI について語り、特に4兆ドルの AI市場や成長中の1兆ドルのクラウド市場の潜在的な可能性に注目していました。IBM の売上の50%を協業ビジネスで実現しようという目標は、パートナーの皆様にとって重要なメッセージでした。また、AI技術の開発におけるコスト削減や生産性向上への寄与、そしてリソースの不安解消にも力を注いでいる点は、多くの共感を呼びました。 ロブ・トーマス氏の講演では IT業界の動向に焦点が当てられ、AI の活用にはハイブリッドクラウドが不可欠であること、そして複雑さが増す中で自動化のニーズが高まっていることが明らかにされました。IBM の自動化に関する独自の提案や AI の導入を容易にする取り組みは、特に興味深い内容でした。また、共同でのセールスとマーケティングの推進や再利用可能なコードの生成、PoC やデモの機会の継続的な促進は、パートナーシップにとって非常に有益であるということが伝わりました。 パートナーエコシステムGM のケイト・ウーリー氏からは、IBM の投資方針として、モダナイゼーションと自動化の需要に応えるためのハードウェアとソフトウェアへの継続的な投資についての説明がありました。特に HashiCorp の買収は、ハイブリッドクラウド環境におけるアプリケーションのプロビジョニングと構成を簡素化するとして大きな注目を集めました。パートナー活動への投資、そして製品の組込みやすさやサービスの強化は、パートナー各社の IBM製品販売の動機付けになることでしょう。 続いて行われた日本IBM によるセッションでは、共創を支援するリソースや今後の展開について深く掘り下げられました。技術、コンサルティング、販売力、ソリューションの結集に加え、業界標準となる Open Technology の役割が強調されました。AI をあらゆるビジネスに適用する動きは進んでおり、各パートナー様が持つ専門技術の共有というかたちで日本マーケットのさらなる成長が期待されています。 Think 2024 5月21日からは IBMパートナー企業に加えてさらに多くのお客様も参加し、「Think 2024」が開催されました。総勢4,000名、日本からも150名以上が参加する盛況ぶりでした。 IBM の CEO アービンド・クリシュナ氏は、AI がいかにイノベーションを実現し生産性を向上させているかを力強く語るとともに、「IBM Granite」モデルをオープンソース化するという大きな発表を行いました。これにより、AI の活用が加速することが期待されます。 IBM の AI戦略はよりオープンになり、新たな提携も続々と発表されました。注目すべきは「Automation」と「Scale」の推進、そして生成AI(Generative AI)を取り巻く「Open」というキーワードでした。 今後AIアプリケーションが爆発的に増加すると予想されるなか、人の手に負えない管理作業を自動化することが必須となってきます。そのため IBM は、IT の自動化に関する7つの重要領域 "Observability、Resource Management、Network、FinOps、Technology Business Management、および Insight" を整理しています。 中でも「IBM Concert」という名の新しいプラットフォームが Insight の領域で発表されました。アプリケーションライフサイクル管理のアシスタントとして管理対象システムの様々なデータを継続的に収集し、そこから Insight を道き出します。Risk を一例とすると、CVE(Common Vulnerabilities and Exposures)と呼ばれる共通脆弱性識別子に対してそのシステムにおける重要度、関連するシステムのコンポネントを可視化します。この CVE に対する対応を Chat で問い合わせ AI が回答するという機能も提供されます。この Risk に加えて、Compliance、Evidence の機能がが6月17日より提供される予定です。また、Networking、Automation、Observability、Cost の領域では順次新しい機能のリリースが予定されています。 左:IBM Concertの機能、右:IBM Concertの画面 AI を仕事の手助けとして取り入れる動きが進んでおり、大事なポイントで生成AI を活用することによってそれぞれバラバラに運用されていたシステムが連携し、よりスムーズで効率的な業務の流れが作り出されました。また、プログラムを書く際に手助けしてくれるコードアシスタントを使ったアプリケーションの作成、AI が Java のバージョンアップをサポートしたり、テストケースを自動で作ったり、コードの説明を自動生成したりする機能が紹介されました。 BI の分野では、10月にリリース予定の「BI assistant」を利用することでデータの分析作業が自動で行われ、ユーザーはチャットを使って問題の原因や解決策を簡単に尋ねることができるようになります。 今回の発表で、AI の開発をよりオープンで進めやすいようにするために大きな一歩を踏み出しました。IBM の AIモデル「Granite」を誰でも利用できるよう公開し、「InstructLab」を活用してより効率的な大規模言語モデル LLM(Large Language Models)の作成を支援する方針です。 更に、IBM は Amazon の「Amazon SageMaker」、Microsoft の「Azure Marketplace」、Salesforce の「Einstein」、そして SAP の「RISE」といった大手プラットフォームとも提携を深め、これらの場で Graniteシリーズの用途を広げる計画を明らかにしました。 先進的な AIモデルである LLM を使う上で、信頼性が高く正確なデータを使って学習させることの大切さが特に強調されていました。IBM が提供する「Granite」には、チャットボット、様々な言語の理解、時間の流れに沿った予測や天気予報など、16種類の異なる目的を持った AIモデルがあります。さらに、IBM は Mistral AI や llma、elyzaなどのパートナー企業と協力し、複数のタイプのデータを扱える「マルチモーダル」AI の機能をより強化しています。 まとめ 最後に、イベントでは「AIの未来はオープンである」というメッセージが強調されました。AI とハイブリッドクラウドの技術が日々進化するなか、誰もがアクセスできるオープンな技術を取り入れることが、革新を続け、新しいビジネスの価値を生み出すための重要なポイントになるとのことでした。 この「Think 2024」では、IBM が世界のビジネスのリーダーたちと力を合わせ、未来を切り開く姿が見られました。そして、来年の「Think 2025」もボストンでの開催が予告されています。 次にどんな革新的な変化が起こるのか、今後の技術の進歩を、皆さまに継続的にご紹介させていただきます。 ボストンの街並み お問い合わせ エヌアイシー・パートナーズ株式会社E-mail:voice_partners@niandc.co.jp   .highlighter { background: linear-gradient(transparent 50%, #ffff52 90% 90%, transparent 90%); } .anchor{ display: block; margin-top:-20px; padding-top:40px; } .btn_A{ height:30px; } .btn_A a{ display:block; width:100%; height:100%; text-decoration: none; background:#eb6100; text-align:center; border:1px solid #FFFFFF; color:#FFFFFF; font-size:16px; border-radius:50px; -webkit-border-radius:50px; -moz-border-radius:50px; box-shadow:0px 0px 0px 4px #eb6100; transition: all 0.5s ease; } .btn_A a:hover{ background:#f56500; color:#999999; margin-left:0px; margin-top:0px; box-shadow:0px 0px 0px 4px #f56500; } .bigger { font-size: larger; }

2024年05月13日

AIでランサムウェアの脅威に立ち向かう ~IBM Storage DefenderとFlashSystemの連携でシームレスにセキュリティを強化~

ランサムウェア攻撃は収束するどころか、ますます戦いは苛烈を極める状況になっています。凶悪化する一方のこの脅威に対抗するため、IBM はストレージ領域のソリューションに AI を活用した新機能を次々と発表しています。 それが、IBM Storage FlashSystem における「第4世代FlashCore Module(以下 FCM4)」であり、IBM Storage Defender です。 被害を拡大させないためには早期検知が何よりのカギといえます。本記事では新機能の概要とともに、関連ソリューションの相互活用により脅威検知とデータ復旧がどのように迅速化できるかをご紹介します。 目次 すべての企業が“自分ごと”として考えるべきランサムウェア攻撃 IBMはランサムウェア対策のためAI活用をハード/ソフトで推進 一層の早期検知が可能になった脅威検知フロー お客様環境や予算に応じて柔軟に構成可能なIBM Storage Defender 「無償セキュリティー・リスクWEB診断」でお客様に気づきを お問い合わせ 関連情報 すべての企業が“自分ごと”として考えるべきランサムウェア攻撃 ランサムウェア攻撃との戦いは、まだまだ収束には至っていないようです。独立行政法人 情報処理推進機構(IPA)の「情報セキュリティ10大脅威 2024」の組織編において1位となったのは「ランサムウェアによる被害」でした。 2016年にランキングに登場して以降10大脅威に入り続け、今年で9年連続になると言います。もはや "運の悪い企業がたまたま遭う災難" という次元ではなく、ランサムウェア攻撃のリスクはすべての企業が自分ごととして考えなければならないところまで来ています。 ひとたび被害に遭うと、大幅なシステム侵害に見舞われます。事業停止に追いこまれたり、全面システム復旧に数週間から半年もかかってしまうということが過去の事例からわかっています。 現代の企業には、ランサムウェア攻撃を受けないよう予防するだけでなく、万が一攻撃を受けたとしてもそこから迅速にシステム復旧を遂げ、もとの企業活動に戻るという能力、レジリエンスが求められるようになっています。 IBMはランサムウェア対策のためAI活用をハード/ソフトで推進 脅威者が人質に取ろうと狙うのはデータです。そのデータが格納されているストレージは、彼らにとって格好の標的のひとつです。 IBM では凶悪化する一方のランサムウェア攻撃に対抗するため、ハードウェアとソフトウェアの両面からストレージ領域でこの課題によりよく対処できるよう、支援を強化しています。 まずはハードウェアです。 先日、IBM Storage FlashSystem に新しい FlashCore Moduleテクノロジーが導入されました。これは FCM4 と呼ばれ、IBM Storage FlashSystem と共に新たなランサムウェア検知に貢献する AI機能(機械学習モデル)を実装しています。 すべての I/Oデータに関する統計情報(エントロピー、圧縮率、暗号化レベル、アクセスパターンなど)を FCM4 が継続的に監視しており、取得したデータをサマライズし、IBM Storage FlashSystem上の AI機能により1分未満でランサムウェアの脅威を検知できるようにします。 昨年から提供している IBM Storage FlashSystem でのソフトウェアによる書き込みデータの監視やエントロピーなどの統計情報の収集および処理機能と IBM Storage Insights Pro での脅威の検知を組み合わせた方法と比較すると、より正確かつ早期に検知することが可能になります。 また、この新しいランサムウェア検知機能ではボリューム単位で脅威を検知できるため、疑わしい箇所をピンポイントで特定し、より早くデータ復旧にむけたアクションに入れます。 ランサムウェア対策において、被害を最小限に抑える早期検知は大きな進歩となります。 続いて、データ・レジリエンスのためのソフトウェアソリューション IBM Storage Defender での進化について説明します。 こちらには、IBM Defenderセンサーという新機能が加わりました。これは、ランサムウェアの脅威を高い精度で迅速に検出するよう設計された、IBMリサーチ開発の AI搭載センサーです。ストレージのリソースを消費しないライトウェイト設計のエージェントを使用し、ファイルのメタデータや I/O への攻撃パターンを分析、数秒から数分で異常を検出します。 IBM Storage Defender にはすでに、IBM Storage FlashSystem のセーフガード・コピー機能で作成された改変不可なスナップショットをアプリケーションデータとして不整合な点はないか検証できる IBM Storage Sentinel というラインナップソフトウェアがあります。IBM Defenderセンサーが加わったことで、さらに精度高く脅威を検知できるようになります。 一層の早期検知が可能になった脅威検知フロー それでは、上記のような新機能を包含するとランサムウェアの脅威検知はどのような流れになるでしょうか。 まず動きだすのは IBM Storage FlashSystem上の FCM4 です。これが I/Oデータを常にモニターし、ランサムウェア検知に必要なデータを IBM Storage Virtualize に送ります。IBM Storage Virtualize ではボリュームごとに情報を集約し、自身が持つ推論エンジンで脅威検出を行います。 ランサムウェアの脅威を検知するとその情報を IBM Storage Insights Pro へ通知し、IBM Storage Defender などと連携し次のアクションへ繋げます。(図1) 図1. FlashSystem:FCM4を使ったランサムウェア検知 これによってランサムウェア攻撃を受けた日時を絞りこめるため、データ復旧に用いるべきセーフガード・コピーのバックアップ世代にただちに当たりをつけることができます。 そこで Copy Service Manager などからリカバリー指示を出し、当該世代をボリュームグループ単位でリカバリー・ボリュームに移します。ここでマウントを行うことで、IBM Storage Sentinel でただデータとしてクリーンであるというだけでなく、アプリケーションデータとしても不整合がないことを検証します。 晴れて良好な結果が出れば、安心してデータをシステムに戻せるというわけです。(図2) 図2. セーフガード・コピーのワークフロー お客様環境や予算に応じて柔軟に構成可能なIBM Storage Defender IBM Storage Defenderソリューションのおもしろいところは、さまざまな機能を持つソフトウェアを1つの Defenderライセンスの下で利用できる点です。まるでツール・ボックスから道具を選ぶように、必要に応じて必要なものを柔軟に利用することができます。 ここが、ライセンスにすべてのコンポーネントが含まれるパッケージとは大きく異なります。 ランサムウェア対策をご検討中のお客様の中には、予算や既存システムの活用を優先するなどの理由で対策の優先度があるかと思いますが、 "すでに実装されているデータコピーの健全性を素早く特定する検知に取り掛かるため、今期は Sentinel への投資をする""来期は Flash の更改時期のため、SGC機能込みのモデルの Flash と共に CSM にも投資する" など、シチュエーションに合わせた対応が可能です。 IBM には「IBM Sales Configurator」(IBMサイト/要IBMid)という構成見積りツールが用意されています。これを使って、お客様環境における IBM Storage Defender の構成をざっくりシミュレーションすることができます。 「無償セキュリティー・リスクWEB診断」でお客様に気づきを いかがでしょうか。 ランサムウェア攻撃が日常になった今日、この攻撃に焦点を合わせて着々と機能強化を図っている IBM Storage FlashSystem、IBM Storage Defender は、一度じっくり検討してみる価値があります。 すでにこのストレージをお持ちのお客様にも、これから堅牢なストレージを求めたいというお客様にも、ぜひお勧めください。 中には、「何も起きていないからうちは大丈夫」と、最初からセキュリティに関心の薄いお客様もおられるかもしれません。そのときは、IBM が新しく用意した「無償セキュリティー・リスクWEB診断診断」(IBMサイト)を紹介して試していただきましょう。 上記の診断では、(重要データの)「特定」「防御」「検知」「対応」「復旧」という5つのプロセスからなる22の質問があり、解答者は「はい」「どちらかと言えばはい」「部分的に」「どちらかと言えばいいえ」「いいえ」のいずれかにチェックをつけていきます。(図3) 図3. 無償セキュリティー・リスクWEB診断 正式な診断結果を確認するには連絡先情報を入力する必要がありますが、回答していくだけでも現在実現しているセキュリティレベルに対する "気づき" が得られます。 エヌアイシー・パートナーズでは、IBM Storage FlashSystem や IBM Storage Defender に関して潜在ニーズを含めたシステム構成の検討支援から、お客様システム全体に対する提案支援や構成作成支援を提供しています。お客様の課題を解決するための方法をリセラーの皆様とともに、お客様の視点、リセラーの視点を大事にしながら一緒に検討していきます。 お気軽に、なんなりとご相談ください。 お問い合わせ この記事に関するお問い合せは以下のボタンよりお願いいたします。お問い合わせ 関連情報 NI+C Pサイト情報 データを守り抜く鍵は「IBM Storage Defender」にあり(コラム)- IBM Storage Defender の構成要素や、それぞれの構成要素を企業がどう採り入れていくことで堅牢な守りを形にできるのか、を見ていきます。   .highlighter { background: linear-gradient(transparent 50%, #ffff52 90% 90%, transparent 90%); } .anchor{ display: block; margin-top:-20px; padding-top:40px; } .btn_A{ height:30px; } .btn_A a{ display:block; width:100%; height:100%; text-decoration: none; background:#eb6100; text-align:center; border:1px solid #FFFFFF; color:#FFFFFF; font-size:16px; border-radius:50px; -webkit-border-radius:50px; -moz-border-radius:50px; box-shadow:0px 0px 0px 4px #eb6100; transition: all 0.5s ease; } .btn_A a:hover{ background:#f56500; color:#999999; margin-left:0px; margin-top:0px; box-shadow:0px 0px 0px 4px #f56500; } .bigger { font-size: larger; }

2024年04月08日

【てくさぽBLOG】watsonx Assistant + Watson Discovery + watsonx.aiを連携してみた

こんにちは。てくさぽBLOGメンバーの高村です。 ビジネスへの生成AI の取り込みに注目が集まっている今日、watsonx.ai をどう活用すればいいのか、多くのお客様からお問い合わせ頂いています。そこで前回の「【てくさぽBLOG】IBM watsonx.aiを使ってみた(Part2)」では、watsonx.ai のユースケースとして Retrieval-Augmented Generation(以下 RAG)をご紹介しました。 今回は、RAG の仕組みを利用し AIチャットボットを提供する「watsonx Assistant(以下 Assistant)」と検索エンジン機能を提供する「Watson Discovery(以下 Discovery)」、「watsonx.ai」を組み合わせた連携ソリューションをご紹介します。 目次 AssistantとDiscoveryの連携 watsonx.aiを取り入れた連携 Assistant + Discovery + watsonx.aiを連携してみた さいごに お問い合わせ AssistantとDiscoveryの連携 本来なら各製品を一つのブログで詳しくご説明したいところですが、今回は連携した結果についてのご紹介となりますので、Assistant と Discovery については今後のブログであらためてご紹介したいと思います。 Assistant は watsonx の大規模言語モデルが搭載され、自然言語の問い合わせを理解し、適切な回答を返すことができるチャットボット機能を提供する製品です。一方 Discovery はドキュメントから適切な情報を検索する検索エンジン機能、パターンや傾向を読み取る分析エンジンとしての機能を備えた製品です。 Assistant と Discovery を組合わせたユースケースでは Assistant にあらかじめ回答を用意してルールベースで回答させ、答えることが難しい問い合わせに対しては Discovery の検索結果を利用して回答します。 watsonx.aiを取り入れた連携 上記の連携では Discovery の検索結果がユーザーに表示される仕組みとなっていますが、watsonx.ai を介して回答を提供することでDiscovery が得た検索結果をさらに整理し、より理解しやすい形での返答が実現できます。 Assistant + Discovery + watsonx.aiを連携してみた Assistant、Discovery、watsonx.ai を連携してみます。 事前準備 利用環境 今回は IBM Cloud で提供される SaaS を利用して検証します。なお、Assistant と Discovery の Plusプランは30日間無償期間が付属されていますので、是非ご活用ください。 watsonx Assistant:Plusプラン(30日間無償期間あり、以降は有償) Watson Discovery:Plusプラン(30日間無償期間あり、以降は有償) watsonx.ai:Essentialプラン(有償) 検証の目的 検証では構築手順の他、以下の点を確認します。 「Assistant + Discovery + watsonx.ai」と「Assistant + Discovery」の連携による回答の違いを比較 言語モデルを変えて問い合わせを行い、回答の違いの比較 実施手順 以下の流れで検証を実施します。 Assistantのプロビジョニング Discoveryのプロビジョニング、検索対象とするデータの取り込み※取り込むデータは「IBM Power S1014 データシート」のS1014のPDF watsonx.aiのプロビジョニング Assistantの初期設定 Assistantのカスタム拡張機能からDiscoveryを繋げる Assistantのカスタム拡張機能からwatsonx.aiを繋げる Assistantアクションの作成、問い合わせの検証 言語モデルを変えて問い合わせの検証 検証実施 1. Assistantのプロビジョニング はじめに Assistant のプロビジョニングを行います。 IBM Cloud にログインし、カタログ画面から "Assistant" を選択します。 ロケーションとプランを選択し「作成」をクリックします。 しばらくすると以下の画面の様に、Assistant がプロビジョニングされます。 2. Discoveryのプロビジョニング 次に Discovery をプロビジョニングします。 カタログ画面から "Discovery" を選択します。 ロケーションとプランを選択し「作成」をクリックします。 しばらくすると以下の画面の様に、Discovery がプロビジョニングされます。※ここで、資格情報内にある「API鍵」と「URL」をメモに控えます 「Watson Discoveryの起動」をクリックし「New Project +」をクリックします。 Project name に任意の名前を入力、Project type では「Conversational Serch」を選択し「Next」をクリックします。 作成されたプロジェクトをクリックします。 「Integration Deploy」をクリックします。 「API Information」タブをクリックし「Project ID」をメモに控えます。 次に検索対象の PDF を Discovery に取り込みます。 「Manage collections」から「New collection +」をクリックし、「Collection name」に任意の名前を入力、「Select language」を「Japanese」に設定します。 Upload files の領域に PDF をドラッグアンドドロップして「Finish」をクリックします。 アップロードが完了しました。次に、Smart Document Understanding機能(以下 SDU)を利用して PDF内のヘッダーやテキストなどのフィールドを定義します。 SDU は、PDFをはじめとする非構造化データの文書構造を理解して検索や分析の精度を向上させる機能です。例えばタイトルと定義した箇所を検索キーとしたり、検索対象をテキストと定義した箇所のみとするなど可能になります。 「Identify Field」タブをクリックします。 取り込んだ PDF が表示されるので右側の Field labels からヘッダー箇所やタイトル箇所などをドラッグアンドドロップして指定していきます。 ページの定義が終わったら「Submit page」をクリックして次の頁を定義していきます。 SDU では数ページ指定すると自動的にヘッダー箇所やテキスト箇所を認識してくれるので、何ページもあるドキュメントには便利な機能です。 今回は SDU を使って PDF の文書構造を定義しました。SDU以外の Discovery の機能については、また別の機会にご紹介したいと思います。 3. watsonx.aiのプロビジョニング ※watsonx.ai のプロビジョニング方法は「【てくさぽBLOG】IBM watsonx.aiを使ってみた(Part1)」をご参照ください。 4. Assistantの初期設定 Assistant の初期設定を行います。 Assistant を起動します。 起動後、以下の項目を入力します。 Assistant name:任意の名前を入力 Assistant Language:「English」を選択※日本語を選択することが可能ですが、Assistant のスターターキットは英語での利用を想定しているため今回はEinglishを選択します Assistant の公開先を「web」に設定します。※"Tell us about your self" 以降はご自身の情報を入力ください 入力後「Next」をクリックします。 デフォルトのチャットUI を利用するため「Next」をクリックします。 プレビュー画面が表示されるので「Create」をクリックします。(以下の画面は「Create」が隠れてしまっています) 「Congratulations!」と表示されたら初期設定は完了です。 5. Assistantのカスタム拡張機能からDiscoveryを繋げる 「Githubのassistant-toolkit」から "watson-discovery-query-openapi.jsonファイル" をダウンロードします。 Assistant のメニューから「Integration」をクリックします。 下にスクロールし「Build custom extension」をクリックします。 以下の画面が表示されるので「Next」をクリックします。 「Extension name」に任意の名前を入力し「Next」をクリックします。 先程ダウンロードした watson-discovery-query-openapi.jsonファイルをドラッグアンドドロップでアップロードします。 以下の画面が表示されるので「Finish」をクリックします。 追加した Extension の「Add +」をクリックします。 以下の画面が表示されるので「Next」をクリックします。 以下の画面が表示されるので、選択および入力します。 Authentication type:「Basic auth」を選択 Username:「apikey」と入力 Password:メモに控えたWatson DiscoveryのAPI鍵 discovery_url:メモに控えたWatson DiscoveryのURLから"http://"を除いた値 ※以下の画面ショットは discovery_url入力箇所が切れてしまっていますが、実際は「Servers」の下に discovery_url の項目があります 以下の画面が表示されるので「Finish」をクリックします。 Extension が「Open」となっていることを確認します。 これで watsonx Assistant と Watson Discovery が連携できました。 6. Assistantのカスタム拡張機能からwatsonx.aiを繋げる 次に、Assistant のカスタム拡張機能から watsonx.ai を利用できるように設定します。 設定には IBM Cloud の APIキーと watsonx.ai のプロジェクトID が必要です。取得方法は「【てくさぽBLOG】IBM watsonx.aiを使ってみた(Part2)」をご参照ください。なお、今回は東京リージョンで watsonx.ai をプロビジョニングします。 Github の「assistant-toolkit」から "watsonx-openapi.json" をダウンロードします。 Visual Studio Code などで東京リージョンの URL に編集し保存します。 Discovery の連携と同様に、Assistant のメニューから「Integration」「Build custom extension」をクリックします。 以下の画面が表示されるので、任意の Extension name を入力して「Next」をクリックします。 編集した watson-discovery-query-openapi.jsonファイルをドラッグアンドドロップでアップロードして「Next」をクリックします。 以下の画面が表示されるので「Finish」をクリックします。 追加した Extension の「Add +」をクリックします。 以下の画面が表示されるので、選択および入力します。 Authentication type:「Oauth 2.0」を選択 Grant type:「Custom apikey」を入力 apikey:取得済みのIBM CloudのAPIキー Client authentication:「Send as Body」を選択 Header prefix:Bearer(デフォルト) Servers:https://jp-tok.ml.cloud.ibm.com(自動入力) 以下の画面が表示されるので「Finish」をクリックします。 Extension が「Open」となっていることを確認します。 これで Assistant と watsonx.ai が連携できました。 7. Assistantアクションの作成、問い合わせの検証 Github の「assistant-toolkit」から "discovery-watsonx-actions.json" をダウンロードします。 Assistant の「Actions」から「Global Setting」をクリックします。 「Upload/Download」タブをクリックし、Uploadスペースに discovery-watsonx-actions.json をドラッグアンドドロップしてアップロードします。 以下の画面が表示されるので「Upload and replace」をクリックします。 以下の画面の通り、3つのアクションが作成されます。 メニューから「Variables」「Created by you」をクリックします。 「discovery_project_id」の値をメモに控えていた Discovery のプロジェクトID を入力し「Save」をクリックします。 「watsonx_project_id」の値をメモに控えて置いた watsonx.ai のプロジェクトID を入力し「Save」をクリックします。 「model_id」の値で watsonx.ai で使用する言語モデルを指定します。2024年2月29日に GA された日本語で訓練された Granite-japaneseモデルを使用するため、「ibm/granite-8b-japanese」を入力し「Save」をクリックします。(その他変数はデフォルト値とします) 「Actions」から「Generate Answer」を選択し、「model_input」の値を以下の例の様に日本語に変更します。 例: ("<s>[INST] <<SYS>>\nあなたは親切で、礼儀正しく、誠実なアシスタントです。常に安全を保ちながら、できるだけ役立つように答えてください。答えは簡潔に日本語で回答してください。回答には、有害、非倫理的、人種差別的、性差別的、有毒、危険、または違法なコンテンツを含めてはいけません。回答が社会的に偏見がなく、本質的に前向きであることを確認してください。\n\n質問が意味をなさない場合、または事実に一貫性がない場合は、正しくないことに答えるのではなく、その理由を説明してください。質問の答えがわからない場合は、誤った情報を共有しないでください。\n<</SYS>>\n\n質問に答えることで、次のエージェントの応答を生成します。タイトルが付いたいくつかの文書が提供されます。答えが異なる文書から得られた場合は、あらゆる可能性について言及し、文書のタイトルを使用してトピックまたは領域を区切ってください。与えられた文書に基づいて回答できない場合は、回答がない旨を記載してください。\n\n").concat(passages).concat("\n\n[question]: ").concat(query_text).concat("[/INST]") 以上で設定は完了です。 さっそく Assistant から問い合わせをしてみます。 右下の「Preview」をクリックします。 チャットから S1014 の特徴について問い合わせしてみます。約18秒後に以下の回答が返ってきました。 「Inspect」をクリックすると、Discovery の検索結果が以下の通り watsonx.ai に渡されていることがわかります。 <s>[INST] <<SYS>> あなたは親切で、礼儀正しく、誠実なアシスタントです。常に安全を保ちながら、できるだけ役立つように答えてください。答えは簡潔に日本語で回答してください。回答には、有害、非倫理的、人種差別的、性差別的、有毒、危険、または違法なコンテンツを含めてはいけません。回答が社会的に偏見がなく、本質的に前向きであることを確認してください。 質問が意味をなさない場合、または事実に一貫性がない場合は、正しくないことに答えるのではなく、その理由を説明してください。質問の答えがわからない場合は、誤った情報を共有しないでください。 <</SYS>> 質問に答えることで、次のエージェントの応答を生成します。タイトルが付いたいくつかの文書が提供されます。答えが異なる文書から得られた場合は、あらゆる可能性について言及し、文書のタイトルを使用してトピックまたは領域を区切ってください。与えられた文書に基づいて回答できない場合は、回答がない旨を記載してください。[title]: IBM Power S1014 柔軟かつセキュアなハイブリッドクラウド・インフ ラストラクチャーで俊敏性を実現[document]: 1 コ ア 当 た り 4 つ の M a t r i x Math Acceleratorによる迅速 なAI推論のために洞察と自動 化を合理化 業界標準のDIMMより2倍優 れたメモリーの信頼性と可用 性を提供 IBM® Power® S1014 は、1ソケット、4U Power10プロセッサーをベースにしたサー バーで、IBM AIX®、IBM iまたは Linux®上のビジネス・クリティカルなワークロード 向けに設計されています。Power S1014を使用することで、ワークロードはより 少数のサーバーに統合され、ソフトウェア・ライセンスの数、電力と冷却のコスト を削減します。Power S1014サーバーは、プロセッサー上でのメモリー暗号化を 使用してエンドツーエンドからデータを安全に保護し、ラック型またはタワーフォー ム・ファクターで購入できます。 プロセッサー・レベルでのメモリー暗号化と、POWER9 と比較してすべてのコア で4倍の暗号化エンジンによりコアからクラウドまでのデータを保護 ますます高度に分散した環境に存在するデータには、もはや境界線を設定すること は不可能です。 [question]: S1014の特徴は?[/INST] Assistant と Discovery のみの連携で検索した結果は以下の通りです。watsonx.ai を使用した方がより簡潔で分かりやすい回答を得られることが分かります。 8. 言語モデルを変えて問い合わせの検証 言語モデルを "llama-2-70b" にして同様の問い合わせをしたところ、約24秒後に回答が返ってきました。箇条書きで丁寧な印象です。 言語モデルを "elyza-japanese" にした際は10秒ほどで回答がありました。主語として「S1014の特徴は」とあることで、問いに対する回答が分かりやすくなっています。 言語モデルを変えて試した結果、llama-2-70B は箇条書きで回答し丁寧な印象を受けましたが、回答が得られるまでに24秒かかりました。一方 Granite-japanese や elyza-japanese はシンプルな回答を生成し、Granite-japanese は18秒、elyza-japanese は10秒というより短い時間で回答を得られました。 Watson Discovery の検索結果に基づき watsonx.ai で回答を生成するので、ある程度時間がかかると予想していましたが、elyza-japanese は速い回答で主語を添えてわかりやすく回答してくれました。 また、llama-2-70B は汎用的で使いやすいモデルですが、プロントで「日本語で回答して」と指示をしても問い合わせ内容によっては英語で回答することがありました。日本語の回答精度を求める場合は、Granite-japanese や elyza-japanese を使用した方が精度の高い回答を得ることができます。 モデルを変えて問い合わせてみると、モデルごとに得意なタスクが異なることがわかりました。数百億のパラメータで訓練された大規模言語モデルを一概に選択するのではなく、言語やタスクの特性に合わせて最適なモデルを選定することが重要になりそうですね。 さいごに いかがでしたでしょうか。Github から提供されているスターターキットを使って Assistant、Discovery、watsonx.ai を繋げてみましたが、ほどんど躓くことなく UI から簡単に設定することができました。 接続自体に高度な難しさは感じませんでしたが、問い合わせに対して正確な情報を得るためには Assistant の検索設定を調整する必要があります。今回は1つの PDFファイルの検索を行いましたが、複数の PDFファイルから情報を引き出す際には Assistant で query を設定することで特定の PDFファイルからの検索が可能です。 このように PDF などの非構造化データを検索対象として精度の高い回答を得るには、Discovery において文書の構造を明確に定義し、Assistant の検索設定を調整することが必要です。 実際にヘルプデスクなどの Webチャットで利用する場合は、Assistant にあらかじめ用意した回答をルールベースで回答させ、それでも解決できない問い合わせについては Discovery を通じて検索を行い、watsonx.ai を用いて回答を生成するという流れが効果的です。 ただし、生成AI によって生成される回答は常に”100%正確な回答”ではないので、より高い精度の回答を追求するためにはプロンプトの調整などチューニングを施すことが必要です。その結果、より使いやすい Webチャットの実現が期待できます。 お問い合わせ エヌアイシー・パートナーズ株式会社E-Mail:nicp_support@NIandC.co.jp   .highlighter { background: linear-gradient(transparent 50%, #ffff52 90% 90%, transparent 90%); } .anchor{ display: block; margin-top:-20px; padding-top:40px; } .btn_A{ height:30px; } .btn_A a{ display:block; width:100%; height:100%; text-decoration: none; background:#eb6100; text-align:center; border:1px solid #FFFFFF; color:#FFFFFF; font-size:16px; border-radius:50px; -webkit-border-radius:50px; -moz-border-radius:50px; box-shadow:0px 0px 0px 4px #eb6100; transition: all 0.5s ease; } .btn_A a:hover{ background:#f56500; color:#999999; margin-left:0px; margin-top:0px; box-shadow:0px 0px 0px 4px #f56500; } .bigger { font-size: larger; }

back to top