mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-28 12:24:35 +00:00
llama : update tokenizer style
This commit is contained in:
parent
7494c78428
commit
6c63550f63
@ -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) {
|
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;
|
return token >= 259;
|
||||||
else if(llama_vocab_type(vocab) == "bpe")
|
}
|
||||||
|
|
||||||
|
if (llama_vocab_type(vocab) == "bpe") {
|
||||||
return token >= 95;
|
return token >= 95;
|
||||||
else
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool llama_is_unknown_token(const llama_vocab & vocab, llama_token token) {
|
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;
|
return token == 0;
|
||||||
else
|
}
|
||||||
|
|
||||||
// TODO: improve?
|
// TODO: improve?
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool llama_is_control_token(const llama_vocab & vocab, llama_token token) {
|
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;
|
return token == 1 || token == 2;
|
||||||
else
|
}
|
||||||
|
|
||||||
// TODO: improve?
|
// TODO: improve?
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool llama_is_bos_token(const llama_vocab & vocab, llama_token token) {
|
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;
|
return token == 1;
|
||||||
else
|
}
|
||||||
|
|
||||||
// TODO: improve?
|
// TODO: improve?
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool llama_is_eos_token(const llama_vocab & vocab, llama_token token) {
|
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;
|
return token == 2;
|
||||||
else
|
}
|
||||||
|
|
||||||
// TODO: improve?
|
// TODO: improve?
|
||||||
return false;
|
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) {
|
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;
|
return 3 <= token && token < 259;
|
||||||
else if(llama_vocab_type(vocab) == "bpe")
|
}
|
||||||
|
|
||||||
|
if (llama_vocab_type(vocab) == "bpe") {
|
||||||
return 1 <= token && token < 95;
|
return 1 <= token && token < 95;
|
||||||
else
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t llama_byte_to_char(const llama_vocab & vocab, uint8_t byte) {
|
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;
|
return byte + 3;
|
||||||
else if(llama_vocab_type(vocab) == "bpe")
|
}
|
||||||
|
|
||||||
|
if (llama_vocab_type(vocab) == "bpe") {
|
||||||
return byte + 32;
|
return byte + 32;
|
||||||
else
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
47
llama.cpp
47
llama.cpp
@ -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) {
|
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;
|
return token >= 259;
|
||||||
else if(llama_vocab_type(vocab) == "bpe")
|
}
|
||||||
|
|
||||||
|
if (llama_vocab_type(vocab) == "bpe") {
|
||||||
return token >= 95;
|
return token >= 95;
|
||||||
else
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool llama_is_unknown_token(const llama_vocab & vocab, llama_token token) {
|
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;
|
return token == 0;
|
||||||
else
|
}
|
||||||
|
|
||||||
// TODO: improve?
|
// TODO: improve?
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool llama_is_control_token(const llama_vocab & vocab, llama_token token) {
|
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;
|
return token == 1 || token == 2;
|
||||||
else
|
}
|
||||||
|
|
||||||
// TODO: improve?
|
// TODO: improve?
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool llama_is_bos_token(const llama_vocab & vocab, llama_token token) {
|
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;
|
return token == 1;
|
||||||
else
|
}
|
||||||
|
|
||||||
// TODO: improve?
|
// TODO: improve?
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool llama_is_eos_token(const llama_vocab & vocab, llama_token token) {
|
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;
|
return token == 2;
|
||||||
else
|
}
|
||||||
|
|
||||||
// TODO: improve?
|
// TODO: improve?
|
||||||
return false;
|
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) {
|
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;
|
return 3 <= token && token < 259;
|
||||||
else if(llama_vocab_type(vocab) == "bpe")
|
}
|
||||||
|
|
||||||
|
if (llama_vocab_type(vocab) == "bpe") {
|
||||||
return 1 <= token && token < 95;
|
return 1 <= token && token < 95;
|
||||||
else
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t llama_byte_to_char(const llama_vocab & vocab, uint8_t byte) {
|
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;
|
return byte + 3;
|
||||||
else if(llama_vocab_type(vocab) == "bpe")
|
}
|
||||||
|
|
||||||
|
if (llama_vocab_type(vocab) == "bpe") {
|
||||||
return byte + 32;
|
return byte + 32;
|
||||||
else
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user