生成AIを使いこなせないのはなぜ?技術に囚われる落とし穴
海外のチャットボットに関する掲示板で、興味深い議論を見つけました。 ユーザーAさんが、ファイルアップロード時に使われている埋め込みモデルと、ランキングモデルについて質問していました。ユーザーBさんは、「bge-large-en-v1-5という埋め込みモデルを使用しており、ランキングモデルはまだ使用していない」と回答していました。
このbge-large-en-v1-5は性能が良いモデルらしいのですが、問題があります。 一般的なチャットボットユーザーは、ファイルアップロード時にモデルを選択できません。 PythonやLangChainを使っている開発者ならモデルを選択できるかもしれませんが、一般的なユーザーはそうではありません。
多くの海外ユーザーは、すぐにPythonコードやモデル名、データパイプラインといった技術的な話題に移行します。 しかし、生成AIを使いこなすためには、そういった技術的な詳細にこだわらず、プロンプトエンジニアリングや出力結果の評価に焦点を当てるべきです。 LangChainなどのツールは便利ですが、それ自体が目的ではありません。 目的は、チャットボットから最高の結果を得ることです。
私がみたやり取りがたまたまそうなのかもしれませんが、LangChainやモデル選定、パラメーター調整といった技術的な問題にばかり気を取られて、肝心のプロンプト改善や出力結果の評価を忘れてしまっているように見えます。 生成AIを使いこなすには、まずは問題点(例えば、出力結果が不十分な場合)を発見し、その原因を特定し、改善策を講じるというプロセスが重要です。 技術的な詳細に深入りする前に、まず問題の本質を理解することが大切です。
<補足:>
上記の外人の会話はRAGを作る時に使ってる蜜な埋め込みモデル(文字の変換モデル)についての会話です。このエリアは開発者にしかいじれないので、せめて特徴を知ってRAGにするのか、しないのかというのをユーザが選択する参考情報にしかなりません。
埋め込み能力: bge-large-en-v1.5は、テキストデータを1024次元の密なベクトル表現に変換する能力を持ち、意味や文脈を捉えることができます
モデルの仕様: 最大512トークンの入力を処理可能で、長文や複雑な文脈を含むデータセットでも効果的に機能します
多言語対応: 主に英語をサポートしていますが、他の言語にも適用可能で、多言語環境での利用が期待できます
リトリーバル機能: クエリとドキュメント間の類似度スコアを計算し、関連性の高い情報を迅速に取得できます
ファインチューニングとカスタマイズ: 特定のデータセットやタスクに合わせて性能を向上させることが可能です12。
メリット
高い性能と精度: テキストデータを密なベクトル表現に変換し、意味や文脈を捉える能力に優れています
長いコンテキストの処理能力: 最大512トークンまでの入力を処理できるため、長文や複雑な文脈を含むデータセットでも効果的に機能します
簡単な統合と使用法: Hugging FaceやLangchainなどのプラットフォームと簡単に統合でき、迅速にアプリケーションに組み込むことができます
ファインチューニングの柔軟性: 自分のデータセットに基づいてモデルをファインチューニングすることで、特定のタスクやドメインに最適化された性能を引き出すことができます