API создания обученных моделей
Создаёт обученную модель.
Модели, созданные в версии 7.8.0, не совместимы со старыми версиями узлов. Если у вас смешанная кластерная среда, все узлы должны быть как минимум версии 7.8.0, чтобы использовать модель, сохранённую узлом версии 7.8.0.
Запрос
PUT _ml/trained_models/<model_id>
Предварительные условия
Требуется привилегия кластера manage_ml. Эта привилегия включена в встроенную роль machine_learning_admin.
Описание
API создания обученной модели позволяет вам предоставить обученную модель, которая не была создана с помощью анализа данных фреймов.
Параметры пути
-
<model_id> - (Обязательный, строка) Уникальный идентификатор обученной модели.
Параметры запроса
-
defer_definition_decompression - (Необязательный, булево) Если установлено в значение
trueи предоставленcompressed_definition, запрос откладывает декомпрессию определения и пропускает соответствующие проверки. Это отсрочка полезна для систем или пользователей, которые знают хорошую оценку размера байтов для своей модели и знают, что их модель валидна и, вероятно, не потерпит неудачу во время вывода. -
wait_for_completion - (Необязательный, булево) Следует ли ожидать завершения всех дочерних операций, таких как загрузка модели, прежде чем возвращать результат или нет. По умолчанию значение
false.
Тело запроса
-
compressed_definition - (Обязательный, строка) Сжатое (сжатое с помощью GZip и закодированное в Base64) определение вывода модели. Если указан
compressed_definition, тоdefinitionнельзя указать.
-
definition -
(Обязательный, объект) Определение вывода для модели. Если указан
definition, тоcompressed_definitionнельзя указать.Свойства
definition-
preprocessors -
(Необязательный, объект) Коллекция предобработчиков. См. Примеры предобработчиков.
Свойства
preprocessors-
frequency_encoding -
(Обязательный, объект) Определяет кодирование частотности для поля.
Свойства
frequency_encoding-
feature_name - (Обязательный, строка) Имя результирующего признака.
-
field - (Обязательный, строка) Имя поля для кодирования.
-
frequency_map - (Обязательный, карта объектов типа строка:число с плавающей точкой) Объект, отображающий значение поля на кодированное по частоте значение.
-
custom - (Необязательный, Булево) Булево значение, указывающее, создала ли задача анализа предобработчик или предоставил его пользователь. Это корректирует расчёт важности признаков. Когда
true, расчёт важности признаков возвращает важность для обработанного признака. Когдаfalse, возвращается общая важность исходного поля. Значение по умолчанию -false.
-
-
-
-
trained_model -
(Обязательно, объект) Определение обученной модели.
Свойства
trained_model-
tree -
(Обязательно, объект) Определение бинарного дерева решений.
Свойства
tree-
classification_labels - (Необязательно, строка) Массив меток классификации (используется для
classification). -
feature_names - (Обязательно, строка) Ожидаемые признаки дерева в ожидаемом порядке.
-
target_type - (Обязательно, строка) Строка, указывающая тип целевого значения модели;
regressionилиclassification. -
tree_structure - (Обязательно, объект) Массив объектов
tree_node. Узлы должны быть в порядке возрастания их значенияtree_node.node_index.
-
-
tree_node -
(Обязательно, объект) Определение узла в дереве.
Существует два основных типа узлов: листовые узлы и нелистовые узлы.
- Для листовых узлов необходимо определить только
node_indexиleaf_value. - Все остальные узлы должны иметь определёнными
split_feature,left_child,right_child,threshold,decision_typeиdefault_left.
Свойства
tree_node-
decision_type - (Необязательно, строка) Указывает тип положительного значения (другими словами, когда выбирать левый узел) решения. Поддерживаются
lt,lte,gt,gte. По умолчаниюlte. -
default_left - (Необязательно, Булево) Указывает, следует ли по умолчанию выбирать левый узел при отсутствии значения признака. По умолчанию
true. -
leaf_value - (Необязательно, double) Листовое значение узла, если узел является листовым (другими словами, не имеет дочерних узлов).
-
left_child - (Необязательно, целое число) Индекс левого дочернего узла.
-
node_index - (Целое число) Индекс текущего узла.
-
right_child - (Необязательно, целое число) Индекс правого дочернего узла.
-
split_feature - (Необязательно, целое число) Индекс значения признака в массиве признаков.
-
split_gain - (Необязательно, double) Прирост информации от разделения.
-
threshold - (Необязательно, double) Пороговое значение для сравнения со значением признака.
- Для листовых узлов необходимо определить только
-
ensemble -
(Необязательно, объект) Определение ансамблевой модели. Смотрите Примеры моделей.
Свойства
ensemble-
aggregate_output -
(Обязательно, объект) Агрегированный объект вывода, определяющий, как агрегировать результаты
trained_models. Поддерживаемые объекты —weighted_mode,weighted_sumиlogistic_regression. Смотрите Пример агрегированного вывода.Свойства
aggregate_output-
logistic_regression -
(Необязательно, объект) Этот тип
aggregated_outputработает с бинарной классификацией (классификация для значений [0, 1]). Он умножает результаты (в случае моделиensemble, значения модели вывода) на заданныеweights. Результирующий вектор суммируется и передаётся в функциюsigmoid. Результат функцииsigmoidрассматривается как вероятность класса 1 (P_1), следовательно, вероятность класса 0 равна1 - P_1. Затем возвращается класс с наибольшей вероятностью (либо 0, либо 1). Для получения дополнительной информации о логистической регрессии, см. эту статью вики.Свойства
logistic_regression-
weights - (Обязательно, double) Веса для умножения на входные значения (значения вывода обученных моделей).
-
-
weighted_sum -
(Необязательно, объект) Этот тип
aggregated_outputработает с регрессией. Сумма взвешенных значений входных данных.Свойства
weighted_sum-
weights - (Обязательно, double) Веса для умножения на входные значения (значения вывода обученных моделей).
-
-
weighted_mode -
(Необязательно, объект) Этот тип
aggregated_outputработает с регрессией или классификацией. Он выполняет взвешенное голосование входных значений. Возвращается наиболее частое входное значение (с учётом весов).Свойства
weighted_mode-
weights - (Обязательно, double) Веса для умножения на входные значения (значения вывода обученных моделей).
-
-
exponent -
(Необязательно, объект) Этот тип
aggregated_outputработает с регрессией. Он вычисляет взвешенную сумму входных значений и применяет к результату экспоненциальную функцию (e^x, гдеx— сумма взвешенных значений).Свойства
exponent-
weights - (Обязательно, double) Веса для умножения на входные значения (значения вывода обученных моделей).
-
-
-
classification_labels - (Необязательно, строка) Массив меток классификации.
-
feature_names - (Необязательно, строка) Ожидаемые признаки ансамбля в ожидаемом порядке.
-
target_type - (Обязательно, строка) Строка, указывающая тип целевого значения модели;
regressionилиclassification. -
trained_models - (Обязательно, объект) Массив объектов
trained_model. Поддерживаемые обученные модели —treeиensemble.
-
-
-
description - (Необязательно, строка) Читаемый человеком текст, описывающий обученную модель вывода.
-
estimated_heap_memory_usage_bytes - (Необязательно, целое число) [7.16.0] Устарело в версии 7.16.0. Заменено на
model_size_bytes -
estimated_operations - (Необязательно, целое число) Ожидаемое количество операций для использования обученной модели при выводе. Это свойство поддерживается только если
defer_definition_decompressionравноtrueили определение модели не предоставлено.
-
-
inference_config -
(Обязательно, объект) Настройка по умолчанию для вывода. Может быть:
regression,classification,fill_mask,ner,question_answering,text_classification,text_embedding,text_expansionилиzero_shot_classification. Еслиregressionилиclassification, она должна соответствоватьtarget_typeбазовогоdefinition.trained_model. Еслиfill_mask,ner,question_answering,text_classification,text_embeddingилиtext_expansion;model_typeдолжен бытьpytorch.Свойства
inference_config-
classification -
(Необязательно, объект) Настройки классификации для вывода.
Свойства вывода классификации
-
num_top_classes - (Необязательно, целое число) Указывает количество предсказанных вершин класса для возврата. По умолчанию 0.
-
num_top_feature_importance_values - (Необязательно, целое число) Указывает максимальное количество значений важности признаков на документ. По умолчанию 0, что означает, что вычисление важности признаков не происходит.
-
prediction_field_type - (Необязательно, строка) Указывает тип предсказанного поля для записи. Допустимые значения:
string,number,boolean. При предоставленииboolean1.0преобразуется вtrue, а0.0вfalse. -
results_field - (Необязательно, строка) Поле, добавляемое в входящие документы для хранения предсказания вывода. По умолчанию
predicted_value. -
top_classes_results_field - (Необязательно, строка) Указывает поле, в которое записываются самые вероятные классы. По умолчанию
top_classes.
-
-
fill_mask -
(Необязательно, объект) Настройки для задачи заполнения маски естественного языка (NLP). Задача заполнения маски работает с моделями, оптимизированными для действия заполнения маски. Например, для моделей BERT может быть предоставлен следующий текст: "Столица Франции — [МАСКА].". Ответ указывает значение, наиболее вероятно заменяющее
[MASK]. В данном случае наиболее вероятный токен —paris.Свойства вывода заполнения маски
-
num_top_classes - (Необязательно, целое число) Количество вершин наиболее вероятных предсказанных токенов для замены токена маски. По умолчанию
0. -
results_field - (Необязательно, строка) Поле, добавляемое в входящие документы для хранения предсказания вывода. По умолчанию
predicted_value. -
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и желаемые настройки. Настройка токенизации по умолчанию —
bert. Допустимые значения токенизации:-
bert: Используется для моделей типа BERT -
deberta_v2: Используется для моделей типа DeBERTa v2 и v3 -
mpnet: Используется для моделей типа MPNet -
roberta: Используется для моделей типа RoBERTa и BART - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Используется для моделей типа XLMRoBERTa - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA.
bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Обратитесь к Свойствам токенизации для просмотра свойств объекта
tokenization. -
-
-
ner -
(Необязательно, объект) Настраивает задачу распознавания именованных сущностей (NER). NER — это частный случай классификации токенов. Каждый токен в последовательности классифицируется в соответствии с предоставленными метками классификации. В настоящее время задача NER требует меток в формате IOB (Inside-Outside-Beginning). Поддерживаются только сущности "человек", "организация", "местоположение" и "разное".
Свойства вывода NER
-
classification_labels - (Необязательно, строка) Массив меток классификации. NER поддерживает только метки Inside-Outside-Beginning (IOB) и только сущности "человек", "организация", "местоположение" и "разное". Пример: ["O", "B-PER", "I-PER", "B-ORG", "I-ORG", "B-LOC", "I-LOC", "B-MISC", "I-MISC"]
-
results_field - (Необязательно, строка) Поле, добавляемое в входящие документы для хранения предсказания вывода. По умолчанию
predicted_value. -
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и желаемые настройки. Настройка токенизации по умолчанию —
bert. Допустимые значения токенизации:-
bert: Используется для моделей типа BERT -
deberta_v2: Используется для моделей типа DeBERTa v2 и v3 -
mpnet: Используется для моделей типа MPNet -
roberta: Используется для моделей типа RoBERTa и BART - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Используется для моделей типа XLMRoBERTa - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA.
bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Обратитесь к Свойствам токенизации для просмотра свойств объекта
tokenization. -
-
-
pass_through -
(Необязательно, объект) Настраивает задачу
pass_through. Эта задача полезна для отладки, так как к результатам вывода не применяется постобработка, и вызывающей стороне возвращаются результаты слоя сырой пулинговой обработки.Свойства вывода pass_through
-
results_field - (Необязательно, строка) Поле, добавляемое в входящие документы для хранения предсказания вывода. По умолчанию
predicted_value. -
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и желаемые настройки. Настройка токенизации по умолчанию —
bert. Допустимые значения токенизации:-
bert: Используется для моделей типа BERT -
deberta_v2: Используется для моделей типа DeBERTa v2 и v3 -
mpnet: Используется для моделей типа MPNet -
roberta: Используется для моделей типа RoBERTa и BART - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Используется для моделей типа XLMRoBERTa - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA.
bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Обратитесь к Свойствам токенизации для просмотра свойств объекта
tokenization. -
-
-
question_answering
-
-
(Необязательно, объект) Настраивает задачу обработки естественного языка (NLP) для поиска ответов. Поиск ответов полезен для извлечения ответов на определённые вопросы из большого корпуса текста.
Свойства вывода поиска ответов
-
max_answer_length - (Необязательно, целое число) Максимальное количество слов в ответе. По умолчанию равно
15. -
results_field - (Необязательно, строка) Поле, добавляемое в входные документы для хранения предсказания вывода. По умолчанию равно
predicted_value. -
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и какие настройки использовать. По умолчанию используется конфигурация токенизации
bert. Допустимые значения токенизации:-
bert: Использовать для моделей BERT. -
deberta_v2: Использовать для моделей DeBERTa v2 и v3. -
mpnet: Использовать для моделей MPNet. -
roberta: Использовать для моделей RoBERTa и BART. - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Использовать для моделей XLMRoBERTa. - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
bert_ja: Использовать для моделей BERT, обученных для японского языка.
Рекомендуется установить
max_sentence_lengthна386с128значенияspanи установитьtruncateнаnone.Обратитесь к Свойствам
tokenizatonдля ознакомления со свойствами объектаtokenization. -
-
-
regression -
(Необязательно, объект) Настройка регрессии для вывода.
Свойства вывода регрессии
-
num_top_feature_importance_values - (Необязательно, целое число) Указывает максимальное количество значений значимости признаков на документ. По умолчанию равно нулю, и расчет значимости признаков не выполняется.
-
results_field - (Необязательно, строка) Поле, добавляемое в входные документы для хранения предсказания вывода. По умолчанию равно
predicted_value.
-
-
text_classification -
(Необязательно, объект) Задача классификации текста. Задача классификации текста классифицирует предоставленную текстовую последовательность по заранее известным целевым классам. Примером этого является анализ тональности, который возвращает вероятные целевые классы, указывающие на тональность текста, такие как "грустный", "счастливый" или "сердитый".
Свойства вывода классификации текста
-
classification_labels - (Необязательно, строка) Массив меток классификации.
-
num_top_classes - (Необязательно, целое число) Указывает количество верхних предсказаний класса для возврата. По умолчанию — все классы (-1).
-
results_field - (Необязательно, строка) Поле, добавляемое в входные документы для хранения предсказания вывода. По умолчанию равно
predicted_value. -
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и какие настройки использовать. По умолчанию используется конфигурация токенизации
bert. Допустимые значения токенизации:-
bert: Использовать для моделей BERT. -
deberta_v2: Использовать для моделей DeBERTa v2 и v3. -
mpnet: Использовать для моделей MPNet. -
roberta: Использовать для моделей RoBERTa и BART. - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Использовать для моделей XLMRoBERTa. - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
bert_ja: Использовать для моделей BERT, обученных для японского языка.
Обратитесь к Свойствам
tokenizatonдля ознакомления со свойствами объектаtokenization. -
-
-
text_embedding -
(Объект, необязательно) Текстовое вложение принимает входную последовательность и преобразует её в вектор чисел. Эти вложения не просто записывают токены, но и захватывают семантические значения и контекст. Эти вложения могут быть использованы в поле плотного вектора для получения мощных выводов.
Свойства вывода текстового вложения
-
embedding_size - (Необязательно, целое число) Количество измерений в векторе вложения, созданном моделью.
-
results_field - (Необязательно, строка) Поле, добавляемое в входные документы для хранения предсказания вывода. По умолчанию равно
predicted_value. -
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и какие настройки использовать. По умолчанию используется конфигурация токенизации
bert. Допустимые значения токенизации:-
bert: Использовать для моделей BERT. -
deberta_v2: Использовать для моделей DeBERTa v2 и v3. -
mpnet: Использовать для моделей MPNet. -
roberta: Использовать для моделей RoBERTa и BART. - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Использовать для моделей XLMRoBERTa. - [preview] Данная функция находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением любых проблем, но функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
bert_ja: Использовать для моделей BERT, обученных для японского языка.
Обратитесь к Свойствам
tokenizatonдля ознакомления со свойствами объектаtokenization. -
-
-
text_expansion
-
-
(Объект, необязательно) Задача расширения текста работает со спарсенными моделями встраивания, чтобы преобразовать входную последовательность в вектор взвешенных токенов. Эти встраивания capture семантические значения и контекст и могут быть использованы в поле спарсенного вектора для получения глубоких инсайтов.
Свойства вывода расширения текста
-
results_field - (Необязательно, строка) Поле, добавляемое в входящие документы для хранения предсказания вывода. По умолчанию
predicted_value. -
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и какие настройки использовать. По умолчанию используется конфигурация токенизации
bert. Допустимые значения токенизации:-
bert: Используется для моделей типа BERT -
deberta_v2: Используется для моделей типа DeBERTa v2 и v3 -
mpnet: Используется для моделей типа MPNet -
roberta: Используется для моделей типа RoBERTa и BART - [preview] Данная функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением неполадок, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Используется для моделей типа XLMRoBERTa - [preview] Данная функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением неполадок, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Обратитесь к tokenizaton">Свойствам токенизации, чтобы ознакомиться со свойствами объекта
tokenization. -
-
-
text_similarity -
(Объект, необязательно) Сходство текста принимает входную последовательность и сравнивает её с другой входной последовательностью. Это обычно называется кросс-кодированием. Эта задача полезна для ранжирования текстов документов при сравнении их с другим предоставленным текстовым вводом.
Свойства вывода сходства текста
-
span_score_combination_function -
(Необязательно, строка) Определяет, как комбинировать полученный балл сходства, когда предоставленный фрагмент текста длиннее
max_sequence_lengthи должен быть автоматически разделен на несколько вызовов. Это применимо только тогда, когдаtruncateравноnone, аspan— неотрицательное число. Значение по умолчанию —max. Доступные варианты:-
max: Возвращается максимальный балл из всех фрагментов. -
mean: Возвращается средний балл по всем фрагментам.
-
-
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и какие настройки использовать. По умолчанию используется конфигурация токенизации
bert. Допустимые значения токенизации:-
bert: Используется для моделей типа BERT -
deberta_v2: Используется для моделей типа DeBERTa v2 и v3 -
mpnet: Используется для моделей типа MPNet -
roberta: Используется для моделей типа RoBERTa и BART - [preview] Данная функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением неполадок, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Используется для моделей типа XLMRoBERTa - [preview] Данная функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением неполадок, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Обратитесь к Свойствам токенизации, чтобы ознакомиться со свойствами объекта
tokenizaton. -
-
-
zero_shot_classification -
(Объект, необязательно) Конфигурирует задачу классификации без примера. Классификация без примера позволяет выполнять классификацию текста без предварительно определенных меток. Во время вывода можно настраивать метки для классификации. Это делает этот тип модели и задачу чрезвычайно гибкими.
Если вы постоянно классифицируете одни и те же метки, лучше использовать настроенную модель классификации текста.
Свойства вывода классификации без примера
-
classification_labels - (Обязательно, массив) Метки классификации, используемые при классификации без примера. Метки классификации не должны быть пустыми или нулевыми и задаются только при создании модели. Они должны быть все три ["entailment", "neutral", "contradiction"].
Это НЕ то же самое, что
labels, которые являются значениями, которые пытается классифицировать классификация без примера.-
hypothesis_template -
(Необязательно, строка) Это шаблон, используемый при токенизации последовательностей для классификации.
Метки заменяют значение
{}в тексте. Значение по умолчанию:This example is {}. -
labels - (Необязательно, массив) Метки для классификации. Можно задать значения по умолчанию при создании, а затем обновить их при выводе.
-
multi_label - (Необязательно, логическое значение) Указывает, может ли быть более одной метки
true, учитывая ввод. Это полезно при маркировке текста, который может относиться более чем к одной метке ввода. По умолчаниюfalse. -
results_field - (Необязательно, строка) Поле, которое добавляется в входящие документы для хранения предсказания вывода. По умолчанию
predicted_value. -
tokenization -
(Необязательно, объект) Указывает, какую токенизацию выполнить и какие настройки использовать. По умолчанию используется конфигурация токенизации
bert. Допустимые значения токенизации:-
bert: Используется для моделей типа BERT -
deberta_v2: Используется для моделей типа DeBERTa v2 и v3 -
mpnet: Используется для моделей типа MPNet -
roberta: Используется для моделей типа RoBERTa и BART - [preview] Данная функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением неполадок, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
xlm_roberta: Используется для моделей типа XLMRoBERTa - [preview] Данная функция находится в стадии технического предварительного просмотра и может быть изменена или удалена в будущих выпусках. Elastic будет работать над устранением неполадок, но функции в стадии технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.
bert_ja: Используется для моделей типа BERT, обученных для японского языка.
Обратитесь к Свойствам токенизации, чтобы ознакомиться со свойствами объекта
tokenizaton. -
-
-
-
input -
(Обязательно, объект) Имена входных полей для определения модели.
Свойства
input-
field_names - (Обязательно, строка) Массив имён входных полей для модели.
-
-
location -
(Необязательный, объект) Местоположение определения модели. Если
definitionилиcompressed_definitionне указаны, необходимо указатьlocation.Свойства
location-
index - (Обязательный, объект) Указывает, что определение модели хранится в индексе. Этот объект должен быть пустым, так как индекс для хранения определений моделей настраивается автоматически.
-
-
metadata - (Необязательный, объект) Карта объектов, содержащая метаданные о модели.
-
model_size_bytes - (Необязательный, целое число) Оценка использования памяти в байтах для хранения обученной модели в памяти. Это свойство поддерживается только если
defer_definition_decompressionявляетсяtrueили определение модели не предоставлено. -
model_type -
(Необязательный, строка) Тип созданной модели. По умолчанию тип модели -
tree_ensemble. Допустимые типы:-
tree_ensemble: Определение модели — это ансамблевая модель решающих деревьев. -
lang_ident: Специальный тип, предназначенный для моделей определения языка. -
pytorch: Сохраненное определение — модель PyTorch (в частности, TorchScript). В настоящее время поддерживаются только модели NLP. Для получения дополнительной информации см. Обработка естественного языка.
-
-
platform_architecture - (Необязательный, строка) Если модель работает только на одной платформе, потому что она сильно оптимизирована для определенной комбинации архитектуры процессора и ОС, то в этом поле указывается какая. Формат строки должен соответствовать идентификаторам платформ, используемым Elasticsearch, поэтому один из:
linux-x86_64,linux-aarch64,darwin-x86_64,darwin-aarch64илиwindows-x86_64. Для переносимых моделей (которые работают независимо от архитектуры процессора или функций ОС) это поле не задавайте.
-
prefix_strings -
(Необязательный, объект) Некоторые модели NLP обучены таким образом, что к входному тексту следует применять префиксную строку перед его оценкой. Префикс может быть различным в зависимости от намерения. Для асимметричных задач, таких как извлечение информации, префикс, применяемый к фрагменту при его индексировании, может отличаться от префикса, применяемого при поиске этих фрагментов.
prefix_stringsимеет 2 варианта: строка префикса, которая всегда применяется в контексте поиска, и строка префикса, которая всегда применяется при загрузке документов. Оба являются необязательными.Свойства
prefix_strings-
search - (Необязательный, строка) Строка префикса, добавляемая к входному тексту для запросов, исходящих из запроса поиска.
-
ingest - (Необязательный, строка) Строка префикса, добавляемая к входному тексту для запросов при загрузке, где используется процессор инференции загрузки.
-
-
tags - (Необязательный, строка) Массив тегов для организации модели.
Свойства tokenizaton
Объект tokenization имеет следующие свойства.
-
bert -
(Необязательно, объект) Токенизация в стиле BERT выполняется с указанными настройками.
Свойства bert
-
do_lower_case - (Необязательно, булево) Указывает, следует ли токенизировать текст в нижнем регистре при создании токенов.
-
max_sequence_length - (Необязательно, целое число) Указывает максимальное количество токенов, которые может вывести токенизатор.
-
span -
(Необязательно, целое число) Если
truncateравноnone, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрывается между каждой подпоследовательностью.Значение по умолчанию —
-1, что означает отсутствие окон или перекрытия.Если ваш типичный ввод немного больше, чем
max_sequence_length, лучше просто обрезать; во второй подпоследовательности будет очень мало информации. -
truncate -
(Необязательно, строка) Указывает, как обрезаются токены, когда они превышают
max_sequence_length. Значение по умолчанию —first.-
none: Обрезка не выполняется; запрос вывода получает ошибку. -
first: Обрезается только первая последовательность. -
second: Обрезается только вторая последовательность. Если есть только одна последовательность, эта последовательность обрезается.
-
Для
zero_shot_classificationгипотетическая последовательность всегда является второй последовательностью. Поэтому не используйтеsecondв этом случае.-
with_special_tokens -
(Необязательно, булево) Токенизировать со специальными токенами. Токены, обычно включаемые в токенизацию в стиле BERT:
-
[CLS]: Первый токен классифицируемой последовательности. -
[SEP]: Указывает разделение последовательностей.
-
-
-
deberta_v2 -
(Необязательно, объект) Токенизация в стиле DeBERTa выполняется с указанными настройками.
Свойства deberta_v2
-
do_lower_case -
(Необязательно, булево) Указывает, следует ли токенизировать текст в нижнем регистре при создании токенов.
По умолчанию
false. -
max_sequence_length - (Необязательно, целое число) Указывает максимальное количество токенов, которые может вывести токенизатор.
-
span -
(Необязательно, целое число) Если
truncateравноnone, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрывается между каждой подпоследовательностью.Значение по умолчанию —
-1, что означает отсутствие окон или перекрытия.Если ваш типичный ввод немного больше, чем
max_sequence_length, лучше просто обрезать; во второй подпоследовательности будет очень мало информации. -
truncate -
(Необязательно, строка) Указывает, как обрезаются токены, когда они превышают
max_sequence_length. Значение по умолчанию —first.-
balanced: Одна или обе первые и вторые последовательности могут быть обрезанны для балансировки токенов, включенных из обеих последовательностей. -
none: Обрезка не выполняется; запрос вывода получает ошибку. -
first: Обрезается только первая последовательность. -
second: Обрезается только вторая последовательность. Если есть только одна последовательность, эта последовательность обрезается.
-
-
with_special_tokens -
(Необязательно, булево) Токенизировать со специальными токенами. Токены, обычно включаемые в токенизацию в стиле DeBERTa:
-
[CLS]: Первый токен классифицируемой последовательности. -
[SEP]: Указывает разделение последовательностей и конец последовательности.
-
-
-
roberta -
(Необязательно, объект) Токенизация в стиле RoBERTa выполняется с указанными настройками.
Свойства roberta
-
add_prefix_space - (Необязательно, булево) Указывает, следует ли добавлять пробел перед токенизированным вводом в модель.
-
max_sequence_length - (Необязательно, целое число) Указывает максимальное количество токенов, которые может вывести токенизатор.
-
span -
(Необязательно, целое число) Если
truncateравноnone, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрывается между каждой подпоследовательностью.Значение по умолчанию —
-1, что означает отсутствие окон или перекрытия.Если ваш типичный ввод немного больше, чем
max_sequence_length, лучше просто обрезать; во второй подпоследовательности будет очень мало информации. -
truncate -
(Необязательно, строка) Указывает, как обрезаются токены, когда они превышают
max_sequence_length. Значение по умолчанию —first.-
none: Обрезка не выполняется; запрос вывода получает ошибку. -
first: Обрезается только первая последовательность. -
second: Обрезается только вторая последовательность. Если есть только одна последовательность, эта последовательность обрезается.
-
Для
zero_shot_classificationгипотетическая последовательность всегда является второй последовательностью. Поэтому не используйтеsecondв этом случае.-
with_special_tokens -
(Необязательно, булево) Токенизировать со специальными токенами. Токены, обычно включаемые в токенизацию в стиле RoBERTa:
-
<s>: Первый токен классифицируемой последовательности. -
</s>: Указывает разделение последовательностей.
-
-
-
mpnet -
(Необязательно, объект) Токенизация в стиле MPNet выполняется с указанными настройками.
Свойства mpnet
-
do_lower_case - (Необязательно, булево) Указывает, следует ли токенизировать текст в нижнем регистре при создании токенов.
-
max_sequence_length - (Необязательно, целое число) Указывает максимальное количество токенов, которые может вывести токенизатор.
-
span -
(Необязательно, целое число) Если
truncateравноnone, вы можете разделить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрывается между каждой подпоследовательностью.Значение по умолчанию —
-1, что означает отсутствие окон или перекрытия.Если ваш типичный ввод немного больше, чем
max_sequence_length, лучше просто обрезать; во второй подпоследовательности будет очень мало информации. -
truncate -
(Необязательно, строка) Указывает, как обрезаются токены, когда они превышают
max_sequence_length. Значение по умолчанию —first.-
none: Обрезка не выполняется; запрос вывода получает ошибку. -
first: Обрезается только первая последовательность. -
second: Обрезается только вторая последовательность. Если есть только одна последовательность, эта последовательность обрезается.
-
Для
zero_shot_classificationгипотетическая последовательность всегда является второй последовательностью. Поэтому не используйтеsecondв этом случае.-
with_special_tokens -
(Необязательно, булево) Токенизировать со специальными токенами. Токены, обычно включаемые в токенизацию в стиле MPNet:
-
<s>: Первый токен классифицируемой последовательности. -
</s>: Указывает разделение последовательностей.
-
-
-
xlm_roberta
-
(Необязательно, объект) [preview] Данная функциональность находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над исправлением любых проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA. Токенизация в стиле XLMRoBERTa должна выполняться с заданными настройками.
Свойства xlm_roberta
-
max_sequence_length - (Необязательно, целое число) Указывает максимальное количество токенов, разрешённых для вывода токенизатором.
-
span -
(Необязательно, целое число) Когда
truncateравноnone, вы можете разбить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрывается между каждой подпоследовательностью.Значение по умолчанию —
-1, что означает отсутствие оконного или перекрывающегося анализа.Когда типичный входной текст немного больше, чем
max_sequence_length, лучше просто обрезать; во второй подпоследовательности будет очень мало информации. -
truncate -
(Необязательно, строка) Указывает, как происходит обрезка токенов, когда они превышают
max_sequence_length. Значение по умолчанию —first.-
none: Обрезка не выполняется; запрос вывода получает ошибку. -
first: Обрезается только первая последовательность. -
second: Обрезается только вторая последовательность. Если есть только одна последовательность, она обрезается.
-
Для
zero_shot_classificationгипотетическая последовательность всегда является второй последовательностью. Поэтому не используйтеsecondв этом случае.-
with_special_tokens -
(Необязательно, логическое значение) Токенизировать со специальными токенами. Типичные токены, включенные в токенизацию в стиле RoBERTa:
-
<s>: Первый токен классифицируемой последовательности. -
</s>: Указывает разделение последовательностей.
-
-
-
bert_ja -
(Необязательно, объект) [preview] Данная функциональность находится в техническом предварительном просмотре и может быть изменена или удалена в будущих выпусках. Elastic будет работать над исправлением любых проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA. Токенизация в стиле BERT для японского текста должна выполняться с заданными настройками.
Свойства bert_ja
-
do_lower_case - (Необязательно, логическое значение) Указывает, следует ли токенизировать текст в нижнем регистре при построении токенов.
-
max_sequence_length - (Необязательно, целое число) Указывает максимальное количество токенов, разрешённых для вывода токенизатором.
-
span -
(Необязательно, целое число) Когда
truncateравноnone, вы можете разбить более длинные текстовые последовательности для вывода. Значение указывает, сколько токенов перекрывается между каждой подпоследовательностью.Значение по умолчанию —
-1, что означает отсутствие оконного или перекрывающегося анализа.Когда типичный входной текст немного больше, чем
max_sequence_length, лучше просто обрезать; во второй подпоследовательности будет очень мало информации. -
truncate -
(Необязательно, строка) Указывает, как происходит обрезка токенов, когда они превышают
max_sequence_length. Значение по умолчанию —first.-
none: Обрезка не выполняется; запрос вывода получает ошибку. -
first: Обрезается только первая последовательность. -
second: Обрезается только вторая последовательность. Если есть только одна последовательность, она обрезается.
-
Для
zero_shot_classificationгипотетическая последовательность всегда является второй последовательностью. Поэтому не используйтеsecondв этом случае.-
with_special_tokens - (Необязательно, логическое значение) Токенизировать со специальными токенами, если
true.
-
Примеры
Примеры препроцессоров
В примере ниже показан объект препроцессора frequency_encoding:
{
"frequency_encoding":{
"field":"FlightDelayType",
"feature_name":"FlightDelayType_frequency",
"frequency_map":{
"Carrier Delay":0.6007414737092798,
"NAS Delay":0.6007414737092798,
"Weather Delay":0.024573576178086153,
"Security Delay":0.02476631010889467,
"No Delay":0.6007414737092798,
"Late Aircraft Delay":0.6007414737092798
}
}
} Следующий пример показывает объект препроцессора one_hot_encoding:
{
"one_hot_encoding":{
"field":"FlightDelayType",
"hot_map":{
"Carrier Delay":"FlightDelayType_Carrier Delay",
"NAS Delay":"FlightDelayType_NAS Delay",
"No Delay":"FlightDelayType_No Delay",
"Late Aircraft Delay":"FlightDelayType_Late Aircraft Delay"
}
}
} В этом примере показан объект препроцессора target_mean_encoding:
{
"target_mean_encoding":{
"field":"FlightDelayType",
"feature_name":"FlightDelayType_targetmean",
"target_map":{
"Carrier Delay":39.97465788139886,
"NAS Delay":39.97465788139886,
"Security Delay":203.171206225681,
"Weather Delay":187.64705882352948,
"No Delay":39.97465788139886,
"Late Aircraft Delay":39.97465788139886
},
"default_value":158.17995752420433
}
} Примеры моделей
Первый пример показывает объект trained_model:
{
"tree":{
"feature_names":[
"DistanceKilometers",
"FlightTimeMin",
"FlightDelayType_NAS Delay",
"Origin_targetmean",
"DestRegion_targetmean",
"DestCityName_targetmean",
"OriginAirportID_targetmean",
"OriginCityName_frequency",
"DistanceMiles",
"FlightDelayType_Late Aircraft Delay"
],
"tree_structure":[
{
"decision_type":"lt",
"threshold":9069.33437193022,
"split_feature":0,
"split_gain":4112.094574306927,
"node_index":0,
"default_left":true,
"left_child":1,
"right_child":2
},
...
{
"node_index":9,
"leaf_value":-27.68987349695448
},
...
],
"target_type":"regression"
}
} Следующий пример показывает объект модели ensemble:
"ensemble":{
"feature_names":[
...
],
"trained_models":[
{
"tree":{
"feature_names":[],
"tree_structure":[
{
"decision_type":"lte",
"node_index":0,
"leaf_value":47.64069875778043,
"default_left":false
}
],
"target_type":"regression"
}
},
...
],
"aggregate_output":{
"weighted_sum":{
"weights":[
...
]
}
},
"target_type":"regression"
} Пример агрегированного вывода
Пример объекта logistic_regression:
"aggregate_output" : {
"logistic_regression" : {
"weights" : [2.0, 1.0, .5, -1.0, 5.0, 1.0, 1.0]
}
} Пример объекта weighted_sum:
"aggregate_output" : {
"weighted_sum" : {
"weights" : [1.0, -1.0, .5, 1.0, 5.0]
}
} Пример объекта weighted_mode:
"aggregate_output" : {
"weighted_mode" : {
"weights" : [1.0, 1.0, 1.0, 1.0, 1.0]
}
} Пример объекта exponent:
"aggregate_output" : {
"exponent" : {
"weights" : [1.0, 1.0, 1.0, 1.0, 1.0]
}
} Схема JSON обученных моделей
Для полной схемы JSON обученных моделей перейдите по ссылке.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/put-trained-models.html