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

[Feature]: DRY Sampling #8581

Open
1 task done
Shreyansh1311 opened this issue Sep 18, 2024 · 11 comments
Open
1 task done

[Feature]: DRY Sampling #8581

Shreyansh1311 opened this issue Sep 18, 2024 · 11 comments

Comments

@Shreyansh1311
Copy link

🚀 The feature, motivation and pitch

DRY is a sampler that completely mitigates repetitions. This is especially important for small models which tend to slop in large contexts. Here's an explanation of DRY from the author himself oobabooga/text-generation-webui#5677
Along with oobabooga, koboldcpp also has an implementation of DRY which according to author IIRC is better than oobabooga's
DRY has been a completely game changer for me and from what I have seen several others. It completely removes need for other samplers like top_p, top_k, repetition_penalty. It is recommended to be used with min_p and produces great coherent results.

Alternatives

No response

Additional context

No response

Before submitting a new issue...

  • Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.
@AlpinDale
Copy link
Contributor

I've been attempting to implement this, but dry_sequence_breakers has been an absolute chore, and made me somewhat give up. If someone wants to collaborate on this, please let me know. I've done most of the work, just need one final push with some issues related to that.

@Shreyansh1311
Copy link
Author

Shreyansh1311 commented Sep 20, 2024

Oh that's really wonderful @AlpinDale. I am afraid I am not smart enough to help, otherwise would definitely have volunteered. @p-e-w would you be the able to help with this. It will be really great to have DRY implemented for batch inferences as well.

@p-e-w
Copy link

p-e-w commented Sep 21, 2024

I'm happy to review a pull request and answer any questions. However, I suggest waiting for a maintainer to comment on whether they actually want DRY in vLLM.

@Shreyansh1311
Copy link
Author

Shreyansh1311 commented Sep 21, 2024

@p-e-w I am not sure if @AlpinDale was talking about vLLM or aphrodite-engine, but I guess it will be equally good to have it in aphrodite, if that's what AlpinDale meant.

@azulika
Copy link

azulika commented Oct 4, 2024

+1 absolutely need this one

@ZeroYuJie
Copy link

need this sampler +1

@KevinAHM
Copy link

+1 these samplers are important for creative writing!

@Joe986532
Copy link

+1 This would be great to have!

@Sergal3
Copy link

Sergal3 commented Oct 19, 2024

god we need this

@canineassbandit
Copy link

I would like to see XTC, DRY, and Smoothing Factor, they have me stuck on KoboldCPP currently.

@Ddhuet
Copy link

Ddhuet commented Nov 20, 2024

This would be fantastic! XTC and DRY are completely mandatory to me for creative writing / roleplay.

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

No branches or pull requests

10 participants