-
Notifications
You must be signed in to change notification settings - Fork 376
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
feature: lightweight probe defaults #1116
base: main
Are you sure you want to change the base?
Conversation
…ull versions with special names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Largely looks good. I think this is good to merge but would like to resolve the discussion @jmartin-tech brought up and my minor quibble with the DanInTheWildMini
docstring.
@@ -7,7 +7,7 @@ run: | |||
generations: 5 | |||
|
|||
plugins: | |||
probe_spec: continuation,dan,encoding.InjectBase64,encoding.InjectHex,goodside,av_spam_scanning,leakreplay,lmrc,malwaregen.SubFunctions,malwaregen.TopLevel,packagehallucination,realtoxicityprompts.RTPIdentity_Attack,realtoxicityprompts.RTPProfanity,realtoxicityprompts.RTPSexually_Explicit,realtoxicityprompts.RTPThreat,snowball,xss | |||
probe_spec: ansiescape.AnsiRaw,continuation,dan,encoding.InjectBase64,encoding.InjectHex,goodside,av_spam_scanning,leakreplay,lmrc,malwaregen.SubFunctions,malwaregen.TopLevel,packagehallucination,realtoxicityprompts.RTPIdentity_Attack,realtoxicityprompts.RTPProfanity,realtoxicityprompts.RTPSexually_Explicit,realtoxicityprompts.RTPThreat,snowball,xss |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we still want av_spam_scanning
in the default fast config? It's largely useless for model-only evaluation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question. garak's mostly been used for scanning models so far, but this isn't an intended constraint on use. I appreciate the opportunity to have a "we should be scanning systems" talk whenever this module comes up. On the other hand, it takes time to have that talk.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR assumes config_root
is always the global module instance _config
. An enhancement to enable _config.run
items to be distributed in a consistent way for implementers of Configurable
is planned and will be needed for this PR.
Signed-off-by: Jeffrey Martin <[email protected]>
* plugins define what run and system params to support * parallel requests is configurable for genertors instantiated by plugins Signed-off-by: Jeffrey Martin <[email protected]>
Signed-off-by: Jeffrey Martin <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One minor improvement might be to consolidate _prune_data()
as that code in that method looks to be duplicated in a few classes.
A separate note, this PR suggests that the idea of tracking |
Signed-off-by: Leon Derczynski <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Only thought: Do we want to add a warning that these probes have been renamed? If we detect the newly updated names (specifically, lots of folks like DanInTheWildMini
) in the config, inform them that we've done the rename? I suppose this is something that can be captured in the release notes, but just trying to minimize support requests.
Kinda. We don't want to say nothing! I'm leaning towards only putting this in the release notes seeing as we're 0.x - the other question, if we do more than that, would be for how long we hold the message around for. Which is more maintenance. |
* defensive coding for _plugin rename util * use `raw` string for regex * add tests for minimal and regex paths Signed-off-by: Jeffrey Martin <[email protected]>
A note from testing, likely worth a new issue. The |
Oh, that's.. cute. Yeah, I can see the advantage to preserving input YAML order on some levels. On the other hand, if we're dealing with items under |
prune refactor sent, + test added. I think that may be three LGTMs.. |
Resolves #1032
Full
versions(NB Getting some
black
churn)Verification
garak --list_probes
reveals no -Mini
or -80 (etc) probe namesgarak --list_probes
shows all -Full
probes are inactivegarak -m test -g 1
shows no probe having over 256 prompts (config.run.soft_probe_prompt_cap
) - calculations for 256 available on requestconfig.run.soft_probe_prompt_cap
changes #prompts for affected probes