[GH-ISSUE #15] 测试精度对不齐 #10

Closed
opened 2026-10-26 21:09:56 +00:00 by bsakaguchi · 9 comments
Owner

Originally created by @tackhwa on GitHub (Oct 21, 2024).
Original GitHub issue: https://github.com/deepseek-ai/Janus/issues/15

System Info

  • transformers version: 4.38.2
  • flash-attn version: 2.5.8
  • Platform: Ubuntu 20.04.6 LTS
  • Python version: 3.10.14
  • PyTorch version: 2.1.0+cu121
  • GPU: NVIDIA A100-SXM4-80GB
  • CPU: Intel(R) Xeon(R) Platinum 8369B CPU @ 2.90GHz

我对 Janus-1.3B 进行了测试,发现得到的精度和论文里的不一样,以下是我测试得到的精度:

MME-perception MMBench_DEV_EN_V11 POPE MMMU_DEV_VAL MMVet(使用 DeepSeek-V2.5 为评判)
1029.1 47.13 84.41 31.44 41.67
  • POPE, MMMU, MMVet 的精度可以说是都对的的上,但是 MME-perception 和 MMB 的进度差了太多了,我这里怀疑是不是环境以及模型配置和官方的不一样所导致的,所以这里想请问官方的测试环境以及参数设置,以及会不会开放测试代码。
Originally created by @tackhwa on GitHub (Oct 21, 2024). Original GitHub issue: https://github.com/deepseek-ai/Janus/issues/15 ## System Info - transformers version: 4.38.2 - flash-attn version: 2.5.8 - Platform: Ubuntu 20.04.6 LTS - Python version: 3.10.14 - PyTorch version: 2.1.0+cu121 - GPU: NVIDIA A100-SXM4-80GB - CPU: Intel(R) Xeon(R) Platinum 8369B CPU @ 2.90GHz ## 我对 Janus-1.3B 进行了测试,发现得到的精度和论文里的不一样,以下是我测试得到的精度: | MME-perception | MMBench_DEV_EN_V11 | POPE | MMMU_DEV_VAL | MMVet(使用 DeepSeek-V2.5 为评判) | | --- | --- | ---- | --- | --- | | 1029.1 | 47.13 | 84.41 | 31.44 | 41.67 | - `POPE`,` MMMU`, `MMVet` 的精度可以说是都对的的上,但是 `MME-perception` 和 `MMB` 的进度差了太多了,我这里怀疑是不是环境以及模型配置和官方的不一样所导致的,所以这里想请问官方的测试环境以及参数设置,以及会不会开放测试代码。
Author
Owner

@tackhwa commented on GitHub (Oct 21, 2024):

测试代码请详见:PR-531

<!-- gh-comment-id:2425349819 --> @tackhwa commented on GitHub (Oct 21, 2024): 测试代码请详见:[PR-531](https://github.com/open-compass/VLMEvalKit/pull/531)
Author
Owner

@charlesCXK commented on GitHub (Oct 21, 2024):

@tackhwa
经过对比,我们发现你的测试配置和我们有些出入。我们这两天会在 VLMEvalKit 上发布测试代码。

<!-- gh-comment-id:2426193578 --> @charlesCXK commented on GitHub (Oct 21, 2024): @tackhwa 经过对比,我们发现你的测试配置和我们有些出入。我们这两天会在 VLMEvalKit 上发布测试代码。
Author
Owner

@charlesCXK commented on GitHub (Oct 23, 2024):

@tackhwa
你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:https://github.com/open-compass/VLMEvalKit/pull/541

<!-- gh-comment-id:2430972960 --> @charlesCXK commented on GitHub (Oct 23, 2024): @tackhwa 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:https://github.com/open-compass/VLMEvalKit/pull/541
Author
Owner

@tackhwa commented on GitHub (Oct 23, 2024):

@tackhwa 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:open-compass/VLMEvalKit#541

好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。

<!-- gh-comment-id:2431111538 --> @tackhwa commented on GitHub (Oct 23, 2024): > @tackhwa 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:[open-compass/VLMEvalKit#541](https://github.com/open-compass/VLMEvalKit/pull/541) 好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。
Author
Owner

@StiphyJay commented on GitHub (Feb 19, 2025):

@tackhwa 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:open-compass/VLMEvalKit#541

好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。

你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗?

<!-- gh-comment-id:2667485458 --> @StiphyJay commented on GitHub (Feb 19, 2025): > > [@tackhwa](https://github.com/tackhwa) 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:[open-compass/VLMEvalKit#541](https://github.com/open-compass/VLMEvalKit/pull/541) > > 好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。 你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗?
Author
Owner

@tackhwa commented on GitHub (Feb 19, 2025):

@tackhwa 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:open-compass/VLMEvalKit#541

好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。

你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗?

是的,我记得官方好像当时用的是4o作为评判,但是我用deepseek2.5跑出来的结果也大差不差。

<!-- gh-comment-id:2667952854 --> @tackhwa commented on GitHub (Feb 19, 2025): > > > [@tackhwa](https://github.com/tackhwa) 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:[open-compass/VLMEvalKit#541](https://github.com/open-compass/VLMEvalKit/pull/541) > > > > > > 好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。 > > 你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗? 是的,我记得官方好像当时用的是4o作为评判,但是我用deepseek2.5跑出来的结果也大差不差。
Author
Owner

@StiphyJay commented on GitHub (Feb 20, 2025):

@tackhwa 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:open-compass/VLMEvalKit#541

好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。

你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗?

是的,我记得官方好像当时用的是4o作为评判,但是我用deepseek2.5跑出来的结果也大差不差。

你好,再请教一下,如果不使用4o,采用deePseek2.5的话API的话,只需要在.env里配置一下deepseek的API key就可以了吗?还是说也要有其他地方的改动。

<!-- gh-comment-id:2670300785 --> @StiphyJay commented on GitHub (Feb 20, 2025): > > > > [@tackhwa](https://github.com/tackhwa) 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:[open-compass/VLMEvalKit#541](https://github.com/open-compass/VLMEvalKit/pull/541) > > > > > > > > > 好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。 > > > > > > 你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗? > > 是的,我记得官方好像当时用的是4o作为评判,但是我用deepseek2.5跑出来的结果也大差不差。 你好,再请教一下,如果不使用4o,采用deePseek2.5的话API的话,只需要在.env里配置一下deepseek的API key就可以了吗?还是说也要有其他地方的改动。
Author
Owner

@tackhwa commented on GitHub (Feb 20, 2025):

以前的代码不支持deepseek2.5作为评判,我是改了源代码的,忘了哪个文件了,好像是run.py里。你看看run.py里的代码吧。

@tackhwa 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:open-compass/VLMEvalKit#541

好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。

你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗?

是的,我记得官方好像当时用的是4o作为评判,但是我用deepseek2.5跑出来的结果也大差不差。

你好,再请教一下,如果不使用4o,采用deePseek2.5的话API的话,只需要在.env里配置一下deepseek的API key就可以了吗?还是说也要有其他地方的改动。

<!-- gh-comment-id:2670969603 --> @tackhwa commented on GitHub (Feb 20, 2025): 以前的代码不支持deepseek2.5作为评判,我是改了源代码的,忘了哪个文件了,好像是`run.py`里。你看看[`run.py`](https://github.com/open-compass/VLMEvalKit/blob/main/run.py#L327-L349)里的代码吧。 > > > > > [@tackhwa](https://github.com/tackhwa) 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:[open-compass/VLMEvalKit#541](https://github.com/open-compass/VLMEvalKit/pull/541) > > > > > > > > > > > > 好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。 > > > > > > > > > 你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗? > > > > > > 是的,我记得官方好像当时用的是4o作为评判,但是我用deepseek2.5跑出来的结果也大差不差。 > > 你好,再请教一下,如果不使用4o,采用deePseek2.5的话API的话,只需要在.env里配置一下deepseek的API key就可以了吗?还是说也要有其他地方的改动。
Author
Owner

@dellixx commented on GitHub (Apr 23, 2025):

@tackhwa 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:open-compass/VLMEvalKit#541

好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。

你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗?

是的,我记得官方好像当时用的是4o作为评判,但是我用deepseek2.5跑出来的结果也大差不差。

你好,再请教一下,如果不使用4o,采用deePseek2.5的话API的话,只需要在.env里配置一下deepseek的API key就可以了吗?还是说也要有其他地方的改动。

你好,请教一下,我目前也遇到这个问题,请问是在哪里修改,可以改为deePseek2.5作为评判模型呢?

<!-- gh-comment-id:2824379089 --> @dellixx commented on GitHub (Apr 23, 2025): > > > > > [@tackhwa](https://github.com/tackhwa) 你好,evaluation 代码已经弄好,可以成功复现论文中的结果,我们向 VLMEvalKit 提交了 pull request:[open-compass/VLMEvalKit#541](https://github.com/open-compass/VLMEvalKit/pull/541) > > > > > > > > > > > > 好的,我已经使用该脚本成功复现论文里的精度了,看来是 prompt 不同导致我之前的脚本复现不了论文里的精度。 > > > > > > > > > 你好,我直接跑出来精度有些偏差,请问是必须要在.env里提供对应的API跑出来的精度才能对上吗? > > > > > > 是的,我记得官方好像当时用的是4o作为评判,但是我用deepseek2.5跑出来的结果也大差不差。 > > 你好,再请教一下,如果不使用4o,采用deePseek2.5的话API的话,只需要在.env里配置一下deepseek的API key就可以了吗?还是说也要有其他地方的改动。 你好,请教一下,我目前也遇到这个问题,请问是在哪里修改,可以改为deePseek2.5作为评判模型呢?
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/Janus#10
No description provided.