IBMは、IBM watsonxを通じて、様々なIBM製基盤モデルやオープンソースモデルを提供することで、業務に応じて適切な基盤モデルを選択できる「マルチ基盤モデル」を実現しようとしています。タスクによって使い分けることができる複数のIBM製基盤モデル(Slate、Sandstone、Granite)について、モデルサイズに応じた適応方法、ROIを高める運用方法とともに IBM 技術理事の倉田 岳人が解説します。
IBMがwatsonxで実現するマルチ基盤モデル
ビジネスにおいて基盤モデルの活用が今後広がっていくことが期待される中で、IBMは「マルチ基盤モデル」を一つの戦略としています。「基盤モデル」という名前から受ける印象は人によって異なりますが「一つのモデルですべてのタスクを実現できる」という印象を持たれる場合もあります。しかし、IBMは、一つのモデルですべてのタスクを実現できるとは考えていません。ドメイン、モダリティー、ユースケース、機密性、運用環境、かけられる計算コストなど様々な条件ごとに適切なモデルは異なります。機密性の高い社内データで構築された基盤モデルを、社外向け顧客対応などに利用すると、情報漏洩のリスクがあることなどは自明といえるでしょう。様々なオープンソース基盤モデル、お客様固有基盤モデル、IBM製基盤モデル、他社製基盤モデルから適切なモデルを選択していくことで、効果的に社内業務の効率化や競争力の強化につなげていくことができます。例えば、詳細は後述しますが、大規模モデルでアプリケーションを開発し、実運用では対象タスクに特化させた小規模モデルを利用することで、高いROIを実現することも可能となります。IBMが展開しているwatsonxでは、オープンソース基盤モデルやIBM製基盤モデルを提供しています。IBM製基盤モデルは、上述したような様々な要件に対応するために、大別してSlate(粘板岩)、Sandstone(砂岩)、Granite(花崗岩)という3種類のモデルの構成を利用しています。本稿では、これらのモデルの構成について解説を加えます。また、これらのモデルを組み合わせたROIの高いAIサービスの構築、運用方法についても議論します。
基盤モデルの構成要素基盤モデルは、典型的にはエンコーダー(Encoder)とデコーダー(Decoder)の組み合わせで構成されます。エンコーダーは、情報を読み込み、様々なタスクに利用できる埋め込み表現(ベクトル表現)を取り出します。図1の自然言語の例では、「日本 / の / 首都 / は / …」という入力に対して、各々の単語に対する埋め込み表現を計算しています。この埋め込み表現は、文脈情報を適切に捉えることができており、これを利用することで様々なアプリケーションを効率的に構築することができます。デコー
ダーは、情報を生成します。
図1の例では、「日本 / の / 首都 / は」という入力単語列に対して、後続する「東京 / です」という単語列を生成しています。
図1 エンコーダーとデコーダーの動作例
基盤モデルは、利用するモデリング技術という観点では、深層学習(ディープ・ラーニング)、古くはニューラル・ネットワークを発展、拡大させたものとなります。ニューラル・ネットワークは、線形変換、非線形変換、プーリングなどの処理を組み合わせることで実現され、これを大規模、多層にしたものが深層学習で利用されるディープ・ニューラル・ネットワークとなります。この中で、効果が確認され幅広く利用される構成(処理の組み合わせ)として、フィードフォワード・ネットワーク(FFNN: Feedforward Neural Network)、畳み込みニューラル・ネットワーク(CNN: Convolutional Neural Network)、RNN(Recurrent Neural Network)、LSTM(Long-short Term Memory)、トランスフォーマー(Transformer)などが現れ、利用されています。PyTorchに代表される機械学習ライブラリーではこれらの単位でモジュール化されており、内部の構成を意識せずに利用することが可能となっています。特にトランスフォーマーは、最初機械翻訳で大きな性能向上を実現し、基盤モデルでも中心的に利用されているニューラル・ネットワークの構成です。基盤モデルを構成するエンコーダー、デコーダーは、多くの場合このトランスフォーマーを多層に積み上げることで実現されています。なお、他の構成を利用する研究も多数行われており、発展が期待されています。
タスクごとに使い分けられるwatsonxのIBM製基盤モデルwatsonxでは様々な要件に対応するため、Slate、Sandstone、Graniteの3種類のモデルを提供していきます。
表1にこれらの
モデルの概要を示します。
表1 IBM製基盤モデルの構成と特徴
SlateSlateはエンコーダーのみのモデルであり、分類(文書分類、感情極性分類など)や抽出(固有表現抽出など)のような非生成タスクが下流タスクの場合に費用対効果の良い基盤モデルとなります。エンコーダーは、入力データ列から文脈を考慮した埋め込み表現を抽出できます。
図2に示したように、この特徴を利用し、エンコーダーの上にタスクごとのニューラル・ネットワークを追加し、そのタスクごとのデータで追加学習を行うことで、一からモデルを構築するよりもはるかに少ないデータで十分な精度のモデルの学習を行うことができます。
Sandstone
Sandstoneはエンコーダーとデコーダーを組み合わせたモデルであり、生成タスク、非生成タスクの両方に利用できる構成の基盤モデルとなります。エンコーダー・デコーダーモデルと呼ばれるこの構成は、エンコーダーで入力データに含まれる情報を効率的に抽出した上で、デコーダーでそれに基づいて生成を行います。「英語からエンコーダーで情報を抽出し、それをもとにデコーダーで日本語を出力する」ような自動翻訳での利用が注目されました。それ以外にも、入力データが大きく、生成するデータが小さい要約のようなタスクで費用対効果が良い構成です。
GraniteGraniteはデコーダーのみのモデルであり、生成タスクに適した基盤モデルとなります。GPT-3やLlama-2などもGraniteと同様にデコーダーのみのモデルです。この構成では、図1のデコーダーの例に示されているように、自然言語の場合には単語の履歴に対して、次の単語を正しく予測できるようにモデルの学習が行われ、推論時には過去の単語履歴に基づいて、次の単語を出力することで、文章の生成を行います。なお、Graniteは生成タスクに適していますが、分類や抽出といった非生成タスクを生成的なアプローチで解くこともできます。例えば、文章に対してラベルを与える分類問題を、文章を履歴として、後続す
る単語としてラベルを生成させることで、解くことができます。IBMは、自然言語で英語を対象としたGraniteモデルを、2023年9月にリリースし、今後多言語対応などを進めていきます[
1,
2]。
図 2 Slateモデルを利用したタスクごとのモデル
Slate、Sandstone、Graniteはモデルの構成を表しており、同じ構成でも、異なるサイズのモデルや、異なるアプリケーションを対象としたモデルなどが存在し、様々な要件に対応できるようになっています。
基盤モデルのサイズと対象タスクへの適応Slate、Sandstone、Graniteは様々なサイズのモデルが存在しますが、現在開発中、もしくは提供中のSlateモデルは数百万、Sandstoneモデルは数十億、Graniteモデルは数十億から数百億のパラメータを持ちます。一般的に、基盤モデルはモデルのサイズが小さい場合には対象タスクへの適応のために多くのデータが必要となります。モデルの構成とも関係しますが、Slateモデルの場合には、対象タスクごとに追加のニューラル・ネットワークを追加した上での追加学習が必要となります。それに対して、モデルサイズが大きい場合には、モデルそのものの更新は行わず、比較的少量のデータを用いて、プロンプトに追加する情報を自動推定するプロンプト・チューニング[
3]や、人手で適切な指示をモデルに与えたり、動作の例を示したりすることで期待する動作を引き出すプロンプト・エンジニアリングで、多くのタスクを実現できます。特に後者は、基盤モデルの生成的な能力を活用しているといえます。
基盤モデルの実運用を考えた場合、モデルサイズの小さい基盤モデルを利用することができれば、運用コストを抑えることができます。ただし、小さいモデルで目的のタスクを実現するためには、タスクごとの学習データを一定量集める必要があります。これに対して、サイズの大きな基盤モデルは、少量のデータで所望の動作を実現することができるものの、運用コストが大きくなります。サイズの小さいモデルと大きいモデルの利点を組み合わせることで、実運用時のROIを高めることができます。具体的には、プロジェクト初期と大規模運用時で以下のようにモデルを切り替えることが考えられます。
(1) プロジェクトの初期には、対象タスクの少量のデータを用意し、サイズの大きな基盤モデルを利用する。
(2) 初期の運用を通じて、対象タスクの運用データを蓄積する。
(3) 蓄積した運用データを利用して、サイズの小さい基盤モデルを、対象タスクに適応させる。
(4) 大規模な運用時には、適応させたサイズの小さい基盤モデルを利用する。
これによって、実運用時に高い精度と低い運用コストを両立することができます。
まとめ
本稿では、タスクごとに使い分けることができるIBM製基盤モデルSlate、Sandstone、Graniteの概要について説明しました。また、モデルサイズに応じた対象タスクへの適応方法や、ROIを高める運用方法を紹介しました。IBMは、watsonxを通じて、IBM製基盤モデルに加えて、様々な目的に利用できるオープンソースモデルを提供することで、業務に応じて最適なモデルを選択できる「マルチ基盤モデル」を今後も推進していきます。
#ProVision
#ProVision-AI
#Highlights-home#Highlights