BPE分词:大模型文本处理核心

发布时间:2026/7/14 22:41:58
BPE分词:大模型文本处理核心 大语言模型(LLM)中,将文本切分为Token(词元)的过程称为分词(Tokenization)。目前,主流大语言模型(如GPT系列、Claude、LLaMA等)主要采用基于统计的“子词”分词算法,其中字节对编码(Byte Pair Encoding, BPE)及其变体是应用最广泛的核心方法。核心分词方法:BPE及其变体BPE算法通过迭代合并高频字符对来构建一个固定大小的词表,从而在字符的精确性和单词的完整性之间取得平衡。其核心思想是将常见单词作为一个Token,而将罕见单词拆分为多个子词Token。BPE算法工作流程示例以下是一个简化的BPE分词过程:# 假设初始词表为所有字符,待编码文本为“low lower newest widest” from collections import Counter def get_stats(vocab): """统计相邻符号对的出现频率""" pairs = Counter() for word, freq in vocab.items(): symbols = word.split() for i in range(len(symbols)-1): pairs[symbols[i], symbols[i+1]] += freq return pairs def merge_vocab(pair, v_in): """合并最高频的符号对""" v_out = {} bigram = ' '