ホームページ >運用・保守 >安全性 >ローカルナレッジベースを使用してLLMのパフォーマンスを最適化する方法に関する記事

ローカルナレッジベースを使用してLLMのパフォーマンスを最適化する方法に関する記事

WBOY
WBOY転載
2023-06-12 09:23:202132ブラウズ

昨日、データベースのエラー情報をより正確に診断できるCHATGLM-6Bの対話モデルを微調整する220時間の微調整訓練が終了しました。

ローカルナレッジベースを使用してLLMのパフォーマンスを最適化する方法に関する記事

# しかし、10 日近く待ったこのトレーニングの最終結果は残念なものでした。サンプル カバレッジを小さくして行った前回のトレーニングと比較すると、その差は依然としてかなり大きいです。

ローカルナレッジベースを使用してLLMのパフォーマンスを最適化する方法に関する記事

#この結果はまだ少し残念です。このモデルは基本的に実用的ではありません。価値があります。 。パラメータやトレーニングセットを再調整して再度トレーニングを行う必要があるようです。大規模な言語モデルのトレーニングは軍拡競争であり、優れた機器がなければプレイすることは不可能です。実験設備もアップグレードしなければ、数十日が無駄になってしまいそうだ。

最近の微調整トレーニングの失敗例から判断すると、微調整トレーニングを完了するのは簡単ではありません。異なるタスク目標がトレーニング用に混合されます。異なるタスク目標には異なるトレーニング パラメータが必要になる場合があり、最終的なトレーニング セットが特定のタスクのニーズを満たすことができなくなります。したがって、PTUNING は非常に特定のタスクにのみ適しており、混合タスクには必ずしも適しているわけではありません。混合タスクを目的としたモデルでは FINETUNE を使用する必要がある場合があります。これは、数日前に友人とコミュニケーションをとっているときにみんなが言ったことと似ています。

実際、モデルのトレーニングが難しいため、自分でモデルをトレーニングすることを諦め、代わりにローカルのナレッジ ベースをベクトル化してより正確に取得してから使用する人もいます。 AUTOPROMPT を使用してそれを取得します。 最終結果では、音声モデルに質問するための自動プロンプトが生成されます。この目標は、langchain を使用すると簡単に達成できます。

ローカルナレッジベースを使用してLLMのパフォーマンスを最適化する方法に関する記事

動作原理は、ローダーを介してローカル ドキュメントをテキストとしてロードし、テキストはストローク テキスト フラグメントに分割され、エンコード後にベクトル ストレージに書き込まれ、クエリに使用されます。クエリ結果が出ると、プロンプト テンプレートを使用して LLM に質問するためのプロンプトが自動的に作成され、LLM が最終的な回答を生成します。

この作業にはもう 1 つの重要なポイントがあります。1 つは、ローカル知識ベース内の知識をより正確に検索することです。これは、検索におけるベクトル ストレージによって実現されます。現在、ターゲットとされています。中国語と英語のローカル ナレッジ ベースでは、ナレッジ ベースのベクトル化と検索のためのソリューションが多数あり、ナレッジ ベースにより適したソリューションを選択できます。


ローカルナレッジベースを使用してLLMのパフォーマンスを最適化する方法に関する記事

#上記は、vicuna-13b で渡された OB に関するナレッジ ベースです。 Q&A の場合、上記はローカル ナレッジ ベースを使用せずに LLM 機能を使用した回答であり、以下はローカル ナレッジ ベースをロードした後の回答です。パフォーマンスが明らかに向上していることがわかります。

ローカルナレッジベースを使用してLLMのパフォーマンスを最適化する方法に関する記事

先ほどの ORA エラーの問題を見てみましょう。ローカル ナレッジ ベースを使用する前、LLM は基本的にナンセンスですが、ローカルのナレッジ ベースをロードした後でも、この回答はまだ満足のいくものです。記事内のタイプミスもナレッジ ベースのエラーです。実際、PTUNING で使用されるトレーニング セットも、このローカル ナレッジ ベースを通じて生成されます。

私たちは最近踏んだ落とし穴から経験を積むことができます。まず、ptuning の難易度は思ったよりも高く、finetune よりも必要な装備は少ないものの、訓練難易度は決して低くありません。次に、LLM 機能を向上させるために、Langchain と自動プロンプトを介してローカルのナレッジ ベースを使用することをお勧めします。ほとんどのエンタープライズ アプリケーションでは、ローカルのナレッジ ベースが整理され、適切なベクトル化ソリューションが選択されている限り、次のような結果が得られるはずです。 PTUNING/FINETUNE よりも劣りません。 3 番目に、これも前回述べたように、LLM の能力が非常に重要です。使用する基本モデルとして強力な LLM を選択する必要があります。組み込みモデルは機能を部分的に向上させることしかできず、決定的な役割を果たすことはできません。 4 番目に、データベース関連の知識に関しては、vicuna-13b は非常に優れた能力を持っています。

今朝早くクライアントに連絡しに行かなければなりません。朝は時間が限られているので、少しだけ文章を書きます。これについて何かご意見がございましたら、ディスカッション用にメッセージを残してください (ディスカッションはあなたと私にのみ表示されます)。私もこの道を一人で歩いています。アドバイスをくれる仲間がいることを願っています。

以上がローカルナレッジベースを使用してLLMのパフォーマンスを最適化する方法に関する記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。