Comments (5)
Fixed by this gist: https://gist.github.com/jneuff/682d47b786329f19291d166957b3274a
Seems to be an issue with the tokenizer.json file.
from tokenizers.
Which files on the hub are you using? And which tokenizers version?
It's a bit weird and should not be happening.
from tokenizers.
@ArthurZucker, I am using tokenizers version 0.19.1 and this tokenizer file:
tokenizers = "0.19.1"
Edit:
Loading with this function demonstrates the issue:
pub(crate) fn get_tokenizer<P: AsRef<Path> + Clone>(p: P) -> Result<Tokenizer> {
Tokenizer::from_file(p).map_err(anyhow::Error::msg)
}
But this fixes it:
pub(crate) fn get_tokenizer<P: AsRef<Path> + Clone>(p: P) -> Result<Tokenizer> {
let fixed_path = format!("{}_mistralrs_fixed", p.as_ref().display());
let fixed_path = Path::new(&fixed_path);
if !fixed_path.exists() {
let raw = std::fs::read(p.clone()).map_err(anyhow::Error::msg)?;
let mut tokenizer: Value = serde_json::from_slice(&raw).unwrap();
let added_tokens: Vec<AddedToken> =
serde_json::from_value(tokenizer["added_tokens"].clone()).unwrap();
let vocab: HashMap<String, usize> =
serde_json::from_value(tokenizer["model"]["vocab"].clone()).unwrap();
for token in added_tokens {
if !vocab.contains_key(&token.content) {
tokenizer["model"]["vocab"]
.as_object_mut()
.unwrap()
.insert(token.content, token.id.into())
.ok_or(())
.unwrap_err();
}
}
let raw_fixed = serde_json::to_vec_pretty(&tokenizer).unwrap();
std::fs::write(fixed_path, raw_fixed).unwrap();
}
Tokenizer::from_file(fixed_path).map_err(anyhow::Error::msg)
}
from tokenizers.
Related Issues (20)
- Tokens Removed from Trained Custom BPE Tokenizer
- Llama3 tokenizer with Incorrect offset_mapping HOT 2
- Loading `tokenizer.model` with Rust API HOT 5
- Why the tokenizer is slower than tiktoken? HOT 2
- Why are 'unknown' tokens randomly added to my tokenized input? HOT 2
- Error: Cannot find module 'tokenizers/bindings/tokenizer' HOT 1
- ❓Get stats (e.g. counts) about the merged pairs HOT 2
- Convert huggingface tokenizer into sentencepiece format HOT 2
- How to write custom Wordpiece class? HOT 2
- Link to download the training text in `docs/source/quicktour.rst` is broken HOT 2
- Special token handling breaks idempotency of sentencepiece due to extra spaces HOT 4
- Bug with `CodeQwen1.5`: `data did not match any variant of untagged enum PyPreTokenizerTypeWrapper` HOT 1
- Converting `tokenizers` tokenizers into `tiktoken` tokenizers HOT 4
- How to Batch-Encode Paired Input Sentences with Tokenizers: Seeking Clarification
- How to allow the merging of consecutive newline tokens \n when training a byte-level bpe tokenizer? HOT 3
- [BUG]Might be a bug in Unigram Trainer
- Training HuggingFace tokenizer - ignore_merges HOT 1
- "from_pretrained" read wrong config file. not "tokenizer_config.json", but "config.json"
- Memory leak for large strings HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tokenizers.