2.2 среда разработки программного обеспечения для глубокого обучения (deep learning software framework): Инструментарий, который использует набор предварительно созданных и оптимизированных компонентов для определения модели, инкапсулирующей алгоритмы искусственного интеллекта, для вызова данных и использования вычислительных ресурсов.
2.3 модель глубокого обучения (deep learning model): Алгоритм глубокого обучения для решения конкретной задачи, обычно содержащий информацию о структуре вычислительного графа и информацию о параметрах, используемых для представления алгоритма глубокого обучения.
2.4 сжатие модели (model compression): Механизм уменьшения размера модели с помощью таких алгоритмов, как отсечение (прунинг), квантификация, регуляризация, дистилляция знаний и условное начисление.
В настоящем стандарте применены следующие сокращения:
ASIC - специализированная интегральная схема (application-specific integrated circuit);
CPU - центральный процессор (central processing unit);
FPGA - программируемая пользователем матрица логических элементов (field-programmable gate array);
GPU - графический процессор (graphics processing unit);
LLVM - низкоуровневая виртуальная машина (low level virtual machine);
NNEF - формат для обмена нейронными сетями (neural network exchange format);
ONNX - открытый обмен нейронными сетями (open neural network exchange);
SGD - стохастический градиентный спуск (stochastic gradient descent).
В настоящем стандарте:
- ключевые слова "требуется, чтобы" означают требование, которое должно строго соблюдаться и отклонение от которого не допускается, если будет сделано заявление о соответствии настоящему стандарту;
- ключевое слово "рекомендуется" означает требование, которое рекомендуется, но не является абсолютно необходимым. Таким образом это требование не является обязательным для заявления о соответствии настоящему стандарту.
5 Промышленная реализация среды разработки программного обеспечения для глубокого обучения в области искусственного интеллекта
5.1 Архитектура приложения на основе среды разработки программного обеспечения для глубокого обучения
На рисунке 5.1 показана архитектура приложений, основанных на среде разработки программного обеспечения для глубокого обучения.
![]() разработки программного обеспечения для глубокого обучения
К аппаратному обеспечению относятся центральный процессор (CPU), графический процессор (GPU), специализированная интегральная схема (ASIC), программируемая пользователем матрица логических элементов (FPGA) и другие микросхемы, а также серверы, мобильные устройства и встроенные терминальные устройства, созданные с использованием этих микросхем.
Существующие промежуточные представления, включая низкоуровневую виртуальную машину (LLVM) CUDA, Intel Inference Engine, TVM, XLA, открытый обмен нейронными сетями (ONNX), формат обмена нейронными сетями (NNEF) и т.д.
Среды разработки используются при инкапсуляции основного аппаратного обеспечения и реализации алгоритмов ИИ, включая среду разработки для обучения и среду разработки для вывода. Среда разработки для обучения включает TensorFlow, PyTorch, Caffe, PaddlePaddle, MXNet и т.д.; среда разработки для вывода - Tensor RT, TensorFlow Lite, Caffe2go, Paddle Mobile и т.д.
Базовые приложения, как правило, обозначают сценарии применения технологий глубокого обучения в предметных областях ИИ, таких как компьютерное зрение, обработка естественного языка, интеллектуальная обработка речи.
Отраслевые приложения означают применение технологий глубокого обучения к отдельным вертикальным сферам деятельности.
6 Определение требований и методов оценки среды разработки программного обеспечения для глубокого обучения
В настоящем стандарте отдельно сформулированы соответствующие требования к среде обучения и среде вывода при глубоком обучении. Для среды обучения они охватывают пять аспектов, включая экосистему, простоту использования, производительность, поддерживаемую архитектуру, безопасность и стабильность. Для среды вывода в требования включены четыре аспекта, в том числе простота использования, производительность, оптимизация на уровне аппаратного обеспечения, безопасность и стабильность.
Система показателей для среды обучения включает элементы, перечисленные в таблице 6.1.
Таблица 6.1
Система показателей для среды вывода включает элементы, перечисленные в таблице 6.2.
Таблица 6.2
При проведении оценки среды разработки программного обеспечения для глубокого обучения необходимы классические тестовые примеры. В таблице 6.3 перечислены некоторые классические модели глубокого обучения, используемые в различных сценариях тестирования, и соответствующие метрики, рекомендуемые при проведении оценки.
Таблица 6.3
с соответствующими наборами данных и целями
в области качества
6.3.1 Экосистема
6.3.1.1 Интерфейс
Относится к описанию интерфейсов к языкам программирования, которые поддерживает среда разработки для обучения.
6.3.1.2 Основные разработчики и соисполнители
Относится к количеству основных разработчиков и соисполнителей, а также к активности использования среды разработки для обучения, особенно к числу просмотров, звезд, вилок (forks), запросов на вытягивания (pull request), к количеству основных разработчиков и соисполнителей в GitHub.
6.3.1.3 Условия, при которых решают задачи
Относится к механизму и к тем условиям, при которых решают задачи.
6.3.2 Простота использования
6.3.2.1 Построение и конверсия модели
Относится к согласованности интерфейса прикладного программирования (application programming interface, API), структуры определения модели, формата хранения модели и преобразователей модели.
6.3.2.2 Вторичная разработка на основе языка высокого уровня
Относится к языкам высокого уровня, которые поддерживает среда разработки для обучения. Взвешивает популярность каждого языка для расчета средних значений уровня поддержки языков высокого уровня средой разработки для обучения.
6.3.2.3 Пользовательское расширение
Относится к поддержке и простым в использовании инструментам для разработки расширенных функций, таких как настраиваемые операции, настраиваемый сетевой уровень и добавление строк кода для реализации одной расширенной функциональности.
6.3.2.4 Кросс-платформенность
Относится к совместимости среды разработки для обучения с различными платформами, такими как Linux, Windows, Android, iOS, облачная платформа и т.д.
6.3.2.5 Поддержка библиотеки моделей
Относится к поддерживаемым моделям глубокого обучения, включая CNN, RNN и модели, которые применяют в отраслевых вариантах использования. Необходимо указать количество моделей и применяемые варианты использования.
6.3.2.6 Руководства и обучающие материалы
Должны быть продекларированы руководства и обучающие материалы, в том числе должно быть сказано, существуют ли официальные документы, документы сообщества и материалы от партнерских образовательных учреждений. Если они существуют, необходимо включить количество документов, их полноту, обновления и языки, которые использованы при написании.
6.3.2.7 Динамический граф и статический граф
Относится к механизму выполнения кода среды разработки для обучения, такому как динамический или статический граф.
6.3.2.8 Стабильность
Относится к механизму повышения стабильности среды для обучения.
6.3.2.9 Возможность отладки
Относится к гибкости и эффективности механизмов отладки.
6.3.3 Производительность
6.3.3.1 Эксплуатационная производительность библиотеки моделей
Относится ко времени исполнения и к использованию памяти при выполнении классических моделей из официальной библиотеки моделей с различными размерами пакетов.
6.3.3.2 Эксплуатационная производительность адаптированной модели
Относится к параллелизму, стабильности и количеству независимых параметров. Для параллелизма рекомендуется проводить оценки, чтобы получить конкретные расчетные величины, выполняемые одновременно, и интерактивную эффективность среды разработки. Для стабильности рекомендуется проводить оценки для получения статистических данных о сбоях в течение недели путем непрерывного выполнения задач на основе среды для обучения. Для количества независимых параметров рекомендуется проводить оценки, чтобы получить наибольшую пропускную способность среды для обучения и выровнять ее с его возможностями.
6.3.3.3 Поддержка аппаратного ускорения
Относится к оптимизации среды разработки для обучения при использовании различного базового аппаратного обеспечения, такого как CPU, GPU, FPGA, специализированные ускорители ИИ и т.д.
6.3.4 Поддерживаемая архитектура
6.3.4.1 CPU/FPGA
Относится к производительности классических моделей, исполняемых на CPU или FPGA, включая время обучения и использование памяти.
6.3.4.2 Один GPU/значительное количество GPU
Относится к производительности синхронизированного стохастического градиентного спуска (SGD) классических моделей и других сложных методов оптимизации моделей, выполняемых на одном GPU и нескольких GPU.
6.3.4.3 Распределенное обучение
Относится к синхронизированному поведению SGD классических моделей и другим сложным методам оптимизации моделей, выполняемым как на одной машине, так и на разных машинах.
6.3.4.4 Поддержка виртуальной среды
Относится к применимости среды разработки для обучения к использованию в виртуальной среде, на виртуальной машине и т.д.
6.3.4.5 Поддержка операционных систем
Относится к использованию среды разработки для обучения в нескольких операционных системах, таких как Linux, Windows и macOS.
6.3.5 Безопасность и стабильность
6.3.5.1 Использование сторонней библиотеки
Относится к сторонней библиотеке, используемой в среде разработки для обучения.
6.3.5.2 Безопасность данных
Относится к тому, поддерживаются ли средой разработки для обучения зашифрованные данные при обучении и предоставляется ли инструмент шифрования.
6.4.1 Простота использования
6.4.1.1 Функциональность оптимизации модели
Относится к возможности сжатия модели, ускорения компонентов алгоритма и компонентов оптимизации гиперпараметров.
6.4.1.2 Представление универсальной модели
Относится к тому, поддерживает ли среда разработки для вывода универсальный формат представления модели глубокого обучения, например ONNX.
6.4.1.3 Кросс-платформенность
Относится к совместимости среды разработки для вывода с различными платформами, такими как Linux, Windows, Android, iOS, облачная платформа и т.д.
6.4.2 Производительность
6.4.2.1 Скорость вывода
Относится ко времени вывода при исполнении классических моделей глубокого обучения с использованием среды разработки для вывода при различном потреблении энергии.
6.4.2.2 Скорость выхода на рабочий режим
Относится ко времени выхода на рабочий режим при исполнении классических моделей глубокого обучения с использованием среды разработки для вывода на различных массивах данных.
6.4.2.3 Использование системных ресурсов
Относится к потреблению памяти, использованию памяти центрального процессора, использованию памяти графического процессора при исполнении моделей глубокого обучения разных масштабов.
6.4.2.4 Потребление энергии
Относится к затратам энергии за 1 ч за счет выполнения моделей глубокого обучения разных масштабов.
6.4.3 Оптимизация на уровне аппаратного обеспечения
6.4.3.1 Поддержка различного аппаратного обеспечения
Относится к способности среды разработки для вывода поддерживать различное аппаратное обеспечение, такое как FPGA, ASIC, GPU и т.д.
6.4.3.2 Оптимизация набора инструкций
Относится к оптимизации поддерживаемого средой разработки для вывода набора инструкций, такого как усовершенствованная RISC-машина (ARM), набор инструкций Intel.
6.4.4 Безопасность и стабильность
6.4.4.1 Шифрование модели
Относится к стратегии шифрования обученной модели вывода в среде для разработки вывода.
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/prod/pnst_predvaritelnyj-nacionalnyj-standart/1/pnst_74546.html
На правах рекламы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||