Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
[ English | 日本語 ]
このツールは,複数のデータセットを横断して日本語マルチモーダル大規模言語モデルを自動評価するものです. このツールは以下の機能を提供します:
データフォーマットの詳細,サポートしているデータの一覧については,DATASET.mdを参照ください.
このツールはPyPI経由で利用することができます.
pip
コマンドを用いてeval_mm
を利用している仮想環境に含めることができます.pip install eval_mm
.env
ファイルを作成し,Azureを利用する場合にはAZURE_OPENAI_ENDPOINT
, AZURE_OPENAI_KEY
の組を,OpenAI APIを利用する場合はOPENAI_API_KEY
を設定してください.以上で環境構築は終了です.
リポジトリをクローンして利用する場合は以下の手順を参考にしてください.
eval-mmは仮想環境の管理にryeを用いています.
git clone git@github.com:llm-jp/llm-jp-eval-mm.git
cd llm-jp-eval-mm
ryeはofficial doc を参考にインストールしてください.
cd llm-jp-eval-mm
rye sync
.env
ファイルを作成し,AZURE_OPENAI_ENDPOINT
, AZURE_OPENAI_KEY
の組,あるいはOPENAI_API_KEY
を設定してください.以上で環境構築は終了です.
(現在, llm-jp-eval-mm リポジトリはprivateになっています. examples ディレクトリについては, https://pypi.org/project/eval-mm/#filesのSource Distributionにてdownloadできます.)
評価の実行のために,サンプルコードexamples/sample.py
を提供しています.
examples/{モデル名}.py
として含まれているモデルは,その推論方法に限りサポートしています.
新たな推論方法・新たなモデルでの評価を実行したい場合,既存のexamples/{モデル名}.py
を参考に同様のファイルを作成することで,評価を実行することができます.
examples/evaluate.sh
は,examples/sample.py
を実行するためのスクリプトです.複数のベンチマーク・モデルを指定することで,一括で評価を行うことができます.
実行するためのコマンドは以下のとおりです.
rye run bash examples/evaluate.sh
examples/evaluate.sh
の現在の設定は以下の通りです.
llava 1.5
japanese-heron-bench
gpt-4o-mini-2024-07-18
sample.py
を直接実行しても同じ結果が得られます.
その場合は以下のコマンドを実行してください.
python3 examples/sample.py \
--model_id llava-hf/llava-1.5-7b-hf \
--task_id japanese-heron-bench \
--result_dir test \
--metrics "llm_as_a_judge_heron_bench,exact_match,rougel" \
--judge_model "gpt-4o-2024-05-13" \
--overwrite
評価結果のスコアと出力結果は
result/{task_id}/evaluation/{model_id}.jsonl
, result/{task_id}/prediction/{model_id}.jsonl
に保存されます.
一部タスクでは評価結果の可視化を行うためのスクリプトが提供されています.
japanese-heron-benchベンチマークについての結果の確認については,
rye run python3 scripts/japanese-heron-bench/record_output.py
を実行することで,
現在,代表的なモデルの評価結果をまとめたリーダーボードを公開する予定があります.
現在,以下のベンチマークタスクをサポートしています.
OOM防止のためFlashAttentionのInstallが必要です.
uv pip install flash-attn --no-build-isolation --python .venv
mantis-vl のインストールが必要です.
rye add "datasets==2.18.0"
rye add --dev mantis-vl --git=https://github.com/TIGER-AI-Lab/Mantis.git
qwen-vl-utils のインストールが必要です.
rye add --dev qwen-vl-utils
sudo apt-get install poppler-utils
rye add pdf2image
rye add "sacrebleu[ja]"
各評価データセットのライセンスはDATASET.mdを参照してください.
問題や提案があれば,Issue で報告してください.
修正や追加があれば,Pull Requestを送ってください.
ライブラリの追加
rye add <package_name>
rye run ruff format .
git tag -a v0.x.x -m "version 0.x.x"
git push origin --tags
FAQs
eval-mm is a tool for evaluating Multi-Modal Large Language Models.
We found that eval-mm demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.