フォワード まず始めに言っておきますが、大規模言語モデル (LLM) の作成者、LLM を評価するツール、またはそれらをランク付けしてリーダーボードを作成する個人や組織を攻撃するつもりはありません。このエコシステムへの比較的初心者として、私はあなたの仕事に感謝しており、そうでなければ骨の折れるタスクを簡単に実行できるようになったことに感謝しています。 明らかに、私の次の投稿では、評価がどのように機能するかをもう少し詳しく知るために、モデルをランク付けするためのさまざまな方法を検討する必要があります。 導入 私の以前の記事 まだ読んでいない場合は、用語を定義し、さまざまな実践や信念に到達する手段について説明したので、復習しておくと役に立つかもしれません。 「本の要約のための PrivateGPT: 構成変数のテストとランク付け」を この記事を読んだことがあれば、私が書籍を要約する目的で大規模言語モデル (LLM) を使用して数か月間プロセスを改良してきたことに気づいているでしょう。プロンプト テンプレート、システム プロンプト、ユーザー プロンプトなどを含む一連のパラメータを測定しました。 モデルのランク付けと構成変数の使用に関するデータの収集の予備ラウンドから、 私は最高品質の箇条書きメモを生成する を発見し、それを最高にするものを探してきました。それ以来、私の 12GB 3060 に適合しています。 mistral-7b-instruct-v0.2.Q8_0.gguf このランキングでは、その知識ベースを使用して、さまざまな主要な 7b モデルを評価しています。今回は を使用します。これは、Ollama の方が使いやすく、非常にパフォーマンスが高いためです。 Ollama 私が以下のモデルを選択したのは、さまざまなリーダーボードで よりも上位にランクされているか、最高の 7b を自称しているためです。 Mistral 7b Instruct 0.2 (括弧内はテスト済みのチャット テンプレート) openchat-3.5-0106.Q8_0.gguf (オープンチャット) シュノーケル-ミストラル-pairrm-dpo.Q8_0.gguf (ミストラル) dolphin-2.6-mistral-7b.Q8_0.gguf (ミストラル) supermario-v2.Q8_0.gguf (ChatML) openhermes-2.5-mistral-7b.Q8_0.gguf (ChatML) openhermes-2.5-neural-chat-7b-v3-1-7b.Q8_0.gguf (ChatML) openhermes-2.5-neural-chat-v3-3-slerp.Q8_0.gguf (ChatML) WestLake-7B-v2-Q8_0.gguf (ChatML、ミストラル) MBX-7B-v3-DPO.q8_0.gguf (ChatML、ミストラル) neuralbeagle14-7b.q8_0.gguf (ChatML、ミストラル) omnibeagle-7b-q8_0.gguf (ChatML、ミストラル) 一部のモデルでは、ほとんどが Mistral 派生であるため、望ましい結果が得られませんでしたが、優先入力として ChatML がリストされているにもかかわらず、Mistral テンプレートをテストしました。 見出しと用語を太字にした箇条書きメモ 次のテキストを要約した包括的な箇条書きメモを作成します。見出し、用語、主要な概念を太字にしてください。\n\nテキスト: GPT3.5 は私の個人的なベースラインではありませんが、業界標準のようなものであり、ほとんどの 7b Q8 GGUF よりも良い結果が得られると期待しています。 太字で示されている用語の重要な概念はありませんが、見出しが太字で 、全体的に段落のブロックに比べて非常に読みやすくなっています。また、太字の用語が見つかるかどうかは入力テキスト自体に依存する可能性があり、箇条書きの要約には 太字の見出しを含める必要があります。 示されており 必ず 音符を生成するモデルを探しています: もっと早く より詳細に、より少ないフィラーで 同等の詳細とより長いコンテキスト (現在、これらの機能は約 2.5k コンテキストに拡張されています) 私は、これがどの Instruct モデルにとっても基本的なタスクであると考えています。理想的には、開発者はモデルをトレーニングして、この種の理想的な箇条書きを生成します。すでにトレーニング済みの書籍も含めて大量のデータがありますが、書籍用にこれらのメモを生成するのは比較的簡単です ( を使用し、テキストを手動で意味的にチャンク化し、それぞれ 2.5,000 トークン未満の部分に分割します)。 Mistral 7b Instruct 0.2 300 ~ 600 ページの本であれば、前処理と後処理を含めて通常 1 日で完了します。 最終的には、私自身がその能力を向上させるために、微調整を試みるかもしれません。 ランキング 以前、各ランキングにスコアを付けてみました。数字で点数をつけるのは本当に難しいです。将来的には、LLM を取得して要約をランク付けしようと考えています。今回は各モデルの数値的な点数はつけず、足りないところと気に入った点についてコメントを残しておきます。 私は、それぞれ 1900 ~ 3000 トークンの 6 つのチャンクに分割された 1 つの本の章で、次の各モデルをテストしました。それぞれの代表的な出力例を共有します。完全なデータはいつものように GitHub で入手できます。 ミストラル 7b 指示 0.2 Q8 GGUF もうお気づきかと思いますが、私の意見では、 は 7b を倒す必要があります。 ミストラル モデルファイル 、これを使用して、指定された構成を使用して LLM のコピーを保存します。これにより、パラメーターを常にいじらなくても、さまざまなモデルを簡単にデモできるようになります。 Ollama には、モデルの場所、テンプレート、パラメーターをモデル ファイルに入力する機能があり チャット テンプレートを除くすべてのモデルでパラメーターを同じにしましたが、各モデルで使用しているテンプレートを共有するので、テンプレートの使用方法を正確に確認できます。別の構成の Modelfile を使用して次のモデルからより良い結果が得られるかどうかをお知らせください。 TEMPLATE """ <s></s>[INST] {{ .Prompt }} [/INST] """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000 ミストラル 7b 命令 v0.2 結果 ミストラルが毎回完璧にやってくれるとは言いませんが、多くの場合、これが私の結果です。 GPT3.5 の応答を振り返ってみると、これがより優れていることに同意するかもしれません。 オープンチャット 3.5 0106 Q8 GGUF には驚きました。こちらは最高の7bモデルを謳い、少なくともミストラル7bと競合するモデルです。 OpenChat の 0106 モデルファイル TEMPLATE """ GPT4 Correct User: {{ .Prompt }}<|end_of_turn|>GPT4 Correct Assistant: """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000 OpenChat 3.5 0106 の結果 この小さなサンプルでは、太字の見出しが 4/6 回表示されました。後で、より詳細な分析を使用して、他の有力候補と併せてレビューします。 シュノーケル ミストラル ペアrm DPO Q8 GGUF シュノーケルはミストラル 7b インストラクト 0.2 で訓練を受けているため、ここでは明らかに偏見があります。いずれにせよ、私は慎重ながらも楽観的であり、 からのさらなるリリースを楽しみにしています。 Snorkel.ai モデルファイル TEMPLATE """ <s></s>[INST] {{ .Prompt }} [/INST] """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000 シュノーケル ミストラル ペアrm DPO 結果 これらの要約のうち 4/6 は正確に記載されていますが、その他の要約には、要約の一部としてインラインで太字にする代わりに、重要な用語や見出しの非常に長いリストが含まれているなど、不規則な部分が含まれています。 ドルフィン 2.6 ミストラル 7B Q8 GGUF ここに、評判の高い あります。 ミストラルの派生品がもう 1 つ モデルファイル TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000 ドルフィン 2.6 ミストラル 7B の結果 これも、Mistral 7b Instruct 0.2 と 同じくらい優れたモデルです。 6 つの要約のうち 3 つは適切な形式と太字の見出しを備えており、別の要約は太字なしで適切な形式でしたが、2/6 は全体的に悪い形式でした。 ほぼ オープンエルメス 2.5 ミストラル-7B Q8 GGUF リーダーボードでも、関連性のない Discord チャットの「人々」の間でも、非常に人気があります。このランキングでリーダーになってほしいのですが、そうではありません。 このモデルは、 モデルファイル TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000 OpenHermes 2.5 ミストラルの結果 3/6 の結果では適切な構造が生成されますが、太字のテキストは表示されません。そのうちの 1 つは、構造と太字の両方を備えています。他の 2 つはテキストのブロックが大きく、\ 構造が不十分でした。 OpenHermes 2.5 ニューラル チャット 7b v3.1 7B Q8 GGUF また、より良い結果が得られるかどうかを確認するために、OpenHermes 2.5 Mistral の上位派生 いくつか試してみました。残念ながら、そうではありませんでした。 バージョンを モデルファイル TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000 OpenHermes 2.5 ニューラル チャット 7b v3.1 の結果 これらの結果はどれも望ましいものではありませんでした。 OpenHermes 2.5 ニューラル チャット v3.3 Slerp Q8 GGUF 何をやったとしても、これらの はオリジナルを改善しませんでした。 派生製品 モデルファイル TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000 OpenHermes 2.5 ニューラルチャット v3.3 Slerp の結果 新しいバージョンが出るたびに状況は悪化するばかりです。 スーパーマリオ V2 Q8 マリオにはあまり期待していませんでしたが、期待が持てます。一方、V3 と V4 は利用可能ですが、それらに対応する GGUF はまだ見つかりません。 モデルファイル TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000 スーパーマリオ V2 結果 最初の結果は信じられないほど良好でした。ただし、以下の要約はそれぞれ、望ましいパターンから逸脱しています。新しいリリースの GGUF に注目していきます。ここで、最初に太字の見出しが付いた段落ブロックが得られたことがわかります。実は私が求めていたものではありませんでした。 佳作 (ChatML) - これは実際にはまともな形式を生成しますが、太字のテキストは生成されません。 omnibeagle-7b (ChatML、Mistral) - mistral テンプレートと併用するとより適切に動作します。結果は「OK」ですが、プロンプト テンプレートに関しては混乱が多すぎて私の好みではありません。 neuralbeagle14-7b (ChatML) - もっとひどいものを見てきました WestLake-7B-v2 (ChatML) - 形式に一貫性がありません。 MBX-7B-v3-DPO 結論 もっと良いニュースを共有できたらいいのにと思います。私の理想的な見出し 残念ながらそうではありません。 は、 その中から選択するのが非常に難しいということです。 包括的な箇条書きの要約を作成するときに高品質の出力を生成する主要なモデルが豊富にあり、 おそらく、完全な形式では Mistral 0.2 よりも優れていますが、GGUF 形式でのみ後れをとっているのでしょうか?既存の eval がこのタイプの出力をターゲットにしていない可能性は非常に高いと思いますが、これは主要な 7b gguf モデルであれば管理できるはずのタスクであると私は間違いなく主張します。 もう 1 つ考慮すべきことは、Mistral 7b Instruct v0.2 が、Mixtral の直後に、鳴り物入りでリリースされたことです。このリリースは目立たなかったと思います。実際、私がこれまで見てきた「主要な」モデルの多くは 0.1 Mistral をベースにしています。 おそらく状況は変わり、最高のモデルでもまだミストラルを超えることができないことに世界が気づくようになるでしょうか?繰り返しになりますが、おそらくこれらすべてのモデルは、私が求めていない他のすべてのタスクにおいて非常に優れています。 私は喜んで助けます、そして私が間違っていると証明されることをいとわないです データがあり、パイプラインがあり、箇条書きの要約を作成する必要が際限なくあります。私と一緒に働きたい方は、ぜひご連絡ください。 私の GitHub をチェックしてデータを確認し、この実験の独自のバージョンを試してみることも歓迎します。間違いであることが証明されてうれしいです。