Руководство по масштабированию что такое

Время на прочтение
7 мин

Количество просмотров 906

Команды MLOps вынуждены развивать свои возможности по масштабированию ИИ. В 2022 году мы столкнулись со взрывом популярности ИИ и MLOps в бизнесе и обществе. В 2023 год ажиотаж, учитывая успех ChatGPT и развитие корпоративных моделей, будет только расти.

Столкнувшись с потребностями бизнеса, команды MLOps стремятся расширять свои мощности. Эти команды начинают 2023 год с длинного списка возможностей постановки ИИ на поток. Как мы будем масштабировать компоненты MLOps (развёртывание, мониторинг и governance)? Каковы основные приоритеты нашей команды?

AlignAI совместно с Ford Motors написали это руководство, чтобы поделиться с командами MLOps своим успешным опытом масштабирования.

Что значит MLOps?

Для начала нам нужно правильное определение MLOps. MLOps — это переход организации от создания разнородных моделей ИИ к надёжному созданию алгоритмов в больших масштабах. Для такого перехода требуется повторяемый и предсказуемый процесс. MLOps ведёт к увеличению объёмов ИИ и росту доходности по инвестициям. Команды получают выгоду от MLOps, если делают упор на организацию процесса, команды и инструментов.

Фундаментальные компоненты MLOps для масштабирования

Давайте рассмотрим каждую область с примерами из опыта Ford Motors и идеи, которые помогут вам взяться за этот процесс.

  • Измерения и оценка влияния: способ отслеживания и измерения прогресса.
  • Развёртывание и инфраструктура: способы масштабирования работающих моделей.
  • Мониторинг: обеспечение качества и точности моделей в продакшене.
  • Governance: создание элементов управления и наблюдаемости моделей.
  • Евангелизм MLOps: обучение бизнеса и других технических команд тому, зачем и как использовать методики MLOps.

Измерения и оценка влияния

Однажды в командный центр MLOps компании Ford пришёл коммерческий руководитель. Мы оценили метрики использования модели и продуктивно обсудили причины снижения её использования. Такая наблюдаемость влияния и применения моделей критически важна для обеспечения доверия и реагирования на потребности бизнеса.

Фундаментальный вопрос для команд, использующих ИИ и вкладывающихся в мощности MLOps, заключается в следующем: как мы поймём, есть ли у нас прогресс?

Самое важное здесь — всей командой сосредоточиться на том, как мы обеспечиваем выгоду для наших клиентов и владельцев бизнеса. Команды делают упор на численную оценку своей производительности с точки зрения влияния на бизнес и на операционные метрики. Измерение влияния позволяет составить общую картину развития.

Вопросы, с которых стоит начать:

  1. Как вы сегодня измеряете ценность моделей в разработке и продакшене? Как отслеживаете использование и вовлечённость владельцев бизнеса?
  2. Каковы сегодня эксплуатационные или проектные метрики моделей в продакшене? Кто отвечает за улучшение этих метрик? Как вы представляете пользователям доступ для просмотра этих метрик?
  3. Как люди узнают об изменениях в пользовательском поведении или в использовании решения? Кто реагирует на такие проблемы?

Развёртывание и инфраструктура

Первая проблема, с которой сталкивается команда в MLOps — это развёртывание моделей в продакшен. С ростом количества моделей команды должны создать стандартизованный процесс и общую платформу для того, чтобы справляться с возросшими объёмами. Управление двадцатью моделями, развёрнутыми с помощью двадцати разных паттернов, может сильно замедлить процесс. Корпоративные команды обычно создают централизованные инфраструктурные ресурсы, связанные с X моделями. Выбор подходящей архитектуры и инфраструктуры для разных моделей и команд может быть сложной задачей. Однако после создания системы она становится мощным фундаментом для развития возможностей мониторинга и governance.

Мы в компании Ford создали стандартную функцию развёртывания при помощи Kubernetes, Google Cloud Platform и поддерживающей их команды.

Вопросы для нашей команды:

  1. Как мы централизуем развёртывание моделей? Можно ли создать или выделить централизованную команду и ресурсы для управления развёртываниями?
  2. Какие паттерны развёртывания использовать (REST, пакетный, потоковый и так далее)?
  3. Как сделать их доступными другим командам?
  4. Какие самые длительные или сложные аспекты, с которыми нужно справляться командам разработчиков моделей, чтобы вывести модель в продакшен? Как спроектировать централизованную систему развёртывания, чтобы решать эти проблемы?

Мониторинг

Уникальный и сложный аспект машинного обучения заключается в возможности дрейфа и изменения моделей в продакшене. Для того, чтобы владельцы бизнеса доверяли применению моделей, критически важно создать систему мониторинга. В правилах машинного обучения Google рекомендуется «практиковать хорошую гигиену алертов, например, делать так, чтобы на алерты можно было реагировать сразу». Для этого команды должны определить области мониторинга и способы генерации таких алертов. Проблемой становится возможность мгновенного реагирования на такие алерты. Необходимо наладить процесс исследования и устранения проблем в продакшене.

У компании Ford есть Model Operations Center — централизованное пространство с информацией и данными для того, чтобы почти в реальном времени отслеживать то, дают ли модели нужные нам результаты.

Выше показан упрощённый пример дэшборда, исследующего падение количества обращений или записей ниже заданного значения.

Метрики мониторинга

Вот метрики мониторинга, которые следует учитывать в своих проектах:

  • Задержка: время, необходимое для возврата прогноза (например, суммарное время обработки 100 записей).
  • Статистическая точность: способность модели делать точные или близкие прогнозы на тестовом датасете (например, Mean Squared Error, F2 и так далее).
  • Качество данных: количественная величина полноты, точности, валидности и актуальности прогнозов или обучающих данных (например, процент записей прогнозов с отсутствующим признаком).
  • Дрейф данных: изменения в распределении данных по времени (например, изменения в освещении для модели компьютерного зрения).
  • Обращения к модели: частота использования прогнозов модели для решения задач бизнеса или пользователей (например, количество прогнозов модели, развёрнутой как конечная точка REST).

Вопросы для команды:

  1. Как нужно мониторить все модели?
  2. Какие метрики нужно отслеживать для каждой модели?
  3. Существует ли стандартный инструмент или фреймворк для генерации метрик?
  4. Как управлять алертами и проблемами мониторинга?

Governance

Инновации неизбежно создают риски, особенно в среде бизнеса. Поэтому для успешного внедрения инноваций необходимо встраивать в системы элементы управления для снижения риска. Проактивность позволяет избавиться от проблем и сэкономить время. Команды MLOps должны проактивно предвидеть риски, рассказывать о них и способах их устранения владельцам бизнеса.

Разработка проактивного подхода к governance помогает избежать реактивной работы с потребностями бизнеса. Два основных элемента стратегии: управление доступом к уязвимым данным и фиксация исторических данных и метаданных для наблюдаемости и аудита.

С увеличением масштабов команд governance обеспечивает великолепные возможности автоматизации. Ожидание данных замедляет работу проектов data science. В компании Ford модель с точностью 97% автоматически определяет, есть ли в данных позволяющая установить личность информация. Модели машинного обучения также помогают с запросами доступа и в 90% случаев позволяют снизить время обработки с недель до минут.

Второй элемент — это отслеживание метаданных на протяжении жизненного цикла модели. Для масштабирования машинного обучения необходимо масштабировать уровень доверия к самим моделям. Масштабные MLOps требуют встроенного контроля качества, безопасности и управления, чтобы избегать проблем и перекосов в продакшене.

С governance связано множество теорий и мнений, в которых можно запутаться. Лучше всего начинать с обеспечения чёткого контроля пользовательского доступа.

Дальше важнее всего становятся фиксация метаданных и автоматизация. В таблице ниже перечислены сферы сбора метаданных. По возможности используйте конвейеры и другие системы автоматизации для автоматической фиксации этой информации, чтобы избежать ручной обработки и рассогласованности.

Собираемые метаданные

Вот элементы, собираемые для каждой модели:

  • Версия/обученная модель: уникальный идентификатор обученной модели.
  • Обучающие данные: данные, использованные для создания обученной модели
  • Код обучения: Git hash или ссылка на исходный код.
  • Зависимости: библиотеки, использованные при обучении.
  • Код прогнозирования: Git hash или ссылка на исходный код.
  • Исторические прогнозы: хранение выводов с целью аудита.

Вопросы для команды:

  1. С какими проблемами мы сталкивались в проектах?
  2. С какими проблемами сталкиваются владельцы бизнеса или что их беспокоит?
  3. Как нам управлять запросами доступа к данным?
  4. Кто их утверждает?
  5. Есть ли возможности для автоматизации?
  6. Какие уязвимости создают наши конвейеры или развёртывания моделей?
  7. Какие элементы метаданных мы должны сохранять?
  8. Как они хранятся и как к ним выполняется доступ?

Евангелизм MLOps

Многие технические команды ошибочно считают, что после создания системы всё остальное приложится само. Однако для решения задачи нужно нечто большее. Для этого также нужно рассказывать о решении и продвигать его, чтобы оно оказало влияние на всю организацию. Командам MLOps необходимо делиться успешным опытом, рассказывать о решении уникальных проблем инструментов, данных, моделей и руководителей организации.

Любой участник команды MLOps может стать евангелистом, объединив свои усилия с владельцами бизнеса для демонстрации их историй успеха. Демонстрация примеров из вашей организации помогает чётко иллюстрировать преимущества и возможности.

Сотрудники организации, желающие поставить ИИ на поток, требуют обучения, документации и поддержки. Можно начать с программ Lunch and Learn, онбординга и менторства. При увеличении масштаба организации более формализованные программы обучения и онбординга со справочной документацией могут ускорить преобразование организации.

Вопросы для команды:

  1. Как можно создать сообщество или систему обучения для MLOps?
  2. Какие новые должности и характеристики мы должны создать?
  3. О каких решённых нами задачах можно рассказать?
  4. Как вы обеспечиваете обучение или документацию, чтобы рассказывать о своём опыте и историях успеха с другими командами?
  5. Как можно создать обучающие программы или чеклисты для дата-саентистов, дата-инженеров и владельцев бизнеса с целью обучения работе с ИИ-моделями моделями?

С чего начать

Команды и руководители MLOps в процессе балансирования постановки на поток моделей сталкиваются с огромным количеством возможностей. У каждой организации возникают собственные сложности, зависящие от её данных, моделей и технологий.

Сложность всегда заключается в расстановке приоритетов.

Надеемся, это руководство поможет вам генерировать новые идеи и искать новые области для исследования. Первый шаг заключается в создании большого списка возможностей для вашей команды в 2023 году. Затем нужно безжалостно расставлять приоритеты в зависимости от того, что окажет наибольшее влияние на клиентов. Команды также могут определять и замерять свой прогресс при помощи создаваемых в процессе бенчмарков. В этом руководстве Google можно найти структуру и этапы развития для своей команды.

Вопросы для команды:

  1. Как лучше всего развивать и усложнять систему при помощи MLOps?
  2. Как замерять и отслеживать прогресс в развивающихся проектах?
  3. Сгенерировать список задач для этого руководства и команды. Расставить приоритеты в зависимости от времени реализации и ожидаемой выгоды. Создать стратегический план.

Ссылки

  • https://www2.deloitte.com/content/dam/insights/articles/7022_TT-MLOps-industrialized-AI/DI_2021-TT-MLOps-industrialized-AI.pdf
  • https://proceedings.neurips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf
  • https://developers.google.com/machine-learning/guides/rules-of-ml
  • https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning

Масштабирование приложения влияет на рост вашего приложения. Рост может быть связан с поступающим трафиком. В наши дни масштабируемость бизнеса идет рука об руку с масштабированием приложений. Вот все, что вы должны знать о важности масштабирования приложений и о том, как вы можете это сделать.

Что такое масштабируемость в приложении?

Когда дело доходит до масштабирования приложения, обычно имеется в виду растущая база данных приложения и модификации его серверной части. Может быть много разных способов сделать приложение масштабируемым. Обычно это зависит от типа бизнеса и разработки приложения.

Почему ваше приложение должно быть масштабируемым?

Проще говоря, представьте, что приложение получает 100 пользователей в день, а его активная пользовательская база стремительно растет до 1000 пользователей в день. Приложение с неоптимизированным бэкендом не сможет справиться с таким сильно возросшим трафиком. В основном это происходит из-за того, что на этапе разработки не учитывают масштабируемость.

Точно так же, когда бизнес начинает становиться успешным, возникает острая необходимость масштабировать его, чтобы обслуживать всех клиентов. То же самое касается приложения; масштабируемость становится решающей для поддержания пользователей и обеспечения трафика. Однако, если оптимизация не выполняется на этапе разработки приложения, то существуют сторонние решения, обеспечивающие внутреннюю оптимизацию для расширения приложения.

Как вы можете масштабировать приложение?

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

Будь то мобильное или веб-приложение — процесс идентичен. Прежде чем начать процесс масштабирования, вы должны знать, где вашему приложению не хватает ресурсов, которые требуется приложению.

Использование правильной технологии

В приложениях используют различные технологии, в зависимости от его характера. Например, Node.JS довольно часто используется для разработки и модификации бэкенда. Он предпочтительнее других из-за его совместимости с разработками мобильных и веб-приложений. Если ваше приложение построено с его использованием, процесс масштабирования может быть выполнен достаточно эффективно.

Масштабирование серверов приложений

Когда требования клиентов растут, вам потребуются ресурсы для их удовлетворения. Если трафик приложения стремительно растет, вам понадобятся серверы хостинга, чтобы эффективно справляться с нагрузкой. Важно помнить, что масштабирование процессоров хостинга не может быть устойчивым в течение длительного времени. Процессоры могут допускать только определенный уровень масштабирования, и наступает момент, когда вы больше не сможете масштабироваться. Кроме того, этот процесс может быть довольно дорогим, так как хорошие серверы стоят дорого, а дешевые могут ухудшить качество обслуживания клиентов. Здесь можно использовать балансировщики нагрузки, чтобы эффективно распределять нагрузку на запросы от приложения. Это может привести к горизонтальному уровню масштабирования приложения.

Load balancers

Масштабирование базы данных с использованием кэширования и распределения

Если приложение получает много трафика, база данных может быть затронута из-за узлов. Вы можете хранить наиболее часто используемые данные в системе распределенного кэша, чтобы повысить производительность базы данных. Система кэширования позволит базе данных оптимизировать и расставить приоритеты данных в соответствии с возросшим спросом на трафик. Однако эта функция доступна только на облачных серверах, таких как Azure или Amazon.

Если кэширование не дает хороших результатов, можно попробовать перейти с одной базы данных на горизонтальное масштабирование. Это позволяет хранить данные в разных экземплярах БД. Это длительный процесс, требующий большого количества ручной работы. Хотя некоторые облачные сервисы могут упростить это с помощью автоматизированного процесса.

Улучшение отзывчивости приложения

Адаптивное приложение играет жизненно важную роль в производительности и масштабировании приложения. Многие приложения включают в свою базу данных системы очередей. Это помогает приложению идентифицировать и приоритизировать запросы трафика. При этом приложению становится легче не получать чрезмерную нагрузку и эффективно ее распределять.

Использование сторонних приложений для масштабирования

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

Попробуйте no-code платформу AppMaster

AppMaster поможет создать любое веб, мобильное или серверное приложение в 10 раз быстрее и 3 раза дешевле

Начать бесплатно

Как обеспечить масштабируемость приложения?

Может ли масштаб приложения работать лучше и быть готовым к обработке всего расширенного трафика, который он получит? Это первый вопрос, который приходит в голову большинству владельцев приложений, и это правильно. Целесообразно всегда начинать с масштабируемого приложения, независимо от характера вашего бизнеса. К сожалению, некоторые приложения ограничивают это из-за немасштабируемости их структуры. Но можете ли вы гарантировать, что ваше приложение масштабируемо или нет? Вы должны протестировать приложение, чтобы проверить потенциал масштабируемости. Этот способ поможет определить, является ли ваше приложение масштабируемым или нет.

Создание теста масштабируемости

Роль теста заключается в том, чтобы выяснить, какой объем трафика может обрабатывать приложение без ущерба для пользовательского опыта. В тестах будут оцениваться основные атрибуты: время отклика, количество обращений к сети и памяти в секунду, а также загрузка несколькими пользователями одновременно. Все упомянутые сценарии должны отслеживаться на протяжении всего процесса тестирования.

  • Используйте много виртуальных пользователей. Начните с минимального количества пользователей и продолжайте увеличивать, пока нагрузка не достигнет максимума.
  • Убедитесь, что все настройки одинаковы при каждом запуске теста.

Получив результаты, пришло время подвести итоги.

Анализ результатов

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

  • Проверьте, как влияет увеличение времени отклика виртуальных пользователей.
  • Увеличение задержки или задержки приложения с увеличением числа пользователей.
  • Сбой после превышения лимита пользователя.

Эти результаты помогут вам определить, возможна или нет масштабируемость вашего приложения, а также определить, в каких областях оно больше всего нуждается в улучшении. Он также может указывать, когда приложение перестает масштабироваться, и что вы можете сделать, чтобы улучшить его.

Что такое масштабирование в веб-приложении?

Масштабирование веб-приложения означает обработку растущего числа одновременных пользователей без ущерба для производительности веб-приложения. Независимо от того, активно ли приложение используют 1 или 10 тысяч пользователей, пользовательский опыт будет одинаковым. Различные методы делают веб-приложение масштабируемым, например вертикальное, горизонтальное и диагональное масштабирование. Все зависит от характера веб-приложения и ожидаемого трафика.

Если вы хотите создать веб-приложение с нуля, можно оставить место для масштабируемости. Но что, если у вас уже есть работающее веб-приложение? Может ли оно масштабироваться? Да, может следующим образом:

  • Масштабирование базы данных

База данных веб-приложения — это место, где хранятся все важные вещи. Если веб-приложение получает много трафика, масштабирование базы данных должно быть в центре внимания. Вы можете распределить вычислительный процесс базы данных, уменьшив нагрузку на сложные процессы.

  • Масштабирование серверной части

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

  • Использование третьих лиц

Процесс масштабирования сложен и должен выполняться с должным вниманием, иначе он может повредить все приложение. Что делать, если ваше приложение не имеет масштабируемой серверной части? Вы можете положиться на сторонние приложения для масштабирования, чтобы полностью масштабировать серверную часть вашего веб-приложения. Многие устаревшие приложения не поддерживают функцию масштабируемости. Использование сторонних приложений для масштабирования лучше, чем создание веб-приложений с нуля.

Почему масштабируемость важна для веб-приложений?

Подобно тому, как растущий бизнес должен расширяться, чтобы удовлетворить потребности своих клиентов, масштабируемость веб-приложений не менее важна. Это важно не только для владельца веб-приложения, но и для его пользователей. Потому что, если у вас растет число пользователей приложения, наступает момент, когда приложение либо падает, либо сильно лагает.

Вот некоторые из преимуществ, которые вы получаете от масштабируемого веб-приложения:

Опыт работы с клиентами

Когда дело доходит до любого поставщика услуг или продуктов, клиентский опыт находится в центре внимания. Масштабируемость веб-приложения позволит ему получать как можно больше пользовательского трафика без ущерба для производительности приложения.

Попробуйте no-code платформу AppMaster

AppMaster поможет создать любое веб, мобильное или серверное приложение в 10 раз быстрее и 3 раза дешевле

Начать бесплатно

Повышение рентабельности инвестиций

Масштабируемость приложений неразрывно связана с успешным бизнесом. Если приложение получает больше трафика, владелец зарабатывает больше. С масштабируемой серверной частью приложения можно продолжать расти, чтобы предоставить всем пользователям одинаковый опыт.

Экономичный способ

С масштабируемой серверной частью можно начать с небольшого веб-приложения и расширять его по мере увеличения трафика. Эта масштабируемость делает его более рентабельным и побуждает потенциальных владельцев приложений начинать с небольших инвестиций.

Стабильность производительности

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

Бесконечная настройка

Многие владельцы бизнеса стремятся настроить свой бизнес в соответствии с постоянно меняющимися тенденциями. Без масштабируемости невозможно часто настраивать приложение из-за ограничений. Настройка может добавить больше продуктов и услуг или изменить вид приложения по мере роста бизнеса. Все это возможно с оптимизированным и масштабируемым бэкендом.

Что такое масштабирование в API?

Масштабируемость в API относится к способности обрабатывать одновременные запросы трафика без ущерба для производительности. Многие старые веб-приложения и базовые мобильные приложения используют старые API, которые, как правило, не оставляют места для масштабирования. В настоящее время многие разработчики используют эти масштабируемые API, чтобы помочь своим клиентам развивать свой бизнес с учетом принципов устойчивого развития. Некоторые облачные сервисы, такие как Amazon, также предлагают функции масштабирования API. Существует два способа масштабирования API: Вертикальный и Горизонтальный.

Вертикальное масштабирование API

Вертикальное масштабирование API рекомендуется, если ваш бизнес является новым и, вероятно, получит ограниченный трафик. Это более экономичный подход, поскольку требует меньше дорогих серверов. Он использует больше аппаратной нагрузки; с большим объемом памяти и более быстрыми процессорами это поможет вашему API обрабатывать больше трафика. Помимо этого, коды также могут использоваться для оптимизации API. Однако, если ваш API получает все больше и больше трафика, в конечном итоге наступит момент, когда вам придется перевести масштабирование вашего API в горизонтальное.

Горизонтальное масштабирование API

Горизонтальное масштабирование API опирается на серверы для масштабирования, а не на оборудование. Если ваш вертикальный API достиг точки, в которой дальнейшее масштабирование невозможно, тогда горизонтальное масштабирование API — это то, что вам нужно. Это дорогой метод масштабирования API, но его используют ведущие компании, такие как Google и Facebook. Горизонтальное масштабирование API быстрее и динамичнее, чем вертикальное.

API Scaling

Вывод

Масштабируемость — важнейшая функция, которую следует добавить в каждое мобильное и веб-приложение. К сожалению, большинство приложений не допускают масштабирования, или этот процесс очень сложен для неспециалиста. Вот где на помощь приходят платформы без кода, такие как AppMaster. Вы можете создать полнофункциональное мобильное приложение или веб-приложение, которое по умолчанию имеет возможность запуска практически в любых балансировщиках, что позволяет масштабировать нагрузку практически неограниченно, поэтому больше не нужно беспокоиться об ограничениях масштабирования вашего приложения.

Часто задаваемые вопросы

  • Почему важно иметь масштабируемые приложения?

Масштабируемость имеет решающее значение для поддержки и роста приложений по мере увеличения трафика. С масштабируемыми приложениями у вас есть место для добавления и изменения серверной части в соответствии с требованиями.

  • Можно ли масштабировать уже установленное приложение?

Да, только если серверная часть приложения допускает масштабируемость. Если приложение создано с использованием старых фреймворков, это ограничивает его возможности масштабирования.

  • Каковы преимущества масштабирования приложений?

Помимо обеспечения постоянного взаимодействия с клиентами, масштабирование приложения имеет много преимуществ. Например, улучшенная окупаемость инвестиций, настройка и экономичность, и это лишь некоторые из них.

  • Надежны ли сторонние приложения для масштабирования?

Да, кроме того, они предоставляют другие дополнительные функции, помимо масштабирования.

If you’ve been poking around your graphics card settings, you may have been wondering what GPU scaling is all about. What is AMD GPU scaling? What is Nvidia GPU scaling? The short answer to these questions is that GPU scaling is a graphics setting that lets you adjust the aspect ratio of your games to match your monitor’s resolution. It’s especially useful if you want to play a game that has a different native aspect ratio than your monitor.

Contents

  • What is GPU scaling?
  • GPU scaling modes explained
  • GPU scaling — on or off?
  • How to enable GPU scaling on Nvidia graphics cards
  • How to enable GPU scaling on AMD graphics cards: AMD Radeon Settings
  • GPU scaling FAQ

In this guide, we will cover everything you need to know about GPU scaling, including whether you need it or not and how to enable and disable it.

Graphics Card in a computer.

Rafael Pol on Unsplash

What is GPU scaling?

GPU (graphics processing unit) scaling is a feature offered by both Nvidia and AMD cards. It mostly comes in handy in older games that may have been designed with 4:3 monitors in mind or without ultrawide support.

Most of the best gaming monitors operate on a 16:9 aspect ratio, but older games are not adapted to match that. When using emulators or simply just playing an old title, you’ll find that the majority of games have a different aspect ratio and were made for a different screen resolution.

Without GPU scaling, such older games often just look bad. Most commonly, the games are stretched to fit the native aspect ratio of the screen, and the end result is usually pitiful. When GPU scaling is enabled, the technology works to remedy that and make your games look their best once again.

What GPU scaling usually does is simply preserve the game’s original aspect ratio and create a border around it instead of forcing it to fit your monitor. However, there are two other modes that work around the problem in different ways — we explain them in more detail below.

In the case of Nvidia, GPU scaling is enabled through the Nvidia Control Panel, while AMD users can find the setting in either AMD Radeon Settings or the AMD Catalyst Control Center.

GPU scaling modes explained

Nvidia and AMD both offer different modes of GPU scaling, allowing you to adjust the experience to your needs. Let’s go over them quickly.

GPU scaling modes on AMD cards

AMD users can choose between the following GPU settings:

  • Maintain Aspect Ratio: This setting lets you experience the game with the same aspect ratio as it was intended to be played, so a 5:4 game will remain 5:4. The excess parts of your monitor will be filled with a black background.
  • Scale Image to Full Panel Size: This option will stretch the image to fit your screen, forcing it out of its intended aspect ratio. This setting will usually produce poor visuals.
  • Use Centered Trimmings: This last AMD setting will center the game or the image in its original aspect ratio. The remaining parts of your screen will be filled with black bars or a background pattern.

GPU scaling modes on Nvidia cards

If you have an Nvidia card, you can choose between the following GPU scaling options:

  • Aspect Ratio: Much like AMD, this will simply keep the game in its original aspect ratio. The excess space on your screen will be filled out with black bars.
  • Full-screen: This setting will force the game to match your monitor’s aspect ratio. For example, a 5:4 game will turn to 16:9, if that’s what your display supports. Unfortunately, the end result is usually poor.
  • No Scaling: As the name implies, this setting will turn off GPU scaling and will let the games render without interference.

Nvidia GeForce RTX 30 Series

Nvidia

GPU scaling — on or off?

If you’re a fan of indie games, retro games, or like to play on emulators, you may find some use for GPU scaling. Although many modern emulators simply run the games in their intended resolution, there are some that won’t. Older games, made long ago, don’t even have the perks of recently-released emulators and will simply look bad when played on 16:9 screens.

We recommend turning GPU scaling on and off on a case-by-case basis. If you’re about to launch a retro game, go ahead and turn it on — but remember to turn it back off when your gaming session comes to an end.

How to enable GPU scaling on Nvidia graphics cards

Turning on GPU scaling on Nvidia cards is easy and can be done in a few quick steps.

Step 1: Launch the Nvidia Control Panel

In order to change your GPU settings, you need to enter the Nvidia Control Panel.

You can do this by simply right-clicking on your desktop and then selecting Nvidia Control Panel from the drop-down menu.

Finding the Nvidia Control Panel.

Image used with permission by copyright holder

Alternatively, enter the Windows Start Menu by clicking the Windows icon on the bottom-left side of the screen. You can also just press the matching Windows button on your keyboard. Once in the Start Menu, type in “Nvidia Control Panel” and then press Enter.

If you can’t find the Nvidia Control Panel, it may not be installed on your computer. Download it here, and then install the file to proceed.

Step 2: Find the GPU scaling settings

Once in the Nvidia Control Panel, navigate the menu on the left-hand side until you see the Display section.

Under there, search for the Adjust Desktop Size and Position. Click on it to find yourself in the appropriate part of the settings.

Step 3: Enable GPU scaling

There are a few settings that you can adjust here to tailor GPU scaling to your needs.

Start by finding the option titled Perform Scaling On. From the dropdown menu, select GPU.

Look back up toward Select a Scaling Mode and choose which option suits you best. If you’re not sure, we recommend picking the Aspect Ratio setting. For a refresher on what each setting does, click here.

Nvidia Control Panel.

Image used with permission by copyright holder

There is an interesting option here that you can consider if you run into problems with GPU scaling, called Override the Scaling Mode Set By Games and Programs. Leave this box unticked, but if you find that GPU scaling is not doing the trick, you can always try to enable this and see the results.

While you’re here, check the Resolution and Refresh Rate settings and set them both to the highest options available.

To save all the changes, press Apply.

Congratulations — GPU scaling is now enabled on your computer.

How to enable GPU scaling on AMD graphics cards: AMD Radeon Settings

You can use the AMD Radeon Settings to enable GPU scaling.

Step 1: Launch AMD Radeon Settings

Right-click anywhere on your desktop to produce a dropdown menu.

At the very top of it, you will find AMD Radeon Settings. Click it to launch the appropriate software.

Entering the AMD Radeon Software.

Image used with permission by copyright holder

Step 2: Navigate to AMD GPU scaling settings

Your AMD Radeon Settings window may look slightly different from our examples — it all depends on your graphics card and the drivers you have installed. However, the general placement of options should be the same.

If in doubt, make sure you update your drivers to the latest version.

At the top of the Radeon Settings, click the Gear icon, find an option called Display, and then enter that section to tweak your GPU scaling settings.

Step 3: Enable GPU scaling

Find the option titled GPU Scaling and switch that to On.

Right next to that setting, you can choose your preferred Scaling Mode. Click on it to produce a drop-down menu with three options to choose from. Here’s a refresher on what each of these does.

AMD Radeon Software Settings, the GPU scaling section.

Image credit: AMD Image used with permission by copyright holder

If you’re not sure what works best for you, the Maintain Aspect Ratio setting will generally be the best for most users.

Save the changes you just made to enable GPU scaling on your AMD graphics card.

GPU scaling FAQ

Does GPU scaling give more frames per second (fps)?

Unfortunately, while GPU scaling certainly makes retro gaming more enjoyable, it does introduce slight input lag.

What this means is that your fps will not be improved by using GPU scaling. In fact, it’s possible that your fps may be slightly lowered.

GPU scaling forces your graphics card to render each image and frame with additional effort, so this is bound to lower your fps a little bit.

Good news — if you’re playing old games, your fps should be high enough that you won’t even notice this. Alternatively, if you own one of the best graphics cards, your hardware is powerful enough to breeze through GPU scaling anyway.

Is GPU scaling good for new games?

There is no denying that GPU scaling is beneficial for retro games, or even newer games that for some reason were made with an unusual aspect ratio. However, when it comes to newer titles, you’ll find that GPU scaling can do more harm than good.

Compared to simply displaying the game as is, GPU scaling has to render the image from scratch and remake it to fit your monitor. This creates input lag, which can make for a less responsive gaming experience. It could even make you less competitive in multiplayer games.

Not only is GPU scaling harmful to newer games, but it’s also pretty much useless. When you’re gaming at the right resolution and aspect ratio, there’s no reason to use GPU scaling for anything at all.

As such, we recommend only enabling this setting for playing retro games and then turning it back off when you’re done.

Editors’ Recommendations

  • Someone tweaked AMD’s RX 7800 XT, and the results may surprise you

  • What is ray tracing, and how will it change games?

  • I tested AMD’s RX 7800 XT against Nvidia’s RTX 4070, and there’s a clear winner

  • AMD’s two new GPUs significantly undercut Nvidia

  • This AMD GPU could have destroyed Nvidia, but we might never see it





Хотите ли вы расширить маркетплейс в этом году? Независимо от того, является ли ваша платформа B2B или B2C, мы делимся всем, что вам нужно для легкого и быстрого масштабирования любого маркетплейс.

Если Вы ищете, как масштабировать маркетплейс, Вы пришли по адресу.

Ниже вы найдете руководство по масштабированию торговой площадки маркетплейс. Мы объясним, что такое масштабирование, разберем различные стратегии роста маркетплейс, поделимся советами для B2B и B2C-рынков и многое другое. Готовы? Давайте начнем.

Что значит масштабировать маркетплейс?

Давайте начнем с основ и определим, что означает масштабирование. Масштабирование бизнеса означает, что вы растете без увеличения ресурсов. Идея масштабирования стала гораздо более актуальной в последние годы благодаря технологиям и их естественной способности масштабироваться проще, чем в традиционном магазине кирпича и извести.

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

Итак, почему важно масштабирование?

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

Еще один распространенный вопрос: когда вам следует начать масштабировать свой маркетплейс?

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

Стратегии роста маркетплейс

Существует множество различных стратегий роста, которые вы можете использовать для масштабирования своего маркетплейс. Чтобы суммировать их все, существует два основных типа. Во-первых, существуют платные стратегии или те, которые требуют маркетингового бюджета. Во-вторых, существуют органические стратегии или те, которые бесплатны.

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

  1. Платная реклама

Один из самых быстрых способов привлечь трафик к любому новому бренду — это платная реклама. Это может быть реклама в Яндекс или Google, реклама в социальных сетях, баннерная реклама и многое другое. Все платные объявления требуют бюджета, но, к счастью, вы можете добиться успеха всего за несколько сотен рублей в день.

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

  1. SEO

Бесплатный способ масштабирования многих онлайн-брендов — это SEO, или поисковая оптимизация. SEO — это процесс улучшения вашего сайта для поисковых систем. Чем лучше SEO вашего сайта, тем выше его рейтинг в поисковых системах, что органично приведет к увеличению трафика на ваш сайт.

SEO может быть достигнуто с помощью контент—маркетинга (подробнее об этой стратегии скоро), обновления копии веб-сайта и мета-описаний, а также регулярного обновления сайта новым контентом — например, ведения блога. Недостатком является то, что SEO требует много времени для получения результатов. Также может потребоваться нанять эксперта по SEO для аудита вашего сайта для достижения лучших результатов.

  1. Социальные сети

Социальные сети — это ключевая опора в повышении узнаваемости бренда. Взаимодействуя с потенциальными пользователями marketplace и вызывая интерес к вашему бренду, социальные сети помогают вам создать онлайн-сообщество.

Чтобы добиться успеха в социальных сетях, сосредоточьтесь только на одной или двух платформах. Тем временем обязательно ежедневно взаимодействуйте с другими аккаунтами в дополнение к постоянному размещению собственного контента.

  1. Маркетинг по электронной почте

Готовые решения — запуск готового бизнеса за 2-3 дня!

Еще один разумный способ масштабирования маркетплейса (или любого бизнеса) — это старомодный маркетинг по электронной почте. Эта стратегия роста обещает самую высокую рентабельность инвестиций из всех маркетинговых каналов

Приложите серьезные усилия для сбора адресов электронной почты через ваш веб-сайт или социальные сети. Простые автоматизированные кампании по электронной почте могут продолжать генерировать продажи еще долгое время после их запуска.

  1. Контент-маркетинг

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

Если это имеет смысл для вашей рыночной ниши, разработайте электронную книгу, напишите тематическое исследование или предложите купон. Контент-маркетинг может быть настолько креативным, насколько вы пожелаете! Он предназначен для привлечения большего трафика на ваш сайт и, возможно, попутно получения адреса электронной почты.

  1. Связи с общественностью и партнерские отношения

Сделал ли ваш маркетплейс что-нибудь достойное освещения в прессе? Не сидите на этом, делитесь этим! Связи с общественностью — отличный способ повысить вашу узнаваемость и повысить узнаваемость бренда в сообществе. Подумайте о проведении благотворительной акции на вашем маркетплейсе и обратитесь по этому поводу к средствам массовой информации.

Аналогичным образом, вы могли бы сотрудничать с другим брендом-единомышленником или влиятельным лицом отрасли, чтобы получить доступ к их сети и подписчикам. Маркетинг влияния доказал, что стал отличным способом увеличить ваш трафик и продажи.

Какая стратегия для меня лучше всего подходит для масштабирования?

Стратегии роста, которые вы выбираете, зависят от ваших уникальных целей. Например, платная реклама может дать самые быстрые результаты, но прибыльность может пострадать до тех пор, пока вы не сможете усовершенствовать свои рекламные кампании. Между тем, такая бесплатная стратегия, как SEO, требует много времени для работы.

Наш совет? Сосредоточьтесь только на одной или двух стратегиях одновременно. Таким образом, вам будет легче отслеживать свои успехи и сокращать потери, если что-то у вас не получается.

Как только вы найдете одну-две надежные стратегии, приложите к этому больше усилий. Делайте больше того, что работает на вас, чтобы масштабироваться.

Как вы масштабируете маркетплейс B2C?

Маркетплейс B2C имеет бесконечные возможности для масштабирования, поскольку в нем задействовано так много разных конечных пользователей. Чтобы привлечь как продавцов, так и покупателей, вы должны раскинуть широкую сеть, чтобы охватить их обоих.

Стратегии онлайн-маркетплейса для масштабирования платформы B2C включают те, которые создают большую популярность и привлекают больше внимания, например:

  • Взаимодействие в социальных сетях
  • Инвестирование в платную рекламу
  • Присоединение к онлайн-сообществам
  • Проведение мероприятий онлайн или оффлайн
  • Партнерство с другими брендами и/или влиятельными лицами
  • Повышение узнаваемости бренда в целом

Как вы масштабируете маркетплейс B2B?

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

Для масштабирования маркетплейс B2B стратегии роста являются более прямыми, например:

  • Используя более целенаправленные социальные платформы, такие как LinkedIn
  • Усиление SEO для поиска по уникальным ключевым словам
  • Участие в онлайн-сообществах, связанных с вашей нишей
  • Привлечение рекомендаций с помощью сарафанного маркетинга
  • Создание контент-маркетинговых материалов, специфичных для ваших потенциальных клиентов

Теперь у вас есть несколько действенных стратегий о том, как масштабировать маркетплейс.

В конце концов, для масштабирования вашего маркетплейс потребуется протестировать различные стратегии роста. Но, как только вы раскроете свои наиболее успешные методы, вы сможете масштабировать эти усилия и расширять свой маркетплейс!

Хотите создать и спроектировать маркетплейс, который легко масштабировать? Предлагаем готовый «веб сайт маркетплейс» под любые Ваши цели!

Post Views: 17

Готовые решения — запуск готового бизнеса за 2-3 дня!

Купить готовый маркетплейс любой тематики

VECHNOST

VECHNOST

Наша веб-студия — это то место, где рождаются оригинальные идеи, выдвигаются необычные предложения и находятся совершенно уникальные и, главное, действенные пути решения самых сложных задач!
Комплексный подход к проектам: разработка сайтов, поддержка, эффективное продвижение.

Это первая статья из серии о системном дизайне. Эта статья первоначально опубликована на https://www.learncsdesign.com.

«Масштабируемость — это свойство системы справляться с растущим объемом работы за счет добавления ресурсов в систему».

— Википедия

Программные системы, которые могут приспосабливаться к росту, называются масштабируемыми в программной инженерии. Масштабируемость относится к тому, насколько хорошо программная система может справляться с ростом в какой-либо области своей деятельности. К эксплуатационным размерам относятся:

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

Масштабирование или масштабирование относится к увеличению возможностей системы в некотором измерении за счет увеличения ресурсов. Точно так же масштабирование или масштабирование относится к уменьшению ресурсов.

Internet Live Stats позволяет просматривать живой интернет-трафик для многочисленных сервисов. Есть ошеломляющие статистические данные о поисковых запросах Google, твитах и ​​сообщениях в блогах, написанных за день, если вы покопаетесь. Данные не являются реальными, а скорее являются оценками, полученными из нескольких источников данных, проанализированных статистически.

Принципы проектирования масштабируемости

Целью масштабирования системы является увеличение ее производительности в некотором специфическом для приложения измерении. Общим параметром является увеличение количества запросов, которые система может обработать в заданный период времени. Это известно как пропускная способность системы.

Репликация и оптимизация — два основных принципа масштабирования наших систем.

Наша первая стратегия в программных системах — увеличить мощность.

Чтобы увеличить пропускную способность, мы реплицируем ресурсы обработки программного обеспечения для увеличения пропускной способности. Репликация проста в облачных программных системах, и мы можем копировать ресурсы обработки тысячи раз одним щелчком мыши. Добавление мощности к путям обработки, которые не перегружены, приведет к ненужным затратам без улучшения масштабируемости.

Приложение можно масштабировать по вертикали или по горизонтали.

Вертикальное масштабирование. Чтобы справляться с возросшими нагрузками, система вертикально масштабируется путем добавления дополнительных ресурсов к существующим узлам.

Горизонтальное масштабирование. Системные ресурсы можно увеличить, добавив больше серверов с аналогичным оборудованием.

Второй стратегией масштабируемости является оптимизация.

Мы можем увеличить наши возможности без увеличения наших ресурсов, если мы сможем использовать более эффективные алгоритмы, добавить больше индексов в наши базы данных или даже переписать наш сервер на более быстром языке программирования.

Масштабируемость и затраты

Представьте себе веб-систему, которая может обрабатывать 1000 одновременных запросов со средним временем отклика в 1 секунду. Бизнес-требования требуют масштабирования этой системы для обработки 10 000 одновременных запросов с одинаковым временем отклика. Простой нагрузочный тест этой системы показывает ее работоспособность без внесения каких-либо изменений.

С прогнозируемой нагрузкой мы видим устойчивое увеличение среднего времени отклика до 15 секунд. Очевидно, что это не соответствует нашим требованиям в текущей конфигурации развертывания. Система не масштабируется.

Для достижения требуемой производительности требуются определенные инженерные усилия. На этом графике показана производительность системы после внесения изменений. С 10 000 одновременных запросов теперь он обеспечивает указанное время отклика. В результате система была успешно масштабирована.

Однако остается главный вопрос. Сколько усилий и ресурсов потребовалось для достижения этой производительности? Возможно, это просто вопрос запуска веб-сервера на более мощной (виртуальной) машине. Процесс повторной инициализации облака может занять не более 30 минут. Немного более сложной конфигурацией будет запуск нескольких экземпляров веб-сервера для увеличения емкости. Поскольку изменения кода не требуются, это должно быть простое и недорогое изменение конфигурации приложения. Было бы отличным результатом, если бы эти результаты были достигнуты.

Масштабировать систему не всегда легко. Это может объясняться несколькими причинами, но вот некоторые из них:

  • При 10 000 запросов в секунду база данных становится менее отзывчивой, что требует обновления.
  • Веб-сервер динамически генерирует много контента, что сокращает время отклика. Изменение кода для более эффективного создания контента может сократить время обработки каждого запроса.
  • Когда несколько запросов пытаются одновременно получить доступ к одним и тем же записям и обновить их, в базе данных создаются горячие точки. Требуется перепроектировать схему и перезагрузить базу данных, а также внести изменения в код уровня доступа к данным.
  • Было решено выбрать структуру веб-сервера, в которой простота разработки важнее масштабируемости. Из-за своей модели код нельзя масштабировать в соответствии с требуемыми требованиями к нагрузке, поэтому необходимо полностью переписать его. Хотите использовать другой фреймворк? Можно ли использовать другой язык программирования?

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

Гипермасштабируемые системы — это программные системы, которые масштабируются экспоненциально, а затраты растут линейно.

Характеристики тестирования масштабируемости

Существуют отличительные характеристики тестов масштабируемости. Их внимание сосредоточено на:

  • Использование памяти
  • Использование ЦП
  • Использование пропускной способности сети
  • Время загрузки
  • Время ответить
  • Запросы обработаны

Доступность

В общем, доступность и масштабируемость хорошо совместимы. Реплицируя ресурсы, мы создаем несколько экземпляров сервисов, которые могут обрабатывать запросы от любого пользователя. В случае сбоя одного из наших экземпляров остальные остаются доступными. Из-за вышедшего из строя, недоступного ресурса система просто страдает от снижения пропускной способности.

Масштабируемость и доступность усложняются, когда задействовано состояние. Рассмотрим базу данных. Всякий раз, когда состояние реплицируется для обеспечения масштабируемости и доступности, важна согласованность.

Заключение

Способность приложения быстро и экономично масштабироваться должна быть определяющей характеристикой его программной архитектуры. Существует два основных способа достижения масштабируемости, а именно увеличение емкости системы, как правило, посредством репликации, и оптимизация производительности системы.

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

Понравилась статья? Поделить с друзьями:
  • Протуб 2 инструкция по применению для человека
  • Skat uttv руководство бастион инструкция
  • Парацетамол инструкция по применению цена таблетки взрослым от чего применяют
  • Севгу руководство севастопольский государственный университет
  • Геникур бел инструкция по применению в ветеринарии