Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问现在的master分支中为什么只有single-single的代码了 #22

Open
zggg1p opened this issue Nov 25, 2023 · 7 comments
Open

Comments

@zggg1p
Copy link

zggg1p commented Nov 25, 2023

如题

@sherdencooper
Copy link
Owner

你好,感谢对我们工作的关注。目前的代码可以支持single model情况下的single question/multi question的fuzz,传入的question可以是一个单个的str或者一个list。请参考example.ipynb文件的描述。对于multi-model的情况,考虑到这个使用场景不是很多并且资源消耗比较大暂时,新版的代码还没支持,如果有需要的话请告知我们,我们之后会加上这一部分代码。如果有比较紧急的需要,可以revert到b6408cfef2cd9defc524172d058950ad846824df这个commit之前,我们在这个commit中覆盖了旧版的代码增加可读性和扩展性

@zggg1p zggg1p closed this as completed Dec 6, 2023
@zggg1p
Copy link
Author

zggg1p commented Dec 6, 2023

你好,请问为什么我在实验中parent的选择基本都是在0,1,2中呢?

@sherdencooper
Copy link
Owner

你好,请问你攻击对象模型是哪个?因为MCTSExplore算法虽然设计上对比MCTS和UCB更加注重explore,但仍然有可能会陷入局部最优。如果模型的鲁棒性较弱并且一开始对于parent 0,1,2进行选择并且获得较好结果,就有可能再次对0,1,2这三个种子进行选择,如果又能攻击成功,就会进一步加剧这种情况。如果模型鲁棒性较弱,可以在种子选择算法中改成RoundRobinSelectPolicy或者RandomSelectPolicy确保所有的种子都是平等选择的,这样会稍微牺牲一些performance,但是可以保证生成结果中parent的多样性

@zggg1p
Copy link
Author

zggg1p commented Dec 6, 2023

你好,请问你攻击对象模型是哪个?因为MCTSExplore算法虽然设计上对比MCTS和UCB更加注重explore,但仍然有可能会陷入局部最优。如果模型的鲁棒性较弱并且一开始对于parent 0,1,2进行选择并且获得较好结果,就有可能再次对0,1,2这三个种子进行选择,如果又能攻击成功,就会进一步加剧这种情况。如果模型鲁棒性较弱,可以在种子选择算法中改成RoundRobinSelectPolicy或者RandomSelectPolicy确保所有的种子都是平等选择的,这样会稍微牺牲一些performance,但是可以保证生成结果中parent的多样性

非常感谢您的解答!我的攻击目标是qwen-7b-chat,他的鲁棒性确实一般,在llm-attacks中的表现和vicuna差不多

@zggg1p
Copy link
Author

zggg1p commented Dec 6, 2023

截屏2023-12-06 16 56 32 我print了一下section过程,发现都是从0开始并且之后是以此选取的,好像并没有运用某种决策,这是什么原因呢,攻击目标是gpt-3.5

@zggg1p
Copy link
Author

zggg1p commented Dec 6, 2023

截屏2023-12-06 16 56 32 我print了一下section过程,发现都是从0开始并且之后是以此选取的,好像并没有运用某种决策,这是什么原因呢,攻击目标是gpt-3.5

这个原因会不会是因为我是single-single呢

@zggg1p zggg1p reopened this Dec 6, 2023
@sherdencooper
Copy link
Owner

截屏2023-12-06 16 56 32 我print了一下section过程,发现都是从0开始并且之后是以此选取的,好像并没有运用某种决策,这是什么原因呢,攻击目标是gpt-3.5

这个应该是正常的,因为初始所有的seed的weight都是一致的,然后从0开始选取,如果失败了,会降低这个seed的score,这时候会从最高的score的seed里选取(除了0号以外的种子),以此类推。你发现的按照顺序选取在第一轮遍历的情况下比较常见,因为score由两部分组成,一部分是成功jailbreak的score,一部分是novelty score,也就是种子选择会倾向那些没有选过或者选中次数很少的种子。等到iteration增多了就不会出现这种情况了。如果极端情况下没有任何种子可以成功,算法会退化为round robin。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants