From 5144a18e6705c87241bdb169538cc4183984ef81 Mon Sep 17 00:00:00 2001 From: lexasub Date: Mon, 27 Jan 2025 15:09:34 +0400 Subject: [PATCH] impl::load change map bpe_ranks to onordered map for reduce time of impl::load on 30% --- src/llama-vocab.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp index 0782d3a41..6a3a9d48e 100644 --- a/src/llama-vocab.cpp +++ b/src/llama-vocab.cpp @@ -1245,8 +1245,13 @@ struct llama_vocab::impl { std::vector cache_special_tokens; std::vector cache_token_to_piece; // llama_token_to_piece(special = true); - - std::map, int> bpe_ranks; + struct PairHash { + size_t operator()(const std::pair& p) const { + return std::hash{}(p.first) ^ //create some hash for pair + (std::hash{}(p.second) << 1); + } + }; + std::unordered_map, int, PairHash> bpe_ranks; // set of all tokens that cause "end of generation" std::set special_eog_ids;