shap.models.TopKLM
- class shap.models.TopKLM(model, tokenizer, k=10, generate_topk_token_ids=None, batch_size=128, device=None)
- 为因果/掩码语言模型的 top-k 个 tokens 生成分数(对数几率)。 - __init__(model, tokenizer, k=10, generate_topk_token_ids=None, batch_size=128, device=None)
- 接受因果/掩码语言模型和分词器,并为 top-k 个 tokens 构建对数几率输出模型。 - 参数:
- model: object 或 function
- 要解释的任何预训练 Transformer 模型的对象。 
- tokenizer: object
- 分词器对象 (PreTrainedTokenizer/PreTrainedTokenizerFast)。 
- generation_function_for_topk_token_ids: function
- 用于生成 top-k token ids 的函数。将为这些自定义 token ids 生成对数几率。 
- batch_size: int
- 模型推理和计算对数几率的批次大小 (默认=128)。 
- device: str
- 默认情况下,它会推断系统是否具有 GPU 并相应地设置设备。应为 ‘cpu’ 或 ‘cuda’ 或 PyTorch 模型。 
 
- 返回:
- numpy.ndarray
- 使用模型生成 top-k token ids 的分数(对数几率)。 
 
 
 - 方法 - __init__(model, tokenizer[, k, ...])- 接受因果/掩码语言模型和分词器,并为 top-k 个 tokens 构建对数几率输出模型。 - 为因果/掩码语言模型生成 top-k token ids。 - get_inputs(X[, padding_side])- 该函数对源语句进行分词。 - 评估因果/掩码语言模型并返回与下一个词/掩码词对应的 logits。 - get_logodds(logits)- 从 logits 计算对数几率。 - 获取因果/掩码语言模型的 top-k token ids 的 token 名称。 - load(in_file[, instantiate])- 这旨在被子类重写并使用 super 调用。 - save(out_file)- 将模型保存到给定的文件流。 - 该函数模拟缓存机制,以更新原始输入 (X) 和要解释的 top-k token ids,并为每一行新的解释进行更新。 - generate_topk_token_ids(X) ndarray
- 为因果/掩码语言模型生成 top-k token ids。 - 参数:
- X: numpy.ndarray
- X 是解释行的原始输入语句。 
 
- 返回:
- np.ndarray
- top-k token ids 的数组。 
 
 
 - get_inputs(X, padding_side='right')
- 该函数对源语句进行分词。 - 参数:
- X: numpy.ndarray
- X 是一批文本。 
 
- 返回:
- dict
- 填充后的源语句 ids 和注意力掩码的字典,以 tensors(“pt” 或 “tf”,取决于 similarity_model_type)。 
 
 
 - get_lm_logits(X)
- 评估因果/掩码语言模型并返回与下一个词/掩码词对应的 logits。 - 参数:
- X: numpy.ndarray
- 包含掩码输入的列表的数组。 
 
- 返回:
- numpy.ndarray
- 与下一个词/掩码词对应的 Logits。 
 
 
 - get_logodds(logits)
- 从 logits 计算对数几率。 - 此函数将 logits 传递给 softmax,然后计算 top-k token ids 的对数几率。 - 参数:
- logits: numpy.ndarray
- 从模型生成的 logits 数组。 
 
- 返回:
- numpy.ndarray
- 计算相应 top-k token ids 的对数几率。 
 
 
 - get_output_names_and_update_topk_token_ids(X)
- 获取因果/掩码语言模型的 top-k token ids 的 token 名称。 - 参数:
- X: np.ndarray
- 解释行的输入(文本)。 
 
- 返回:
- list
- 输出 tokens 的列表。 
 
 
 - classmethod load(in_file, instantiate=True)
- 这旨在被子类重写并使用 super 调用。 - 当不进行实例化时,我们返回构造函数参数值。由于 Serializable 类没有构造函数参数,我们只返回一个空字典。 
 - save(out_file)
- 将模型保存到给定的文件流。 
 - update_cache_X(X)
- 该函数模拟缓存机制,以更新原始输入 (X) 和要解释的 top-k token ids,并为每一行新的解释进行更新。 - 它模拟缓存机制,以更新原始输入和要解释的 topk token ids,并为每一行新的解释进行更新。 - 参数:
- X: np.ndarray
- 解释行的输入(文本)。