Add module structure to introduction
This commit is contained in:
parent
06053771c8
commit
60f640afaf
1 changed files with 40 additions and 4 deletions
|
@ -1,17 +1,21 @@
|
|||
# Введение
|
||||
# Введение в работу с фреймворком
|
||||
|
||||
## Список терминов
|
||||
|
||||
**Базовый модуль** - приложение, развёрнутое как часть *платформы*, и решающее прикладную задачу.
|
||||
**Базовый модуль** - приложение, развёрнутое на фреймворке, и решающее прикладную задачу.
|
||||
|
||||
**MLOps модуль** - элемент *платформы*, не решающий прикладную задачу самостоятельно, а направленный на улучшение или упрощение работы базовых модулей.
|
||||
**MLOps модуль** - элемент фреймворка, не решающий прикладную задачу самостоятельно, а направленный на улучшение или упрощение работы базовых модулей.
|
||||
|
||||
**Пользователь** - конечный пользователь *модулей*, в основном базовых, который заинтересован в применении *интеллектуальный модулей* для решения прикладных задач.
|
||||
|
||||
**Разработчик** - разработчик *модулей* , размещающий свои модули на *платформе*.
|
||||
**Разработчик** - разработчик *модулей*, размещающий свои модули на фреймворке.
|
||||
|
||||
**Компонент модуля** - отдельный элемент приложения, представляющий набор функций для взаимодействия с другими элементами, самой платформой или конечными пользователями.
|
||||
|
||||
**Пайплайн** - pipeline, сквозной процесс программной обработки набора данных несколькими программными модулями. Во фреймворке создаётся с помощью компонента ExperimentPipeline.
|
||||
|
||||
**ML-компонент** - сервис, обрабатывающий синхронные запросы пользователей на произведение вычислений, требующих мало вычислительных ресурсов.
|
||||
|
||||
## Работа с фреймворком
|
||||
|
||||
Фреймворк позволяет создать на основе Git-репозитория веб-сервис для синхронных и асинхронных вычислений. Для этого необходимо создать набор манифестов, соответствующих компонентам фреймворка, и разместить их в репозитории.
|
||||
|
@ -20,3 +24,35 @@
|
|||
|
||||
1. Веб-сервис для быстрых синхронных вычислений - MLComponent
|
||||
2. Асинхронный запуск вычислительных экспериментов - ExperimentPipeline
|
||||
|
||||
Как правило, если вычислительная задача требует доли секунды для выполнения - её уместно организовывать как ML-компонент, иначе - пайплайн.
|
||||
|
||||
## Структура базового модуля
|
||||
|
||||
Базовый модуль - состоит из нескольких частей, которые вместе складываются в приложение, которое решает прикладную задачу.
|
||||
|
||||
- Git-репозиторий
|
||||
- Программный код, решающий прикладную задачу
|
||||
- Включая интерфейс взаимодействия с фреймворком
|
||||
- Компоненты модуля
|
||||
- MLComponent
|
||||
- ExperimentPipeline
|
||||
- APIComponent
|
||||
- DataBox
|
||||
- Системные компоненты, подключающие модуль к фреймворку
|
||||
- Образы Docker
|
||||
|
||||
Общий принцип работы следующий:
|
||||
|
||||
1. Существует программа, решающая прикладные задачи. Для простоты - проект на Python. Разработчик хочет развернуть эту программу на фреймворке, чтобы через веб-запросы можно было с ней взаимодействовать. Разработчик определяет, какие из элементов программы подходят для такого взаимодействия, и какой из вариантов организации лучше подходит для каждого элемента - ML-компонент или пайплайн. Например, программа распознавания объектов может содержать ML-компонент для работы с отдельными изображениями и пайплайн для работы с видео.
|
||||
2. Разработчик реализует интерфейс взаимодействия с фреймворком, соответствующий выбранному компоненту.
|
||||
- Для ML-компонента это функция inference.
|
||||
- Для пайплайна это организация входных и выходных данных через файлы и переменные окружения.
|
||||
- В обоих случаях готовится образ Docker с основной программой и интерфейсом взаимодействия с фреймворком.
|
||||
- Работу интерфейса можно протестировать без подключения модуля к фреймворку, запуская модуль из образа Docker.
|
||||
3. Разработчик готовит манифесты компонентов модуля и размещает их в репозитории.
|
||||
4. Приложение подключается к фреймворку с помощью системных компонентов.
|
||||
5. Разработчик загружает необходимые для работы данные в DataBox приложения, если нужно.
|
||||
6. Приложение готово к использованию.
|
||||
|
||||
При создании приложения через личный кабинет с использованием шаблонов, приложение сразу подключается к фреймворку с базовым набором компонентов. После этого шаблонные компоненты и код необходимо заменить настоящие, соответствующие решению прикладной задачи.
|
||||
|
|
Loading…
Reference in a new issue