Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›REST API ›API обученных моделей машинного обучения

API создания обученных моделей

Новая справка по API

Для получения самых последних данных об API обратитесь к 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. При предоставлении boolean 1.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API