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

Одной из расширенных функций AutoML Table является автоматическое выполнение общих задач проектирования функций для вас и создание современных моделей (подробнее см. в функциях) одним щелчком мыши.

Ключевое преимущество AutoML:

  • Берет ваши наборы данных и начинает обучение для нескольких архитектур моделей одновременно
  • Определите наилучшую архитектуру модели для ваших данных: линейная, глубокая нейронная сеть с прямой связью, дерево решений с градиентным усилением, AdaNet или ансамбли различных архитектур моделей.
  • Экспортируйте модели в виде образа докера.
  • Реверс-инжиниринг и исследование модели в TensorBoard.

Для этого блога мы продолжим использовать базу данных иммунных эпитопов (IEDB), общедоступную в BigQuery, как описано в предыдущем блоге. Мы продемонстрируем использование AutoML через Big Query ML, а также через консоль AutoML.

Создание моделей AutoML с помощью BigQuery так же просто, как написание операторов SQL. Следующий оператор создает модель AutoML, выбирая столбцы признаков аллеля и пептида конкретных мер, чтобы классифицировать, является ли пептид хорошим кандидатом для тестирования вакцины. Отфильтруйте данные только для пептидов длиной 9 или 10 мер. Причина этого обсуждалась в Части I-II. Кроме того, поскольку мы можем запускать несколько образцов, мы рандомизируем образцы по 80% данных для обучения. Вам понадобится проект и набор данных для запуска и хранения модели, в следующем операторе в качестве имени набора данных указано корона.

CREATE OR REPLACE MODEL `corona.Classification_model_automl`
OPTIONS
(
model_type='automl_classifier',
input_label_cols=['Qualitative_Measure'],
budget_hours=1.0
)
AS
SELECT
 Qualitative_Measure, Description, Allele_Name, Quantitative_measurement
 FROM
  `bigquery-public-data.immune_epitope_db.mhc_ligand_full`
 WHERE length(Description) IN (9,10)
 AND organism_name like '%coronavirus%'
 AND rand() < 0.8

AutoML исследует несколько моделей, которые будут обучаться параллельно с помощью AutoML. Подробную информацию о моделях можно найти в разделе «Журнал операций». В веб-интерфейсе ведения журналов операций можно просмотреть гиперпараметры, которые были исследованы AutoML.

После создания модели вы можете оценить производительность классификатора с помощью функции ML.EVALUATE. Чтобы выполнить запрос ML.EVALUATE, который оценивает модель:

SELECT
  *
FROM ML.EVALUATE(MODEL `corona.Classification_model_automl`)

Вы также можете использовать функцию ML.ROC_CURVE для определенных показателей. Классификатор — это одно из множества перечисленных целевых значений для метки. Например, в этом руководстве вы используете модель классификации, которая определяет один из квалификационных классов для связывания пептидов.

SELECT roc_auc,
       CASE WHEN roc_auc > .8 THEN 'good'
            WHEN roc_auc > .7 THEN 'fair'
            WHEN roc_auc > .5 THEN 'not great'
            ELSE 'poor' END AS model_quality
FROM ML.EVALUATE(MODEL `corona.Classification_model_automl`)

Теперь, когда вы оценили свою модель, следующим шагом будет ее использование для прогнозирования результатов. Чтобы выполнить запрос, использующий модель для прогнозирования количества транзакций: В следующем примере показано использование модели BQ для прогнозирования. При желании вы можете экспортировать модель и опубликовать ее на платформе Google AI для обслуживания прогнозов.

SELECT
  predicted_Qualitative_Measure, predicted_Qualitative_Measure_probs, Qualitative_Measure as original_result
FROM ML.PREDICT(MODEL `corona.Classification_model_automl`, (
  SELECT Qualitative_Measure, Description, Allele_Name, Quantitative_measurement
  FROM `bigquery-public-data.immune_epitope_db.mhc_ligand_full`
  WHERE length(Description) IN (9,10)
  AND organism_name like '%coronavirus%'
  AND rand() < 0.0009))

Результат показывает прогнозируемый класс качества с уверенностью. Вы можете сравнить это с исходным результатом.

Консоль AutoML

Клиенты могут напрямую использовать консоль AutoML, если они не хотят иметь дело с SQL. Вы все еще можете создать представление в Big Query, которое будет фильтровать ваши данные для пептидов длиной только 9 или 10 мер.

SELECT
 Qualitative_Measure, Description, Allele_Name, Quantitative_measurement
 FROM
  `bigquery-public-data.immune_epitope_db.mhc_ligand_full`
 WHERE length(Description) IN (9,10)
 AND organism_name like '%coronavirus%'
 AND rand() < 0.8

Данные можно загрузить напрямую из Big Query в Google Cloud Storage.

Целевой столбец для прогноза должен быть указан через консоль. А обучение модели можно запустить в консоли после того, как будет установлено количество часов, отведенное для обучения модели.

Если оптимальная модель будет найдена раньше указанного времени, то обучение будет остановлено. Как только модель обучена, мы можем исследовать точность модели и выполнять пакетные или онлайн-прогнозы:

экспортировать результат. Параметр экспорта находится в разделе ПРОВЕРКА И ИСПОЛЬЗОВАНИЕ. (Подробнее о процессе экспорта см. в документации).

Исследование модели с помощью TensorBoard

Наконец, модель AutoML можно визуализировать и исследовать в TensorBoard. Этот шаг может дать дополнительные сведения о сложности модели и предоставить биоинформатикам рекомендации для улучшения модели.

Для визуализации модели AutoML в TensorBoard требуется этап преобразования. Вам потребуется установить TensorFlow 1.14 или 1.15 для запуска скрипта конвертации.

Затем загрузите этот скрипт, например. с помощью

curl -O https://raw.githubusercontent.com/amygdala/code-snippets/master/ml/automl/tables/model_export/convert_oss.py,

в родительский каталог model_export. Создайте каталог для вывода (например, convert_export), затем запустите скрипт следующим образом:

mkdir convert_export

python ./convert_oss.py — сохраненная_модель ./model-export/tbl/‹ваш_переименованный_каталог›/saved_model.pb — выходной_каталог convert_export

Затем укажите TensorBoard на преобразованный граф модели:

# Загрузите расширение блокнота TensorBoard

Тензорная доска %load_ext

tensorboard — logdir=converted_export

Вы увидите визуализацию графика модели и сможете перемещаться и масштабировать для более подробного просмотра подграфов модели.

Изучение автоматически сгенерированных моделей может дать ученым и аналитикам данных новые идеи о том, как можно улучшить модели.

Далее: мы обсудим построение конвейера для запуска в масштабе.

Оставайтесь в безопасности!

Закрытие комментариев и действий

  1. С AutoML можно быстро поэкспериментировать и создать конвейер машинного обучения. BQML и AutoML предоставляют простой способ создания и использования моделей машинного обучения с помощью операторов SQL или напрямую через облачную консоль Google. Узнайте больше о BQML здесь.
  2. Создание и использование машинного обучения — это всего лишь одна небольшая задача в общем конвейере данных и исследовательском потоке. Чтобы оптимизировать общий конвейер данных и машинного обучения, вы можете использовать конвейер платформы искусственного интеллекта Google Cloud. Ознакомиться с AI Pipeline можно здесь. Вы можете прочитать и использовать, как приведенный выше пример потока исследований вакцины может быть смоделирован с помощью конвейера ИИ с помощью этих ресурсов github.
  3. BigQuery бесплатен без кредитной карты (в пределах бесплатного уровня). Если вы добавляете кредитную карту, убедитесь в том, чтобы установить контроль затрат.

Я не говорю от лица своего работодателя. Это не официальная работа Google. Все оставшиеся ошибки, разумеется, принадлежат мне.