はじめに
WritingBenchはX-PLUGチームによって開発されたオープンソースプロジェクトで、GitHubでホストされている。大規模なモデルのライティング能力をテストするために特別に設計されたツールで、1239の実世界のライティングタスクを提供する。これらのタスクは、6つの主要ドメインと100のサブドメインをカバーし、スタイル、フォーマット、長さの要件を組み合わせており、1タスクあたり平均1546ワードとなっています。このプロジェクトでは、多様性と有用性を確保するために、モデル生成と手作業による最適化を組み合わせてタスクを構築しています。各タスクには5つの特定の採点基準があり、ビッグモデルまたは専用の判定モデルによって採点される。WritingBenchのコードとデータはフリーでオープンであり、開発者がビッグモデルのライティング能力を最適化するのに適している。このプロジェクトは requirements.txt
ファイルを使用する場合は、ユーザー自身が環境を設定する必要がある。
機能一覧
- 学問、ビジネス、法律、文学、教育、マーケティングの6分野から1,239の本格的なライティング課題を提供。
- 100のセグメントをサポートし、タスクは実際のニーズに近い。
- ライティングの質を評価するために、タスクごとに5つの動的採点基準を作成する。
- 大型モデルの自動採点と特殊な審査モデルの採点の両方をサポート。
- 財務諸表や法的テンプレートなど、多様な参考資料を含む。
- オープンソースのコード、データセット、評価スクリプトが提供され、ユーザーが自由にダウンロードして変更することができる。
ヘルプの使用
WritingBenchはGitHubをベースとしたオープンソースプロジェクトであり、ユーザはリソースのためにhttps://github.com/X-PLUG/WritingBench。オンラインサービスを必要とせず、ダウンロードしてローカルで実行することができる。以下はその使い方と機能の操作方法についての詳細なステップバイステップガイドです:
プロジェクト・リソースへのアクセス
- ブラウザを開き、https://github.com/X-PLUG/WritingBench と入力する。
- 右上の緑色の "Code "ボタンをクリックし、"Download ZIP "を選択してダウンロードするか、Gitコマンドでクローンしてください:
git clone https://github.com/X-PLUG/WritingBench.git
- ファイルをローカルに展開すると、そのフォルダにコード、データ、ドキュメントが含まれます。
ランタイム環境の準備
WritingBenchは利用できません requirements.txt
ファイルを使用するため、Python環境と依存ライブラリを手動でインストールする必要があります。手順は以下の通り:
- ターミナルで次のように入力して、Python 3.8以降がインストールされていることを確認する。
python --version
チェックする。 - プロジェクトフォルダーに移動する:
cd WritingBench
- 基本的な依存ライブラリをインストールする。公式には、すべての依存ライブラリが明示的にリストアップされているわけではありませんが、以下のライブラリは機能性から必要と推定されます:
pip install torch
(判定モデルの場合、GPUサポートが必要な場合があります)。pip install transformers
(大規模なモデル運用の場合)。pip install requests
(データ処理に使用されることがある)。- エラーメッセージに基づき、必要と思われる他のライブラリを追加でインストールすることができる。
- 専用の判定モデルを使用する場合、PyTorchとCUDAをインストールする必要がある。具体的なバージョンはhttps://pytorch.org/get-started/locally/。
プロジェクトの構成
ダウンロード後のディレクトリ構造は以下の通り:
evaluate_benchmark.py
評価スクリプトprompt.py
ヒントテンプレートevaluator/
インターフェイスカタログの評価critic.py
判定モデル専用インターフェースllm.py
大型モデルの評価インターフェースbenchmark_query/
ミッションデータカタログbenchmark_all.jsonl
完全な1239タスクデータセット。requirement/
スタイル、フォーマット、長さによって分類されたサブセット。
ライティング・タスクのデータ利用
- 見せる
benchmark_query/benchmark_all.jsonl
1239のタスクを見る - 各課題には、説明、領域、参考資料が含まれています。例えば、"2023年の第3四半期財務報告書の要約を500ワードで書きなさい"。
- あなたの大きなモデル、サンプルコードで回答を生成します:
from your_model import Model
task = "为2023年Q3财务报告写500字总结"
model = Model()
response = model.generate(task)
with open("response.txt", "w") as f:
f.write(response)
運用評価ツール
WritingBenchは2種類の評価をサポートしている:
大型モデルの採点
- コンパイラ
evaluator/llm.py
以下は、追加できるAPIコンフィギュレーションの例である:
self.api_key = "your_api_key_here"
self.url = "Your API endpoint"
self.model = "Your model name"
- 評価スクリプトを実行する:
python evaluate_benchmark.py --evaluator llm --query_criteria_file benchmark_query/benchmark_all.jsonl --input_file response.txt --output_file scores.jsonl
- 出力は、5つの採点基準それぞれの得点とその根拠で構成される。
専用判定モデルのスコア
- https://huggingface.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B、判定モデルをダウンロードする。
- モデルをローカルパスに配置し
evaluator/critic.py
::
self.model = LLM(model="path/to/critic_model", tensor_parallel_size=1)
- 運用評価:
python evaluate_benchmark.py --evaluator critic --query_criteria_file benchmark_query/benchmark_all.jsonl --input_file response.txt --output_file scores.jsonl
- 出力は各基準のスコア(0~10)を示す。
タスクと採点のカスタマイズ
- ある
benchmark_query/
タスクの説明と資料に新しいJSONファイルを追加する。 - 修正
prompt.py
またはアセスメントスクリプトを使用して採点基準を調整します。 - テストが終わったら、GitHubにアップロードして共有することができる。
データ作成プロセス
タスクは以下の方法で生成される:
- ビッグモデルは、6つの主要ドメインと100のサブドメインから初期タスクを生成する。
- スタイル調整、フォーマット要件などによるタスクの最適化。
- オープンソースを収集する30人のラベラー
- 5人の専門家がタスクと資料を選別し、関連性を確認する。
これらのステップは、ユーザがWritingBenchを素早く使いこなし、大規模モデルの書き込み機能をテストし、最適化するのに役立ちます。
アプリケーションシナリオ
- モデル開発
開発者はWritingBenchを使って、学術論文や広告コピーにおけるモデルのパフォーマンスをテストし、欠陥を改善する。 - 教育研究
研究者たちは、大規模なモデルが教材を作成したり、小論文を添削したりする能力を分析する。 - ライティングエイド
ユーザーはタスクデータで創造性を刺激したり、採点ツールで記事の質をチェックしたりする。
品質保証
- なぜrequirements.txtファイルがないのですか?
おそらく、ユーザーがモデルや環境に応じて依存関係を柔軟に設定できるようにするためだろう。 - ネットワークは必要か?
必要ありません。ダウンロードしてローカルで実行するだけです。ただし、モデルや依存関係をダウンロードするにはインターネット接続が必要です。 - 判定モデルはどのようにして得られるのですか?
https://huggingface.co/AQuarterMile/WritingBench-Critic-Model-Qwen-7B。