Внедрение облачной технологии AWS в NatWest Group означает перенос наших рабочих нагрузок машинного обучения (ML) на более надежное и масштабируемое решение, а также сокращение времени, необходимого для предоставления нашим клиентам лучших продуктов и услуг.
На этом пути внедрения облака мы выбрали модель CLV (Customer Lifetime Value) для перехода на AWS. Эта модель позволяет нам лучше понимать наших клиентов и предлагать персонализированные решения. Модель CLV состоит из ряда отдельных моделей машинного обучения, объединенных в единый конвейер. Для этого требуется масштабируемое решение с учетом объема обрабатываемых данных.
Это последний пост в серии из четырех статей, в которой подробно описывается, как НатВест Групп В партнерстве с Профессиональные услуги AWS для создания масштабируемой, безопасной и устойчивой платформы MLOps. Этот пост предназначен для инженеров машинного обучения, специалистов по данным и руководителей высшего звена, которые хотят понять, как создавать сложные решения с использованием Создатель мудреца Амазонки. Он доказывает гибкость платформы, демонстрируя, как при наличии некоторых начальных шаблонов кода вы можете быстро и многократно реализовать сложный, масштабируемый вариант использования.
Прочтите всю серию:
|
Вызовы
NatWest Group, стремясь радовать своих клиентов, соблюдая при этом нормативные обязательства, работает с AWS над созданием стандартизированного и безопасного решения для внедрения и производства рабочих нагрузок машинного обучения. Предыдущие реализации в организации приводили к разрозненности данных и длительному времени выполнения сред, которые ускорялись и замедлялись. Это также привело к недоиспользованию вычислительных ресурсов. Чтобы улучшить это, AWS и NatWest совместно разработали серию шаблонов проектов и сред машинного обучения с использованием сервисов AWS.
NatWest Group использует машинное обучение для получения новой информации, чтобы мы могли прогнозировать и адаптироваться к будущим банковским потребностям наших клиентов в розничных, финансовых и коммерческих операциях банка. При разработке модели и развертывании ее в рабочей среде необходимо учитывать множество соображений, чтобы обеспечить соответствие стандартам банка. К ним относятся требования к объяснимости модели, систематической ошибке, качеству данных и мониторингу дрейфа. Шаблоны, разработанные в рамках этого сотрудничества, включают функции для оценки этих точек и теперь используются командами NatWest для адаптации и производства своих вариантов использования в безопасной настройке с несколькими учетными записями с использованием SageMaker.
В шаблоны встроены стандарты для готовых к работе рабочих процессов машинного обучения за счет включения лучших практик AWS с использованием возможностей MLOps в SageMaker. Они также включают в себя набор самообслуживаемых, безопасных развертываний инфраструктуры с несколькими учетными записями для сервисов AWS ML и сервисов данных через Простой сервис хранения Amazon (Amazon S3).
Шаблоны помогают группам по рассмотрению дел в NatWest выполнять следующие действия:
- Наращивание возможностей в соответствии с моделью зрелости NatWest MLOps
- Внедрение лучших практик AWS для возможностей MLOps в сервисах SageMaker.
- Создавайте и используйте стандартные шаблоны для разработки готовых рабочих процессов машинного обучения.
- Самообслуживание, безопасное развертывание инфраструктуры для сервисов AWS ML
- Сократите время на развертывание и остановку сред для проектов с помощью управляемого подхода.
- Сокращение затрат на обслуживание за счет стандартизации процессов, автоматизации и вычислений по требованию.
- Производственный код, который позволяет переносить существующие модели, в которых код функционально декомпозирован, чтобы использовать преимущества облачных архитектур по запросу, улучшая читаемость кода и удаляя технические долги.
- Используйте непрерывную интеграцию, развертывание и обучение для проверки концепции (PoC) и разработки вариантов использования, а также включите дополнительные функции MLOps (мониторинг модели, объяснимость и этапы условий).
В следующих разделах обсуждается, как NatWest использует эти шаблоны для переноса существующих проектов или создания новых.
Пользовательские шаблоны и архитектура SageMaker
NatWest и AWS создали собственные шаблоны проектов с возможностями существующих шаблонов проектов SageMaker и интегрировали их с шаблонами инфраструктуры для развертывания в производственных средах. Эта установка уже содержит примеры конвейеров для обучения и вывода и позволяет пользователям NatWest сразу использовать развертывание с несколькими учетными записями.
Настройка с несколькими учетными записями обеспечивает безопасность среды разработки, позволяя проводить тестирование в среде, близкой к производственной. Это позволяет проектным группам сосредоточиться на рабочих нагрузках машинного обучения. Шаблоны проектов заботятся об инфраструктуре, предоставлении ресурсов, безопасности, возможности аудита, воспроизводимости и объяснимости. Они также обеспечивают гибкость, поэтому пользователи могут расширять шаблон в соответствии со своими конкретными требованиями к варианту использования.
Обзор решения
Чтобы начать работу в качестве команды прецедентов в NatWest, необходимо выполнить следующие шаги на основе шаблонов, созданных NatWest и предоставленных через Каталог сервисов AWS:
- Владелец проекта выделяет новые учетные записи AWS, а группа эксплуатации настраивает необходимую инфраструктуру MLOps для этих новых учетных записей.
- Владелец проекта создает Студия Amazon SageMaker среда обработки данных с использованием каталога сервисов AWS.
- Ведущий специалист по обработке и анализу данных запускает новый проект и создает пользователей SageMaker Studio с помощью шаблонов, представленных в каталоге сервисов AWS.
- Команда проекта работает над проектом, обновляя структуру папок шаблона в соответствии со своим вариантом использования.
На следующем рисунке показано, как мы адаптировали архитектуру шаблона в соответствии с потребностями нашего варианта использования CLV. Он демонстрирует, как разрабатываются и запускаются несколько конвейеров обучения в среде разработки. Затем развернутые модели можно протестировать и запустить в производство в предпроизводственной и производственной средах.
Модель CLV представляет собой последовательность различных моделей, которая включает в себя различные древовидные модели и установку логического вывода, объединяющую все выходные данные этих моделей. Данные, используемые в этой рабочей нагрузке машинного обучения, собираются из различных источников и составляют более полумиллиарда строк и почти 1,900 функций. Все задачи по обработке, разработке функций, обучению моделей и логическим выводам в локальной среде выполнялись с использованием PySpark или Python.
Шаблоны пайплайнов SageMaker
CLV состоит из нескольких моделей, построенных последовательно. Каждая модель связана с другой, поэтому для каждой из них требуется отдельный конвейер обучения. Конвейеры Amazon SageMaker позволяет нам обучать и регистрировать несколько моделей с помощью реестра моделей SageMaker. Для каждого конвейера существующий код NatWest был реорганизован, чтобы соответствовать SageMaker Pipelines, при этом гарантируя, что логические компоненты обработки, разработки функций и обучения моделей остались прежними.
Кроме того, код для последовательного применения моделей для вывода был реорганизован в один конвейер, предназначенный для вывода. Поэтому для варианта использования требовалось несколько обучающих конвейеров, но только один конвейер логического вывода.
Каждый конвейер обучения приводит к созданию модели машинного обучения. Для развертывания этой модели требуется одобрение лица, утверждающего модель (роль, определенная для вариантов использования машинного обучения в NatWest). После развертывания модель доступна для Конвейер логического вывода SageMaker. Конвейер логического вывода последовательно применяет обученные модели к новым данным. Этот вывод выполняется пакетами, а прогнозы объединяются для получения конечной ценности жизненного цикла клиента для каждого клиента.
Шаблон содержит стандартный пример MLOps со следующими шагами:
- Обработка PySpark
- Проверка качества данных и проверка смещения данных
- Модельное обучение
- состояние
- Создать модель
- Модельный реестр
- Transform
- Проверка смещения модели, проверка объяснимости и проверка качества
Этот конвейер более подробно описан в части 3: Как NatWest Group создала звуковые, воспроизводимые и объяснимые модели машинного обучения с помощью Amazon SageMaker.
На следующем рисунке показана структура примерного конвейера, предоставленного шаблоном.
Данные предварительно обрабатываются и разделяются на наборы для обучения, тестирования и проверки (этап обработки) перед обучением модели (обучение). После развертывания модели (Создание модели) она используется для создания пакетных прогнозов (Преобразование). Затем прогнозы подвергаются постобработке и сохраняются в Amazon S3 (обработка).
Проверки качества данных и предвзятости данных предоставляют базовую информацию о данных, используемых для обучения. Предвзятость модели, объяснимость и проверки качества используют прогнозы на тестовых данных для дальнейшего изучения поведения модели. Эта информация, а также метрики модели из оценки модели (обработка) позже отображаются в реестре модели. Модель регистрируется только тогда, когда выполняется определенное условие в отношении предыдущих лучших моделей (этап условия).
Любые артефакты и наборы данных, созданные при запуске конвейера, сохраняются в Amazon S3 с использованием сегментов, которые автоматически создаются при подготовке шаблона.
Настройка конвейеров
Нам нужно было настроить шаблон, чтобы убедиться, что логические компоненты существующей кодовой базы были перенесены.
Мы использовали СветGBM основу для построения наших моделей. Первая из моделей, построенных в этом варианте использования, представляет собой простое дерево решений для принудительного разделения определенных функций во время обучения модели. Кроме того, мы разделяем данные на основе заданной функции. Эта процедура фактически привела к обучению двух отдельных моделей дерева решений.
Мы можем использовать деревья для применения двух видов предсказаний: значения и листа. В нашем случае мы используем прогнозы значений в тестовом наборе для расчета пользовательских метрик для оценки модели, а прогнозирование листьев — для вывода.
Поэтому нам нужно было добавить спецификации в конвейер обучения и логического вывода, предоставляемый шаблоном. Чтобы учесть сложность, обеспечиваемую моделью вариантов использования, а также продемонстрировать гибкость шаблона, мы добавили дополнительные шаги в конвейер и настроили шаги для применения необходимого кода.
На следующем рисунке показан наш обновленный шаблон. Он также демонстрирует, как вы можете иметь столько развернутых моделей, сколько вам нужно, которые вы можете передать в конвейер вывода.
Наша первая модель применяет бизнес-знания и разделяет данные по заданной функции. Для этого обучающего конвейера нам пришлось зарегистрировать две разные модели LightGBM для каждого набора данных.
Шаги, связанные с их обучением, были почти идентичными. Таким образом, все шаги выполнялись дважды для каждого разделения данных по сравнению со стандартным шаблоном, за исключением первых шагов обработки. Второй этап обработки применяется для обработки различных моделей с уникальными наборами данных.
В следующих разделах мы более подробно обсудим настраиваемые шаги.
Обработка
Каждый этап обработки поставляется с экземпляром процессора, который обрабатывает задачи обработки SageMaker. В этом варианте использования для запуска кода Python используются два типа процессоров:
- Процессор PySpark – Каждое задание обработки с процессором PySpark использует собственный набор конфигураций Spark для оптимизации задания.
- Скриптовый процессор — Мы используем существующий код Python из варианта использования для создания пользовательских метрик на основе прогнозов и фактических предоставленных данных, а также форматируем выходные данные для последующего просмотра в реестре моделей (JSON). Мы используем пользовательское изображение, созданное по шаблону.
В каждом случае мы можем изменить тип экземпляра, количество экземпляров и размер в ГБ Магазин эластичных блоков Amazon (Amazon EBS) для настройки в соответствии с потребностями конвейера обучения. Кроме того, мы применяем пользовательские образы контейнеров, созданные с помощью шаблона, и при необходимости можем расширить библиотеки по умолчанию.
Модельное обучение
SageMaker шаги обучения поддержка управляемого обучения и логических выводов для различных платформ машинного обучения. В нашем случае мы используем пользовательское изображение Scikit-learn предоставляется с использованием Amazon ECR в сочетании с Оценщик Scikit-Learn для обучения двух наших моделей LightGBM.
Предыдущий дизайн модели дерева решений включал пользовательский класс, который был сложным, и его нужно было упростить, подгоняя отдельные деревья решений к отфильтрованным фрагментам данных. Мы достигли этого, реализовав два этапа обучения с разными входными параметрами и данными, необходимыми для каждой модели.
состояние
Условные шаги в SageMaker Pipelines поддерживается условное ветвление при выполнении шагов. Если все условия в списке условий оцениваются как Истина, шаги «если» помечаются как готовые к выполнению. В противном случае «остальные» шаги помечаются как готовые к выполнению. В нашем случае мы используем два шага условия (ConditionLessThan), чтобы определить, находятся ли текущие пользовательские метрики для каждой модели (например, средняя абсолютная ошибка, рассчитанная на тестовом наборе) ниже порога производительности. Таким образом, мы регистрируем модели только тогда, когда качество модели является приемлемым.
Создать модель
Ассоциация шаг создания модели помогает сделать модели доступными для задач логического вывода, а также наследует код, который будет использоваться для создания прогнозов. Поскольку для нашего варианта использования требуются прогнозы значений и листьев для двух разных моделей, конвейеры обучения имеют четыре разных этапа создания модели.
Каждому шагу предоставляется файл точки входа в зависимости от того, должен ли последовательный шаг преобразования предсказать лист или значение для заданных данных.
Transform
Каждый шаг преобразования использует модель (созданную на этапе создания модели) для возврата прогнозов. В нашем случае у нас есть по одному для каждой созданной модели, в результате чего получается четыре шага преобразования. Каждый из этих шагов возвращает прогнозы листьев или значений для каждой из моделей. Вывод настраивается в зависимости от следующего шага конвейера. Например, шаг преобразования для прогнозирования значений имеет разные выходные фильтры для создания определенных входных данных, необходимых для следующих шагов проверки модели в конвейере.
Реестр моделей
Наконец, обе ветви модели в конвейере обучения имеют уникальный шаг регистрации модели. Как и при стандартной настройке, каждый шаг реестра модели берет специфичную для модели информацию из всех шагов проверки (качество, объяснимость и погрешность), а также пользовательские метрики и артефакты модели. Каждая модель зарегистрирована под уникальным модельная группа пакетов.
При применении изменений, специфичных для варианта использования, к базе кода примера конвейеры запускались с использованием конфигураций кэша для каждого шага конвейера, чтобы улучшить процесс отладки. Шаги кэширования полезны при разработке конвейеров SageMaker, поскольку они снижают затраты и экономят время при тестировании конвейеров.
Мы можем оптимизировать настройки каждого шага, требующего тип и количество инстансов (и, если применимо, объем EBS) для инстансов по требованию в соответствии с потребностями варианта использования.
Преимущества
Сотрудничество AWS и NatWest внесло инновации в реализацию моделей машинного обучения с помощью конвейеров SageMaker и лучших практик MLOps. Теперь NatWest Group использует стандартизированное и безопасное решение для внедрения и производства рабочих нагрузок машинного обучения на AWS с помощью гибких настраиваемых шаблонов. Кроме того, миграция модели, подробно описанная в этом посте, создала множество немедленных и постоянных преимуществ для бизнеса.
Во-первых, мы уменьшили сложность за счет стандартизации:
- Мы можем интегрировать пользовательские модели сторонних производителей в SageMaker модульным способом для создания многоразового решения.
- Мы можем создавать нестандартные пайплайны с помощью шаблонов, и эти шаблоны поддерживаются в стандартизированной производственной среде MLOps.
Мы увидели следующие преимущества в разработке программного обеспечения и инфраструктуры:
- Мы можем настроить шаблоны на основе индивидуальных вариантов использования
- Функциональная декомпозиция и рефакторинг исходного кода модели позволяет нам изменить архитектуру, удалить значительный технический долг, вызванный устаревшим кодом, и перенести наши конвейеры в управляемую среду выполнения по требованию.
- Мы можем использовать дополнительные возможности, доступные через стандартизированные шаблоны, для обновления и стандартизации объяснимости модели, а также для проверки качества и смещения данных, модели.
- Команда проекта NatWest уполномочена предоставлять среды, внедрять модели и производить модели в среде почти полностью самообслуживания.
Наконец, мы добились повышения производительности и снижения затрат на обслуживание:
- Сокращение времени жизни для проектов машинного обучения – Теперь мы можем начинать проекты с универсальными шаблонами, которые реализуют стандарты кода, модульные тесты и конвейеры CI/CD для разработки готовых вариантов использования с самого начала проекта. Новая стандартизация означает, что мы можем ожидать сокращения времени на адаптацию будущих вариантов использования.
- Снижение затрат на выполнение рабочих процессов машинного обучения в облаке. – Теперь мы можем выполнять обработку данных и рабочие процессы машинного обучения с управляемой архитектурой и адаптировать базовую инфраструктуру к требованиям вариантов использования с использованием стандартизированных шаблонов.
- Расширение сотрудничества между проектными командами – Стандартизированная разработка моделей означает, что мы увеличили возможность повторного использования функций моделей, разработанных отдельными командами. Это создает возможность для реализации стратегий непрерывного совершенствования как в разработке, так и в эксплуатации.
- Доставка без границ – Это решение позволяет нам сделать нашу эластичную инфраструктуру по требованию доступной 24/7.
- Непрерывная интеграция, доставка и тестирование – Сокращение времени развертывания между завершением разработки и выпуском продукции дает следующие преимущества:
- Мы можем оптимизировать конфигурацию нашей инфраструктуры и программного обеспечения для обучения моделей и среды выполнения логических выводов.
- Текущие затраты на техническое обслуживание снижаются благодаря стандартизации процессов, автоматизации и вычислениям по требованию. Поэтому в продакшене мы несем затраты времени выполнения только раз в месяц во время переобучения и логического вывода.
Заключение
С помощью SageMaker и помощи руководства AWS по инновациям компания NatWest создала эффективный круг повышения производительности машинного обучения. Шаблоны, модульный и многократно используемый код, а также стандартизация освободили проектную группу от существующих ограничений доставки. Кроме того, автоматизация MLOps высвободила усилия по поддержке, чтобы команда могла работать над другими вариантами использования и проектами или улучшать существующие модели и процессы.
Это четвертая публикация из серии статей о стратегическом сотрудничестве между NatWest Group и AWS Professional Services. Ознакомьтесь с остальными сериями по следующим темам:
- Часть 1 объясняет, как NatWest Group сотрудничала с AWS Professional Services для создания масштабируемой, безопасной и устойчивой платформы MLOps.
- Часть 2 описывает, как NatWest Group использовала AWS Service Catalog и SageMaker для развертывания своей совместимой и самообслуживаемой платформы MLOps.
- Часть 3 предоставляет обзор того, как NatWest Group использует сервисы SageMaker для создания проверяемых, воспроизводимых и объяснимых моделей машинного обучения.
Об авторах
Полин Тинг является специалистом по данным в команде AWS Professional Services. Она поддерживает клиентов в финансовой, спортивной и медиа-индустрии в достижении и ускорении результатов их бизнеса путем разработки решений AI/ML. В свободное время Полина любит путешествовать, заниматься серфингом и пробовать новые десерты.
Марен Сульманн работает специалистом по данным в AWS Professional Services. Она работает с клиентами из разных отраслей, раскрывая возможности искусственного интеллекта и машинного обучения для достижения их бизнес-результатов. В свободное время она любит заниматься кикбоксингом, ходить в походы и проводить вечера за настольными играми.
Крейг Сим является старшим специалистом по данным в NatWest Group, увлеченным исследованиями в области науки о данных, особенно в области машинного обучения графов, и оптимизацией процесса разработки моделей с использованием лучших практик MLOps. Кроме того, Крейг имеет обширный опыт разработки программного обеспечения и управления техническими программами в сфере финансовых услуг. Крейг имеет степень магистра в области науки о данных, PGDip в области разработки программного обеспечения и степень бакалавра технических наук (с отличием) в области машиностроения и электротехники. Вне работы Крейг увлекается гольфом, играл на уровне округа среди юниоров и взрослых. Крейгу повезло, что он смог объединить свой интерес к гольфу с наукой о данных, сотрудничая с PGA European Tour и World Golf Rankings для своей диссертации MSc Data Science. Крейг также увлекается теннисом и катанием на лыжах и является женатым отцом троих уже взрослых детей.
Шоаиб Хан является специалистом по данным в NatWest Group. Он увлечен решением бизнес-задач, особенно в области ценности жизненного цикла клиента и ценообразования, используя лучшие практики MLOps. Он хорошо подготовлен к управлению большой кодовой базой машинного обучения и всегда рад тестировать новые инструменты и пакеты. Любит обучать окружающих, поскольку ведет канал на YouTube под названием conergeML. В свободное время любит длительные прогулки и путешествия.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/part-4-how-natwest-group-migrated-ml-models-to-amazon-sagemaker-architectures/
- "
- &
- 100
- Absolute
- ускоряющий
- По
- Учетная запись
- достигнутый
- через
- дополнение
- дополнительный
- Принятие
- плюс
- Все
- Позволяющий
- уже
- Amazon
- количество
- суммы
- Другой
- отношение
- Применение
- архитектура
- около
- автоматизация
- свободных мест
- доступен
- AWS
- Банковское дело
- Базовая линия
- начало
- Преимущества
- ЛУЧШЕЕ
- лучшие практики
- миллиард
- Заблокировать
- доска
- строить
- Строительство
- бизнес
- возможности
- заботится
- случаев
- вызванный
- определенный
- Проверки
- Дети
- Circle
- класс
- облако
- ОБЛАЧНЫЕ ТЕХНОЛОГИИ
- код
- сотрудничество
- сотрудничество
- сочетание
- сочетании
- коммерческая
- сравненный
- полностью
- комплекс
- Соответствие закону
- уступчивый
- состоящие
- Вычисление
- сама концепция
- состояние
- Конфигурация
- последовательный
- Container
- содержит
- Расходы
- округ
- Создайте
- создали
- создает
- создание
- Текущий
- изготовленный на заказ
- клиент
- Клиенты
- данным
- обработка данных
- наука о данных
- ученый данных
- Долг
- преданный
- поставка
- в зависимости
- развертывание
- развернуть
- развертывание
- развертывание
- развертывания
- описано
- Проект
- подробность
- подробный
- Определять
- развивать
- развитый
- развивающийся
- Развитие
- различный
- обсуждать
- домен
- вниз
- воспитывать
- усилие
- включить
- Проект и
- Инженеры
- обеспечение
- Окружающая среда
- оборудованный
- Европейская кухня
- оценивать
- оценка
- пример
- выполнение
- руководителей высшего звена.
- существующий
- ожидать
- опыт
- продлить
- обширный
- Особенность
- Особенности
- фигура
- фильтры
- финансовый
- финансовые услуги
- Во-первых,
- соответствовать
- Трансформируемость
- гибкого
- Фокус
- после
- формат
- Рамки
- далее
- будущее
- игра
- порождать
- большой
- группы
- имеющий
- помощь
- помогает
- очень
- Как
- How To
- HTTPS
- изображение
- немедленная
- осуществлять
- реализация
- Осуществляющий
- улучшать
- улучшенный
- включают
- включает в себя
- расширились
- individual
- промышленности
- информация
- Инфраструктура
- Инновации
- вход
- размышления
- интегрировать
- интегрированный
- интеграции.
- интерес
- исследовать
- вовлеченный
- IT
- работа
- знания
- большой
- вести
- Наша команда
- изучение
- привело
- Наследие
- уровень
- продолжительность жизни
- линия
- Список
- Длинное
- машина
- обучение с помощью машины
- управляемого
- управление
- управления
- зрелость
- Медиа
- Метрика
- Наша миссия
- ML
- модель
- Модели
- модульный
- Мониторинг
- Месяц
- БОЛЕЕ
- двигаться
- перемещение
- с разными
- обязательства
- постоянный
- Операционный отдел
- Возможность
- Оптимизировать
- организация
- Другое
- в противном случае
- собственный
- владелец
- особенно
- партнерство
- страстный
- производительность
- Платформа
- PoC
- Точка
- пунктов
- мощностью
- предсказывать
- прогноз
- Predictions
- предыдущий
- цены
- проблемам
- процесс
- Процессы
- обработка
- процессор
- Производство
- производительность
- Продукция
- профессиональный
- FitPartner™
- Проект
- проектов
- доказательство
- доказательство концепции
- доказывает
- обеспечивать
- приводит
- быстро
- снижение
- зарегистрироваться
- зарегистрированный
- регуляторы
- осталось
- требовать
- обязательный
- Требования
- исследованиям
- ресурс
- Полезные ресурсы
- ОТДЫХ
- Итоги
- розничный
- возвращают
- Возвращает
- Run
- Бег
- масштабируемые
- Наука
- Ученый
- Ученые
- безопасный
- безопасность
- выбранный
- Серии
- обслуживание
- Услуги
- набор
- установка
- значительный
- просто
- Размер
- So
- Software
- разработка программного обеспечения
- Решение
- Решения
- некоторые
- спецификации
- Вращение
- раскол
- расколы
- Спорт
- стандарт
- стандартов
- Начало
- и политические лидеры
- начинается
- диск
- Стратегический
- стратегий
- студия
- поддержка
- Поддержанный
- Поддержка
- комфортного
- с
- задачи
- команда
- Технический
- Технологии
- шаблоны
- тестXNUMX
- Тестирование
- тестов
- следовательно
- сторонние
- Через
- время
- вместе
- инструменты
- Темы
- Обучение
- Transform
- путешествовать
- Путешествие
- понимать
- созданного
- us
- использование
- пользователей
- Проверка
- ценностное
- разнообразие
- различный
- объем
- Богатство
- будь то
- в то время как
- КТО
- в
- Работа
- работает
- работает
- Мир
- YouTube