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
解释行的输入(文本)。