ChatGLM アップデート: LongBench - 長いテキストの理解能力を評価するためのデータセット、32k コンテキストをサポートする ChatGLM2-6B-32K
コレクション#人工知能50に含まれています
ChatGLM は今回2つのメジャーアップデートを開始しました! 1つはChatGLMの長文読解レベルをテストできる長文読解力テストセット LongBench 、もう1つは32Kコンテキストに対応した新モデルChatGLM2-6B-32Kです!これにより、間違いなく、より一貫性のある合理的な長い形式の対話体験がもたらされるでしょう。」
01
—
以前、友人が、ChatGLM は文脈をよく理解できず、長い会話を扱う際の記憶力が低いと不満を漏らしていました。しかし、より長いコンテキストをサポートする新しい長いテキスト データセットとモデルにより、ChatGLM のパフォーマンスは大幅に向上しました。ChatGLM は、長いテキストの理解を評価するための LongBench データセットと、より長いコンテキストをサポートする ChatGLM2-6B-32K モデルを開始しました。
コンテキスト ウィンドウのサイズは、より広範な問題を解決するモデルの能力に影響を与える重要な要素の 1 つです。この問題を解決するために、GLM 技術チームは長期にわたる内部調査に基づいて、モデルの長文理解能力に特化した LongBench 評価データ セットを開発しました。
データセットには、13 個の英語タスク、5 個の中国語タスク、および 2 個のコード タスクが含まれています。ほとんどのタスクの平均長は 5k ~ 15k で、合計約 4500 個のテスト データが含まれます。
主要なタスクの分類から、LongBench には、単一ドキュメント QA、複数ドキュメント QA、要約、少数ショット学習、コード補完および合成タスクを含む 6 つのカテゴリのタスクと、20 の異なるサブタスクが含まれています。
フューショット学習 (Few-shot Learning) は、機械学習のパラダイムであり、非常に少数のラベル付きサンプル (従来の教師あり学習に必要なデータ量よりも少ない) の場合の学習と一般化の問題を解決することを目的としています。 )。
ロングベンチの特徴
バイリンガル: LongBench は、中国語と英語の両方の長文をより包括的に評価できます。
マルチタスク: LongBench は 6 つのカテゴリと 20 の異なるタスクで構成され、単一ドキュメント QA、複数ドキュメント QA、要約、少数ショット学習、コード補完、合成タスクなどの主要な長文アプリケーション シナリオをカバーします。
自動評価: モデルの評価プロセス中に、特に長いテキストのシナリオ (手動ラベル付けコストや API 呼び出しコストなど) で高いコストが発生する可能性があるためです。そこで当局は、モデルの長文理解能力を最も低コストで効果的に測定・評価することを目的として、全自動の評価手法を採用した。
評価データセットを使用し、公式 GPT-3.5-Turbo-16k、Llama2-7B-chat-4k、LongChat-7B-16k、XGen-7B-8k、InternLM-7B-8k、ChatGLM2-6B、ChatGLM2-6B のパフォーマンス-32k* のような長いテキストをサポートする 7 つのモデルのうち。
記事「ChatGPT の Prompt というプロンプトという単語が物足りなく見えるのはなぜですか?」「」では、大規模モデルの推論能力は言語によって異なるため、モデルのパフォーマンスを向上させるには、データセットに中国語と英語の両方の言語を含める必要があります。
能力変化
より的を絞った方法でさまざまなテキスト長におけるモデルの相対的なパフォーマンスを分析するために、以下の図は、さまざまなテキスト長の間隔におけるすべてのタスクにおけるモデルの平均相対スコアを示しています。
02
—
LongBench の使用
データを読み込む
Hugging Face データセットを通じて LongBench データをダウンロードしてロードします。
from datasets import load_dataset
datasets = ["hotpotqa", "2wikimqa", "musique", "dureader", "narrativeqa", "qasper", "multifieldqa_en", \
"multifieldqa_zh", "gov_report", "qmsum", "vcsum", "trec", "nq", "triviaqa", "lsht", "passage_count", \
"passage_retrieval_en", "passage_retrieval_zh", "lcc", "repobench-p"]
for dataset in datasets:
data = load_dataset('THUDM/LongBench', dataset, split='test')
それぞれの名前は、HotpotQA データセットの場合は「hotpotqa」、2WikiMQA データセットの場合は「2wikimqa」など、データセットに対応します。
「THUDM/LongBench」: データセットが配置されているパスまたは名前を示します。ここで、THUDM/LongBench は、データセットが THUDM チームの LongBench データセットからのものであることを示すために使用されています。
split='test': ロードするデータセットの分割を示します。ここで、「test」はテスト セット データをロードするために使用されます。
レビュー
公式ではChatGLM2-6Bを例とした評価コードを提供しています。
ウェアハウスの下で pred.py を実行する
CUDA_VISIBLE_DEVICES=0 python pred.py
pred/ フォルダー内のすべてのデータ セットのモデルの出力を取得し、eval.py の評価コードを実行します。
python eval.py
各データセットの評価結果を result.json で取得します。
公式の評価結果は、友達が自分で実験することができます。
単一ドキュメントの QA
複数文書の QA
まとめ
少数ショット学習
コード補完
合成タスク
また、今回更新されたのは 32k コンテキストをサポートするモデル: ChatGLM-6B-32k です。
器用な友人はモデルをダウンロードし、兄弟の ChatGLM-6B と比較しました。2 つのモデルについては 4D の記事を読んでください。各モデルは独自の質問をし、記事の内容に基づいて回答します。無効なデータが引用されている、ターゲット オブジェクトがないという問題を解決した後の統計結果を次の図に示します。
単一の 4D 記事の統計結果から、ChatGLM-6B-32k は実際にナレッジ ベース呼び出しの品質を向上させ、多数の無効な出力を回避し、効率を 20% 以上向上させることができます。
友人の中には、大きなモデルを愚かだと考え、「話せばすぐに書き方を知ってくれる」ことを期待している人もいますが、実際には、シーンは多様で変化しやすいものです。
上記のトレーニング セットの内容と評価から、トレーニング セットが十分に大きく、対象範囲が十分に完全である場合にのみ、この要件を部分的に満たすことができ、トレーニング後には、対話でも適切な即発的な言葉が必要であることがわかります。 。
関連するデータセットとモデルアドレス
ロングベンチ
Github: https://github.com/THUDM/LongBench
ハギングフェイス:https://huggingface.co/datasets/THUDM/LongBench
チャットGLM2-6B-32k
https://huggingface.co/THUDM/chatglm2-6b-32k
評価データアドレス:
https://huggingface.co/datasets/THUDM/LongBench/resolve/main/data.zip
過去のおすすめ人気記事:
もう 1 つの一流の大規模モデルがオープンソースで商用利用可能になりました。Meta (Facebook) の Llama 2 が大規模な乱闘パターンを巻き起こす
チュートリアル|無料のGPUリソースを利用して独自のナレッジベースを構築 ChatGLM2-6B + LangChain
プロジェクトランディング実践|ChatGLM2-6B + LangChainをベースとした専用ナレッジベースの構築が初完了
プロジェクトランディング実践|中国製大型モデルChatGLM2-6BをAlibaba Cloudに導入成功
清華大規模モデル ChatGLM2-6B を迅速に展開し、ワンクリックで HuggingFace Space スペースを取得します
ChatGPT や ChatGLM などの大規模な言語モデルに対して、「あなたは特定の分野の専門家です」と言う方がはるかに効果的なのはなぜですか? (二)
未来を受け入れて AI スキルを学びましょう! 私をフォローすると、AI 学習リソースを無料で受け取ります。