创建已训练模型 API

编辑

创建已训练的模型。

在 7.8.0 版本中创建的模型与旧版本的节点不向后兼容。如果在混合集群环境中,所有节点必须至少为 7.8.0 才能使用由 7.8.0 节点存储的模型。

请求

编辑

PUT _ml/trained_models/<model_id>

先决条件

编辑

需要 manage_ml 集群权限。此权限包含在 machine_learning_admin 内置角色中。

描述

编辑

创建已训练模型 API 使您能够提供不由数据帧分析创建的已训练模型。

路径参数

编辑
<model_id>
(必需,字符串) 已训练模型的唯一标识符。

查询参数

编辑
defer_definition_decompression
(可选,布尔值) 如果设置为 true 且提供了 compressed_definition,则请求会延迟定义解压缩并跳过相关的验证。对于知道模型良好字节大小估算值并且知道他们的模型有效且在推理期间不太可能失败的系统或用户来说,此延迟很有用。
wait_for_completion
(可选,布尔值) 是否等待所有子操作(例如模型下载)完成后再返回。默认为 false

请求正文

编辑
compressed_definition
(必需,字符串) 模型的压缩(GZipped 和 Base64 编码)推理定义。如果指定了 compressed_definition,则不能指定 definition
definition

(必需,对象) 模型的推理定义。如果指定了 definition,则不能指定 compressed_definition

definition 的属性
preprocessors

(可选,对象) 预处理器集合。请参阅 预处理器示例

preprocessors 的属性
frequency_encoding

(必需,对象) 定义字段的频率编码。

frequency_encoding 的属性
feature_name
(必需,字符串) 生成的特征的名称。
field
(必需,字符串) 要编码的字段名称。
frequency_map
(必需,字符串:双精度值 的对象映射) 将字段值映射到频率编码值的对象。
custom
(可选,布尔值) 指示分析作业是否创建了预处理器,或者用户是否提供了预处理器的布尔值。这将调整特征重要性计算。当 true 时,特征重要性计算返回已处理特征的重要性。当 false 时,返回原始字段的总重要性。默认为 false
one_hot_encoding

(必需,对象) 定义字段的独热编码映射。

one_hot_encoding 的属性
field
(必需,字符串) 要编码的字段名称。
hot_map
(必需,字符串映射的对象) “field_value: one_hot_column_name” 的字符串映射。
custom
(可选,布尔值) 指示分析作业是否创建了预处理器,或者用户是否提供了预处理器的布尔值。这将调整特征重要性计算。当 true 时,特征重要性计算返回已处理特征的重要性。当 false 时,返回原始字段的总重要性。默认为 false
target_mean_encoding

(必需,对象) 定义字段的目标均值编码。

target_mean_encoding 的属性
default_value
(必需,双精度值) 如果字段值不在 target_map 中,则为特征值。
feature_name
(必需,字符串) 生成的特征的名称。
field
(必需,字符串) 要编码的字段名称。
target_map

(必需,字符串:双精度值 的对象映射) 将字段值映射到目标均值的对象。

custom
(可选,布尔值) 指示分析作业是否创建了预处理器,或者用户是否提供了预处理器的布尔值。这将调整特征重要性计算。当 true 时,特征重要性计算返回已处理特征的重要性。当 false 时,返回原始字段的总重要性。默认为 false
trained_model

(必需,对象) 已训练模型的定义。

trained_model 的属性
tree

(必需,对象) 二叉决策树的定义。

tree 的属性
classification_labels
(可选,字符串) 分类标签数组(用于 classification)。
feature_names
(必需,字符串) 树期望的特征,按照它们期望的顺序排列。
target_type
(必需,字符串) 指示模型目标类型的字符串;regressionclassification
tree_structure
(必需,对象) tree_node 对象数组。节点必须按照它们的 tree_node.node_index 值按顺序排列。
tree_node

(必需,对象) 树中节点的定义。

节点有两种主要类型:叶节点和非叶节点。

  • 叶节点只需要定义 node_indexleaf_value
  • 所有其他节点都需要定义 split_featureleft_childright_childthresholddecision_typedefault_left
tree_node 的属性
decision_type
(可选,字符串) 指示正值(换句话说,何时选择左侧节点)决策类型。支持 ltltegtgte。默认为 lte
default_left
(可选,布尔值) 指示当特征缺失时是否默认为左侧。默认为 true
leaf_value
(可选,双精度值) 节点的叶值(如果该值为叶值)(换句话说,没有子节点)。
left_child
(可选,整数) 左子节点的索引。
node_index
(整数) 当前节点的索引。
right_child
(可选,整数) 右子节点的索引。
split_feature
(可选,整数) 特征数组中特征值的索引。
split_gain
(可选,双精度值) 分割的信息增益。
threshold
(可选,双精度值) 用于比较特征值的决策阈值。
ensemble

(可选,对象) 集成模型的定义。请参阅 模型示例

ensemble 的属性
aggregate_output

(必需,对象) 聚合输出对象,用于定义如何聚合 trained_models 的输出。支持的对象为 weighted_modeweighted_sumlogistic_regression。请参阅 聚合输出示例

aggregate_output 的属性
logistic_regression

(可选,对象) 此 aggregated_output 类型适用于二元分类(值 [0, 1] 的分类)。它将输出(在 ensemble 模型的情况下,为推理模型值)乘以提供的 weights。将生成的向量求和,并传递给 sigmoid 函数sigmoid 函数的结果被认为是类别 1 (P_1) 的概率,因此,类别 0 的概率为 1 - P_1。然后返回具有最高概率的类别(0 或 1)。有关逻辑回归的详细信息,请参阅 此维基文章

logistic_regression 的属性
weights
(必需,双精度值) 要乘以输入值(已训练模型的推理值)的权重。
weighted_sum

(可选,对象) 此 aggregated_output 类型适用于回归。输入值的加权和。

weighted_sum 的属性
weights
(必需,双精度值) 要乘以输入值(已训练模型的推理值)的权重。
weighted_mode

(可选,对象) 此 aggregated_output 类型适用于回归或分类。它对输入值进行加权投票。返回最常见的输入值(考虑权重)。

weighted_mode 的属性
weights
(必需,双精度值) 要乘以输入值(已训练模型的推理值)的权重。
exponent

(可选,对象) 此 aggregated_output 类型适用于回归。它对输入值进行加权求和,并将结果传递给指数函数 (e^x,其中 x 是加权值的总和)。

exponent 的属性
weights
(必需,双精度值) 要乘以输入值(已训练模型的推理值)的权重。
classification_labels
(可选,字符串) 分类标签数组。
feature_names
(可选,字符串) 集成模型期望的特征,按照它们期望的顺序排列。
target_type
(必需,字符串) 指示模型目标类型的字符串;regressionclassification
trained_models
(必需,对象) trained_model 对象数组。支持的已训练模型为 treeensemble
description
(可选,字符串) 推理已训练模型的人类可读描述。
estimated_heap_memory_usage_bytes
(可选,整数) [7.16.0] 在 7.16.0 中已弃用。已替换为 model_size_bytes
estimated_operations
(可选,整数) 在推理期间使用已训练模型所需的估计操作数。仅当 defer_definition_decompressiontrue 或未提供模型定义时才支持此属性。
inference_config

(必需,对象)推理的默认配置。可以是:regressionclassificationfill_masknerquestion_answeringtext_classificationtext_embeddingzero_shot_classification。如果为 regressionclassification,则必须与基础 definition.trained_modeltarget_type 匹配。如果为 fill_masknerquestion_answeringtext_classificationtext_embedding,则 model_type 必须为 pytorch

inference_config 的属性
classification

(可选,对象)用于推理的分类配置。

分类推理的属性
num_top_classes
(可选,整数)指定要返回的最高类别预测的数量。默认为 0。
num_top_feature_importance_values
(可选,整数)指定每个文档的最大 特征重要性 值数量。默认为 0,表示不进行特征重要性计算。
prediction_field_type
(可选,字符串)指定要写入的预测字段的类型。有效值为:stringnumberboolean。当提供 boolean 时,1.0 将转换为 true0.0 将转换为 false
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
top_classes_results_field
(可选,字符串)指定写入最高类别的字段。默认为 top_classes
fill_mask

(可选,对象)用于 fill_mask 自然语言处理 (NLP) 任务的配置。fill_mask 任务适用于为 fill mask 操作优化的模型。例如,对于 BERT 模型,可以提供以下文本:“The capital of France is [MASK].”。响应指示最有可能替换 [MASK] 的值。在这种情况下,最可能的标记是 paris

fill_mask 推理的属性
num_top_classes
(可选,整数)返回用于替换掩码标记的最高预测标记的数量。默认为 0
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值有:

  • bert:用于 BERT 风格的模型
  • deberta_v2:用于 DeBERTa v2 和 v3 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

请参阅 tokenizaton 的属性,以查看 tokenization 对象的属性。

ner

(可选,对象)配置命名实体识别 (NER) 任务。NER 是标记分类的特殊情况。序列中的每个标记都根据提供的分类标签进行分类。目前,NER 任务需要 classification_labels 内部-外部-开始 (IOB) 格式的标签。仅支持人物、组织、地点和其他。

ner 推理的属性
classification_labels
(可选,字符串)分类标签数组。NER 仅支持内部-外部-开始标签 (IOB),并且仅支持人物、组织、地点和其他。例如:["O", "B-PER", "I-PER", "B-ORG", "I-ORG", "B-LOC", "I-LOC", "B-MISC", "I-MISC"]
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值有:

  • bert:用于 BERT 风格的模型
  • deberta_v2:用于 DeBERTa v2 和 v3 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

请参阅 tokenizaton 的属性,以查看 tokenization 对象的属性。

pass_through

(可选,对象)配置 pass_through 任务。此任务对于调试很有用,因为不会对推理输出进行任何后处理,并且原始池化层结果将返回给调用方。

pass_through 推理的属性
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值有:

  • bert:用于 BERT 风格的模型
  • deberta_v2:用于 DeBERTa v2 和 v3 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

请参阅 tokenizaton 的属性,以查看 tokenization 对象的属性。

question_answering

(可选,对象)配置问答自然语言处理 (NLP) 任务。问答对于从大量文本语料库中提取某些问题的答案很有用。

question_answering 推理的属性
max_answer_length
(可选,整数)答案中的最大单词数。默认为 15
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值有:

  • bert:用于 BERT 风格的模型
  • deberta_v2:用于 DeBERTa v2 和 v3 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

建议将 max_sentence_length 设置为 386,将 span 设置为 128,并将 truncate 设置为 none

请参阅 tokenizaton 的属性,以查看 tokenization 对象的属性。

regression

(可选,对象)用于推理的回归配置。

回归推理的属性
num_top_feature_importance_values
(可选,整数)指定每个文档的最大 特征重要性 值数量。默认情况下,它为零,且不进行特征重要性计算。
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
text_classification

(可选,对象)文本分类任务。文本分类将提供的文本序列分类为先前已知的目标类别。一个具体的例子是情感分析,它返回指示文本情感的可能目标类别,例如“悲伤”、“快乐”或“愤怒”。

文本分类推理的属性
classification_labels
(可选,字符串) 分类标签数组。
num_top_classes
(可选,整数)指定要返回的最高类别预测的数量。默认为所有类别 (-1)。
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值有:

  • bert:用于 BERT 风格的模型
  • deberta_v2:用于 DeBERTa v2 和 v3 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

请参阅 tokenizaton 的属性,以查看 tokenization 对象的属性。

text_embedding

(可选,对象)文本嵌入会获取输入序列并将其转换为数字向量。这些嵌入不仅捕获标记,还捕获语义含义和上下文。这些嵌入可以在 密集向量字段中使用,以获得强大的洞察力。

文本嵌入推理的属性
embedding_size
(可选,整数)模型生成的嵌入向量中的维度数。
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值有:

  • bert:用于 BERT 风格的模型
  • deberta_v2:用于 DeBERTa v2 和 v3 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

请参阅 tokenizaton 的属性,以查看 tokenization 对象的属性。

text_similarity

(可选,对象)文本相似度会获取输入序列并将其与另一个输入序列进行比较。这通常称为交叉编码。当与另一个提供的文本输入进行比较时,此任务对于对文档文本进行排名很有用。

文本相似度推理的属性
span_score_combination_function

(可选,字符串)标识当提供的文本段落长度超过 max_sequence_length 并且必须自动分离以进行多次调用时,如何组合生成的相似度得分。仅当 truncatenonespan 为非负数时才适用。默认值为 max。可用选项为:

  • max:返回所有跨度的最大得分。
  • mean:返回所有跨度的平均得分。
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值有:

  • bert:用于 BERT 风格的模型
  • deberta_v2:用于 DeBERTa v2 和 v3 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

请参阅 tokenizaton 的属性,以查看 tokenization 对象的属性。

zero_shot_classification

(可选,对象)配置零样本分类任务。零样本分类允许在没有预先确定的标签的情况下进行文本分类。在推理时,可以调整要分类的标签。这使得此类模型和任务非常灵活。

如果始终对相同的标签进行分类,则最好使用微调的文本分类模型。

零样本分类推理的属性
classification_labels
(必需,数组)在零样本分类期间使用的分类标签。分类标签不得为空或为 null,并且只能在模型创建时设置。它们必须是 ["entailment", "neutral", "contradiction"] 这三者中的全部。

这与 labels 不同,后者是零样本尝试分类的值。

hypothesis_template

(可选,字符串)这是在对序列进行分类标记化时使用的模板。

标签替换文本中的 {} 值。默认值为:This example is {}.

labels
(可选,数组)要分类的标签。可以在创建时设置默认标签,然后在推理期间更新。
multi_label
(可选,布尔值)指示给定输入是否可能存在多个 true 标签。当标记可能与多个输入标签相关的文本时,这很有用。默认为 false
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值有:

  • bert:用于 BERT 风格的模型
  • deberta_v2:用于 DeBERTa v2 和 v3 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

请参阅 tokenizaton 的属性,以查看 tokenization 对象的属性。

input

(必需,对象)模型定义的输入字段名称。

input 的属性
field_names
(必需,字符串)模型的输入字段名称数组。
location

(可选,对象)模型定义的位置。如果未指定 definitioncompressed_definition,则 location 为必需。

location 的属性
index
(必需,对象)指示模型定义存储在索引中。此对象必须为空,因为用于存储模型定义的索引是自动配置的。
metadata
(可选,对象)一个包含有关模型元数据的对象映射。
model_size_bytes
(可选,整数)将训练模型保留在内存中所需的估计内存使用量(以字节为单位)。仅当 defer_definition_decompressiontrue 或未提供模型定义时才支持此属性。
model_type

(可选,字符串)创建的模型类型。默认情况下,模型类型为 tree_ensemble。适当的类型有:

  • tree_ensemble:模型定义是决策树的集成模型。
  • lang_ident:为语言识别模型保留的特殊类型。
  • pytorch:存储的定义是 PyTorch(特别是 TorchScript)模型。目前仅支持 NLP 模型。有关更多信息,请参阅自然语言处理
platform_architecture
(可选,字符串)如果模型仅在一个平台上运行,因为它针对特定的处理器架构和操作系统组合进行了大量优化,则此字段指定哪一个。该字符串的格式必须与 Elasticsearch 使用的平台标识符匹配,因此为 linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64windows-x86_64 中的一个。对于可移植模型(即独立于处理器架构或操作系统功能运行的模型),请将此字段保持未设置状态。
prefix_strings

(可选,对象)某些 NLP 模型的训练方式是:在评估输入之前,应将前缀字符串应用于输入文本。前缀可能因意图而异。对于诸如信息检索之类的非对称任务,索引通道时应用的前缀可能与搜索这些通道时应用的前缀不同。

prefix_strings 有 2 个选项,一个是在搜索上下文中始终应用的前缀字符串,另一个是在使用推理摄取处理器摄取文档时始终应用的前缀字符串。两者都是可选的。

prefix_strings 的属性
search
(可选,字符串)要为来自搜索查询的请求附加到输入文本的前缀字符串。
ingest
(可选,字符串)在摄取时(其中使用推理摄取处理器)为请求附加到输入文本的前缀字符串。
tags
(可选,字符串)用于组织模型的标签数组。

tokenizaton 的属性

编辑

tokenization 对象具有以下属性。

bert

(可选,对象)使用封闭的设置执行 BERT 风格的分词。

bert 的属性
do_lower_case
(可选,布尔值)指定在构建词元时,分词是否将文本序列转换为小写。
max_sequence_length
(可选,整数)指定分词器允许输出的最大词元数。
span

(可选,整数)当 truncatenone 时,您可以划分较长的文本序列以进行推理。该值指示每个子序列之间重叠的词元数。

默认值为 -1,表示不进行窗口化或跨度操作。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中几乎没有信息。

truncate

(可选,字符串)指示当词元数超过 max_sequence_length 时如何截断词元。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens

(可选,布尔值)使用特殊词元进行分词。通常包含在 BERT 风格分词中的词元是

  • [CLS]:被分类的序列的第一个词元。
  • [SEP]:表示序列分隔。
deberta_v2

(可选,对象)使用封闭的设置执行 DeBERTa 风格的分词。

deberta_v2 的属性
do_lower_case

(可选,布尔值)指定在构建词元时,分词是否将文本序列转换为小写。

默认为 false

max_sequence_length
(可选,整数)指定分词器允许输出的最大词元数。
span

(可选,整数)当 truncatenone 时,您可以划分较长的文本序列以进行推理。该值指示每个子序列之间重叠的词元数。

默认值为 -1,表示不进行窗口化或跨度操作。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中几乎没有信息。

truncate

(可选,字符串)指示当词元数超过 max_sequence_length 时如何截断词元。默认值为 first

  • balanced:可以截断第一个和/或第二个序列,以便平衡两个序列中包含的词元。
  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。
with_special_tokens

(可选,布尔值)使用特殊词元进行分词。通常包含在 DeBERTa 风格分词中的词元是

  • [CLS]:被分类的序列的第一个词元。
  • [SEP]:表示序列分隔和序列结束。
roberta

(可选,对象)使用封闭的设置执行 RoBERTa 风格的分词。

roberta 的属性
add_prefix_space
(可选,布尔值)指定分词是否应在模型标记化的输入前添加空格。
max_sequence_length
(可选,整数)指定分词器允许输出的最大词元数。
span

(可选,整数)当 truncatenone 时,您可以划分较长的文本序列以进行推理。该值指示每个子序列之间重叠的词元数。

默认值为 -1,表示不进行窗口化或跨度操作。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中几乎没有信息。

truncate

(可选,字符串)指示当词元数超过 max_sequence_length 时如何截断词元。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens

(可选,布尔值)使用特殊词元进行分词。通常包含在 RoBERTa 风格分词中的词元是

  • <s>:被分类的序列的第一个词元。
  • </s>:表示序列分隔。
mpnet

(可选,对象)使用封闭的设置执行 MPNet 风格的分词。

mpnet 的属性
do_lower_case
(可选,布尔值)指定在构建词元时,分词是否将文本序列转换为小写。
max_sequence_length
(可选,整数)指定分词器允许输出的最大词元数。
span

(可选,整数)当 truncatenone 时,您可以划分较长的文本序列以进行推理。该值指示每个子序列之间重叠的词元数。

默认值为 -1,表示不进行窗口化或跨度操作。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中几乎没有信息。

truncate

(可选,字符串)指示当词元数超过 max_sequence_length 时如何截断词元。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens

(可选,布尔值)使用特殊词元进行分词。通常包含在 MPNet 风格分词中的词元是

  • <s>:被分类的序列的第一个词元。
  • </s>:表示序列分隔。
xlm_roberta

(可选,对象) [预览] 此功能为技术预览版,可能会在未来版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版的功能不受官方 GA 功能的支持 SLA 的约束。 使用封闭的设置执行 XLMRoBERTa 风格的分词。

xlm_roberta 的属性
max_sequence_length
(可选,整数)指定分词器允许输出的最大词元数。
span

(可选,整数)当 truncatenone 时,您可以划分较长的文本序列以进行推理。该值指示每个子序列之间重叠的词元数。

默认值为 -1,表示不进行窗口化或跨度操作。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中几乎没有信息。

truncate

(可选,字符串)指示当词元数超过 max_sequence_length 时如何截断词元。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens

(可选,布尔值)使用特殊词元进行分词。通常包含在 RoBERTa 风格分词中的词元是

  • <s>:被分类的序列的第一个词元。
  • </s>:表示序列分隔。
bert_ja

(可选,对象) [预览] 此功能为技术预览版,可能会在未来版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版的功能不受官方 GA 功能的支持 SLA 的约束。 使用封闭的设置对日语文本执行 BERT 风格的分词。

bert_ja 的属性
do_lower_case
(可选,布尔值)指定在构建词元时,分词是否将文本序列转换为小写。
max_sequence_length
(可选,整数)指定分词器允许输出的最大词元数。
span

(可选,整数)当 truncatenone 时,您可以划分较长的文本序列以进行推理。该值指示每个子序列之间重叠的词元数。

默认值为 -1,表示不进行窗口化或跨度操作。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中几乎没有信息。

truncate

(可选,字符串)指示当词元数超过 max_sequence_length 时如何截断词元。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens
(可选,布尔值)如果 true,则使用特殊词元进行分词。

示例

编辑

预处理器示例

编辑

以下示例显示了 frequency_encoding 预处理器对象

{
   "frequency_encoding":{
      "field":"FlightDelayType",
      "feature_name":"FlightDelayType_frequency",
      "frequency_map":{
         "Carrier Delay":0.6007414737092798,
         "NAS Delay":0.6007414737092798,
         "Weather Delay":0.024573576178086153,
         "Security Delay":0.02476631010889467,
         "No Delay":0.6007414737092798,
         "Late Aircraft Delay":0.6007414737092798
      }
   }
}

下一个示例显示了 one_hot_encoding 预处理器对象

{
   "one_hot_encoding":{
      "field":"FlightDelayType",
      "hot_map":{
         "Carrier Delay":"FlightDelayType_Carrier Delay",
         "NAS Delay":"FlightDelayType_NAS Delay",
         "No Delay":"FlightDelayType_No Delay",
         "Late Aircraft Delay":"FlightDelayType_Late Aircraft Delay"
      }
   }
}

此示例显示了 target_mean_encoding 预处理器对象

{
   "target_mean_encoding":{
      "field":"FlightDelayType",
      "feature_name":"FlightDelayType_targetmean",
      "target_map":{
         "Carrier Delay":39.97465788139886,
         "NAS Delay":39.97465788139886,
         "Security Delay":203.171206225681,
         "Weather Delay":187.64705882352948,
         "No Delay":39.97465788139886,
         "Late Aircraft Delay":39.97465788139886
      },
      "default_value":158.17995752420433
   }
}

模型示例

编辑

第一个示例显示了 trained_model 对象

{
   "tree":{
      "feature_names":[
         "DistanceKilometers",
         "FlightTimeMin",
         "FlightDelayType_NAS Delay",
         "Origin_targetmean",
         "DestRegion_targetmean",
         "DestCityName_targetmean",
         "OriginAirportID_targetmean",
         "OriginCityName_frequency",
         "DistanceMiles",
         "FlightDelayType_Late Aircraft Delay"
      ],
      "tree_structure":[
         {
            "decision_type":"lt",
            "threshold":9069.33437193022,
            "split_feature":0,
            "split_gain":4112.094574306927,
            "node_index":0,
            "default_left":true,
            "left_child":1,
            "right_child":2
         },
         ...
         {
            "node_index":9,
            "leaf_value":-27.68987349695448
         },
         ...
      ],
      "target_type":"regression"
   }
}

以下示例显示了 ensemble 模型对象

"ensemble":{
   "feature_names":[
      ...
   ],
   "trained_models":[
      {
         "tree":{
            "feature_names":[],
            "tree_structure":[
               {
                  "decision_type":"lte",
                  "node_index":0,
                  "leaf_value":47.64069875778043,
                  "default_left":false
               }
            ],
            "target_type":"regression"
         }
      },
      ...
   ],
   "aggregate_output":{
      "weighted_sum":{
         "weights":[
            ...
         ]
      }
   },
   "target_type":"regression"
}

聚合输出示例

编辑

logistic_regression 对象的示例

"aggregate_output" : {
  "logistic_regression" : {
    "weights" : [2.0, 1.0, .5, -1.0, 5.0, 1.0, 1.0]
  }
}

weighted_sum 对象的示例

"aggregate_output" : {
  "weighted_sum" : {
    "weights" : [1.0, -1.0, .5, 1.0, 5.0]
  }
}

weighted_mode 对象的示例

"aggregate_output" : {
  "weighted_mode" : {
    "weights" : [1.0, 1.0, 1.0, 1.0, 1.0]
  }
}

exponent 对象的示例

"aggregate_output" : {
  "exponent" : {
    "weights" : [1.0, 1.0, 1.0, 1.0, 1.0]
  }
}

训练模型 JSON 模式

编辑

有关训练模型的完整 JSON 模式,请单击此处