Vertex AI: прогноз кредитного ризику за допомогою інструментів AutoML
- Огляд
- Налаштування
- Знайомство з Vertex AI
- Завдання 1. Підготуйте тренувальні дані
- Завдання 2. Навчіть свою модель
- Завдання 3. Оцініть ефективність моделі (лише для демонстрації)
- Завдання 4. Розгорніть модель (лише для демонстрації)
- Завдання 5. Маркер носія SML
- Завдання 6. Отримайте прогнози
- Вітаємо!
- Завершіть завдання
Огляд
Під час цієї практичної роботи ви використовуватимете Vertex AI для тренування й обслуговування моделі машинного навчання, щоб спрогнозувати кредитний ризик на основі табличного набору даних.
Цілі
Виконуючи цю практичну роботу, ви навчитеся виконувати такі дії:
- завантажувати набір даних у Vertex AI;
- тренувати модель машинного навчання за допомогою інструментів AutoML;
- оцінювати ефективність моделі;
- розгортати модель у кінцевій точці;
- отримувати прогнози.
Налаштування
Перш ніж натиснути кнопку Start Lab (Почати завдання)
Ознайомтеся з цими вказівками. На виконання завдання відводиться обмежений час, і ви не можете призупиняти їх. Щойно ви натиснете Start Lab (Почати завдання), з’явиться таймер, який показуватиме, скільки часу для роботи з ресурсами Google Cloud у вас залишилося.
Платформа для практичної роботи Qwiklabs дає змогу виконувати завдання в дійсному робочому хмарному середовищі (не в симуляції або демонстраційному середовищі). Для цього на час виконання завдання вам надаються тимчасові облікові дані для реєстрації та входу в Google Cloud.
Обов’язкові умови
Щоб виконати це завдання, потрібно мати:
- стандартний веб-переглядач, наприклад Chrome (рекомендовано);
- достатню кількість часу.
Примітка. Якщо ви маєте обліковий запис або проект Google Cloud, не використовуйте їх для доступу до цього завдання.
Примітка. Якщо ви використовуєте Pixelbook, відкрийте завдання в новому вікні в режимі анонімного перегляду.
Як почати виконувати завдання й увійти в Console
-
Натисніть кнопку Start Lab (Почати практичну роботу). Якщо за практичну роботу необхідно заплатити, відкриється спливаюче вікно, де ви зможете обрати спосіб оплати. На панелі ліворуч ви побачите тимчасові облікові дані, які потрібно використовувати для доступу до цієї практичної роботи.
-
Скопіюйте ім’я користувача, а потім натисніть Open Google Console (Відкрити Google Console). Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою Choose an account (Виберіть обліковий запис).
Примітка. Відкривайте вкладки в окремих вікнах, розміщуючи їх поруч. -
На сторінці Choose an account (Виберіть обліковий запис) натисніть Use Another Account (Інший обліковий запис). Відкриється сторінка входу в обліковий запис.
-
Вставте ім’я користувача, скопійоване з панелі Connection Details (Відомості про підключення). Потім скопіюйте й вставте пароль.
- Виконайте наведені нижче дії.
- Прийміть Умови використання.
- Не додавайте способи відновлення й двохетапну перевірку (оскільки це тимчасовий обліковий запис).
- Не реєструйте безкоштовні пробні версії.
Через кілька секунд Cloud Console відкриється в новій вкладці.
Знайомство з Vertex AI
У цій практичній роботі використовується Vertex AI – уніфікована платформа штучного інтелекту в Google Cloud, на якій можна тренувати й розгортати модель машинного навчання. З Vertex AI можна створити модель машинного навчання на одній платформі двома способами: за допомогою інструментів AutoML без кодування й шляхом Спеціального навчання на основі коду через Vertex Workbench. Щоб виконати цю практичну роботу, ви використовуватимете інструменти AutoML.
Ви розробите модель машинного навчання, щоб визначити, чи виплатить певний клієнт кредит.
Завдання 1. Підготуйте тренувальні дані
Спочатку на інформаційній панелі Vertex AI відображаються основні етапи тренування й розгортання моделі машинного навчання: підготовка тренувальних даних, навчання моделі й отримання прогнозів. Пізніше на ній показуватимуться ваші останні дії, зокрема нещодавні набори даних, моделі, прогнози, кінцеві точки й екземпляри блокнотів.
Створіть набір даних
- У консолі Google Cloud у меню навігації натисніть Vertex AI > Datasets (Vertex AI > Набори даних).
- Натисніть Create dataset (Створити набір даних).
- Назвіть набір даних LoanRisk.
- Для типу даних і цілі натисніть Tabular (Таблиця) та виберіть Regression/classification (Регресія/класифікація).
- Натисніть Create (Створити).
Завантажте дані
Нижче наведено три способи імпортувати дані у Vertex AI:
- завантажити файли CSV з вашого комп’ютера;
- вибрати файли CSV з Cloud Storage;
- вибрати таблицю або інші дані з BigQuery.
Набір даних уже завантажено в Cloud Storage для зручності.
-
Для джерела даних укажіть Select CSV files from Cloud Storage (Вибрати файли CSV з Cloud Storage).
-
У полі Import file path (Шлях до файлу імпорту) введіть цю команду:
- Натисніть Continue (Продовжити).
(Необов’язково) Згенеруйте статистику
-
Щоб переглянути описову статистику для кожного стовпця набору даних, натисніть Generate statistics (Генерувати статистику).
Процес може тривати кілька хвилин, особливо якщо ви робите це вперше. -
Коли статистика буде готова, можна переглянути аналітичні діаграми. Для цього потрібно натиснути назву стовпця.
Завдання 2. Навчіть свою модель
Ви завантажили набір даних і можете натренувати модель, щоб спрогнозувати, чи виплатить клієнт кредит.
- Натисніть Train new model (Навчити нову модель) і виберіть Other (Інше).
Метод навчання
-
Набір даних уже має назву LoanRisk.
-
У полі Objective (Ціль) виберіть Classification (Класифікація).
Слід вибрати саме класифікацію, а не регресію, оскільки ви прогнозуєте не безперервну кількість, а конкретну цифру (клієнт виплатить кредит: 0 – так, 1 – за умовчанням/ні).
- Натисніть Continue (Продовжити).
Інформація про модель
Укажіть назву моделі й цільовий стовпець.
-
Дайте моделі назву, наприклад LoanRisk.
-
У полі Target column (Цільовий стовпець) виберіть Default (За умовчанням).
-
(Необов’язково) Відкрийте меню Advanced options (Додаткові параметри), щоб розподілити дані для навчання й тестування та вказати шифрування.
-
Натисніть Continue (Продовжити).
-
Щоб додати ознаки, натисніть Continue (Продовжити).
Способи навчання
Укажіть стовпці, які використовуватимуться для навчання моделі. Наприклад, для прогнозування кредитного ризику не потрібен стовпець ClientID.
-
Натисніть значок мінуса в рядку ClientID, щоб вилучити його з моделі.
-
(Необов’язково) У меню Advanced options (Додаткові параметри) можна вибрати інші цілі оптимізації.
Докладнішу інформацію про цілі оптимізації для моделей AutoML із табличними даними наведено на цій сторінці. -
Натисніть Continue (Продовжити).
Обчислення й ціни
-
У полі Budget (Бюджет), де вказується час роботи вузла в годинах, введіть 1.
На початку навчання моделі AutoML цього часу зазвичай достатньо, щоб зрозуміти, чи існує зв’язок між вибраними ознаками й міткою. Пізніше можна буде змінити ознаки й довше навчати модель, щоб підвищити її ефективність. -
Не вимикайте дострокову зупинку.
-
Натисніть Start training (Почати навчання).
Залежно від вибраного методу й обсягу даних навчання може тривати від кількох хвилин до кількох годин. Як правило, після завершення навчання користувач отримує електронний лист від Google Cloud, проте в середовищі Qwiklabs листи не надсилаються.
Щоб не витрачати зайвого часу, завантажте попередньо навчену модель у Завданні 5, щоб отримати прогнози на її основі в Завданні 6. Таку модель можна отримати, виконавши кроки в Завданні 1 і Завданні 2.
Завдання 3. Оцініть ефективність моделі (лише для демонстрації)
У Vertex AI є багато показників для аналізу ефективності моделі. Ви працюватимете з трьома, які наведено нижче.
- Precision/Recall curve (Крива точності/повноти)
- Confusion Matrix (Матриця помилок)
- Feature Importance (Важливість ознак)
Крива точності/повноти
Поріг точності визначає, як модель машинного навчання рахує позитивні випадки. Що вищий поріг, то більша точність і менша повнота. Що нижчий поріг, то менша точність і більша повнота.
Поріг можна налаштувати вручну, щоб побачити, як він впливає на точність і повноту. Це допоможе збалансувати ці показники з урахуванням потреб вашої компанії.
Матриця помилок
За матрицею помилок можна визначити відсоток прикладів кожного класу в тестовому наборі, які модель спрогнозувала правильно.
Матриця помилок показує, що ваша початкова модель може правильно спрогнозувати 100% прикладів виплати й 87% прикладів за умовчанням у тестовому наборі. Це непоганий результат.
Щоб підвищити цей показник, можна додати більше прикладів (даних), сконструювати нові ознаки, змінити метод навчання тощо.
Важливість ознак
Важливість ознак відображається в гістограмі Vertex AI, що ілюструє, як кожна ознака впливає на прогноз. Що довша смуга й що більше числове значення, пов’язане з ознакою, то важливіша ознака.
За такими значеннями важливості ознак можна покращити модель і отримувати точніші прогнози. Наступного разу під час навчання можна вилучити найменш важливі ознаки або поєднати дві найважливіші, щоб перевірити, чи вплине це на ефективність моделі.
Важливість ознак – лише одна із численних функцій набору інструментів і фреймворків Vertex AI для машинного навчання під назвою Explainable AI. Explainable AI допомагає зрозуміти прогнози моделей машинного навчання.
Завдання 4. Розгорніть модель (лише для демонстрації)
Коли модель навчена, потрібно створити кінцеву точку у Vertex. З ресурсом моделі у Vertex можна зв’язати кілька кінцевих точок, розподіливши між ними трафік.
Створіть і визначте кінцеву точку
-
На сторінці моделі натисніть Deploy & test (Розгорнути й тестувати), а потім – Deploy to Endpoint (Розгорнути в кінцевій точці).
-
У полі Endpoint name (Назва кінцевої точки) введіть значення LoanRisk.
-
Натисніть Continue (Продовжити).
Налаштування й відстеження моделі
-
Не змінюйте налаштування розподілу трафіку.
-
У спадному меню Machine type (Тип машини) виберіть e2-standard-8, 8 vCPUs, 32 GiB memory (e2-standard-8, 8 віртуальних центральних процесорів, 32 ГіБ пам’яті).
-
У розділі Explainability Options (Параметри пояснюваності) натисніть Feature attribution (Атрибуція ознак).
-
Натисніть Done (Готово).
-
Натисніть Continue (Продовжити).
-
У розділі Model monitoring (Відстеження моделі) натисніть Continue (Продовжити).
-
У розділі Model objectives > Training data source (Цілі моделі > Джерело даних для навчання) виберіть Vertex AI dataset (Набір даних Vertex AI).
-
Виберіть свій набір даних зі спадного меню.
-
У полі Target column (Цільовий стовпець) введіть значення Default (За умовчанням).
-
Залиште інші налаштування без змін і натисніть Deploy (Розгорнути).
Розгортання кінцевої точки триватиме кілька хвилин. Потім біля назви з’явиться зелений прапорець.
Час отримувати прогнози за допомогою розгорнутої моделі.
Завдання 5. Маркер носія SML
Відновіть свій маркер носія (Bearer Token)
Щоб дозволити автентифікацію конвеєра та отримати дозвіл на звернення до кінцевої точки для отримання прогнозів, потрібно надати маркер носія.
Нижче описано, як отримати цей маркер. Якщо вам не вдається отримати маркер носія, причиною можуть бути файли cookie в режимі анонімного перегляду. Щоб вирішити цю проблему, виконайте таку дію у звичайному режимі веб-переглядача.
-
Увійдіть на сайт https://gsp-auth-kjyo252taq-uc.a.run.app/
-
Щоб увійти, скористайтеся електронною поштою та паролем студента платформи.
-
Натисніть кнопку Copy (Копіювати). У буфер обміну скопіюється дуже довгий маркер.
Цей маркер доступний лише протягом 60 секунд, тому скопіюйте його та перейдіть до наступного кроку.
Завдання 6. Отримайте прогнози
У цьому розділі ви працюватимете з наявною навченою моделлю за допомогою сервісу Shared Machine Learning (SML).
ЗМІННА СЕРЕДОВИЩА | ЗНАЧЕННЯ |
---|---|
AUTH_TOKEN | Використайте значення з попереднього розділу |
ENDPOINT | https://sml-api-vertex-kjyo252taq-uc.a.run.app/vertex/predict/tabular_classification |
INPUT_DATA_FILE | INPUT-JSON |
Щоб використовувати навчену модель, потрібно створити кілька змінних середовища.
-
Відкрийте вікно Cloud Shell.
-
Замініть елемент
INSERT_SML_BEARER_TOKEN
на значення маркера носія з попереднього розділу:
- Завантажте об’єкти практичної роботи:
- Розархівуйте об’єкти практичної роботи:
- Створіть змінну середовища ENDPOINT:
- Створіть змінну середовища
INPUT_DATA_FILE
:
Файл INPUT-JSON
містить наведені нижче значення.
age | ClientID | income | loan |
---|---|---|---|
40.77 | 997 | 44964.01 | 3944.22 |
-
Перевірте сервіс SML, надіславши параметри, указані в змінних середовища.
-
Надішліть запит до сервісу SML:
Надіславши запит, ви отримаєте такий результат:
- Змініть файл
INPUT-JSON
, щоб протестувати новий сценарій:
age | ClientID | income | loan |
---|---|---|---|
30.00 | 998 | 50000.00 | 20000.00 |
-
Відредагуйте файл
INPUT-JSON
і замініть початкові значення. Для цього ви можете використати редактор коду на ваш вибір (vim
,nano
,emacs
) або Cloud Shell Code Editor. -
Перевірте сервіс SML, надіславши параметри, указані в змінних середовища.
-
Надішліть запит до сервісу SML:
У цьому прикладі особа віком 30 років із доходом 50 000 узяла кредит на 20 000. За прогнозами моделі людина виплатить кредит.
Надіславши запит, ви отримаєте такий результат:
На зображенні нижче показано, як виконати ті самі дії в Google Cloud Console.
Вітаємо!
Тепер ви можете використовувати Vertex AI, щоб виконувати такі дії:
- завантажувати набір даних;
- навчати модель за допомогою інструментів AutoML;
- оцінювати ефективність моделі;
- розгортати модель, навчену за допомогою інструментів AutoML, у кінцевій точці;
- отримувати прогнози.
Щоб дізнатися більше про різні частини Vertex AI, перегляньте цю документацію.
Завершіть завдання
Закінчивши виконувати завдання, натисніть кнопку End Lab (Завершити завдання). Google Cloud Skills Boost вилучить використані ресурси й очистить обліковий запис.
Ви зможете оцінити, наскільки вам сподобалося виконувати завдання на платформі. Виберіть потрібну кількість зірочок, введіть коментар і натисніть Submit (Надіслати).
Кількість зірочок відповідає певній оцінці:
- 1 зірочка = зовсім не сподобалося
- 2 зірочки = не сподобалося
- 3 зірочки = не можу сказати напевно
- 4 зірочки = сподобалося
- 5 зірочок = дуже сподобалося
Якщо ви не хочете надсилати відгук, просто закрийте діалогове вікно.
Залишайте свої відгуки, пропозиції або коментарі на вкладці Support (Підтримка).
© Google LLC 2022. Усі права захищено. Назва та логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.