「ドメイン固有のLLMポーションの調合」
ドメイン固有のLLMポーションの調合
アーサー・クラークはよく言った。「あらゆる十分に高度なテクノロジーは、魔法と区別がつかなくなる」と。AIは、ビジョンと言語(V&L)モデルや言語学習モデル(LLM)の導入により、そのラインを越えています。Promptbaseのようなプロジェクトは、正しい順序で正しい言葉を織り交ぜ、見かけ上自然な結果を引き起こします。もし「プロンプトエンジニアリング」が呪文を唱える基準を満たさないのであれば、何がそれを満たすのかは言い難いです。さらに、プロンプトの品質も重要です。良い「呪文」がより良い結果をもたらします!
ほとんどの企業は、このLLMの魔法の一部を利用したいと考えています。ただし、特定のビジネスニーズにLLMを適用することができる場合に限り、それは魔法です。例えば、知識ベースから情報を要約するといった具体的なビジネスニーズにLLMを合わせる冒険に出かけましょう。
- 「リアルタイム1080pの新しい視点合成の革命:3Dガウスと可視性認識レンダリングによる突破」
- 時系列予測のためのXGBoostの活用
- Together AIがLlama-2-7B-32K-Instructを発表:拡張コンテキスト言語処理の大きな進歩
ステップ1:ドキュメントを解読する
LLMには既にドメイン固有の知識が存在する場合がありますが、適切なプロンプトでアクセスできます。ただし、利用したい知識を保持している既存のドキュメントがあると思われます。それらのドキュメントを見つけて、次のステップに進んでください。
ステップ2:呪文を分割する
LLMがドメイン固有の知識にアクセスできるようにするには、ドキュメントをより小さな、理解しやすい部分に分割します。このセグメンテーションにより、関連情報の簡単な検索と理解が向上します。私たちの場合、Fandom Wikiのマークダウンファイルをセクションに分割します。異なるLLMは、異なる長さのプロンプトを処理できます。自分のドキュメントを、最大LLM入力長の10%以下の大幅に短い断片に分割することは合理的です。
ステップ3:知識のエリクサーを作成し、ベクトルデータベースを作成する
各セグメント化されたテキストピースを、例えばSentence Transformersを使用して対応するエンベッディングでエンコードします。
エンコードされた結果のエンベッディングと対応するテキストをベクトルデータベースに保存します。NumPyやSKlearnのKNNを使用してDIYスタイルで行うこともできますが、経験豊富なプラクティショナーは通常、ベクトルデータベースを推奨しています。
ステップ4:呪文を作成する
ユーザーがCivilization 6に関するLLMに何かを尋ねる場合、質問のエンベッディングと密接に一致するエンベッディングを持つ要素をベクトルデータベースから検索できます。これらのテキストを作成するプロンプトで使用することができます。
ステップ5:コンテキストの大釜を管理する
呪文にデータベースの要素を追加して、プロンプトの最大コンテキスト長に到達するまで進めましょう。ステップ2のテキストセクションのサイズに注意してください。埋め込まれたドキュメントのサイズと、プロンプトに含めるドキュメントの数には、通常、重要なトレードオフがあります。
ステップ6:魔法の材料を選ぶ
最終的な解決策に選ばれるLLMに関係なく、これらの手順は適用されます。LLMの状況は急速に変化しているため、パイプラインが準備できたら、成功メトリックを選択し、異なるモデルの並行比較を実行してください。例えば、Vicuna-13bとGPT-3.5-turboを比較できます。
ステップ7:ポーションをテストする
「ポーション」が機能するかどうかをテストするのが次のステップです。LLMの評価については、科学的な合意がないため、容易ではありません。一部の研究者は、HELMやBIG-benchのような新しいベンチマークを開発する一方、他の研究者は、ヒューマンインループ評価や上位モデルによるドメイン固有のLLMの出力の評価を主張しています。各アプローチには利点と欠点があります。特定のドメインの知識を必要とする問題では、ビジネスニーズに関連する評価パイプラインを構築する必要があります。残念ながら、これにはゼロから始める必要があります。
ステップ8:オラクルを明らかにし、回答と評価を魔法で呼び出す
まず、特定のドメインのLLMのパフォーマンスを評価するための質問セットを収集します。これは手間のかかる作業かもしれませんが、私たちのシビライゼーションの例では、Google Suggestを活用しました。私たちは「Civilization 6 how to …」などの検索クエリを使用し、ソリューションを評価するための質問としてGoogleの提案を使用しました。その後、ドメインに関連する質問のセットでQnAパイプラインを実行します。各質問に対してプロンプトを作成し、回答を生成します。
ステップ9:シーアのレンズを通じた品質評価
回答と元のクエリを持っている場合、それらの整合性を評価する必要があります。望む精度に応じて、LLMの回答を優れたモデルと比較したり、Tolokaでの並べて比較を使用したりすることができます。2番目のオプションは、直接的な人間の評価を持つ利点があります。これは、正しく行われれば、優れたLLMが持つ暗黙のバイアスに対する保護となります(例えば、GPT-4は人間よりも自身の回答を高く評価する傾向があります)。このような暗黙のバイアスが製品に悪影響を与える可能性がある実際のビジネス実装では、これは重要な要素となります。おもちゃの例を扱っているので、最初の方法に従うことができます:Vicuna-13bとGPT-3.5-turboの回答をGPT-4の回答と比較すること。
ステップ10:品質評価の蒸留
LLMは通常、オープンな設定で使用されるため、理想的には、ベクトルデータベース内の回答のある質問と回答のない質問を区別できるLLMが必要です。以下は、Toloka(またはTolokers)とGPTによる人間の評価によるVicuna-13bとGPT-3.5の並べて比較です。
メソッド | Tolokers | GPT-4 | |
モデル | vicuna-13b | GPT-3.5 | |
回答可能で、正しい回答 | 46.3% | 60.3% | 80.9% |
回答不可能で、AIが回答をしなかった | 20.9% | 11.8% | 17.7% |
回答可能で、間違った回答 | 20.9% | 20.6% | 1.4% |
回答不可能で、AIが一部回答をした | 11.9% | 7.3% | 0 |
優れたモデルによる評価と人間の評価の違いが明らかになると、TolokersによるVicuna-13bの評価の比較を調べることで、いくつかの重要なポイントが浮かび上がります。まず第一に、GPT-4とTolokersの間の不一致は注目に値します。これらの矛盾は、ドメイン固有のLLMが適切に回答を控える場合に発生し、それに対してGPT-4が非回答を回答可能な質問の正しい回答として評価することがあります。これは、LLMの評価が人間の評価と並べて行われない場合に生じる可能性のある評価バイアスを強調しています。
第二に、GPT-4と人間の評価者は、総合的なパフォーマンスの評価において一致しています。これは、最初の2行の数を合計し、それを後半の2行の数と比較することで計算されます。したがって、2つのドメイン固有のLLMを優れたモデルと比較することは、予備的なモデル評価のための効果的なDIYアプローチとなります。
これで完成です!あなたは魅了することをマスターし、特定のドメイン向けのLLMパイプラインが完全に稼働しています。イヴァン・ヤムシチコフは、ヴュルツブルク・シュヴァインフルト応用科学大学のAIとロボット工学センターのセマンティックデータ処理と認知コンピューティングの教授です。彼はまた、Toloka AIのデータアドボケイトチームを率いています。彼の研究には、計算的創造性、セマンティックデータ処理、生成モデルが含まれます。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles