Развертывание Gradio на AWS: краткое руководство для начинающих



Книга Развертывание Gradio на AWS: краткое руководство для начинающих

Введение


Gradio позволяет быстро поделиться моделью МО с пользователями, но не гарантирует производительности. Крайне важно вывести приложение Gradio за рамки локального ноутбука, особенно при демонстрации модели в качестве доказательства концепции (POC). Для более масштабных проектов более подходящим вариантом может стать Streamlit.


Развертывание с помощью AWS


В этом руководстве рассмотрим процесс развертывания базового приложения Gradio с помощью Amazon Web Services (AWS). Предварительный опыт работы с AWS не требуется, поскольку каждый шаг будет сопровождаться детальными инструкциями.


Пример приложения Gradio


Чтобы проиллюстрировать шаги по развертыванию, будем использовать в качестве примера простое приложение Gradio:


import gradio as gr

def greet(name):
return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="text", outputs="text")

demo.launch()

Шаг 1. Преобразование в скрипт Python


Перед использованием AWS убедитесь в том, что приложение Gradio выполнено в виде скрипта Python. Если оно находится в файле notebook, преобразуйте его в скрипт с помощью следующей команды:


$ jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb

Кроме того, установите в скрипте параметр server_name равным “0.0.0.0”:


import gradio as gr

def greet(name):
return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="text", outputs="text")

demo.launch(server_name="0.0.0.0")

Шаг 2. Создание репозитория GitHub


Создайте репозиторий GitHub и загрузите туда проект Gradio. Не забудьте создать файл “requirements.txt”, чтобы облегчить установку всех необходимых библиотек на инстанс EC2 с помощью одной команды. Создать этот файл можно, выполнив следующую команду в каталоге проекта Gradio:


python -m pipreqs.pipreqs .

Шаг 3. Настройка инстанса EC2


Начните с создания учетной записи на AWS, а затем перейдите к созданию инстанса EC2. Это можно сделать, выполнив поиск по “ec2” и выбрав опцию “launch instance” (“запустить инстанс”).


Набираем “ec2” в строке поиска

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



Перед запуском инстанса сгенерируйте и загрузите пару ключей для доступа к инстансу с локального компьютера, нажав кнопку “Create new key pair” (“Создать новую пару ключей”).



Шаг 4. Настройка правил безопасности входящих сообщений


После успешного запуска инстанса перейдите на вкладку “Security” (“Безопасность”) и выберите имя группы безопасности. В результате этого действия откроется окно, позволяющее изменить правила входящих подключений.


Вкладки, доступные после запуска инстанса

Перейдите во вкладку “Inbound rules” (“Правила входящих подключений”) и выберите “Edit inbound rules” (“Редактировать правила входящих подключений”). Добавьте новое правило со следующими характеристиками.



  • Тип: Custom TCP.

  • Диапазон портов: 7860–7870.

  • Источник: Anywhere (для обеспечения доступа из любого места).


Кликните “Save rules” (“Сохранить правила”).


Шаг 5. Подключение к инстансу AWS по протоколу SSH


Для подключения к инстансу необходимо выполнить два шага:


1. Вы должны быть владельцем файла c парой ключей. Продемонстрируем, как это сделать на платформах Windows и Linux/macOS.


Для пользователей Windows:



  • Кликните правой кнопкой мыши на файл с парой ключей.

  • Перейдите к “Properties” (“Свойства”).

  • Перейдите во вкладку “Security” (“Безопасность”).

  • Кликните “Advanced” (“Дополнительно”).

  • Просмотрите записи о правах доступа. Если ваше имя пользователя отсутствует, кликните “Change” (“Изменить”) (требуются права администратора), чтобы добавить свое имя пользователя, а затем убрать все остальные привилегии из System (“Система”) и Administrators (“Администраторы”).


Для пользователей Linux/macOS:



  • Выполните следующую команду:


chmod 400 path_to_your_keypair_file.pem

2. Выполните следующую команду для установления соединения:


ssh -i path_to_your_keypair_file.pem ec2-user@Public-IPv4-address

Учтите, что использование “ec2-user” перед символом “@” не всегда применимо и зависит от конкретного инстанса. Чтобы определить правильное имя пользователя, кликните на инстанс, перейдите в раздел “Connect” (“Подключение”) и во вкладке “EC2 instance connect” (“Подключение инстанса EC2”) найдите требуемое имя пользователя. Кроме того, в панели инстанса EC2 можно найти публичный IPv4-адрес.


Шаг 6. Конфигурация на сервисе EC2


После подключения к сервису EC2 выполните следующие задачи.



  • Запустите обновление системы:


sudo apt-get update


  • Установите Git:


sudo apt-get install git


  • Установите Pip:


sudo apt-get install python3-pip


  • Клонируйте GitHub-репозиторий:


git clone your_repository_url


  • Запустите приложение Gradio:


python script_name.py

После запуска приложения вам будет предоставлен локальный URL. Обратите внимание на номер порта в конце (7860). Объедините этот порт с ранее используемым публичным IPv4-адресом в следующем формате: “Public-IPv4-address:7860”.


Теперь у вас есть полностью готовое к работе приложение Gradio, доступное из любой точки мира и обладающее отличной производительностью.



50   0  

Comments

    Ничего не найдено.