Развертывание модели на региональной конечной точке на платформе искусственного интеллекта выполняется успешно, но развертывание той же модели на глобальной конечной точке завершается неудачей

#google-cloud-platform #google-cloud-ml #google-ai-platform

# #google-cloud-platform #google-cloud-ml #google-ai-platform

Вопрос:

У меня есть модель scikit-learn, сохраненная в облачном хранилище, которую я пытаюсь развернуть с помощью прогнозирования платформы AI. Когда я развертываю эту модель на региональной конечной точке, развертывание завершается успешно:

 ➜ gcloud ai-platform versions describe regional_endpoint_version --model=regional --region us-central1
Using endpoint [https://us-central1-ml.googleapis.com/]
autoScaling:
  minNodes: 1
createTime: '2020-12-30T15:21:55Z'
deploymentUri: <REMOVED>
description: testing deployment to a regional endpoint
etag: <REMOVED>
framework: SCIKIT_LEARN
isDefault: true
machineType: n1-standard-4
name: <REMOVED>
pythonVersion: '3.7'
runtimeVersion: '2.2'
state: READY
 

Однако, когда я пытаюсь развернуть ту же самую модель, используя те же версии Python / runtime, на глобальной конечной точке, развертывание завершается неудачно, сообщая, что произошла ошибка при загрузке модели:

 (aiz) ➜  stanford_nlp_a3 gcloud ai-platform versions describe public_object --model=global
Using endpoint [https://ml.googleapis.com/]
autoScaling: {}
createTime: '2020-12-30T15:12:11Z'
deploymentUri: <REMOVED>
description: testing global endpoint deployment
errorMessage: 'Create Version failed. Bad model detected with error:  "Error loading
  the model"'
etag: <REMOVED>
framework: SCIKIT_LEARN
machineType: mls1-c1-m2
name: <REMOVED>
pythonVersion: '3.7'
runtimeVersion: '2.2'
state: FAILED
 

Я попытался сделать объект .joblib общедоступным, чтобы убедиться, что при попытке развертывания на двух конечных точках не было различий в разрешениях, вызывающих проблему, но развертывание на глобальной конечной точке по-прежнему не удалось. Я удалил deploymentUri из сообщения, поскольку я экспериментировал с разрешениями для этого объекта модели, но пути идентичны в двух разных версиях модели.

Типы компьютеров для двух развертываний должны быть разными, и для регионального развертывания я использую min nodes = 1, в то время как для глобального я могу использовать min nodes = 0, но кроме этого и etags все остальное точно такое же.

Я не смог найти никакой информации на странице документации AI Platform Prediction regional endpoints, в которой указывалось, что определенные модели могут быть развернуты только для определенного типа конечной точки. Сообщение об ошибке «Ошибка при загрузке модели» не дает мне возможности продолжить, поскольку, похоже, это не проблема с разрешениями для файла модели.

Когда я добавляю параметр —log-http в команду create version, я вижу, что код ошибки равен 3, но сообщение не содержит никакой дополнительной информации:

 ➜  ~ gcloud ai-platform versions create $VERSION_NAME 
  --model=$MODEL_NAME 
  --origin=$MODEL_DIR 
  --runtime-version=2.2 
  --framework=$FRAMEWORK 
  --python-version=3.7 
  --machine-type=mls1-c1-m2 --log-http

Using endpoint [https://ml.googleapis.com/]
=======================
==== request start ====
...
...
the final response from the server looks like this:
---- response start ----
status: 200
-- headers start --
<headers>
-- headers end --
-- body start --
{
  "name": "<name>",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.ml.v1.OperationMetadata",
    "createTime": "2020-12-30T22:53:30Z",
    "startTime": "2020-12-30T22:53:30Z",
    "endTime": "2020-12-30T22:54:37Z",
    "operationType": "CREATE_VERSION",
    "modelName": "<name>",
    "version": {
      <version info>
    }
  },
  "done": true,
  "error": {
    "code": 3,
    "message": "Create Version failed. Bad model detected with error:  "Error loading the model""
  }
}

-- body end --
total round trip time (request response): 0.096 secs
---- response end ----
----------------------
Creating version (this might take a few minutes)......failed.
ERROR: (gcloud.ai-platform.versions.create) Create Version failed. Bad model detected with error:  "Error loading the model"
 

Кто-нибудь может объяснить, чего мне здесь не хватает?

Комментарии:

1. Какая версия scikit learn требуется для вашей модели? Какой размер вашей модели?

2. scikit-learn версия 0.23.1, модель 1,6 КБ

3. Добро пожаловать в Stack Overflow! Пожалуйста, попробуйте найти полное сообщение об ошибке при выполнении команды gcloud ai-platform models create с флагом --log-http и, пожалуйста, поделитесь журналом сообщений об ошибках из неудачного запроса. Кроме того, какие библиотеки и версии использовались? a requirements.txt , в setup.py файл или файл a pip freeze могут быть полезны.

4. Спасибо за ответ. Создание самой модели прошло нормально, я попробовал это с помощью —log-http, как вы предложили, но я не увидел там никаких ошибок. Когда я попробовал создать версию с этой опцией, окончательный ответ от сервера содержит раздел «ошибка», я отредактировал сообщение, чтобы включить усеченный вывод. Я не знал об этой опции, спасибо, что поделились, но, к сожалению, в данном случае это, похоже, не дает много дополнительной информации.

5. Вы имеете в виду библиотеки, используемые при правильном обучении модели? Сейчас у меня нет доступа к среде обучения, но я буду работать над отслеживанием этого списка и обновлю сообщение, когда оно у меня будет.