汎用生成AIサービスは企業ごとの個別ニーズに最適化した回答を生成することが難しい。その解決に使われる「ファインチューニング」や「RAG」といった技術について、それぞれの概要と得意領域の違い、導入プロジェクトの成功パターンを解説する。
「ChatGPT」をはじめとする生成AIサービスは汎用(はんよう)性が高い代わりに、利用する企業団体に個別最適化された回答を生成することは難しい。ChatGPTに自社の従業員規定を聞いても当然正しく応答することはない。非公開情報について尋ねることもできない。
そこで「ファインチューニング」や「RAG」(検索拡張生成)などの技術を活用することで、保有データを生成AIに学習させたり、データベースの検索機能を強化したりしながら、より自社に最適化された生成AIに育てることができる。
本稿ではそんなファインチューニングやRAGの概要と得意領域の違い、導入プロジェクトの成功パターンについて、生成AI「cotomi」の開発や生成AI導入の支援を手掛けるNECのエバンジェリスト・石川和也氏(NEC AIビジネス・ストラテジー統括部 AIビジネス開発グループ)に聞いた。
生成AIに自社のニーズに応じた回答をさせる技術として「プロンプトエンジニアリング」「ファインチューニング」「RAG」などがある。
プロンプトエンジニアリングは、ユーザーが生成AIの性能を引き出すために、入力する指示文を工夫することだ。基となる生成AIには手を加えずに、回答精度を高めることができる。一般的な知識や公開情報についてアドバイスや意見を求める場合や、自社について一般論を聞きたい場合などに有効だ。
ファインチューニングは既存の生成AIに自社が持つデータなどを追加学習させて作り変える技術だ。例えるなら新人教育のようなもので、一般的な知識を持つ生成AIに業界や自社固有のデータを教え込むことで、よく使われる用語や常識、様式、フォーマットなどを獲得させることが目的だ。仕様書の作成や推薦する商品の選定などのタスクは、自社の常識や仕事のフォーマットを把握して実行することで“とんちんかんな回答”が抑えられる可能性がある。
RAGは生成AIに社内データベースなどを連携させて、情報を参照しながら回答を出力させる技術だ。生成AIに辞書やマニュアルを持たせるようなもので、情報ソースがある正確な内容を記述させることが目的になる。カスタマーサポートや社内の問い合わせ業務では、ユーザーに正確な情報を提供することが重要であるため、ファインチューニングよりもRAGの方が適している場合が多い。
ファインチューニングとRAGは自社データを活用する技術という点では類似しているが、できることは異なる。
ファインチューニングでは業界の常識をインプットできるが、資料を参照せずに回答する。これに対し、RAGは資料を引用して正確な答えを出す。目的に対して適切な技術を採用することが重要である。
それぞれでできることが異なるため、組み合わせて活用することも可能だ。ファインチューニングで常識を身に付け、RAGで辞書を引くことを覚えた生成AIに、適切な指示を与えられるなら精度はさらに上がるだろう。
次に、それぞれの実現可能性とコスト感について見ていく。
プロンプトエンジニアリングは生成AIの作り変えやデータベースを用意する必要がないため、実現コストが低いのがメリットだ。適用に向けては、特定のタスクについてさまざまなプロンプトを作って試しながら、適したものを探すことになる。一方でできることには限界があり、生成AIそのものに自社のデータをひもづけたり学習させていないため、固有の情報を出力することはできない。
実現コストが低い点と生成AIの回答精度を向上させる技術である点から、業務に生成AIを適用する際に最初に手を付けることになる。ファインチューニングやRAGと組み合わせることでそれぞれの技術のメリットをより引き出すこともできる。
ファインチューニングは生成AIそのものに手を加えるため、データを学習させるためにGPUをはじめとする計算資源を調達して運用するコストと学習時間が必要になる。また生成AIの開発に関する技術的な知識とノウハウも重要だ。
コストや手間は基となる生成AIのサイズや求める精度、準備するデータ量などで変動する。現状最大レベルの高性能なモデルを作り変える場合に比べ、小型のいわゆるSLM(Small Language Model)であれば労力を抑えられる場合もある。
ファインチューニングは投入したデータや労力で目標を達成できるかどうかが未知数であり、ゴールを見極めるのが難しい傾向にある。一方で一度十分な品質を達成して再学習が必要なくなれば、以降のランニングコストは比較的安定しやすい。
RAGは目的が明確なら用意すべきデータや向上できる回答精度についてある程度予測が立つ点がメリットだ。この影響でファインチューニングに比べて開発コストが低くなりやすい。また、RAGのアーキテクチャは複雑で各要素について技術的な改善が可能なため、伸びしろがあるのも利点といえる。
一方で生成AIに接続するデータベースの構築には大きな手間がかかる問題がある。不要なデータの削除や質問と回答の対応付け、不要なハイパーリンクの削除、メタ情報の付与などが必要で、人力でやるにはやはり時間とコストと知識やノウハウが求められる。コストや手間は生成AIにひも付けたいデータの量や求める精度、データベースの更新頻度などで変動する。これらの作業をいかに自動化するかがビジネス上の強みになる可能性もある。
ビジネスで必要な業務知識や情報は日々更新されるため、データベースへの追加やメンテナンスなどのランニングコストがかさみやすい。
いずれの技術も膨大なデータを扱うため、保存や学習に使うインフラのコストも無視できない。クラウドを使う場合はデータの転送にコストや時間がかかる場合もある。GPUなどの計算資源を借りる場合は他社の順番待ちが発生することも考慮しておきたい。
では自社データを活用した生成AIプロジェクトの成否を分けるポイントはどこなのか。
まずは実現したいタスクを「課題解決で得られる効果量」と「生成AIである必要性の高さ」の2軸でマッピングするといいだろう。効果量が低いパターンは手を付ける意味が薄い。効果量が高いが生成AIである必要がないパターンは別の技術を適用するのが正しく、ここで目的設定を誤ると「生成AIを使ったのにうまくいかない」という結果になる。成功するためには効果量が高く生成AIが必要であるパターンであるかを見極めて投資することが重要になる。
プロジェクトの評価方法は主に回答精度とユーザーの満足度がある。これも適切に設計しなければ「満足度は十分高かったのに目標の精度を達成しなかったため採用されない」という事態になりかねない。
石川氏によれば「目的の設定を誤らないこと」が重要だという。生成AIはあくまで手段であり、生成AIを導入することが目的ではないことを意識するのがプロジェクト成功の基本的な考え方だ。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。