
ChatGPTやGeminiなどの LLM(大規模言語モデル)はユーザーの話し言葉のようなプロンプトに応じて、文書生成やプログラミング、情報検索など幅広いタスクを高い精度でこなすことができる点が非常に優れています。その一方で、生成されたものが必ずしも正しいとはいえない場合もあります。LLMが学習するデータはインターネット上のテキストデータになりますが、常に最新の情報を学習しているわけではありません。また、インターネット上にない情報は当然学習できません。LLMはその仕組み上、誤った情報でもそれらしく回答してしまう「ハルシネーション」という現象が起きてしまいます。
ビジネスにおいてDXを推し進めるためには、LLMを活用して様々な業務において効率化と生産性の向上を図りたいところですが、上記の課題があるため、既存のLLMをそのまま活用することは難しいでしょう。とはいえLLMをゼロから開発すると膨大な開発コストがかかるので現実的ではありません。そのため、既存のLLMをカスタマイズして精度を高める様々な技術が開発されています。中でもRAGとファインチューニングが注目を集めています。
今回は、LLMをカスタマイズするRAGとファインチューニングについてその違いを解説いたします。
1. RAGとは
弊社ブログでもこれまでに解説しておりますが、RAGとはRetrieval-Augmented Generation(検索拡張生成)の略です。RAGの仕組みは、簡単にいえばLLMが未学習のデータ(外部データ)の中から、ユーザーの入力したプロンプトに基づいて情報を検索し、プロンプトに検索結果を追加してLLMに渡すというものです。LLMはこれらの情報により回答を生成します。LLM自体に追加の学習をする必要がないのがRAGの特徴です。
参考ブログ
●メリット
・最新情報に基づいた回答生成が可能
RAGでは外部データを保存したRAG専用のデータベースの情報を検索します。このデータベースの情報が最新の情報に更新されていれば、LLMの回答も常に最新の情報を網羅して生成することができます。
●デメリット
・外部データの精度に回答結果が依存する
データベースの情報に誤りがあれば、その情報をLLMに渡して生成してしまいます。結果として正しい回答が得られません。
・データーの整備が必要
RAGで精度よく検索を行うためには、データベースに置くデータの状態にも注意が必要です。例えばpdfの資料で画像が埋め込まれている部分はRAGで検索できません。画像化する前のテキスト状態のwordファイルなどがあればそちらを使うことが大切です。また、ドキュメントを極力構造化する、ドキュメントに複数のバージョンがある場合は最新版とするなど、RAGで精度よく検索するためのデータの整備が欠かせません。
2. ファインチューニングとは
ファインチューニングとは既存のLLMに、目的に応じた追加学習データセットを与えることで、カスタマイズする方法です。ファインチューニング自体はLLM以前からニューラルネットワークを模したディープラーニングにおいて使われてきました。その仕組みは、ニューラルネットワークの出力層に新たな層を追加して学習データセットによって学習を行うことでLLM全体でのパラメータの調整をするというものになります。
学習データセットのフォーマットはLLMごとに異なります。例えばChatGPTであればJSONLで<prompt(質問),completion(回答)>といった形式で記述されたデータセットとなります。
●メリット
・特定のドメイン・タスクの精度向上
ファインチューニングは、LLMそのものが学習するという仕組み上、特定のドメインなどに特化した学習が行えます。例えば、医療分野などに特化した学習をすることで、より精度の高いLLMの運用が可能となります。
●デメリット
・大量のデータセットの作成が必要
データセットはLLMの学習可能な形式にする必要があります。そのためのデータセットを作成する必要があり、その量は一概には言えませんが、場合によっては数千、数万といったデータを人手によって用意する必要があり、この作業に膨大な工数を取られてしまいます。
3. RAGとファインチューニングの違い
どちらの方法も外部データを使ってLLMをカスタマイズするという点は共通しています。大きな違いは、LLM自体が追加学習をするか否かという点です。RAGでは外部データを検索し既存のLLMに渡すという流れになりますから、追加学習の必要がありません。一方ファインチューニングでは外部データをLLMが追加学習するため、LLM自体がカスタマイズされます。
ここまで述べてきたそれぞれの特徴を下記にまとめました。
RAG | ファインチューニング | |
---|---|---|
LLMの学習 | なし | あり |
学習データ | ・データベースに置かれたドキュメントなど | ・LLMが処理できる形式 |
回答生成方法 | ・データベースを検索し、既存LLMが回答を生成 | ・LLM自体が追加学習することで回答を生成 |
メリット | ・最新情報などの更新が容易 | ・特定のドメイン・タスクに対する回答精度が高い |
デメリット | ・誤情報が含まれると精度がでない ・データの整備が必要 |
・学習データセットの作成が必要 |
このような違いがRAGとファインチューニングにはあります。両者のうちどちらの手法が優れているか、ということは一概には言えません。最新情報を常に扱う場合にはRAGが適している一方で、特定の専門分野に対してより深い精度を求めるのであればファインチューニングが適しているといったように、いずれの手法が適しているかは目的に応じて変わってきますので、慎重に検討してカスタマイズ方法を選択することが大切です。
4. まとめ
LLMをカスタマイズするためのRAGとファインチューニングについて解説してまいりました。どちらの方法を採用する場合でも大切なのは、カスタマイズするための外部データの整備・作成を量と質の両面で適切に行うことです。
先に述べた通り、RAGでは、社内にある大量のドキュメントの中から、RAGが間違いなく検索できる状態のものを選別し、必要がある場合は構造化するなどの作業が必要になります。一方ファインチューニングでは追加学習させたい外部データを元に大量の学習データセットを作成する必要があります。
これらのデータ整備・作成プロセスを効率よく進めるための自動化も進んでいる状況ではありますが、やはり人の手作業がデータ作成のプロセスのどこかで必要になるでしょう。もし自社でこれらの作業を行おうとすると、本来の業務以外の作業が発生し、余分なコストがかかってしまいます。このような場合には専門の外部ベンダーに任せることも良い選択です。
5. ヒューマンサイエンスのアノテーション、LLM RAGデータ構造化代行サービス
教師データ作成数4,800万件の豊富な実績
ヒューマンサイエンスでは自然言語処理に始まり、医療支援、自動車、IT、製造や建築など多岐にわたる業界のAIモデル開発プロジェクトに参画しています。これまでGAFAMをはじめとする多くの企業様との直接のお取引により、総数4,800万件以上の高品質な教師データをご提供してきました。数名規模のプロジェクトからアノテーター150名体制の長期大型案件まで、業種を問わず様々なアノテーションやデータラベリング、データの構造化に対応しています。
クラウドソーシングを利用しないリソース管理
ヒューマンサイエンスではクラウドソーシングは利用せず、当社が直接契約した作業担当者でプロジェクトを進行します。各メンバーの実務経験や、これまでの参加プロジェクトでの評価をしっかりと把握した上で、最大限のパフォーマンスを発揮できるチームを編成しています。
アノテーションのみならず生成系AI LLMデータセット作成・構造化にも対応
データ整理ためのラベリングや識別系AIのアノテーションのみでなく、生成系AI・LLM RAG構築のためのドキュメントデータの構造化にも対応します。創業当初から主な事業・サービスとしてマニュアル制作を行い、様々なドキュメントの構造を熟知している当社ならではのノウハウを活かした最適なソリューションを提供いたします。
自社内にセキュリティルームを完備
ヒューマンサイエンスでは、新宿オフィス内にISMSの基準をクリアしたセキュリティルームを完備しています。そのため、守秘性の高いデータを扱うプロジェクトであってもセキュリティを担保することが可能です。当社ではどのプロジェクトでも機密性の確保は非常に重要と捉えています。リモートのプロジェクトであっても、ハード面の対策のみならず、作業担当者にはセキュリティ教育を継続して実施するなど、当社の情報セキュリティ管理体制はお客様より高いご評価をいただいております。