COLUMN
2024年05月31日
AIモデルを自社・独自ドメインに最適化させる手法
カテゴリー:テクノロジー
タグ:AI
ChatGPTやGemini、Claudeなど、LLMを使ったAIモデルが多数登場しています。そうしたAIモデルはオープンなデータを学習しており、汎用的に作られています。
しかし、ビジネスで利用する際には自社や業界のドメインに合わせた知識が欠かせません。各種LLMをベースに、自社に最適化させるための手法をまとめました。
ファインチューニング
ファインチューニングは事前に訓練済みのモデルに対して、新しいデータを用いて再トレーニングするテクニックです。ファインチューニングは、モデルのパラメータを新しいデータに適応させることで、モデルの性能を向上させられます。
ファインチューニングは、以下の手順で行います。
- 事前に訓練済みのモデルを用意する
- 新しいデータセットを用意する
- 事前に訓練済みのモデルを新しいデータセットで再トレーニングする
ファインチューニングのメリットは、新しいデータセットに対して高い性能を発揮できることです。また、ファインチューニングは、新しいデータセットが小さい場合でも効果的です。
逆にデメリットとしては、ファインチューニングにはなるべく多くの未学習のデータが必要である点が挙げられます。また、ファインチューニングは、新しいデータセットが元のデータセットと異なる場合には、性能が低下する可能性があります。
また、ファインチューニングは学習するために多くの計算リソースが必要であるため、コストがかかってしまうのもデメリットとして挙げられます。
RAGとEnbedding
RAG(Retrieval Augmented Generation)は、検索と生成を組み合わせたモデルです。RAGは、検索エンジンのように情報を検索し、その情報を元に文章を生成することができます。
RAGは、以下の手順で行います。
- 検索エンジンを用いて情報を検索する
- 検索結果を元に文章(プロンプト)を生成する
- 生成された文章をAIモデルに入力し、結果を生成する
RAGのメリットは、検索エンジンを用いて情報を検索できる点です。また、RAGは、検索結果を元に文章を生成するため、より正確な情報を生成できます。追加学習の手間もなく、検索エンジンのインデックスを強化するだけで新しい情報に対応します。
デメリットは、検索エンジンのインデックスが古い情報を含んでいる場合、生成される文章も古い情報を含む可能性がある点です。また、検索エンジンのインデックスが不十分な場合、生成される文章の品質が低下する可能性があります。
また、検索結果を大量に入力情報にしてしまうと、結果としてAIモデルの出力もよくない場合があります。検索結果の質に左右されてしまいます。
転移学習
転移学習は、あるタスクで学習したモデルを、別のタスクに適用する手法です。転移学習は、元のタスクで学習した知識を新しいタスクに適用することで、新しいタスクの性能を向上させることができます。
転移学習は、以下の手順で行います。
- 元のタスクで学習したモデルを用意する
- 新しいタスクのデータセットを用意する
- 元のタスクで学習したモデルを新しいタスクのデータセットで再トレーニングする
転移学習は、学習量が異なるAIモデルに対して適用されます。たとえば、事業ドメインに関する学習量が小さく、LLMモデルは大規模である場合に優位です。
転移学習のデメリットは、元のタスクと新しいタスクが異なる場合、性能が低下する可能性がある点です。また、学習に多くの計算リソースが必要であるため、コストがかかってしまうのもデメリットとして挙げられます。
RAFT
RAFTは、RAGを改善するための新しい手法です。RAGで提供される情報に対して、関連性の低いものを無視して、回答生成に必要な文章(オラクルドキュメント)を選択するよう訓練します。
従来のファインチューニングや、RAGを用いたアプローチよりも優れた結果が返ってくることが分かっています。
CoA
CoAもRAFTと同様に、RAGを改善するための手法です。CoAは、複数の知識を組み合わせないと正答できないような質問に対してパフォーマンスが向上します。
CoAでは、AIが質問を複数の問題に分割し、それぞれに対して外部から情報を収集します。そして、それらを統合して回答を生成します。
CoAのメリットは、より複雑で多様な質問に対しても高い精度で回答できる点です。また、CoAは、複数の知識を組み合わせることで、より正確な回答を生成できます。
via [2401.17464] Efficient Tool Use with Chain-of-Abstraction Reasoning
まとめ
AIモデルを自社や独自ドメインに最適化させるためには、幾つかの手法が存在します。それらを上手に利用し、AIモデルを活用しましょう。
LLMは多くの可能性がありますが、実用レベルにするためには最適化が欠かせません。ぜひ他のテクニックを参考にしてください。