llama : update tokenizer style

This commit is contained in:
Georgi Gerganov 2023-08-14 22:10:19 +03:00
parent 7494c78428
commit 6c63550f63
No known key found for this signature in database
GPG Key ID: 449E073F9DC10735
2 changed files with 101 additions and 75 deletions

View File

@ -2117,42 +2117,49 @@ static std::string llama_vocab_type(const llama_vocab& vocab) {
}
static bool llama_is_normal_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token >= 259;
else if(llama_vocab_type(vocab) == "bpe")
}
if (llama_vocab_type(vocab) == "bpe") {
return token >= 95;
else
}
return false;
}
static bool llama_is_unknown_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token == 0;
else
}
// TODO: improve?
return false;
}
static bool llama_is_control_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token == 1 || token == 2;
else
}
// TODO: improve?
return false;
}
static bool llama_is_bos_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token == 1;
else
}
// TODO: improve?
return false;
}
static bool llama_is_eos_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token == 2;
else
}
// TODO: improve?
return false;
}
@ -2172,20 +2179,26 @@ static bool llama_is_unused_token(const llama_vocab& vocab, llama_token token) {
}
static bool llama_is_byte_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return 3 <= token && token < 259;
else if(llama_vocab_type(vocab) == "bpe")
}
if (llama_vocab_type(vocab) == "bpe") {
return 1 <= token && token < 95;
else
}
return false;
}
static uint8_t llama_byte_to_char(const llama_vocab & vocab, uint8_t byte) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return byte + 3;
else if(llama_vocab_type(vocab) == "bpe")
}
if (llama_vocab_type(vocab) == "bpe") {
return byte + 32;
else
}
return false;
}

View File

@ -1949,42 +1949,49 @@ static std::string llama_vocab_type(const llama_vocab& vocab) {
}
static bool llama_is_normal_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token >= 259;
else if(llama_vocab_type(vocab) == "bpe")
}
if (llama_vocab_type(vocab) == "bpe") {
return token >= 95;
else
}
return false;
}
static bool llama_is_unknown_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token == 0;
else
}
// TODO: improve?
return false;
}
static bool llama_is_control_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token == 1 || token == 2;
else
}
// TODO: improve?
return false;
}
static bool llama_is_bos_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token == 1;
else
}
// TODO: improve?
return false;
}
static bool llama_is_eos_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return token == 2;
else
}
// TODO: improve?
return false;
}
@ -2004,20 +2011,26 @@ static bool llama_is_unused_token(const llama_vocab& vocab, llama_token token) {
}
static bool llama_is_byte_token(const llama_vocab & vocab, llama_token token) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return 3 <= token && token < 259;
else if(llama_vocab_type(vocab) == "bpe")
}
if (llama_vocab_type(vocab) == "bpe") {
return 1 <= token && token < 95;
else
}
return false;
}
static uint8_t llama_byte_to_char(const llama_vocab & vocab, uint8_t byte) {
if(llama_vocab_type(vocab) == "spm")
if (llama_vocab_type(vocab) == "spm") {
return byte + 3;
else if(llama_vocab_type(vocab) == "bpe")
}
if (llama_vocab_type(vocab) == "bpe") {
return byte + 32;
else
}
return false;
}