最新ニュース
hf-multimodal
およびvllm-vlm
モデル タイプとmmmu
タスクをプロトタイプ機能として追加しました。 。ユーザーがこの進行中の機能を試し、自分でストレス テストを行うことを歓迎します。また、広範囲のマルチモーダル タスクのために、もともと lm-evaluation-harness から分岐した素晴らしいプロジェクトであるlmms-eval
をチェックすることをお勧めします。モデルと機能。local-completions
モデル タイプを使用してモデルを評価することをお勧めします。lm-evaluation-harness の新しい v0.4.0 リリースが利用可能です。
新しいアップデートと機能は次のとおりです。
詳細については、 docs/
の更新されたドキュメント ページを参照してください。
開発はmain
ブランチで継続されます。どのような機能が望まれているか、ライブラリをさらに改善する方法についてフィードバックをお寄せいただくか、GitHub の課題や PR、または EleutherAI discord で質問してください。
このプロジェクトは、多数の異なる評価タスクで生成言語モデルをテストするための統一フレームワークを提供します。
特徴:
言語モデル評価ハーネスは、? のバックエンドです。 Hugging Face の人気のある Open LLM Leaderboard は、何百もの論文で使用されており、NVIDIA、Cohere、BigScience、BigCode、Nous Research、Mosaic ML を含む数十の組織によって内部的に使用されています。
lm-eval
パッケージを github リポジトリからインストールするには、次を実行します。
git clone --depth 1 https://github.com/EleutherAI/lm-evaluation-harness
cd lm-evaluation-harness
pip install -e .
拡張機能用のオプションの依存関係も多数提供しています。詳細な表はこの文書の最後にあります。
サポートされている引数の完全なリストを詳しく説明したユーザー ガイドは、ここで提供されます。また、ターミナルではlm_eval -h
呼び出して提供されます。あるいは、 lm_eval
の代わりにlm-eval
使用することもできます。
サポートされているタスク (またはタスクのグループ) のリストは、 lm-eval --tasks list
を使用して表示できます。タスクの説明と、対応するサブフォルダーへのリンクがここに提供されます。
transformers
hellaswag
の HuggingFace Hub (GPT-J-6B など) でホストされているモデルを評価するには、次のコマンドを使用できます (これは、CUDA 互換の GPU を使用していることを前提としています)。
lm_eval --model hf
--model_args pretrained=EleutherAI/gpt-j-6B
--tasks hellaswag
--device cuda:0
--batch_size 8
--model_args
フラグを使用して、追加の引数をモデル コンストラクターに提供できます。最も注目すべき点は、これにより、ハブのrevisions
機能を使用して、部分的にトレーニングされたチェックポイントを保存したり、モデルを実行するためのデータ型を指定したりする一般的な方法がサポートされることです。
lm_eval --model hf
--model_args pretrained=EleutherAI/pythia-160m,revision=step100000,dtype= " float "
--tasks lambada_openai,hellaswag
--device cuda:0
--batch_size 8
Huggingface では、 transformers.AutoModelForCausalLM
(自己回帰、デコーダーのみの GPT スタイル モデル) とtransformers.AutoModelForSeq2SeqLM
(T5 などのエンコーダー/デコーダー モデル) の両方を介してロードされるモデルがサポートされています。
バッチ サイズの選択は、 --batch_size
フラグをauto
に設定することで自動化できます。これにより、デバイスに適合する最大のバッチ サイズが自動的に検出されます。最長の例と最短の例の間に大きな差があるタスクでは、最大バッチ サイズを定期的に再計算してさらに高速化すると役立つ場合があります。これを行うには、上記のフラグに:N
追加して、最大バッチ サイズをN
回自動的に再計算します。たとえば、バッチ サイズを 4 回再計算するには、コマンドは次のようになります。
lm_eval --model hf
--model_args pretrained=EleutherAI/pythia-160m,revision=step100000,dtype= " float "
--tasks lambada_openai,hellaswag
--device cuda:0
--batch_size auto:4
注記
transformers.AutoModel
へのローカル パスを提供できるのと同じように、 --model_args pretrained=/path/to/model
を介してlm_eval
へのローカル パスを提供することもできます。
accelerate
マルチ GPU 評価用に Hugging Face のアクセラレータ ライブラリを使用する 3 つの主な方法をサポートしています。
データ並列評価(各 GPU がモデルの個別の完全なコピーをロードする) を実行するには、次のようにaccelerate
ランチャーを利用します。
accelerate launch -m lm_eval --model hf
--tasks lambada_openai,arc_easy
--batch_size 16
(またはaccelerate launch --no-python lm_eval
経由)。
モデルが 1 つの GPU に収まる場合、これにより、K 個の GPU で 1 つの GPU よりも K 倍高速に評価できます。
警告: この設定は FSDP モデルのシャーディングでは機能しないため、 accelerate config
で FSDP を無効にするか、NO_SHARD FSDP オプションを使用する必要があります。
マルチ GPU 評価にaccelerate
使用する 2 番目の方法は、モデルが大きすぎて単一の GPU に収まらない場合です。
この設定では、 accelerate
ランチャーの外側でライブラリを実行しますが、次のように、 parallelize=True
--model_args
に渡します。
lm_eval --model hf
--tasks lambada_openai,arc_easy
--model_args parallelize=True
--batch_size 16
これは、モデルの重みが使用可能なすべての GPU に分割されることを意味します。
より上級のユーザーやさらに大規模なモデルの場合は、 parallelize=True
の場合に次の引数も許可します。
device_map_option
: 利用可能な GPU 間でモデルの重みを分割する方法。デフォルトは「自動」です。max_memory_per_gpu
: モデルのロード時に GPU ごとに使用する最大 GPU メモリ。max_cpu_memory
: モデルの重みを RAM にオフロードするときに使用する CPU メモリの最大量。offload_folder
: 必要に応じてモデルの重みがディスクにオフロードされるフォルダー。3 番目のオプションは、両方を同時に使用することです。これにより、データの並列処理とモデルのシャーディングの両方を活用できるようになり、単一の GPU に収まらないほど大きすぎるモデルの場合に特に役立ちます。
accelerate launch --multi_gpu --num_processes {nb_of_copies_of_your_model}
-m lm_eval --model hf
--tasks lambada_openai,arc_easy
--model_args parallelize=True
--batch_size 16
モデルの並列処理とそれをaccelerate
ライブラリで使用する方法の詳細については、アクセラレータのドキュメントを参照してください。
警告: hf
モデル タイプを使用したマルチノード評価はネイティブにサポートされていません。カスタム マルチマシン評価スクリプトが記述されたコードの例については、GPT-NeoX ライブラリ統合を参照してください。
注: 現在、マルチノード評価はネイティブにサポートされていないため、推論リクエストを実行するために外部でホストされているサーバーを使用するか、GPT-NeoX ライブラリで行われているように分散フレームワークとのカスタム統合を作成することをお勧めします。
nemo
モデルNVIDIA NeMo フレームワークは、言語モデルに取り組む研究者や pytorch 開発者向けに構築された生成 AI フレームワークです。
nemo
モデルを評価するには、ドキュメントに従って NeMo をインストールすることから始めます。特に、Apex またはその他の依存関係のインストールで問題が発生した場合は、NVIDIA PyTorch または NeMo コンテナを使用することを強くお勧めします (最新のリリースされたコンテナを参照してください)。 「インストール」セクションの指示に従って、lm 評価ハーネス ライブラリもインストールしてください。
NeMo モデルは、NVIDIA NGC カタログまたは NVIDIA の Hugging Face ページから入手できます。 NVIDIA NeMo フレームワークには、 llama、falcon、mixtral、mpt などの人気モデルのhf
チェックポイントをnemo
に変換する変換スクリプトがあります。
nemo
モデルを 1 つの GPU で実行します。
lm_eval --model nemo_lm
--model_args path= < path_to_nemo_model >
--tasks hellaswag
--batch_size 32
Docker コンテナ内での解凍を避けるために、 nemo
モデルを解凍することをお勧めします。ディスク容量がオーバーフローする可能性があります。そのためには、次を実行できます。
mkdir MY_MODEL
tar -xvf MY_MODEL.nemo -c MY_MODEL
nemo
モデルによるマルチ GPU 評価デフォルトでは、GPU は 1 つだけ使用されます。ただし、評価中に 1 つのノード上でデータ レプリケーションまたはテンソル/パイプライン並列処理のいずれかをサポートします。
devices
のmodel_args
実行するデータ レプリカの数に設定します。たとえば、8 つの GPU で 8 つのデータ レプリカを実行するコマンドは次のとおりです。 torchrun --nproc-per-node=8 --no-python lm_eval
--model nemo_lm
--model_args path= < path_to_nemo_model > ,devices=8
--tasks hellaswag
--batch_size 32
tensor_model_parallel_size
および/またはpipeline_model_parallel_size
のmodel_args
設定します。さらに、 tensor_model_parallel_size
および/またはpipeline_model_parallel_size
の積と等しくなるようにdevices
セットアップする必要もあります。たとえば、テンソル並列処理が 2、パイプライン並列処理が 2 の 4 GPU の 1 つのノードを使用するコマンドは次のとおりです。 torchrun --nproc-per-node=4 --no-python lm_eval
--model nemo_lm
--model_args path= < path_to_nemo_model > ,devices=4,tensor_model_parallel_size=2,pipeline_model_parallel_size=2
--tasks hellaswag
--batch_size 32
GPU へのモデルのロードを容易にするために、 python
コマンドをtorchrun --nproc-per-node=<number of devices> --no-python
に置き換えることをお勧めします。これは、複数の GPU にロードされる大規模なチェックポイントの場合に特に重要です。
まだサポートされていません: マルチノード評価と、データ レプリケーションとテンソルまたはパイプライン並列処理の組み合わせ。
vLLM
を使用した Tensor + データの並列および最適化された推論また、サポートされているモデル タイプでの推論を高速化するための vLLM もサポートしており、特にモデルを複数の GPU に分割する場合の推論を高速化します。シングル GPU またはマルチ GPU (テンソル並列、データ並列、または両方の組み合わせ) の推論の場合、たとえば次のようになります。
lm_eval --model vllm
--model_args pretrained={model_name},tensor_parallel_size={GPUs_per_model},dtype=auto,gpu_memory_utilization=0.8,data_parallel_size={model_replicas}
--tasks lambada_openai
--batch_size auto
vllm を使用するには、 pip install lm_eval[vllm]
実行します。サポートされている vLLM 構成の完全なリストについては、vLLM の統合と vLLM のドキュメントを参照してください。
vLLM は、Huggingface からの出力と異なる場合があります。 Huggingface をリファレンス実装として扱い、HF に対する vllm 結果の妥当性をチェックするためのスクリプトを提供します。
ヒント
最速のパフォーマンスを得るには、可能な場合は常に vLLM に--batch_size auto
使用し、継続的なバッチ機能を活用することをお勧めします。
ヒント
max_model_len=4096
またはその他の適切なデフォルトをモデル引数を介して vLLM に渡すと、自動バッチ サイズを使用しようとするときに速度が向上したり、最大長がデフォルトの Mistral-7B-v0.1 などのメモリ不足エラーを防ぐことができる場合があります。 32k。
私たちのライブラリは、いくつかの商用 API を介して提供されるモデルの評価もサポートしており、最も一般的に使用されているパフォーマンスの高いローカル/セルフホスト推論サーバーのサポートを実装したいと考えています。
ホストされたモデルを呼び出すには、次を使用します。
export OPENAI_API_KEY=YOUR_KEY_HERE
lm_eval --model openai-completions
--model_args model=davinci
--tasks lambada_openai,hellaswag
また、OpenAI Completions および ChatCompletions API をミラーリングするサーバーで独自のローカル推論サーバーを使用することもサポートされています。
lm_eval --model local-completions --tasks gsm8k --model_args model=facebook/opt-125m,base_url=http://{yourip}:8000/v1/completions,num_concurrent=1,max_retries=3,tokenized_requests=False,batch_size=16
外部でホストされるモデルの場合、ローカル モデルの配置場所に関連する--device
などの構成は使用すべきではなく、機能しないことに注意してください。 --model_args
使用してローカル モデルのモデル コンストラクターに任意の引数を渡すことができるのと同じように、これを使用して、ホストされたモデルのモデル API に任意の引数を渡すことができます。サポートされる引数については、ホスティング サービスのドキュメントを参照してください。
API または推論サーバー | 実装されましたか? | --model <xxx> 名 | サポートされているモデル: | リクエストの種類: |
---|---|---|---|---|
OpenAI の完了 | ✔️ | openai-completions 、 local-completions | すべての OpenAI Completions API モデル | generate_until 、 loglikelihood 、 loglikelihood_rolling |
OpenAI ChatCompletions | ✔️ | openai-chat-completions 、 local-chat-completions | すべての ChatCompletions API モデル | generate_until (ログプロブなし) |
人間的 | ✔️ | anthropic | サポートされている Anthropic エンジン | generate_until (ログプロブなし) |
人間的なチャット | ✔️ | anthropic-chat 、 anthropic-chat-completions | サポートされている Anthropic エンジン | generate_until (ログプロブなし) |
テキストシンセ | ✔️ | textsynth | サポートされているすべてのエンジン | generate_until 、 loglikelihood 、 loglikelihood_rolling |
コヒア | ⌛ - Cohere API のバグによりブロックされました | 該当なし | すべてのcohere.generate() エンジン | generate_until 、 loglikelihood 、 loglikelihood_rolling |
Llama.cpp (llama-cpp-python 経由) | ✔️ | gguf 、 ggml | llama.cpp でサポートされているすべてのモデル | generate_until 、 loglikelihood 、(複雑さの評価はまだ実装されていません) |
vLLM | ✔️ | vllm | ほとんどの HF 因果言語モデル | generate_until 、 loglikelihood 、 loglikelihood_rolling |
マンバ | ✔️ | mamba_ssm | mamba_ssm パッケージを介した Mamba アーキテクチャ言語モデル | generate_until 、 loglikelihood 、 loglikelihood_rolling |
ハギングフェイス最適化 (因果的 LM) | ✔️ | openvino | Huggingface Optimum を使用して OpenVINO™ 中間表現 (IR) 形式に変換されたデコーダー専用の AutoModelForCausalLM | generate_until 、 loglikelihood 、 loglikelihood_rolling |
AWS Inf2 経由のニューロン (Causal LM) | ✔️ | neuronx | inferentia2 用の huggingface-ami イメージ上での実行がサポートされているデコーダ専用 AutoModelForCausalLM | generate_until 、 loglikelihood 、 loglikelihood_rolling |
ニューラル マジック ディープスパース | ✔️ | deepsparse | SparseZoo または HF Hub の「deepsparse」タグが付いた LM | generate_until 、 loglikelihood |
Neural Magic SparseML | ✔️ | sparseml | SparseZoo または HF Hub のデコーダ専用 AutoModelForCausalLM。 zoo:llama2-7b-gsm8k_llama2_pretrain-pruned60_quantized のような量子化を伴うモデルに特に役立ちます | generate_until 、 loglikelihood 、 loglikelihood_rolling |
ローカル推論サーバー! | ✔️ | local-completions またはlocal-chat-completions | OpenAI API 互換サーバーをサポートし、他の API を簡単にカスタマイズできます。 | generate_until 、 loglikelihood 、 loglikelihood_rolling |
logits または logprobs を提供しないモデルは、 generate_until
タイプのタスクでのみ使用できますが、ローカル モデル、またはプロンプトの logprobs/logits を提供する API は、すべてのタスク タイプ ( generate_until
、 loglikelihood
、 loglikelihood_rolling
、およびmultiple_choice
) で実行できます。
さまざまなタスクoutput_types
とモデルのリクエスト タイプの詳細については、ドキュメントを参照してください。
注記
Anthropic Claude 3 や GPT-4 などのクローズド チャット モデル API で最高のパフォーマンスを得るには、最初に--limit 10
使用していくつかのサンプル出力を注意深く調べ、生成タスクの回答抽出とスコアリングが期待どおりに実行されていることを確認することをお勧めします。 anthropic-chat-completion の--model_args
内にsystem="<some system prompt here>"
を指定して、応答する形式をモデルに指示すると便利な場合があります。
他の多くのライブラリには、ライブラリを通じて評価ハーネスを呼び出すためのスクリプトが含まれています。これらには、GPT-NeoX、Megatron-DeepSpeed、mesh-transformer-jax が含まれます。
独自のカスタム統合を作成するには、このチュートリアルの手順に従ってください。
注記
信頼できないコードの実行に伴うリスクや評価プロセスの複雑さのため、直接評価に適さないタスクの場合は、 --predict_only
フラグを使用して事後評価用にデコードされた世代を取得できます。
Metal と互換性のある Mac をお持ちの場合は、 --device cuda:0
--device mps
に置き換えることで、MPS バックエンドを使用して評価ハーネスを実行できます (PyTorch バージョン 2.1 以降が必要)。 PyTorch MPS バックエンドはまだ開発の初期段階にあるため、正確性の問題やサポートされていない操作が存在する可能性があることに注意してください。 MPS バックエンドでのモデルのパフォーマンスに異常が見られる場合は、まず--device cpu
と--device mps
でのモデルのフォワード パスが一致するかどうかを確認することをお勧めします。
注記
次のコマンドを実行して、LM 入力がどのように見えるかを検査できます。
python write_out.py
--tasks < task1,task2,... >
--num_fewshot 5
--num_examples 10
--output_base_path /path/to/output/folder
これにより、タスクごとに 1 つのテキスト ファイルが書き込まれます。
タスク自体の実行に加えて、実行中のタスクのデータ整合性を検証するには、 --check_integrity
フラグを使用できます。
lm_eval --model openai
--model_args engine=davinci
--tasks lambada_openai,hellaswag
--check_integrity
HuggingFace transformers
ライブラリでロードされたモデルの場合、 --model_args
経由で提供される引数は、関連するコンストラクターに直接渡されます。これは、 AutoModel
で実行できることはすべて、ライブラリでも実行できることを意味します。たとえば、 pretrained=
を介してローカル パスを渡すことも、基本モデルを評価するために実行する呼び出しを実行し、 model_args
引数に,peft=PATH
追加することで、PEFT で微調整されたモデルを使用することもできます。
lm_eval --model hf
--model_args pretrained=EleutherAI/gpt-j-6b,parallelize=True,load_in_4bit=True,peft=nomic-ai/gpt4all-j-lora
--tasks openbookqa,arc_easy,winogrande,hellaswag,arc_challenge,piqa,boolq
--device cuda:0
デルタ ウェイトとして提供されるモデルは、Hugging Face トランスフォーマー ライブラリを使用して簡単にロードできます。 --model_args 内で、デルタ引数を設定してデルタの重みを指定し、事前トレーニングされた引数を使用してそれらが適用される相対的な基本モデルを指定します。
lm_eval --model hf
--model_args pretrained=Ejafa/llama_7B,delta=lmsys/vicuna-7b-delta-v1.1
--tasks hellaswag
GPTQ 量子化モデルは、GPTQModel (高速) または AutoGPTQ を使用してロードできます。
GPTQModel: model_args
に,gptqmodel=True
を追加します
lm_eval --model hf
--model_args pretrained=model-name-or-path,gptqmodel=True
--tasks hellaswag
AutoGPTQ: model_args
に,autogptq=True
を追加します。
lm_eval --model hf
--model_args pretrained=model-name-or-path,autogptq=model.safetensors,gptq_use_triton=True
--tasks hellaswag
タスク名でワイルドカードをサポートしています。たとえば、 --task lambada_openai_mt_*
を使用して、機械翻訳されたすべての lambada タスクを実行できます。
評価結果を保存するには、 --output_path
を指定します。また、事後分析のために、 --log_samples
フラグを使用したモデル応答のログ記録もサポートされています。
さらに、ディレクトリに--use_cache
を指定して、以前の実行の結果をキャッシュすることができます。これにより、再スコアリングのために同じ (モデル、タスク) ペアを繰り返し実行することを回避できます。
結果とサンプルを Hugging Face Hub にプッシュするには、まず書き込みアクセス権を持つアクセス トークンがHF_TOKEN
環境変数に設定されていることを確認します。次に、 --hf_hub_log_args
フラグを使用して、組織、リポジトリ名、リポジトリの可視性、および結果とサンプルをハブ (HF ハブのサンプル データセット) にプッシュするかどうかを指定します。例えば:
lm_eval --model hf
--model_args pretrained=model-name-or-path,autogptq=model.safetensors,gptq_use_triton=True
--tasks hellaswag
--log_samples
--output_path results
--hf_hub_log_args hub_results_org=EleutherAI,hub_repo_name=lm-eval-results,push_results_to_hub=True,push_samples_to_hub=True,public_repo=False
これにより、以下を使用して、ハブから結果とサンプルを簡単にダウンロードできます。
from datasets import load_dataset
load_dataset ( "EleutherAI/lm-eval-results-private" , "hellaswag" , "latest" )
サポートされている引数の完全なリストについては、ドキュメントのインターフェイス ガイドをご覧ください。
Weights & Biases (W&B) と Zeno の両方を使用して、評価ハーネスの実行結果をシームレスに視覚化し、分析できます。
Zeno を使用すると、評価ハーネスの実行結果を視覚化できます。
まず、hub.zenoml.com にアクセスしてアカウントを作成し、アカウント ページで API キーを取得します。このキーを環境変数として追加します。
export ZENO_API_KEY=[your api key]
lm_eval[zeno]
パッケージを追加でインストールする必要もあります。
結果を視覚化するには、 log_samples
とoutput_path
フラグを指定して eval ハーネスを実行します。 output_path
は、個々のモデル名を表す複数のフォルダーが含まれることが予想されます。したがって、任意の数のタスクとモデルで評価を実行し、すべての結果をプロジェクトとして Zeno にアップロードできます。
lm_eval
--model hf
--model_args pretrained=EleutherAI/gpt-j-6B
--tasks hellaswag
--device cuda:0
--batch_size 8
--log_samples
--output_path output/gpt-j-6B
次に、 zeno_visualize
スクリプトを使用して、結果のデータをアップロードできます。
python scripts/zeno_visualize.py
--data_path output
--project_name " Eleuther Project "
これにより、 data_path
内のすべてのサブフォルダーが異なるモデルとして使用され、これらのモデル フォルダー内のすべてのタスクが Zeno にアップロードされます。複数のタスクで評価ハーネスを実行する場合、 project_name
プレフィックスとして使用され、タスクごとに 1 つのプロジェクトが作成されます。
このワークフローの例は、examples/visualize-zeno.ipynb にあります。
重みとバイアスの統合により、評価結果についてより深い洞察を抽出するために、より多くの時間を費やすことができるようになりました。この統合は、Weights & Biases (W&B) プラットフォームを使用して実験結果を記録および視覚化するプロセスを合理化するように設計されています。
統合により提供される機能
results.json
ファイルをバージョン管理のアーティファクトとしてログに記録します。<task_name>_eval_samples.json
ファイルにログを記録します。まず、lm_eval[wandb] パッケージを追加でインストールする必要があります。 pip install lm_eval[wandb]
実行します。
独自の W&B トークンを使用してマシンを認証します。 https://wandb.ai/authorize にアクセスして取得してください。コマンド ライン ターミナルでwandb login
実行します。
通常どおり、 wandb_args
フラグを使用して eval ハーネスを実行します。このフラグを使用して、wandb 実行 (wandb.init) を初期化するための引数をカンマ区切りの文字列引数として指定します。
lm_eval
--model hf
--model_args pretrained=microsoft/phi-2,trust_remote_code=True
--tasks hellaswag,mmlu_abstract_algebra
--device cuda:0
--batch_size 8
--output_path output/phi-2
--limit 10
--wandb_args project=lm-eval-harness-integration
--log_samples
標準出力には、W&B 実行ページへのリンクと、生成されたレポートへのリンクがあります。このワークフローの例は、examples/visualize-wandb.ipynb にあり、CLI を超えて統合する方法の例も見つけることができます。
ライブラリの詳細とすべてがどのように連携するかについては、すべてのドキュメント ページをご覧ください。私たちは、貢献者がどのように支援できるかについての詳細情報とともに、望ましいおよび計画されているライブラリの改善に関するより大きなロードマップを近々投稿する予定です。
評価ハーネスに新しいタスクを実装するには、このガイドを参照してください。
一般に、プロンプトやその他の評価の詳細に関する懸念に対処するために、次の優先リストに従います。
これらはルールではなくガイドラインであり、特別な状況では無効になる可能性があります。
私たちは、この行為を推奨しないにもかかわらず、人々が必然的に異なる論文間での結果を比較する場合の害を減らすために、他のグループが使用する手順との合意を優先するよう努めています。歴史的に、当初の目標は特にその論文と結果を比較することであったため、言語モデルにはショット学習者がほとんどいないため、その論文からの実装も優先しました。
サポートを受ける最善の方法は、このリポジトリで問題を開くか、EleutherAI Discord サーバーに参加することです。 #lm-thunderdome
チャンネルはこのプロジェクトの開発専用であり、 #release-discussion
チャンネルはリリースのサポートを受けるためのものです。図書館を利用して、良い(または悪い)経験があれば、ぜひご意見をお聞かせください。
追加の依存関係はpip install -e ".[NAME]"
を介してインストールできます。
名前 | 使用 |
---|---|
API | APIモデル(Anthropic、OpenAI API)を使用する場合 |
深いスパース | NM の DeepSparse モデルを実行するため |
開発者 | PR や投稿に対するリンティングのため |
gptq | GPTQ を使用してモデルをロードする場合 |
hf_transfer | HF Hub ファイルのダウンロードを高速化するため |
イフェバル | IFEval タスクの実行用 |
ニューロン | AWS inf2 インスタンスで実行する場合 |
マンバ | Mamba SSM モデルのロード用 |
数学 | 数学タスクの解答チェックを実行する場合 |
多言語 | 多言語トークナイザーの場合 |
最適 | Intel OpenVINO モデルを実行する場合 |
プロンプトソース | PromptSource プロンプトを使用する場合 |
文章 | センテンスピーストークナイザーを使用する場合 |
スパーセミル | NM の SparseML モデルを使用する場合 |
テスト | ライブラリテストスイートを実行する場合 |
vllm | vLLM を使用してモデルをロードする場合 |
ゼノ | Zeno で結果を視覚化する場合 |
--------------- | -------------------------------------- |
全て | すべての追加機能をロードします (非推奨) |
@misc{eval-harness,
author = {Gao, Leo and Tow, Jonathan and Abbasi, Baber and Biderman, Stella and Black, Sid and DiPofi, Anthony and Foster, Charles and Golding, Laurence and Hsu, Jeffrey and Le Noac'h, Alain and Li, Haonan and McDonell, Kyle and Muennighoff, Niklas and Ociepa, Chris and Phang, Jason and Reynolds, Laria and Schoelkopf, Hailey and Skowron, Aviya and Sutawika, Lintang and Tang, Eric and Thite, Anish and Wang, Ben and Wang, Kevin and Zou, Andy},
title = {A framework for few-shot language model evaluation},
month = 07,
year = 2024,
publisher = {Zenodo},
version = {v0.4.3},
doi = {10.5281/zenodo.12608602},
url = {https://zenodo.org/records/12608602}
}