| Field | Type | Label | Description |
| batch_size | uint32 | optional | mini batch size to use for training and evaluation. Default: 1024 |
| dataset_type | DatasetType | required | dataset type. Default: OdpsDataset |
| fg_encoded | bool | optional | [deprecated] please use fg_mode. input data is feature generate encoded or not. if fg_encoded = true, you should do fg offline first, and set fg_encoded_multival_sep for split multi-val feature Default: true |
| fg_encoded_multival_sep | string | optional | separator for multi-val feature in fg encoded input data Default: |
| label_fields | string | repeated | labels |
| num_workers | uint32 | optional | number of workers for parallel processing raw data Default: 8 |
| pin_memory | bool | optional | pin memory for fast cudaMemCopy Default: true |
| input_fields | Field | repeated | the input fields must be the same number and in the same order as data in csv files |
| delimiter | string | optional | delimiter of column features, only used for CsvDataset Default: , |
| with_header | bool | optional | for csv files, with header or not. Default: false |
| eval_batch_size | uint32 | optional | mini batch size to use for and evaluation. |
| drop_remainder | bool | optional | drop last batch less than batch_size Default: false |
| fg_threads | uint32 | optional | fg threads for each worker, if fg_threads = 0, will disable fg dag handler, use python run. Default: 1 |
| is_orderby_partition | bool | optional | when use OdpsDataset, read data orderby table partitions or not. Default: false |
| odps_data_quota_name | string | optional | maxcompute storage api & tunnel quota name Default: pay-as-you-go |
| sample_mask_prob | float | optional | mask probability for samples in training progress Default: 0 |
| negative_sample_mask_prob | float | optional | mask probability for sampled negatives in training progress Default: 0 |
| force_base_data_group | bool | optional | force padding data into same data group with same batch_size Default: false |
| sample_weight_fields | string | repeated | sample weights |
| fg_mode | FgMode | optional | fg run mode. Default: FG_NONE |
| shuffle | bool | optional | whether to shuffle data Default: false |
| shuffle_buffer_size | uint32 | optional | shufffle buffer for better performance, even shuffle buffer is set, it is suggested to do full data shuffle before training especially when the performance of models is not good. Default: 32 |
| odps_data_compression | string | optional | maxcompute storage api data compression type, LZ4_FRAME | ZSTD | UNCOMPRESSED Default: LZ4_FRAME |
| sample_cost_field | string | optional | sample cost field name |
| batch_cost_size | uint64 | optional | batch cost limit size |
| input_fields_str | string | optional | simplified input fields string format: input_name1:input_type1;input_name2:input_type2; type names follow ODPS conventions with aliases: BIGINT->INT64, INT->INT32 |
| negative_sampler | NegativeSampler | optional | |
| negative_sampler_v2 | NegativeSamplerV2 | optional | |
| hard_negative_sampler | HardNegativeSampler | optional | |
| hard_negative_sampler_v2 | HardNegativeSamplerV2 | optional | |
| tdm_sampler | TDMSampler | optional |
| Field | Type | Label | Description |
| input_name | string | required | |
| input_type | FieldType | optional | only need specify it when use CsvDataset and value dtype can not be inferred (all values in the column are null) |
| Name | Number | Description |
| OdpsDataset | 1 | |
| ParquetDataset | 2 | |
| CsvDataset | 3 | |
| OdpsDatasetV1 | 4 | |
| KafkaDataset | 5 |
| Name | Number | Description |
| FG_NONE | 1 | input data is feature generate encoded, we do not do fg |
| FG_NORMAL | 2 | input data is raw feature, we use python to run feature generate |
| FG_DAG | 3 | input data is raw feature, we use fg_handler to run feature generate |
| FG_BUCKETIZE | 4 | input data is after feature generate but before do bucketize, we do bucketize only |
| Name | Number | Description |
| INT32 | 0 | |
| INT64 | 1 | |
| STRING | 2 | |
| FLOAT | 3 | |
| DOUBLE | 4 | |
| ARRAY_INT32 | 5 | |
| ARRAY_INT64 | 6 | |
| ARRAY_STRING | 7 | |
| ARRAY_FLOAT | 8 | |
| ARRAY_DOUBLE | 9 | |
| ARRAY_ARRAY_INT32 | 10 | |
| ARRAY_ARRAY_INT64 | 11 | |
| ARRAY_ARRAY_STRING | 12 | |
| ARRAY_ARRAY_FLOAT | 13 | |
| ARRAY_ARRAY_DOUBLE | 14 | |
| MAP_STRING_INT32 | 15 | |
| MAP_STRING_INT64 | 16 | |
| MAP_STRING_STRING | 17 | |
| MAP_STRING_FLOAT | 18 | |
| MAP_STRING_DOUBLE | 19 | |
| MAP_INT64_INT32 | 20 | |
| MAP_INT64_INT64 | 21 | |
| MAP_INT64_STRING | 22 | |
| MAP_INT64_FLOAT | 23 | |
| MAP_INT64_DOUBLE | 24 | |
| MAP_INT32_INT32 | 25 | |
| MAP_INT32_INT64 | 26 | |
| MAP_INT32_STRING | 27 | |
| MAP_INT32_FLOAT | 28 | |
| MAP_INT32_DOUBLE | 29 |
| Field | Type | Label | Description |
| num_steps | uint32 | optional | number of steps to evaluate. |
| log_step_count_steps | uint32 | optional | the frequency progress be logged during eval Default: 10 |
| Field | Type | Label | Description |
| exporter_type | string | optional | type of exporter [latest | best] when train_and_evaluation latest: regularly exports the serving graph and checkpoints best: export the best model according to best_exporter_metric Default: latest |
| best_exporter_metric | string | optional | the metric used to determine the best checkpoint Default: auc |
| metric_larger_is_better | bool | optional | metric value the bigger the best Default: true |
| mixed_precision | string | optional | mixed precision mode for inference/export [BF16 | FP16 | ""]. The export-time AMP intent is taken verbatim from this field; if it disagrees with train_config.mixed_precision a warning is logged. When set, the dense sub-graph is wrapped in torch.autocast before torch.export so that AOT Inductor captures dtype-promoting casts as a wrap_with_autocast HOP. |
| cudnn_allow_tf32 | bool | optional | whether to use torch.backends.cudnn.allow_tf32 Default: true |
| cuda_matmul_allow_tf32 | bool | optional | whether to use torch.backends.cuda.matmul.allow_tf32 Default: false |
| Field | Type | Label | Description |
| num_channels | uint32 | required | number of embedding channels |
| temperature | float | optional | temperature coefficient for softmax Default: 0.1 |
| keep_prob | float | optional | Default: 0.8 |
| Field | Type | Label | Description |
| feature_name | string | required | feature name. |
| expression | string | repeated | feature input, e.g. item:item_id |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | required | embedding dimension |
| hash_bucket_size | uint64 | optional | number of hash size |
| num_buckets | uint64 | optional | number of id enumerators |
| vocab_list | string | repeated | id vocabulary list |
| vocab_dict | BoolMaskFeature.VocabDictEntry | repeated | id vocabulary dict |
| value_dim | uint32 | optional | id value dimensions, default = 0, when use in seq, default = 1 if value_dim = 0, it supports id with multi-value |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | fg default value, default value before bucktize |
| separator | string | optional | fg multi-value separator Default: |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| zch | ZeroCollisionHash | optional | zero collision hash |
| vocab_file | string | optional | id vocabulary file path |
| asset_dir | string | optional | vocab file relative directory |
| dynamicemb | DynamicEmbedding | optional | dynamic embedding |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| default_bucketize_value | uint64 | optional | out-of-vocab(OOV) id bucketize value when use vocab_list or vocab_dict when use default_bucketize_value, we will not add additional bucketize_value of `default_value`=0, bucketize_value of <OOV>=1 into vocab_list or vocab_dict |
| fg_value_type | string | optional | value_type after fg before bucketize, you can specify it for better performance. e.g. fg_value_type = int64 when use num_buckets |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| key | string | optional | |
| value | uint64 | optional |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. tag_feat |
| expression | string | required | feature input, e.g. user:tag |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| value_map | CombineFeature.ValueMapEntry | repeated | value map for mapping input string values to float values |
| boundaries | float | repeated | boundaries for bucktize numeric combine value |
| num_buckets | uint64 | optional | number of id enumerators for sparse combine value |
| pooling | string | optional | embedding pooling type, available is {sum | mean}. Controls embedding bag aggregation.
NOTE: distinct from 'combiner' which controls FG-level multi-value aggregation. Default: sum |
| default_value | string | optional | fg default value, default value before bucktize |
| separator | string | optional | fg multi-value separator Default: |
| normalizer | string | optional | fg normalizer, e.g. method=log10,threshold=1e-10,default=-10 method=zscore,mean=0.0,standard_deviation=10.0 method=minmax,min=2.1,max=2.2 method=expression,expr=sign(x) |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| combiner | string | optional | combine value combiner type, available is {sum | mean | min | max}
Controls FG-level multi-value aggregation before bucketization. Default: sum |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| autodis | AutoDisEmbedding | optional | autodis embedding |
| mlp | MLPEmbedding | optional | mlp embedding |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| key | string | optional | |
| value | float | optional |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. os_and_cate |
| expression | string | repeated | feature input, e.g. [user:os, item:cate] |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| hash_bucket_size | uint64 | optional | number of hash size |
| vocab_list | string | repeated | id vocabulary list |
| vocab_dict | ComboFeature.VocabDictEntry | repeated | id vocabulary dict |
| value_dim | uint32 | optional | id value dimensions, if value_dim = 0, it supports id with multi-value Default: 0 |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | fg default value |
| separator | string | optional | fg multi-value separator Default: |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| zch | ZeroCollisionHash | optional | zero collision hash |
| vocab_file | string | optional | id vocabulary file path |
| asset_dir | string | optional | vocab file relative directory |
| dynamicemb | DynamicEmbedding | optional | dynamic embedding |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| default_bucketize_value | uint64 | optional | out-of-vocab(OOV) id bucketize value when use vocab_list or vocab_dict when use default_bucketize_value, we will not add additional bucketize_value of `default_value`=0, bucketize_value of <OOV>=1 into vocab_list or vocab_dict |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| key | string | optional | |
| value | uint64 | optional |
| Field | Type | Label | Description |
| feature_name | string | required | feature name. |
| operator_name | string | required | custom operator name. |
| operator_lib_file | string | required | custom operator lib file name. |
| operator_params | google.protobuf.Struct | optional | operator custom params. |
| is_op_thread_safe | bool | optional | custom operator is thread safe or not. Default: false |
| expression | string | repeated | feature input, e.g. user:os |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| boundaries | float | repeated | boundaries for bucktize numeric value |
| hash_bucket_size | uint64 | optional | number of hash size for sparse value |
| num_buckets | uint64 | optional | number of id enumerators for sparse value |
| vocab_list | string | repeated | id vocabulary list for sparse value |
| vocab_dict | CustomFeature.VocabDictEntry | repeated | id vocabulary dict |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | fg default value Default: 0 |
| separator | string | optional | fg multi-value separator Default: |
| normalizer | string | optional | fg normalizer, e.g. method=log10,threshold=1e-10,default=-10 method=zscore,mean=0.0,standard_deviation=10.0 method=minmax,min=2.1,max=2.2 method=expression,expr=sign(x) |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| value_dim | uint32 | optional | value dimensions |
| use_mask | bool | optional | mask value in training progress |
| zch | ZeroCollisionHash | optional | zero collision hash |
| vocab_file | string | optional | id vocabulary file path |
| asset_dir | string | optional | vocab file relative directory |
| dynamicemb | DynamicEmbedding | optional | dynamic embedding |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| default_bucketize_value | uint64 | optional | out-of-vocab(OOV) id bucketize value when use vocab_list or vocab_dict when use default_bucketize_value, we will not add additional bucketize_value of `default_value`=0, bucketize_value of <OOV>=1 into vocab_list or vocab_dict |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| autodis | AutoDisEmbedding | optional | autodis embedding |
| mlp | MLPEmbedding | optional | mlp embedding |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| key | string | optional | |
| value | uint64 | optional |
DistanceLFU: evict_score = access_cnt / pow((current_iter - last_access_iter), decay_exponent)
| Field | Type | Label | Description |
| decay_exponent | float | optional | decay rate is access step Default: 1 |
| Field | Type | Label | Description |
| threshold | uint64 | required | minimum frequency threshold for admission |
| initializer_args | DynamicEmbInitializerArgs | optional | determine how to initialize the embedding if the key is not admitted. |
| counter_capacity | uint64 | optional | kv counter capacity, if not set, use embedding max_capacity |
| counter_bucket_capacity | uint64 | optional | kv counter capacity for each bucket. Default: 1024 |
| Field | Type | Label | Description |
| mode | string | optional | the mode of initialization. NORMAL | TRUNCATED_NORMAL | UNIFORM | CONSTANT |
| mean | float | optional | the mean value for (truncated) normal distributions Default: 0 |
| std_dev | float | optional | the standard deviation for (truncated) normal distributions. default is sqrt(1 / embedding_dim) |
| lower | float | optional | the lower bound for uniform/truncated_normal distribution. default is -sqrt(1 / max_capacity) |
| upper | float | optional | the upper bound for uniform/truncated_normal distribution. default is sqrt(1 / max_capacity) |
| value | float | optional | the constant value for constant initialization. Default: 0 |
| Field | Type | Label | Description |
| initializer_args | DynamicEmbInitializerArgs | optional | arguments for initializing dynamic embedding vector values. default is uniform distribution, and absolute values of upper and lower bound are sqrt(1 / embedding_dim). |
| eval_initializer_args | DynamicEmbInitializerArgs | optional | the initializer args for evaluation mode. default is default is constant initialization with value 0.0. |
| score_strategy | string | optional | strategy to set the score for each indices in forward and backward per table. TIMESTAMP | STEP | CUSTOMIZED | LFU | NO_EVICTION Default: STEP |
| max_capacity | uint64 | required | max number of embedding rows |
| cache_load_factor | float | optional | percentage of embedding rows caching on gpu |
| init_capacity_per_rank | uint64 | optional | init number of capacity |
| init_table | string | optional | init table path |
| bucket_capacity | uint64 | optional | hash-table bucket capacity. default 128 (matches dynamicemb DEFAULT_BUCKET_CAPACITY). larger buckets trade probe cost for higher load factor. |
| frequency_admission_strategy | DynamicEmbFrequencyAdmissionStrategy | optional |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. kv_os_click_count |
| expression | string | required | expression, e.g. sigmoid(pv/(1+click)) |
| variables | string | repeated | variables in expression, e,g. ["item:pv", "item:click"] |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| boundaries | float | repeated | boundaries for bucktize numeric expr value |
| separator | string | optional | fg multi-value separator Default: |
| fill_missing | float | optional | fill value when vector length mismatch, default is NaN. |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | fg default value Default: 0 |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| value_dim | uint32 | optional | if value_dim = 0, it supports multi-value Default: 0 |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| autodis | AutoDisEmbedding | optional | autodis embedding |
| mlp | MLPEmbedding | optional | mlp embedding |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| id_feature | IdFeature | optional | |
| raw_feature | RawFeature | optional | |
| combo_feature | ComboFeature | optional | |
| lookup_feature | LookupFeature | optional | |
| match_feature | MatchFeature | optional | |
| sequence_feature | SequenceFeature | optional | |
| expr_feature | ExprFeature | optional | |
| overlap_feature | OverlapFeature | optional | |
| tokenize_feature | TokenizeFeature | optional | |
| custom_feature | CustomFeature | optional | |
| kv_dot_product | KvDotProduct | optional | |
| bool_mask_feature | BoolMaskFeature | optional | |
| combine_feature | CombineFeature | optional | |
| sequence_id_feature | IdFeature | optional | |
| sequence_raw_feature | RawFeature | optional | |
| sequence_combo_feature | ComboFeature | optional | |
| sequence_lookup_feature | LookupFeature | optional | |
| sequence_match_feature | MatchFeature | optional | |
| sequence_expr_feature | ExprFeature | optional | |
| sequence_overlap_feature | OverlapFeature | optional | |
| sequence_tokenize_feature | TokenizeFeature | optional | |
| sequence_custom_feature | CustomFeature | optional | |
| sequence_kv_dot_product | KvDotProduct | optional | |
| sequence_bool_mask_feature | BoolMaskFeature | optional | |
| sequence_combine_feature | CombineFeature | optional |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. item_id |
| expression | string | required | feature input, e.g. item:item_id |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | required | embedding dimension |
| hash_bucket_size | uint64 | optional | number of hash size |
| num_buckets | uint64 | optional | number of id enumerators |
| vocab_list | string | repeated | id vocabulary list |
| vocab_dict | IdFeature.VocabDictEntry | repeated | id vocabulary dict |
| value_dim | uint32 | optional | id value dimensions, default = 0, when use in seq, default = 1 if value_dim = 0, it supports id with multi-value |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | fg default value, default value before bucktize |
| separator | string | optional | fg multi-value separator Default: |
| weighted | bool | optional | fg multi-value with whether has weight Default: false |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| zch | ZeroCollisionHash | optional | zero collision hash |
| vocab_file | string | optional | id vocabulary file path |
| asset_dir | string | optional | vocab file relative directory |
| dynamicemb | DynamicEmbedding | optional | dynamic embedding |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| default_bucketize_value | uint64 | optional | out-of-vocab(OOV) id bucketize value when use vocab_list or vocab_dict when use default_bucketize_value, we will not add additional bucketize_value of `default_value`=0, bucketize_value of <OOV>=1 into vocab_list or vocab_dict |
| fg_value_type | string | optional | value_type after fg before bucketize, you can specify it for better performance. e.g. fg_value_type = int64 when use num_buckets |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| key | string | optional | |
| value | uint64 | optional |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. kv_os_click_count |
| query | string | required | query, e.g. ["a:0.5", "b:0.5"] |
| document | string | required | document, e,g. ["d:0.5", "b:0.5"] |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| boundaries | float | repeated | boundaries for bucktize numeric expr value |
| separator | string | optional | fg multi-value separator Default: |
| kv_delimiter | float | optional | fg kv separator, default is :. |
| normalizer | string | optional | fg normalizer, e.g. method=log10,threshold=1e-10,default=-10 method=zscore,mean=0.0,standard_deviation=10.0 method=minmax,min=2.1,max=2.2 method=expression,expr=sign(x) |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | fg default value Default: 0 |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| autodis | AutoDisEmbedding | optional | autodis embedding |
| mlp | MLPEmbedding | optional | mlp embedding |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
LFU: evict_score = access_cnt
LRU: evict_score = 1 / pow((current_iter - last_access_iter), decay_exponent)
| Field | Type | Label | Description |
| decay_exponent | float | optional | decay rate is access step Default: 1 |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. kv_os_click_count |
| map | string | required | map input, e.g. item:kv_os_click_count |
| key | string | required | key input, e.g. user:os |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| boundaries | float | repeated | boundaries for bucktize numeric lookup value |
| hash_bucket_size | uint64 | optional | number of hash size for sparse lookup value |
| num_buckets | uint64 | optional | number of id enumerators for sparse lookup value |
| vocab_list | string | repeated | id vocabulary list for sparse lookup value |
| vocab_dict | LookupFeature.VocabDictEntry | repeated | id vocabulary dict |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| combiner | string | optional | lookup value combiner type, available is {sum | mean | min | max | count} Default: sum |
| default_value | string | optional | fg default value Default: 0 |
| separator | string | optional | fg multi-value separator Default: |
| need_discrete | bool | optional | lookup map value is sparse or numeric, when need_discrete is true, combiner will be empty string Default: false |
| need_key | bool | optional | lookup value need key as prefix or not. Default: false |
| normalizer | string | optional | fg normalizer, e.g. method=log10,threshold=1e-10,default=-10 method=zscore,mean=0.0,standard_deviation=10.0 method=minmax,min=2.1,max=2.2 method=expression,expr=sign(x) |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| value_dim | uint32 | optional | lookup value dimensions |
| value_separator | string | optional | numeric lookup value separator Default: , |
| use_mask | bool | optional | mask value in training progress |
| zch | ZeroCollisionHash | optional | zero collision hash |
| vocab_file | string | optional | id vocabulary file path |
| asset_dir | string | optional | vocab file relative directory |
| dynamicemb | DynamicEmbedding | optional | dynamic embedding |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| default_bucketize_value | uint64 | optional | out-of-vocab(OOV) id bucketize value when use vocab_list or vocab_dict when use default_bucketize_value, we will not add additional bucketize_value of `default_value`=0, bucketize_value of <OOV>=1 into vocab_list or vocab_dict |
| fg_value_type | string | optional | value_type after fg before bucketize, you can specify it for better performance. e.g. fg_value_type = int64 when use num_buckets |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| autodis | AutoDisEmbedding | optional | autodis embedding |
| mlp | MLPEmbedding | optional | mlp embedding |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| key | string | optional | |
| value | uint64 | optional |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. match_cate_brand_click_count |
| nested_map | string | required | nested map input, e.g. user:match_cate_brand_click_count |
| pkey | string | required | first layer (primary) key input, e.g. item:cate or ALL |
| skey | string | required | second layer (secondary) key input, e.g. item:brand or ALL |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| boundaries | float | repeated | boundaries for bucktize numeric match value |
| hash_bucket_size | uint64 | optional | number of hash size for sparse match value |
| num_buckets | uint64 | optional | number of id enumerators for sparse match value |
| vocab_list | string | repeated | id vocabulary list for sparse match value |
| vocab_dict | MatchFeature.VocabDictEntry | repeated | id vocabulary dict |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | match value combiner type, available is {sum | mean | min | max | count}
optional string combiner = 12 [default = "sum"];
fg default value Default: 0 |
| separator | string | optional | fg multi-value separator Default: |
| need_discrete | bool | optional | match map value is sparse or numeric, when need_discrete is true, combiner will be empty string Default: false |
| show_pkey | bool | optional | match value need pkey value as prefix or not. Default: false |
| show_skey | bool | optional | match value need skey valueas prefix or not. Default: false |
| normalizer | string | optional | fg normalizer, e.g. method=log10,threshold=1e-10,default=-10 method=zscore,mean=0.0,standard_deviation=10.0 method=minmax,min=2.1,max=2.2 method=expression,expr=sign(x) |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| value_dim | uint32 | optional | match value dimensions |
| use_mask | bool | optional | mask value in training progress |
| zch | ZeroCollisionHash | optional | zero collision hash |
| vocab_file | string | optional | id vocabulary file path |
| asset_dir | string | optional | vocab file relative directory |
| dynamicemb | DynamicEmbedding | optional | dynamic embedding |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| default_bucketize_value | uint64 | optional | out-of-vocab(OOV) id bucketize value when use vocab_list or vocab_dict when use default_bucketize_value, we will not add additional bucketize_value of `default_value`=0, bucketize_value of <OOV>=1 into vocab_list or vocab_dict |
| fg_value_type | string | optional | value_type after fg before bucketize, you can specify it for better performance. e.g. fg_value_type = int64 when use num_buckets |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| autodis | AutoDisEmbedding | optional | autodis embedding |
| mlp | MLPEmbedding | optional | mlp embedding |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| key | string | optional | |
| value | uint64 | optional |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. overlap_ratio |
| query | string | required | query input name, e.g. user:query |
| title | string | required | title input name, e,g. item:title |
| method | string | required | overlap calculate method, available is {query_common_ratio | title_common_ratio | is_contain | is_equal} |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| boundaries | float | repeated | boundaries for bucktize numeric expr value |
| normalizer | string | optional | fg normalizer, e.g. method=log10,threshold=1e-10,default=-10 method=zscore,mean=0.0,standard_deviation=10.0 method=minmax,min=2.1,max=2.2 method=expression,expr=sign(x) |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| separator | string | optional | fg default value optional string default_value = 11 [default = "0"]; fg multi-value separator Default: |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| autodis | AutoDisEmbedding | optional | autodis embedding |
| mlp | MLPEmbedding | optional | mlp embedding |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| sharding_types | string | repeated | embedding sharding type constraints data_parallel | table_wise | column_wise | row_wise | table_row_wise | table_column_wise | grid_shard |
| compute_kernels | string | repeated | embedding compute kernel constraints dense | fused | fused_uvm | fused_uvm_caching | key_value |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. click_count |
| expression | string | required | feature input, e.g. item:click_count |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | optional | embedding dimension |
| boundaries | float | repeated | boundaries for bucktize numeric feature |
| value_dim | uint32 | optional | raw feature of multiple dimensions Default: 1 |
| normalizer | string | optional | fg normalizer, e.g. method=log10,threshold=1e-10,default=-10 method=zscore,mean=0.0,standard_deviation=10.0 method=minmax,min=2.1,max=2.2 method=expression,expr=sign(x) |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | fg default value Default: 0 |
| separator | string | optional | fg multi-value separator Default: |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| autodis | AutoDisEmbedding | optional | autodis embedding |
| mlp | MLPEmbedding | optional | mlp embedding |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| Field | Type | Label | Description |
| id_feature | IdFeature | optional | |
| raw_feature | RawFeature | optional | |
| combo_feature | ComboFeature | optional | |
| lookup_feature | LookupFeature | optional | |
| match_feature | MatchFeature | optional | |
| expr_feature | ExprFeature | optional | |
| overlap_feature | OverlapFeature | optional | |
| tokenize_feature | TokenizeFeature | optional | |
| custom_feature | CustomFeature | optional | |
| kv_dot_product | KvDotProduct | optional | |
| bool_mask_feature | BoolMaskFeature | optional | |
| combine_feature | CombineFeature | optional |
| Field | Type | Label | Description |
| sequence_name | string | required | sequence name |
| sequence_length | uint32 | required | max sequence length, only take effect in fg |
| sequence_delim | string | required | sequence delimiter Default: ; |
| sequence_pk | string | optional | sequence primary key name for serving,
default will be user:{sequence_name} |
| features | SeqFeatureConfig | repeated | sub feature config |
| Field | Type | Label | Description |
| max_length | uint32 | optional | if text_length greater than max_length, will not do normalize |
| stop_char_file | string | optional | stop char file path, default will use built-in stop char |
| norm_options | TextNormalizeOption | repeated | text normalize options, default is TEXT_LOWER2UPPER & TEXT_SBC2DBC & TEXT_CHT2CHS & TEXT_FILTER |
| Field | Type | Label | Description |
| feature_name | string | required | feature name, e.g. title_token |
| expression | string | required | feature input, e.g. item:title |
| embedding_name | string | optional | embedding name, feature with same embedding name will share embedding |
| embedding_dim | uint32 | required | embedding dimension |
| text_normalizer | TextNormalizer | optional | text normalizer |
| vocab_file | string | required | tokenizer vocabulary file path |
| asset_dir | string | optional | vocab file relative directory |
| pooling | string | optional | embedding pooling type, available is {sum | mean} Default: sum |
| default_value | string | optional | fg default value, default value before bucktize |
| tokenizer_type | string | optional | tokenizer_type type, available is {bpe | sentencepiece} Default: bpe |
| init_fn | string | optional | embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| use_mask | bool | optional | mask value in training progress |
| fg_encoded_default_value | string | optional | default value when fg_mode = FG_NONE, when use pai-fg, you do not need to set the param. when use own fg and data contain null value, you can set the param for fill null |
| trainable | bool | optional | embedding param trainable or not Default: true |
| stub_type | bool | optional | only used as fg dag intermediate result or not Default: false |
| data_type | string | optional | embedding data type Default: FP32 |
| embedding_constraints | ParameterConstraints | optional | embedding param constraints |
| sequence_length | uint32 | optional | max sequence length, only take effect when use it as sequence |
| sequence_delim | string | optional | sequence delimiter, only take effect when use it as sequence Default: ; |
| sequence_fields | string | repeated | specify sequence type fields in inputs. default is item side inputs. |
| tokens_as_sequence | bool | optional | When true, treat the tokenized output of a single text as a sequence of tokens (each token is one sequence element, value_dim=1) so the feature can be fed into sequence_encoder modules (pooling_encoder, self_attention_encoder, etc.) via EmbeddingCollection instead of being pooled by EmbeddingBagCollection. This is distinct from the `sequence_tokenize_feature` oneof entry, which interprets the input as a `sequence_delim`-separated list of texts. Default: false |
| Field | Type | Label | Description |
| zch_size | uint64 | required | zero collision size |
| eviction_interval | uint32 | optional | evict interval steps Default: 5 |
| lfu | LFU_EvictionPolicy | optional | |
| lru | LRU_EvictionPolicy | optional | |
| distance_lfu | DistanceLFU_EvictionPolicy | optional | |
| threshold_filtering_func | string | optional | lambda function string used to filter incoming ids before update/eviction. experimental feature.
[input: Tensor] the function takes as input a 1-d tensor of unique id counts.
[output1: Tensor] the function returns a boolean_mask or index array of corresponding elements in the input tensor that pass the filter.
[output2: float, Tensor] the function returns the threshold that will be used to filter ids before update/eviction. all values <= this value will be filtered out. |
| Name | Number | Description |
| TEXT_LOWER2UPPER | 0 | lower case to upper case |
| TEXT_UPPER2LOWER | 1 | upper case to lower case |
| TEXT_SBC2DBC | 2 | sbc case to dbc case |
| TEXT_CHT2CHS | 3 | traditional chinese to simple chinese |
| TEXT_FILTER | 4 | filter speicial chars |
| TEXT_SPLITCHRS | 5 | chinese split to chars with blanks |
| TEXT_REMOVE_SPACE | 6 | remove space |
| Field | Type | Label | Description |
| label_smoothing | float | optional | Default: 0 |
| Field | Type | Label | Description |
| gamma | float | optional | Default: 2 |
| alpha | float | optional | Default: 0.5 |
| Field | Type | Label | Description |
| session_name | string | required | |
| alpha | float | optional | Default: 0.5 |
| Field | Type | Label | Description |
| binary_cross_entropy | BinaryCrossEntropy | optional | |
| softmax_cross_entropy | SoftmaxCrossEntropy | optional | |
| l2_loss | L2Loss | optional | |
| jrc_loss | JRCLoss | optional | |
| binary_focal_loss | BinaryFocalLoss | optional |
| Field | Type | Label | Description |
| label_smoothing | float | optional | Default: 0 |
| Field | Type | Label | Description |
| thresholds | uint32 | optional | Default: 200 |
| Field | Type | Label | Description |
| threshold | float | optional | probs threshold Default: 0.5 |
| top_k | uint32 | optional | top k accuracy when num_class > 1 Default: 1 |
| Field | Type | Label | Description |
| grouping_key | string | required |
| Field | Type | Label | Description |
| grouping_key | string | required | |
| max_pairs_per_group | uint64 | optional | Default: 100 |
| Field | Type | Label | Description |
| auc | AUC | optional | |
| multiclass_auc | MulticlassAUC | optional | |
| recall_at_k | RecallAtK | optional | |
| mean_absolute_error | MeanAbsoluteError | optional | |
| mean_squared_error | MeanSquaredError | optional | |
| accuracy | Accuracy | optional | |
| grouped_auc | GroupedAUC | optional | |
| xauc | XAUC | optional | |
| grouped_xauc | GroupedXAUC | optional | |
| normalized_entropy | NormalizedEntropy | optional |
| Field | Type | Label | Description |
| thresholds | uint32 | optional | Default: 200 |
| average | string | optional | macro: calculate score for each class and average them weighted: calculates score for each class and computes weighted average using their support Default: macro |
| Field | Type | Label | Description |
| eta | float | optional | small epsilon clamping the population mean label rate away from {0, 1}. Default: 1e-12 |
| Field | Type | Label | Description |
| top_k | uint32 | optional | Default: 5 |
| Field | Type | Label | Description |
| auc | AUC | optional | |
| recall_at_k | RecallAtK | optional | |
| mean_absolute_error | MeanAbsoluteError | optional | |
| mean_squared_error | MeanSquaredError | optional | |
| accuracy | Accuracy | optional | |
| xauc | XAUC | optional | |
| decay_rate | float | optional | metric decay rate Default: 0.9 |
| decay_step | uint32 | optional | train_config.log_step_count_steps can divide decay_steps evenly. Default: 100 |
| Field | Type | Label | Description |
| sample_ratio | float | optional | Default: 0.001 |
| max_pairs | uint64 | optional | |
| in_batch | bool | optional | Default: false |
| Field | Type | Label | Description |
| group_name | string | required | |
| feature_names | string | repeated | |
| group_type | FeatureGroupType | required | Default: DEEP |
| sequence_groups | SeqGroupConfig | repeated | |
| sequence_encoders | SeqEncoderConfig | repeated | |
| embedding_name_suffix | string | optional | Suffix appended to each feature's embedding_name so groups with different suffixes use independent embedding tables. Empty == disabled. |
| Field | Type | Label | Description |
| feature_groups | FeatureGroupConfig | repeated | |
| dlrm | DLRM | optional | |
| deepfm | DeepFM | optional | |
| multi_tower | MultiTower | optional | |
| multi_tower_din | MultiTowerDIN | optional | |
| mask_net | MaskNet | optional | |
| wide_and_deep | WideAndDeep | optional | |
| dcn_v1 | DCNV1 | optional | |
| dcn_v2 | DCNV2 | optional | |
| xdeepfm | xDeepFM | optional | |
| wukong | WuKong | optional | |
| simple_multi_task | SimpleMultiTask | optional | |
| mmoe | MMoE | optional | |
| dbmtl | DBMTL | optional | |
| ple | PLE | optional | |
| dc2vr | DC2VR | optional | |
| dlrm_hstu | DlrmHSTU | optional | |
| pepnet | PEPNet | optional | |
| ultra_hstu | UltraHSTU | optional | |
| dssm | DSSM | optional | |
| dssm_v2 | DSSMV2 | optional | |
| dat | DAT | optional | |
| hstu_match | HSTUMatch | optional | |
| mind | MIND | optional | |
| tdm | TDM | optional | |
| rocket_launching | RocketLaunching | optional | |
| num_class | uint32 | optional | Default: 1 |
| losses | LossConfig | repeated | |
| metrics | MetricConfig | repeated | |
| train_metrics | TrainMetricConfig | repeated | |
| variational_dropout | VariationalDropout | optional | |
| kernel | Kernel | optional | Default: PYTORCH |
| use_pareto_loss_weight | bool | optional | whether use pareto loss weight Default: false |
| Field | Type | Label | Description |
| group_name | string | optional | |
| feature_names | string | repeated | |
| embedding_name_suffix | string | optional | Suffix appended to each feature's embedding_name; same semantics as FeatureGroupConfig.embedding_name_suffix. Empty == disabled. |
| Name | Number | Description |
| DEEP | 0 | |
| WIDE | 1 | |
| SEQUENCE | 2 | |
| JAGGED_SEQUENCE | 3 |
| Name | Number | Description |
| TRITON | 0 | |
| PYTORCH | 1 | |
| CUTLASS | 2 |
| Field | Type | Label | Description |
| max_k | uint32 | optional | max number of high capsules Default: 5 Default: 5 |
| max_seq_len | uint32 | required | max behaviour sequence length |
| high_dim | uint32 | required | high capsule embedding vector dimension |
| num_iters | uint32 | optional | dynamic routing iterations, Default: 3 Default: 3 |
| routing_logits_scale | float | optional | routing logits scale Default: 20 Default: 20 |
| routing_logits_stddev | float | optional | routing logits initial stddev Default: 1 Default: 1 |
| squash_pow | float | optional | squash power Default: 1 Default: 1 |
| const_caps_num | bool | optional | whether to use constant capsule number, Default: false Default: false |
| routing_init_method | string | optional | the initialization method for routing logits, Default: normal, available: zeros. Default: normal |
| Field | Type | Label | Description |
| cin_layer_size | uint32 | repeated | every layer size |
| Field | Type | Label | Description |
| cross_num | uint32 | optional | number of cross layers Default: 3 |
| Field | Type | Label | Description |
| cross_num | uint32 | optional | number of cross layers Default: 3 |
| low_rank | uint32 | optional | Matrix decomposition with minimal rank. Default: 32 |
| Field | Type | Label | Description |
| network_name | string | required | |
| expert_num_per_task | uint32 | required | number of experts per task |
| share_num | uint32 | optional | number of experts for share |
| task_expert_net | MLP | required | mlp network of experts per task |
| share_expert_net | MLP | optional | mlp network of experts for share |
| Field | Type | Label | Description |
| simple_action_encoder | GRSimpleActionEncoder | optional |
| Field | Type | Label | Description |
| slice_content_encoder | GRSliceContentEncoder | optional | slice candidate dim to uih dim |
| pad_content_encoder | GRPadContentEncoder | optional | padding candidate dim to uih dim |
| mlp_content_encoder | GRMLPContentEncoder | optional | linear transform uih and candidate to same dim |
| Field | Type | Label | Description |
| action_encoder | GRActionEncoder | optional | action encoder config |
| enable_interleaving | bool | optional | enable interleave target or not Default: true |
| action_mlp | GRContextualizedMLP | optional | action embedding mlp config |
| content_encoder | GRContentEncoder | required | content encoder config |
| content_mlp | GRContextualizedMLP | required | content embedding mlp config |
| Field | Type | Label | Description |
| action_encoder | GRActionEncoder | optional | action encoder config |
| action_mlp | GRContextualizedMLP | optional | action embedding mlp config |
| content_encoder | GRContentEncoder | required | content encoder config |
| content_mlp | GRContextualizedMLP | required | content embedding mlp config |
| Field | Type | Label | Description |
| simple_mlp | GRSimpleContextualizedMLP | optional | mlp for sequence embedding |
| parameterized_mlp | GRParameterizedContextualizedMLP | optional | mlp for sequence and contextual embedding |
| Field | Type | Label | Description |
| contextual_preprocessor | GRContextualPreprocessor | optional | input preprocessor with contextual features |
| contextual_interleave_preprocessor | GRContextualInterleavePreprocessor | optional | input preprocessor with interleave targets |
| uih_preprocessor | GRUIHPreprocessor | optional | input preprocessor for sequence-only models (no candidate concat) |
| Field | Type | Label | Description |
| uih_mlp | MLP | required | mlp for uih seq embedding |
| target_mlp | MLP | required | mlp for candidate seq embedding |
| Field | Type | Label | Description |
| l2norm_postprocessor | GRL2NormPostprocessor | optional | l2 norm postprocessor |
| layernorm_postprocessor | GRLayerNormPostprocessor | optional | layer norm postprocessor |
| timestamp_layernorm_postprocessor | GRTimestampLayerNormPostprocessor | optional | timestamp layer norm postprocessor |
| Field | Type | Label | Description |
| hidden_dim | uint32 | required | mlp hidden dimension |
| contextual_dropout_ratio | float | optional | dropout ratio for contextual embedding Default: 0.3 |
| Field | Type | Label | Description |
| num_position_buckets | uint32 | required | buckets for position embedding |
| num_time_buckets | uint32 | optional | buckets for timestamp embedding |
| use_time_encoding | bool | optional | use timestamp encoding or not. Default: false |
| time_bucket_fn | string | optional | transform function for timestamp gap. sqrt | log Default: sqrt |
| time_bucket_increments | float | optional | timestamp gap will div by time_bucket_increments Default: 60 |
| Field | Type | Label | Description |
| action_embedding_dim | uint32 | optional | action embedding dim |
| action_weights | uint32 | repeated | bitmask of each action |
| watchtime_to_action_thresholds | uint32 | repeated | thresholds for watch time to actions |
| watchtime_to_action_weights | uint32 | repeated | bitmask for watch time to actions |
| embedding_init_std | float | optional | action embedding weights init std Default: 0.1 |
| Field | Type | Label | Description |
| hidden_dim | uint32 | required | mlp hidden dimension |
| Field | Type | Label | Description |
| time_duration_period_units | uint32 | repeated | time duration period units, e.g. 60 * 60 for hour of day. |
| time_duration_units_per_period | uint32 | repeated | time duration units per period, e.g. 24 for hour of day. |
| Field | Type | Label | Description |
| action_encoder | GRActionEncoder | optional | action encoder config (optional - for models with action info) |
| action_mlp | GRContextualizedMLP | optional | action embedding mlp config (required if action_encoder is set) |
| Field | Type | Label | Description |
| stu | STU | required | stu config |
| input_dropout_ratio | float | optional | dropout ratio after preprocessor Default: 0.2 |
| attn_num_layers | uint32 | optional | num stu layers Default: 3 |
| positional_encoder | GRPositionalEncoder | required | position encoder |
| input_preprocessor | GRInputPreprocessor | required | input preprocessor |
| output_postprocessor | GROutputPostprocessor | required | output postprocessor |
| attn_truncation_split_layer | uint32 | optional | Attention truncation: after this many full-sequence layers, drop UIH prefix tokens to keep only the last attn_truncation_tail_len per sample. Contextual prefix and targets survive. Must be in (0, attn_num_layers); 0 disables. |
| attn_truncation_tail_len | uint32 | optional | Trailing UIH cap; both fields must be > 0 to enable truncation. |
| name | string | optional | MoT channel name. When non-empty, replaces the default `uih` prefix on UIH-side keys read from grouped_features (e.g. name="uih_click" -> uih_click.sequence, uih_click_action.sequence, uih_click_watchtime.sequence, uih_click_timestamp.sequence). Empty preserves the original uih.* keys (DlrmHSTU behavior). Channels with the same `embedding_name` on a feature share the underlying embedding table via EmbeddingGroup dedupe; per-channel tables multiply sparse-param + TBE + all-to-all cost by N. |
| Field | Type | Label | Description |
| hidden_units | uint32 | repeated | hidden units for each layer |
| dropout_ratio | float | repeated | ratio of dropout |
| activation | string | optional | activation function Default: nn.ReLU |
| use_bn | bool | optional | use batch normalization Default: false |
| bias | bool | optional | use bias Default: true |
| use_ln | bool | optional | use layer normalization Default: false |
| Field | Type | Label | Description |
| reduction_ratio | float | optional | the ratio between aggregation dim and masked input dim Default: 1 |
| aggregation_dim | uint32 | optional | the dim of aggregation layer |
| hidden_dim | uint32 | required | the dim of hidden ffn layer |
| Field | Type | Label | Description |
| n_mask_blocks | uint32 | required | number of mask blocks |
| mask_block | MaskBlock | required | mask block |
| top_mlp | MLP | optional | mlp layer on top of mask blocks |
| use_parallel | bool | optional | use parallel or serial mask blocks Default: true |
| Field | Type | Label | Description |
| embedding_dim | uint32 | required | dimension of input embeddings |
| num_heads | uint32 | required | number of attention heads |
| hidden_dim | uint32 | required | dimension of hidden linear layers |
| attention_dim | uint32 | required | dimension of attention mechanism |
| output_dropout_ratio | float | optional | dropout probability for linear layers Default: 0.3 |
| max_attn_len | uint32 | optional | maximum length of attention window |
| attn_alpha | float | optional | alpha for mha attention |
| use_group_norm | bool | optional | use group normalization or layer normalization. Default: false |
| recompute_normed_x | bool | optional | whether to recompute normed_x in backward Default: true |
| recompute_uvqk | bool | optional | whether to recompute_uvqk in backward Default: true |
| recompute_y | bool | optional | whether to recompute y in backward Default: true |
| sort_by_length | bool | optional | whether to sort by sequence length when forwarding Default: true |
| contextual_seq_len | int32 | optional | sequence length of contextual feature. Sentinel: < 0 (default) = use input_preprocessor.contextual_seq_len(). Default: -1 |
| sla_k1 | uint32 | optional | Semi-Local Attention: local causal window size (0 = disabled) |
| sla_k2 | uint32 | optional | Semi-Local Attention: global prefix length (0 = disabled) |
| scaling_seqlen | int32 | optional | attention output scaling divisor (denominator of the SiLU(QK)/N term). Sentinel: < 0 (default) = use runtime max_seq_len. Default: -1 |
| Field | Type | Label | Description |
| regularization_lambda | float | optional | regularization coefficient lambda Default: 0.01 |
| embedding_wise_variational_dropout | bool | optional | variational_dropout dimension Default: false |
| Field | Type | Label | Description |
| lcb_feature_num | uint32 | required | LinearCompressBlock output feature num |
| fmb_feature_num | uint32 | required | FactorizationMachineBlock output feature num |
| compressed_feature_num | uint32 | optional | number of compressed features in optimized FM. Default: 16 |
| feature_num_mlp | MLP | required | feature num mlp |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| rho | float | optional | Default: 0.95 |
| eps | float | optional | Default: 1e-06 |
| weight_decay | float | optional | Default: 0 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| weight_decay | float | optional | Default: 0 |
| initial_accumulator_value | float | optional | Default: 0 |
| eps | float | optional | Default: 1e-10 |
| fused | bool | optional | Default: false |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| beta1 | float | optional | Default: 0.9 |
| beta2 | float | optional | Default: 0.999 |
| weight_decay | float | optional | Default: 0 |
| eps | float | optional | Default: 1e-08 |
| amsgrad | bool | optional | Default: false |
| fused | bool | optional | Default: false |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| beta1 | float | optional | Default: 0.9 |
| beta2 | float | optional | Default: 0.999 |
| weight_decay | float | optional | Default: 0 |
| eps | float | optional | Default: 1e-08 |
| amsgrad | bool | optional | Default: false |
| fused | bool | optional | Default: false |
| Field | Type | Label | Description |
| T_max | uint32 | optional | total number of steps or epochs for cosine annealing |
| min_learning_rate | float | optional | minimum learning rate Default: 0 |
| warmup_learning_rate | float | optional | warmup start learning rate Default: 0 |
| warmup_size | uint32 | optional | warmup steps or epochs Default: 0 |
| by_epoch | bool | optional | schedule by epoch or by step. Default: false |
| Field | Type | Label | Description |
| T_0 | uint32 | optional | number of steps or epochs for the first cosine annealing period |
| T_mult | uint32 | optional | factor to grow period length after each restart (1 = fixed period) Default: 1 |
| min_learning_rate | float | optional | minimum learning rate Default: 0 |
| warmup_learning_rate | float | optional | warmup start learning rate Default: 0 |
| warmup_size | uint32 | optional | warmup steps or epochs Default: 0 |
| by_epoch | bool | optional | schedule by epoch or by step. Default: false |
| Field | Type | Label | Description |
| sgd_optimizer | SGDOptimizer | optional | |
| adagrad_optimizer | AdagradOptimizer | optional | |
| adam_optimizer | AdamOptimizer | optional | |
| adamw_optimizer | AdamWOptimizer | optional | |
| adadelta_optimizer | AdadeltaOptimizer | optional | |
| rmsprop_optimizer | RMSpropOptimizer | optional | |
| constant_learning_rate | ConstantLR | optional | |
| exponential_decay_learning_rate | ExponentialDecayLR | optional | |
| manual_step_learning_rate | ManualStepLR | optional | |
| cosine_annealing_learning_rate | CosineAnnealingLR | optional | |
| cosine_annealing_warm_restarts_learning_rate | CosineAnnealingWarmRestartsLR | optional | |
| part_optimizers | PartOptimizer | repeated |
| Field | Type | Label | Description |
| decay_size | uint32 | optional | decay steps or epochs |
| decay_factor | float | optional | decay rate Default: 0.95 |
| staircase | bool | optional | if true, decay the learning rate at discrete intervals Default: true |
| warmup_learning_rate | float | optional | warmup start learning rate Default: 0 |
| warmup_size | uint32 | optional | warmup steps or epochs Default: 0 |
| min_learning_rate | float | optional | minimum learning rate Default: 0 |
| by_epoch | bool | optional | schedule by epoch or by step. Default: false |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| rho | float | optional | Default: 0.95 |
| eps | float | optional | Default: 1e-06 |
| weight_decay | float | optional | Default: 0 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| initial_accumulator_value | float | optional | Default: 0 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| beta1 | float | optional | Default: 0.9 |
| beta2 | float | optional | Default: 0.999 |
| weight_decay | float | optional | Default: 0 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| beta1 | float | optional | Default: 0.9 |
| beta2 | float | optional | Default: 0.999 |
| weight_decay | float | optional | Default: 0 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| momentum | float | optional | Default: 0.9 |
| weight_decay | float | optional | Default: 0 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| beta1 | float | optional | Default: 0.9 |
| beta2 | float | optional | Default: 0.999 |
| weight_decay | float | optional | Default: 0 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| beta1 | float | optional | Default: 0.9 |
| beta2 | float | optional | Default: 0.999 |
| weight_decay | float | optional | Default: 0 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| alpha | float | optional | Default: 0.99 |
| eps | float | optional | Default: 1e-08 |
| weight_decay | float | optional | Default: 0 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| weight_decay | float | optional | Default: 0 |
| weight_decay_mode | WeightDecayMode | optional | Default: NONE |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| gradient_clipping | bool | optional | Default: false |
| max_gradient | float | optional | Default: 1 |
| Field | Type | Label | Description |
| schedule_sizes | uint32 | repeated | a list of global steps or epochs at which to switch learning |
| learning_rates | float | repeated | a list of learning rates corresponding to intervals |
| warmup | bool | optional | Whether to linearly interpolate learning rates for steps in [0, schedule_steps[0]]. Default: false |
| by_epoch | bool | optional | schedule by epoch or by step. Default: false |
| Field | Type | Label | Description |
| sgd_optimizer | SGDOptimizer | optional | |
| adagrad_optimizer | AdagradOptimizer | optional | |
| adam_optimizer | AdamOptimizer | optional | |
| adamw_optimizer | AdamWOptimizer | optional | |
| adadelta_optimizer | AdadeltaOptimizer | optional | |
| rmsprop_optimizer | RMSpropOptimizer | optional | |
| regex_pattern | string | required | |
| constant_learning_rate | ConstantLR | optional | |
| exponential_decay_learning_rate | ExponentialDecayLR | optional | |
| manual_step_learning_rate | ManualStepLR | optional | |
| cosine_annealing_learning_rate | CosineAnnealingLR | optional | |
| cosine_annealing_warm_restarts_learning_rate | CosineAnnealingWarmRestartsLR | optional |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| alpha | float | optional | Default: 0.99 |
| eps | float | optional | Default: 1e-08 |
| weight_decay | float | optional | Default: 0 |
| Field | Type | Label | Description |
| lr | float | required | Default: 0.002 |
| momentum | float | optional | Default: 0.9 |
| weight_decay | float | optional | Default: 0 |
| dampening | float | optional | Default: 0 |
| nesterov | bool | optional | Default: false |
| fused | bool | optional | Default: false |
| Field | Type | Label | Description |
| sgd_optimizer | FusedSGDOptimizer | optional | |
| adagrad_optimizer | FusedAdagradOptimizer | optional | |
| adam_optimizer | FusedAdamOptimizer | optional | |
| lars_sgd_optimizer | FusedLarsSGDOptimizer | optional | |
| lamb_optimizer | FusedLAMBOptimizer | optional | |
| partial_rowwise_lamb_optimizer | FusedPartialRowWiseLAMBOptimizer | optional | |
| partial_rowwise_adam_optimizer | FusedPartialRowWiseAdamOptimizer | optional | |
| rowwise_adagrad_optimizer | FusedRowWiseAdagradOptimizer | optional | |
| adadelta_optimizer | FusedAdadeltaOptimizer | optional | |
| rmsprop_optimizer | FusedRMSpropOptimizer | optional | |
| constant_learning_rate | ConstantLR | optional | |
| exponential_decay_learning_rate | ExponentialDecayLR | optional | |
| manual_step_learning_rate | ManualStepLR | optional | |
| cosine_annealing_learning_rate | CosineAnnealingLR | optional | |
| cosine_annealing_warm_restarts_learning_rate | CosineAnnealingWarmRestartsLR | optional |
| Name | Number | Description |
| NONE | 0 | |
| L2 | 1 | |
| DECOUPLE | 2 |
| Field | Type | Label | Description |
| train_input_path | string | required | |
| eval_input_path | string | required | |
| model_dir | string | required | |
| train_config | TrainConfig | optional | |
| eval_config | EvalConfig | optional | |
| export_config | ExportConfig | optional | |
| data_config | DataConfig | optional | |
| feature_configs | FeatureConfig | repeated | |
| model_config | ModelConfig | optional |
Weighted Random Sampling ItemID not in Batch and Sampling Hard Edge
| Field | Type | Label | Description |
| user_input_path | string | required | user data path schema => userid:int64 | weight:float |
| item_input_path | string | required | item data path schema => itemid:int64 | weight:float | attrs:string |
| hard_neg_edge_input_path | string | required | hard negative edge path schema => userid:int64 | itemid:int64 | weight:float |
| num_sample | uint32 | required | number of negative sample |
| num_hard_sample | uint32 | required | max number of hard negative sample |
| attr_fields | string | repeated | field names of attrs in train data or eval data |
| item_id_field | string | required | field name of item_id in train data or eval data |
| user_id_field | string | required | field name of user_id in train data or eval data |
| attr_delimiter | string | optional | attribute delimiter of attrs string Default: : |
| num_eval_sample | uint32 | optional | number of negative samples for evaluator Default: 0 |
| field_delimiter | string | optional | only works on local |
Weighted Random Sampling ItemID not with Edge and Sampling Hard Edge
| Field | Type | Label | Description |
| user_input_path | string | required | user data path schema => userid:int64 | weight:float |
| item_input_path | string | required | item data path schema => itemid:int64 | weight:float | attrs:string |
| pos_edge_input_path | string | required | positive edge path schema => userid:int64 | itemid:int64 | weight:float |
| hard_neg_edge_input_path | string | required | hard negative edge path schema => userid:int64 | itemid:int64 | weight:float |
| num_sample | uint32 | required | number of negative sample |
| num_hard_sample | uint32 | required | max number of hard negative sample |
| attr_fields | string | repeated | field names of attrs in train data or eval data |
| item_id_field | string | required | field name of item_id in train data or eval data |
| user_id_field | string | required | field name of user_id in train data or eval data |
| attr_delimiter | string | optional | attribute delimiter of attrs string Default: : |
| num_eval_sample | uint32 | optional | number of negative samples for evaluator Default: 0 |
| field_delimiter | string | optional | field delimiter of input data |
Weighted Random Sampling ItemID not in Batch
| Field | Type | Label | Description |
| input_path | string | required | sample data path schema => id:int64 | weight:float | attrs:string |
| num_sample | uint32 | required | number of negative sample |
| attr_fields | string | repeated | field names of attrs in train data or eval data |
| item_id_field | string | required | field name of item_id in train data or eval data |
| attr_delimiter | string | optional | attribute delimiter of attrs string Default: : |
| num_eval_sample | uint32 | optional | number of negative samples for evaluator Default: 0 |
| field_delimiter | string | optional | field delimiter of input data |
| item_id_delim | string | optional | item id delimiter Default: ; |
Weighted Random Sampling ItemID not with Edge
| Field | Type | Label | Description |
| user_input_path | string | required | user data path schema => userid:int64 | weight:float |
| item_input_path | string | required | item data path schema => itemid:int64 | weight:float | attrs:string |
| pos_edge_input_path | string | required | positive edge path schema => userid:int64 | itemid:int64 | weight:float |
| num_sample | uint32 | required | number of negative sample |
| attr_fields | string | repeated | field names of attrs in train data or eval data |
| item_id_field | string | required | field name of item_id in train data or eval data |
| user_id_field | string | required | field name of user_id in train data or eval data |
| attr_delimiter | string | optional | attribute delimiter of attrs string Default: : |
| num_eval_sample | uint32 | optional | number of negative samples for evaluator Default: 0 |
| field_delimiter | string | optional | field delimiter of input data |
| Field | Type | Label | Description |
| item_input_path | string | required | schema => itemid:int64 | weight:float | attrs:string |
| edge_input_path | string | required | scheme => src_id:int64 | dst_id:int64 | weight:float edge for train. |
| predict_edge_input_path | string | required | scheme => src_id:int64 | dst_id:int64 | weight:float edge for retrieval beam search. |
| attr_fields | string | repeated | field names of attrs in train data or eval data |
| item_id_field | string | required | field name of item_id in train data or eval data |
| layer_num_sample | uint32 | repeated | the number of negative samples per layer |
| attr_delimiter | string | optional | attribute delimiter of attrs string Default: : |
| num_eval_sample | uint32 | optional | number of negative samples for evaluator Default: 0 |
| field_delimiter | string | optional | field delimiter of input data |
| remain_ratio | float | optional | The training process only trains a randomly selected proportion of nodes in the middle layers of the tree Default: 1 |
| probability_type | string | optional | The type of probability for selecting and retaining each layer in the middle layers of the tree Default: UNIFORM |
| Field | Type | Label | Description |
| name | string | optional | seq encoder name |
| input | string | required | sequence feature name |
| attn_mlp | MLP | required | mlp config for target attention score |
| max_seq_length | int32 | optional | maximum sequence length Default: 0 |
| Field | Type | Label | Description |
| name | string | optional | seq encoder name |
| input | string | required | sequence feature name |
| attn_mlp | MLP | required | time windows len |
| windows_len | uint32 | repeated | mlp config for target attention score |
| Field | Type | Label | Description |
| name | string | optional | seq encoder name |
| input | string | required | sequence feature name |
| pooling_type | string | optional | pooling type, sum or mean Default: mean |
| max_seq_length | int32 | optional | maximum sequence length Default: 0 |
| Field | Type | Label | Description |
| name | string | optional | seq encoder name |
| input | string | required | sequence feature name |
| multihead_attn_dim | int32 | optional | multihead_attn_dim must be divisible by num_heads Default: 512 |
| num_heads | int32 | optional | self attention num heads Default: 8 |
| dropout | float | optional | dropout for attn_output_weights Default: 0 |
| max_seq_length | int32 | optional | maximum sequence length Default: 0 |
| Field | Type | Label | Description |
| din_encoder | DINEncoder | optional | |
| simple_attention | SimpleAttention | optional | |
| pooling_encoder | PoolingEncoder | optional | |
| multi_window_din_encoder | MultiWindowDINEncoder | optional | |
| self_attention_encoder | SelfAttentionEncoder | optional |
| Field | Type | Label | Description |
| name | string | optional | seq encoder name |
| input | string | required | sequence feature name |
| max_seq_length | int32 | optional | maximum sequence length Default: 0 |
| Name | Number | Description |
| COSINE | 0 | |
| INNER_PRODUCT | 1 | |
| EUCLID | 2 |
| Field | Type | Label | Description |
| tower_name | string | required | task name for the task tower |
| label_name | string | optional | label for the task, default is label_fields by order |
| metrics | MetricConfig | repeated | metrics for the task |
| train_metrics | TrainMetricConfig | repeated | log train merics for task |
| losses | LossConfig | repeated | loss for the task |
| num_class | uint32 | optional | num_class for multi-class classification loss Default: 1 |
| mlp | MLP | optional | task specific mlp |
| weight | float | optional | training loss weights Default: 1 |
| relation_tower_names | string | repeated | related tower names |
| relation_mlp | MLP | optional | relation mlp |
| sample_weight_name | string | optional | sample weight for the task |
| task_space_indicator_label | string | optional | label name for indicating the sample space for the task tower |
| in_task_space_weight | float | optional | the loss weight for sample in the task space Default: 1 |
| out_task_space_weight | float | optional | the loss weight for sample out the task space Default: 1 |
| pareto_min_loss_weight | float | optional | use pareto front minimal loss weight, ge 0 and lt 1 Default: 0 |
| Field | Type | Label | Description |
| input | string | required | input feature group name |
| augment_input | string | required | augmented feature group name |
| mlp | MLP | required | mlp config |
| Field | Type | Label | Description |
| input | string | required | input feature group name |
| attn_mlp | MLP | required | mlp config for target attention score |
| Field | Type | Label | Description |
| mlp | MLP | optional | task tower mlp |
| task_configs | FusionSubTaskConfig | repeated | sub task configs |
| Field | Type | Label | Description |
| task_name | string | required | task name for the task |
| label_name | string | required | label for the task |
| task_bitmask | uint64 | optional | bitmask for get actual label for binary classification task |
| losses | LossConfig | repeated | loss for the task |
| num_class | uint32 | optional | support multi-class classification loss Default: 1 |
| metrics | MetricConfig | repeated | metrics for the task |
| weight | float | optional | training loss weight for the task Default: 1 |
| train_metrics | TrainMetricConfig | repeated | log train merics for task |
| Field | Type | Label | Description |
| input | string | required | input feature group name (uih group) |
| hstu | HSTU | required | HSTU config (STU, positional_encoder, input_preprocessor, output_postprocessor) |
| max_seq_len | uint32 | required | max sequence length |
| Field | Type | Label | Description |
| tower_name | string | required | task name for the task tower |
| label_name | string | optional | label for the task, default is label_fields by order |
| metrics | MetricConfig | repeated | metrics for the task |
| train_metrics | TrainMetricConfig | repeated | log train merics for task |
| losses | LossConfig | repeated | loss for the task |
| num_class | uint32 | optional | num_class for multi-class classification loss Default: 1 |
| mlp | MLP | optional | task specific mlp |
| weight | float | optional | training loss weights Default: 1 |
| intervention_tower_names | string | repeated | intervention tower names |
| low_rank_dim | uint32 | required | low_rank_dim |
| dropout_ratio | float | optional | dropout_ratio Default: 0.1 |
| task_space_indicator_label | string | optional | label name for indicating the sample space for the task tower |
| in_task_space_weight | float | optional | the loss weight for sample in the task space Default: 1 |
| out_task_space_weight | float | optional | the loss weight for sample out the task space Default: 1 |
| pareto_min_loss_weight | float | optional | use pareto front minimal loss weight, ge 0 and lt 1 Default: 0 |
| Field | Type | Label | Description |
| input | string | required | user feature group name |
| history_input | string | required | user history group name |
| user_mlp | MLP | required | |
| hist_seq_mlp | MLP | optional | |
| user_seq_combine | MINDUserTower.UserSeqCombineMethod | optional | Default: SUM |
| capsule_config | B2ICapsule | required | capsule config |
| concat_mlp | MLP | required | concat mlp config for user interests vector |
| Field | Type | Label | Description |
| windows_len | uint32 | repeated | time windows len |
| attn_mlp | MLP | required | mlp config for target attention score |
| Field | Type | Label | Description |
| tower_name | string | required | task name for the task tower |
| label_name | string | required | label for the task |
| metrics | MetricConfig | repeated | metrics for the task |
| train_metrics | TrainMetricConfig | repeated | log train merics for task |
| losses | LossConfig | repeated | loss for the task |
| num_class | uint32 | optional | num_class for multi-class classification loss Default: 1 |
| mlp | MLP | optional | task specific mlp |
| weight | float | optional | training loss weights Default: 1 |
| sample_weight_name | string | optional | sample weight for the task |
| task_space_indicator_label | string | optional | label name for indicating the sample space for the task tower |
| in_task_space_weight | float | optional | the loss weight for sample in the task space Default: 1 |
| out_task_space_weight | float | optional | the loss weight for sample out the task space Default: 1 |
| pareto_min_loss_weight | float | optional | use pareto front minimal loss weight, ge 0 and lt 1 Default: 0 |
| Field | Type | Label | Description |
| input | string | required | input feature group name |
| mlp | MLP | optional | mlp config (optional; when unset the tower applies no projection) |
| Name | Number | Description |
| CONCAT | 0 | |
| SUM | 1 |
| Field | Type | Label | Description |
| clipping_type | string | optional | Clipping type: "norm", "value", or "none" Default: none |
| max_gradient | float | optional | Max gradient value/norm threshold Default: 1 |
| norm_type | float | optional | Norm type for gradient norm clipping (2.0 for L2, inf for max) Default: 2 |
| enable_global_grad_clip | bool | optional | Enable global gradient clipping for distributed training Default: false |
| Field | Type | Label | Description |
| init_scale | float | optional | Initial scale factor Default: 65536 |
| growth_factor | float | optional | Factor by which the scale is multiplied during update if no inf/NaN gradients occur for ``growth_interval`` consecutive iterations. Default: 2 |
| backoff_factor | float | optional | Factor by which the scale is multiplied during update if inf/NaN gradients occur in an iteration. Default: 0.5 |
| growth_interval | uint32 | optional | Number of consecutive iterations without inf/NaN gradients that must occur for the scale to be multiplied by ``growth_factor``. Default: 2000 |
| Field | Type | Label | Description |
| sparse_optimizer | SparseOptimizer | required | embedding part optimizer |
| dense_optimizer | DenseOptimizer | required | dense part optimizer |
| num_steps | uint32 | optional | number of steps to train models |
| num_epochs | uint32 | optional | number of epochs to train models |
| save_checkpoints_steps | uint32 | optional | step interval for saving checkpoint Default: 1000 |
| fine_tune_checkpoint | string | optional | checkpoint to restore parameters from |
| fine_tune_ckpt_param_map | string | optional | checkpoint to restore parameters mapping, each line is {param name in current model}\\t{param name in old ckpt} |
| log_step_count_steps | uint32 | optional | the frequency the loss and lr will be logged during training Default: 100 |
| is_profiling | bool | optional | profiling or not Default: false |
| use_tensorboard | bool | optional | use tensorboard or not. Default: true |
| save_checkpoints_epochs | uint32 | optional | epoch interval for saving checkpoint |
| tensorboard_summaries | string | repeated | the summaries to be saved in tensorboard, activated only when use_tensorboard=true, possible values are: "loss", "learning_rate", "parameter", "global_gradient_norm", "gradient_norm", "gradient" default values are ["loss", "learning_rate"] |
| cudnn_allow_tf32 | bool | optional | where to use torch.backends.cudnn.allow_tf32 Default: true |
| cuda_matmul_allow_tf32 | bool | optional | where to use torch.backends.cuda.matmul.allow_tf32 Default: false |
| global_embedding_constraints | ParameterConstraints | optional | global embedding param constraints |
| mixed_precision | string | optional | mixed precision dtype. |
| grad_scaler | GradScaler | optional | grad_scaler dynamically estimates the scale factor each iteration. |
| gradient_accumulation_steps | uint32 | optional | gradient accumulation steps |
| grad_clipping | GradClipping | optional | dense gradient clipping config |
| keep_checkpoint_max | uint32 | optional | maximum number of recent checkpoints to keep; 0 keeps all. TBD: qcomm config Default: 0 |
| Field | Type | Label | Description |
| share_mlp | MLP | optional | |
| booster_mlp | MLP | required | |
| light_mlp | MLP | required | |
| feature_based_distillation | bool | optional | Default: false |
| feature_distillation_function | Similarity | optional | COSINE = 0; EUCLID = 1; Default: COSINE |
| Field | Type | Label | Description |
| user_tower | DATTower | required | |
| item_tower | DATTower | required | |
| output_dim | int32 | required | user and item tower output dimension |
| similarity | Similarity | optional | similarity method Default: INNER_PRODUCT |
| temperature | float | optional | similarity scaling factor Default: 1 |
| in_batch_negative | bool | optional | use in batch items as negative items. Default: false |
| amm_i_weight | float | required | loss weight for amm_i Default: 0.5 |
| amm_u_weight | float | required | loss weight for amm_u Default: 0.5 |
| Field | Type | Label | Description |
| user_tower | Tower | required | |
| item_tower | Tower | required | |
| output_dim | int32 | required | user and item tower output dimension |
| similarity | Similarity | optional | similarity method Default: INNER_PRODUCT |
| temperature | float | optional | similarity scaling factor Default: 1 |
| in_batch_negative | bool | optional | use in batch items as negative items. Default: false |
| Field | Type | Label | Description |
| user_tower | Tower | required | |
| item_tower | Tower | required | |
| output_dim | int32 | required | user and item tower output dimension |
| similarity | Similarity | optional | similarity method Default: INNER_PRODUCT |
| temperature | float | optional | similarity scaling factor Default: 1 |
| in_batch_negative | bool | optional | use in batch items as negative items. Default: false |
| Field | Type | Label | Description |
| user_tower | HSTUUserTower | required | |
| item_tower | Tower | required | |
| output_dim | int32 | optional | user and item tower output dimension; when 0 (default), no output Linear is applied -- the caller must size the user tower's STU output and the item tower's MLP output to match. Default: 0 |
| similarity | Similarity | optional | similarity method Default: INNER_PRODUCT |
| temperature | float | optional | similarity scaling factor Default: 1 |
| in_batch_negative | bool | optional | use in batch items as negative items. Default: false |
| Field | Type | Label | Description |
| user_tower | MINDUserTower | required | |
| item_tower | Tower | required | |
| simi_pow | float | optional | Default: 10 |
| similarity | Similarity | optional | Default: COSINE |
| in_batch_negative | bool | optional | Default: false |
| temperature | float | optional | Default: 1 |
| output_dim | int32 | required |
| Field | Type | Label | Description |
| multiwindow_din | MultiWindowDINTower | required | |
| final | MLP | required |
| Field | Type | Label | Description |
| mask_net | MaskNetModule | optional | shared bottom MaskNet module |
| bottom_mlp | MLP | optional | shared bottom mlp layer |
| expert_mlp | MLP | optional | mmoe expert mlp layer definition |
| gate_mlp | MLP | optional | mmoe gate module definition |
| num_expert | uint32 | optional | number of mmoe experts Default: 3 |
| task_towers | BayesTaskTower | repeated | bayes task tower |
| Field | Type | Label | Description |
| bottom_mlp | MLP | optional | shared bottom mlp layer |
| expert_mlp | MLP | optional | mmoe expert mlp layer definition |
| gate_mlp | MLP | optional | mmoe gate module definition |
| num_expert | uint32 | optional | number of mmoe experts Default: 3 |
| task_towers | InterventionTaskTower | repeated | task tower |
| Field | Type | Label | Description |
| hstu | HSTU | required | hstu config |
| fusion_mtl_tower | FusionMTLTower | required | multi task tower config |
| max_seq_len | uint32 | required | max sequence length |
| item_embedding_hidden_dim | uint32 | optional | item embedding mlp hidden dimension Default: 512 |
| enable_global_average_loss | bool | optional | enables loss averaging computation globally across all ranks (total rank) instead of locally (local rank). Default: true |
| sequence_timestamp_is_ascending | bool | optional | timestamp of sequence is ascending or descending Default: true |
| concat_contextual_features | bool | optional | concat all contextual features on channel dim as one token Default: false |
| Field | Type | Label | Description |
| expert_mlp | MLP | required | mmoe expert module definition |
| gate_mlp | MLP | optional | mmoe gate module definition |
| num_expert | uint32 | required | number of mmoe experts Default: 3 |
| task_towers | TaskTower | repeated | task tower |
| Field | Type | Label | Description |
| epnet_hidden_unit | uint32 | optional | epnet hidden units |
| epnet_gamma | float | optional | activation function for epnet Default: 2 |
| ppnet_hidden_units | uint32 | repeated | ppnet hidden units |
| ppnet_activation | string | optional | activation function for ppnet Default: nn.ReLU |
| ppnet_dropout_ratio | float | repeated | ratio of dropout |
| ppnet_gamma | float | optional | Default: 2 |
| domain_input_name | string | optional | domain feature name, must is num bucket |
| task_domain_num | uint32 | optional | domain number for each task Default: 1 |
| task_towers | TaskTower | repeated | task tower |
| Field | Type | Label | Description |
| extraction_networks | ExtractionNetwork | repeated | extraction network |
| task_towers | TaskTower | repeated | task tower |
| Field | Type | Label | Description |
| task_towers | TaskTower | repeated |
| Field | Type | Label | Description |
| hstu | HSTU | repeated | Mixture of Transducers: one HSTU per channel; per-candidate outputs are concatenated on the embedding dim. >= 2 entries requires every entry to set a unique non-empty `name` plus the matching `<name>` / `<name>_action` / `<name>_watchtime` / `<name>_timestamp` feature_groups. Candidate-side and contextual groups are shared across all channels. |
| fusion_mtl_tower | FusionMTLTower | required | multi task tower config |
| max_seq_len | uint32 | required | max sequence length |
| item_embedding_hidden_dim | uint32 | optional | item embedding mlp hidden dimension Default: 512 |
| enable_global_average_loss | bool | optional | enables loss averaging computation globally across all ranks (total rank) instead of locally (local rank). Default: true |
| sequence_timestamp_is_ascending | bool | optional | timestamp of sequence is ascending or descending Default: true |
| concat_contextual_features | bool | optional | concat all contextual features on channel dim as one token Default: false |
| Field | Type | Label | Description |
| cross | Cross | required | |
| deep | MLP | required | |
| final | MLP | required |
| Field | Type | Label | Description |
| backbone | MLP | optional | |
| cross | CrossV2 | required | |
| deep | MLP | optional | |
| final | MLP | required |
| Field | Type | Label | Description |
| dense_mlp | MLP | optional | if has dense feature group,must has dense_mlp |
| arch_with_sparse | bool | optional | whether to include sparse features after interaction Default: true |
| final | MLP | required |
| Field | Type | Label | Description |
| deep | MLP | required | |
| final | MLP | optional | |
| wide_embedding_dim | uint32 | optional | Default: 4 |
| wide_init_fn | string | optional | wide embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| Field | Type | Label | Description |
| mask_net_module | MaskNetModule | required |
| Field | Type | Label | Description |
| towers | Tower | repeated | |
| final | MLP | required |
| Field | Type | Label | Description |
| towers | Tower | repeated | |
| din_towers | DINTower | repeated | |
| final | MLP | required |
| Field | Type | Label | Description |
| deep | MLP | required | |
| final | MLP | optional | |
| wide_embedding_dim | uint32 | optional | Default: 4 |
| wide_init_fn | string | optional | wide embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| Field | Type | Label | Description |
| dense_mlp | MLP | optional | |
| wukong_layers | WuKongLayer | repeated | |
| final | MLP | required |
| Field | Type | Label | Description |
| cin | CIN | required | |
| deep | MLP | required | |
| final | MLP | required | |
| wide_embedding_dim | uint32 | optional | Default: 16 |
| wide_init_fn | string | optional | wide embedding init function, e.g. "nn.init.uniform_,a=-0.01,b=0.01" |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | float | float | Float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |