-
Notifications
You must be signed in to change notification settings - Fork 12.1k
More checks before assuming FIM tokens #7644
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
Conversation
@CISC what's going on with the CI? Can you double check? If its not related to your code you may want to rebase against last known good CI build in master. |
@mofosyne I have no idea, but the Server checks seem to randomly fail for everyone, not just here. |
@mofosyne So, syncing seems to have "fixed" it, just the normal failures now, no clue what changed. :) |
@ggerganov Do the checks look ok now? SPM infill just got merged in |
Let's merge it, but I think we are doing it wrong when it comes to FIM tokens. I haven't looked in the details deeply, but this code definitely looks like a big hack. We have to try to figure out something more robust |
The main problem is that there's no way to know if
IMO it is unsafe to make assumptions here, you really need to know that the model in question has the correct tokens and support using them. |
Added a bare minimum of extra checks before assuming
CodeLlama
/CodeGemma
FIM tokens.This fixes
Codestral
and any other non-CodeLlama/Gemma model with the word "code" ingeneral.name
.BTW,
Codestral
was initially released with wrong vocab (missing FIM tokens), updated vocab was released today, howeverCodestral
does not use themiddle
token, so I'm generating GGUFs without themiddle
token, this might require a separate fix in server.cpp /infill route!The GGUFs are up in case anyone wants to test (and perhaps implement an
spm_infill
argument to switch to Suffix/Prefix/Middle sequence).Fixes #7592