В тексте найдено точное
совпадение:
Проекты машинного обучения становятся все более важной составляющей сегодняшнего поиска более эффективных и сложных производственных процессов. OVH Prescience — это платформа для машинного обучения, цель которой — облегчить концепцию, развертывание и обслуживание моделей в промышленном контексте. Система управляет конвейерами машинного обучения, от приема данных до мониторинга моделей. Это включает в себя автоматизацию предварительной обработки данных, выбор модели, оценку и развертывание в масштабируемой платформе.
Prescience поддерживает различные виды проблем, такие как регрессия, классификация, прогнозирование временных рядов и вскоре обнаружение аномалий. Решение проблем осуществляется с использованием как традиционных моделей ML, так и нейронных сетей.
Prescience в настоящее время используется в производственных масштабах для решения различных задач, с которыми сталкивается OVH, а его альфа-версия доступна для бесплатной проверки в OVH Labs. В этом сообщении мы представим Prescience и познакомим вас с типичным рабочим процессом вместе с его компонентами. Подробная презентация компонентов будет доступна в следующих публикациях в блоге.
Начало Prescience
В какой-то момент все проекты машинного обучения сталкиваются с одной и той же проблемой: как преодолеть разрыв между прототипом системы машинного обучения и ее использованием в производственном контексте. Это было краеугольным камнем развития платформы машинного обучения в OVH.
Производственные тетради
Чаще всего ученые-разработчики проектируют системы машинного обучения, которые включают обработку данных и выбор моделей в ноутбуках. Если они успешны, эти ноутбуки затем адаптируются для производственных нужд инженерами данных или разработчиками. Этот процесс обычно деликатный. Это отнимает много времени и должно повторяться каждый раз, когда модель или обработка данных требуют обновления. Эти проблемы приводят к серийным моделям, которые, хотя и являются идеальными при поставке, могут со временем сойти с реальной проблемы. На практике модели никогда не используются в производственном режиме, несмотря на их качество, только потому, что конвейер данных слишком сложен (или скучен), чтобы его можно было извлечь из ноутбука. В результате вся работа ученых-данных идет напрасно.
В свете этого первая проблема, которую Prescience необходимо было решить, заключалась в том, как обеспечить простой способ развертывания и обслуживания моделей при одновременном обеспечении мониторинга и эффективного управления моделями, включая (но не ограничиваясь этим) переподготовку моделей, оценку моделей или запрос моделей через обслуживающий REST API.
Улучшенное прототипирование
После того, как разрыв между прототипированием и производством был преодолен, второй целью было сокращение фазы прототипирования проектов машинного обучения. Базовое наблюдение состоит в том, что навыки ученых данных являются наиболее важными при применении к подготовке данных или разработке функций. По сути, задача исследователя данных состоит в том, чтобы правильно определить проблему. Это включает характеристику данных, фактическую цель и правильную метрику для оценки. Тем не менее, выбор модели — также задача, решаемая специалистом по данным — та, которая приносит гораздо меньше пользы от этого специалиста. Действительно, один из классических способов найти хорошую модель и ее параметры по-прежнему состоит в том, чтобы перебрать все возможные конфигурации в данном пространстве. В результате выбор модели может быть довольно кропотливым и трудоемким.
Следовательно, Prescience необходимо было предоставить ученым, работающим с данными, эффективный способ тестирования и оценки алгоритмов, которые позволили бы им сосредоточиться на повышении ценности данных и определении проблем. Это было достигнуто путем добавления компонента оптимизации, который, учитывая пространство конфигурации, оценивает и тестирует конфигурации внутри него, независимо от того, были ли они подобраны специалистом по данным. Поскольку архитектура масштабируема, мы можем быстро протестировать значительное количество возможностей таким образом. Компонент оптимизации также использует методы, чтобы попытаться превзойти подход грубой силы, используя байесовскую оптимизацию. Кроме того, проверенные конфигурации для данной проблемы сохраняются для последующего использования и для облегчения запуска процесса оптимизации.
Расширяя возможности
В такой компании, как OVH, много проблем можно решить с помощью методов машинного обучения. К сожалению, по каждому из этих вопросов невозможно назначить ученого, особенно если не установлено, стоит ли инвестировать. Несмотря на то, что наши специалисты по бизнесу не освоили все методы машинного обучения, они обладают обширными знаниями о данных. Опираясь на эти знания, они могут дать нам минимальное определение проблемы под рукой. Автоматизация предыдущих этапов (подготовка данных и выбор модели) позволяет специалистам быстро оценить возможные преимущества подхода машинного обучения. Тогда можно принять процесс быстрого выигрыша / быстрого отказа для потенциальных проектов. Если это удастся, мы можем, если необходимо, ввести в цикл исследователя данных.
Prescience также включает в себя автоматическое управление конвейером, чтобы адаптировать необработанные данные, которые будут использоваться алгоритмами машинного обучения (то есть, предварительную обработку), затем выбрать подходящий алгоритм и его параметры (то есть выбор модели), сохраняя при этом автоматическое развертывание и мониторинг.
Архитектура Prescience и рабочие процессы машинного обучения
По сути, платформа Prescience основана на технологиях с открытым исходным кодом, таких как Kubernetes для операций, Spark для обработки данных и Scikit-learn, XGBoost, Spark MLlib и Tensorflow для машинного обучения. Большая часть разработок Prescience заключалась в объединении этих технологий. Кроме того, все промежуточные выходы системы, такие как предварительно обработанные данные, этапы преобразования или модели, сериализуются с использованием технологий и стандартов с открытым исходным кодом. Это предотвращает привязку пользователей к Prescience в случае необходимости использования другой системы.
Взаимодействие пользователей с платформой Prescience стало возможным благодаря следующим элементам:
пользовательский интерфейсклиент PythonREST APIДавайте рассмотрим типичный рабочий процесс и дадим краткое описание различных компонентов…
Прием данных
Первый шаг рабочего процесса машинного обучения — получение пользовательских данных. В настоящее время мы поддерживаем три типа источников, которые затем будут расширены в зависимости от использования:
CSV, отраслевой стандарт
Паркет, который довольно крутой (плюс автоматически документированный и сжатый)
Временной ряд, благодаря OVH Observability, работает на Warp10
Необработанные данные, предоставляемые каждым из этих источников, редко используются как есть в алгоритмах машинного обучения. Алгоритмы обычно ожидают, что числа будут работать. Поэтому первый шаг рабочего процесса выполняется компонентом Parser. Единственная задача Parser — обнаруживать типы и имена столбцов, в случае простых текстовых форматов, таких как CSV, хотя источники Parquet и Warp10 содержат схему, что делает этот шаг спорным. После ввода данных анализатор извлекает статистику, чтобы точно ее охарактеризовать. Полученные данные вместе со статистикой хранятся в нашей серверной памяти хранилища — Public Cloud Storage, работающей на OpenStack Swift.
Преобразование данных
После того, как типы выведены и статистика извлечена, данные, как правило, должны быть обработаны, прежде чем они будут готовы к машинному обучению. Этот шаг обрабатывается препроцессором. Опираясь на вычисленную статистику и тип проблемы, он определяет лучшую стратегию для применения к источнику. Например, если у нас есть одна категория, то выполняется горячее кодирование. Однако, если у нас есть большое количество различных категорий, то выбирается более подходящий тип обработки, такой как кодирование уровня / воздействия. После вывода стратегия применяется к источнику, превращая его в набор данных, который станет основой для последующего шага выбора модели.
Препроцессор выводит не только набор данных, но и сериализованную версию преобразований. Выбранный формат для сериализации — PMML (язык разметки прогнозной модели). Это стандарт описания для совместного использования алгоритмов интеллектуального анализа данных и машинного обучения. Используя этот формат, мы сможем применить точно такое же преобразование во время обслуживания, когда столкнемся с новыми данными.
Выбор модели
Как только набор данных будет готов, следующим шагом будет попытка подобрать лучшую модель. В зависимости от проблемы пользователю предоставляется набор алгоритмов вместе с их конфигурационным пространством. В зависимости от уровня квалификации пользователь может настроить пространство конфигурации и предварительно выбрать подмножество алгоритмов, которые лучше всего подходят для данной проблемы.
Байесовская оптимизация
Компонент, который выполняет оптимизацию и выбор модели, является механизмом оптимизации. При запуске оптимизации подкомпонент, называемый контроллером, создает внутреннюю задачу оптимизации. Контроллер управляет планированием различных шагов оптимизации, выполняемых во время задачи. Оптимизация достигается с помощью байесовских методов. По сути, байесовский подход заключается в изучении модели, которая сможет предсказать, какая конфигурация является наилучшей. Мы можем разбить шаги следующим образом:
Модель в холодном состоянии. Оптимизатор возвращает набор настроек по умолчанию для контроллераКонтроллер распределяет начальные конфигурации по кластеру учащихсяПо завершении начальных конфигураций контроллер сохраняет результатыОптимизатор запускает вторую итерацию и обучает модель на основе доступных данных.На основе полученной модели оптимизатор выводит лучших претендентов, которые можно попробовать. Рассматривается как их потенциальная эффективность, так и объем информации, который она предоставит для улучшения модели выбора.Контроллер распределяет новый набор конфигураций по кластеру и ждет новой информации, a.k.a вновь оцененных конфигураций. Конфигурации оцениваются с использованием K-кратной перекрестной проверки, чтобы избежать переоснащения.Когда доступна новая информация, запускается новая итерация оптимизации, и процесс начинается снова на шаге 4После предварительно определенного числа итераций оптимизация останавливается
Проверка модели
Как только оптимизация завершена, пользователь может либо запустить новую оптимизацию, используя существующие данные (следовательно, не возвращаясь в холодное состояние), либо выбрать конфигурацию в соответствии с ее оценочными показателями. Как только подходящая конфигурация достигнута, она используется для обучения окончательной модели, которая затем сериализуется либо в формате PMML, либо в формате сохраненной модели Tensorflow. Те же ученики, которые занимались оценками, проводят фактическое обучение.
В конце концов, окончательная модель оценивается по тестовому набору, извлеченному во время предварительной обработки. Этот набор никогда не используется во время выбора модели или обучения, чтобы обеспечить беспристрастность вычисленных показателей оценки. На основе полученных показателей оценки может быть принято решение использовать модель в производстве или нет.
Модель сервировки
На этом этапе модель обучается и экспортируется и готова к обслуживанию. Последний компонент платформы Prescience — это обслуживание Prescience. Это веб-сервис, который использует PMML и сохраненные модели и предоставляет REST API поверх. Поскольку преобразования экспортируются вместе с моделью, пользователь может запросить вновь развернутую модель, используя необработанные данные. Прогнозы теперь готовы к использованию в любом приложении.
Модельный мониторинг
Кроме того, одной из характерных особенностей машинного обучения является его способность адаптироваться к новым данным. В отличие от традиционных жестко заданных бизнес-правил, модель машинного обучения способна адаптироваться к базовым шаблонам. Для этого платформа Prescience позволяет пользователям легко обновлять источники, обновлять наборы данных и переучивать модели. Эти шаги жизненного цикла помогают поддерживать актуальность модели в отношении проблемы, которую необходимо решить. Затем пользователь может сопоставить частоту переподготовки с новой квалификацией данных. Они могут даже прервать процесс обучения в случае аномалии в конвейере генерации данных. Каждый раз, когда модель переобучается, вычисляется новый набор баллов и сохраняется в OVH Observability для мониторинга.
Как мы отмечали в начале этого поста, наличие точной модели не дает никаких гарантий относительно ее способности поддерживать эту точность с течением времени. По многим причинам производительность модели может снизиться. Например, необработанные данные могут ухудшиться в качестве, могут появиться некоторые аномалии в конвейерах обработки данных или сама проблема может дрейфовать, делая текущую модель неактуальной, даже после переподготовки. Поэтому крайне важно постоянно отслеживать производительность модели на протяжении всего жизненного цикла, чтобы избежать принятия решений на основе устаревшей модели.
Движение к ИИ-управляемой компании
Prescience в настоящее время используется в OVH для решения ряда промышленных проблем, таких как предотвращение мошенничества и профилактическое обслуживание в центрах обработки данных.
С помощью этой платформы мы планируем наделить все большее число команд и служб в OVH возможностью оптимизировать свои процессы с помощью машинного обучения. Мы особенно рады нашей работе с Временными рядами, которые играют решающую роль в управлении и мониторинге сотен тысяч серверов и виртуальных машин.
Разработка Prescience проводится командой служб машинного обучения. MLS состоит из четырех инженеров машинного обучения: Маэль, Адриен, Рафаэль и я. Командой руководит Гийом, который помог мне спроектировать платформу. Кроме того, в команду входят два исследователя данных, Оливье и Клемент, которые занимались внутренними случаями использования и предоставили нам обратную связь, и, наконец, Лоран: студент CIFRE, работающий над многоцелевой оптикой.
А чем вы займётесь на майских праздниках? Предлагаем почитать наши статьи и поглядеть на графики: мы тестировали новые Xeon E и E3, спорили про выбор ОС (на самом деле нет) и радовались, что мало новостей про уязвимости. Всё в апрельском дайджесте.
Чего ждать от новых Xeon E.
Сравниваем с E3 и делаем выводы
Intel выпустил очередную линейку процессоров в семействе Xeon. Говорят, что новые Xeon E — замена E3, решили проверить, насколько удачная.
Частота больше, ядер больше, что с производительностью? Смотрите наши тесты на Хабре. Да, до 1 мая выделенные серверы с новыми процами ещё можно купить со скидкой 25% на 1 месяц.
hosting.kitchen/firstdedic/chego-zhdat-ot-novyh-xeon-e-sravnivaem-s-e3-i-delaem-vyvody.html
Какую операционную систему выбрать?
Нюансов много, но мы советуем Linux (сюрприз, да?). Как выбрать из Linux-систем и когда всё-таки брать Windows — всё в нашей статье.
Выбирайте с умом, потому что перенос с Windows на Linux — непростая задача. С Linux на Windows полегче, но могут быть сложности с последующей настройкой.
firstvds.ru/technology/kakuyu-operacionnuyu-sistemu-vybrat
Конференция #ЛюдиБитрикс
В начале месяца мы ездили в Москву на Битрикс-конференцию. Познакомились с кучей интересных людей, встретили старых и новых клиентов, презентовали супербыстрые серверы Битрикс.Турбо.
firstvds.ru/hosting/bitrix
Если вы тоже были на конференции и тусили у нашего стенда — постите фото в соцсетях с хештегом #firstvds. Шлите нам ссылки на почту sales@firstvds.ru. Отправим в ответ магниты, наклейки или блокнот.
Уязвимости месяца
Уязвимость в плагине Yuzo Related Post для сайтов на WordPress. Разработчики призывают временно удалить плагин! Подробности на xakep.ru.В OpenSSH 8.0 устранили уязвимость в реализации утилиты scp и внесли ещё 19 изменений — релиз открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. Подробности на opennet.ru.
Что планируете на праздники?
Отправиться в поход!Открыть сезон шашлыковЗаняться pet-проектом — пришло его времяЗависнуть на даче с посадками...Finish him!
Оторвитесь на майских!
Планирует оторваться тоже — Анастасия Кузнецова
Сертификаты широко используются компаниями в качестве рекламы, свидетельствующей о надежности компании. Чем больше сертификатов, тем лучше. Конечно, наличие большого количества сертификатов может показать надежность организации, однако по умолчанию это не так! Знание цели сертификации и понимание масштабов имеет решающее значение, когда вы действительно хотите завоевать доверие, оценивая сертификаты.
Сертификаты относительно внутренней организации вашей сервисной организации
Сертификаты могут быть использованы для обеспечения удобства работы организации. Например: ISO 9001 обеспечит комфорт в отношении управления качеством внутренних бизнес-процессов организации. Такая сертификация напрямую не обеспечивает комфорт окружающей среды, которая является частью ответственности клиента. Кроме того, для ISO 27001 область действия может включать в себя услугу, предоставляемую клиенту, однако она также может включать только процесс продаж внутренней организации. Просто получение сертификата и его размещение на вашем веб-сайте не означает, что используемые вами услуги включены в объем или влияют на используемые вами услуги. Следовательно; если ваша организация требует, чтобы поставщик был сертифицирован, проверьте услуги / объем, включенный в сертификацию.
Сертификаты об услугах, предлагаемых вам как клиенту
Помимо сертификатов, связанных с внутренней организацией, некоторые сертификаты предназначены для специальной сертификации услуг для клиента, таких как PCI-DSS и SOC-отчетность. Эти сертификаты конкретно касаются того, как сервисная организация управляет своими клиентскими услугами. Вместо того, чтобы показывать, что внутренняя организация имеет эффективный процесс управления информацией, эти сертификаты специально касаются требований в отношении услуг, которые вы используете. Кроме того, для сертификации в отношении клиентских услуг, опять же, важен объем. Например, в отчетности SOC определена конкретная область. Если ваша организация использует дополнительные услуги, предлагаемые обслуживающей организацией, или использует сложный физический сайт, и он не входит в объем, вы не можете полагаться на сертификацию для этих конкретных услуг.
Цели сертификации
Помимо рассмотрения области сертификации, необходимо определить, является ли цель сертификации релевантной для вашей сервисной организации. Например, центр обработки данных может быть сертифицирован на соответствие NEN 5710 (защита информации о медицинских данных), однако, если центр обработки данных не имеет доступа к информации, запрос на сертификацию бесполезен. Центр обработки данных может быть элементом управления, используемым держателем сертификата, но аудитор не может оценить, как центр обработки данных обрабатывает медицинские данные, если центр обработки данных не имеет доступа к этим данным.
Другим примером является сертификация GDPR, которую могут получить компании. Использование компании, сертифицированной GDPR, не означает, что ваша организация может положиться на эти сертификаты. Такая сертификация означает, что компания, имеющая сертификацию GDPR, соответствует GDPR для личных данных, которые они хранят и могут получить к ним доступ.
В заключение, организации широко используют сертификаты, чтобы показать, что процессы их компаний являются лучшими, а их клиенты могут им доверять. При выборе поставщиков важно не просто перечислять сертификаты и «проверять в коробке». Когда вы знаете, какие процессы и услуги важны для вас, вы можете оценить сертификацию, и сертификация приносит ценность, которую они должны принести.
datacenter.com
Искусственный интеллект — не только голосовые ассистенты и роботы-художники. Сегодня машинное обучение готово приносить пользу всему человечеству, сохраняя здоровье людей. Компания REG.RU открывает цикл статей о вычислительных методах диагностики и лечении различных заболеваний.
Болезнь Альцгеймера (БА) — нейродегеративное заболевание, которым страдают десятки миллионов пожилых людей во всём мире. Только в США ежегодные расходы на лечение этой болезни составляют до 290 миллиардов долларов. Разработка и применение методов выявления БА по речи человека полностью возложены на опытных врачей. Облегчить им задачу могут стандартные технологии машинного обучения, которые применяются для обнаружения скрытых пространств (latent spaces) в данных. Предлагаем вам ознакомиться с переводом статьи о разработке метода выявления этой болезни.
Описание проблемы и задачи
Основная цель — научиться анализировать фразы, сказанные пациентом, и выделять из них особые признаки, указывающие на присутствие болезни. Признаки отдельных слов состоят из семантической, морфологической и синтаксической информации. Задача тематического моделирования (тематизации) — вместе с этими признаками обнаружить также скрытые семантические структуры. Раньше для решения этой проблемы применялся сложный метод обширного преобразования признаков (extensive feature engineering, EFE). Но современные алгоритмы машинного обучения могут обнаруживать скрытые пространства в данных без применения EFE.
В основе разработанной модели лежит Латентное размещение Дирихле (Latent Dirichlet allocation, LDA). Оно использует статистику наборов слов (bag-of-words) и позволяет определить тематику текстов на основе скрытых переменных. В LDA каждый документ рассматривается как распределение вероятностей по темам, а каждая тема — распределение вероятностей по всем словам в словаре. Предполагается, что оба в качестве априори имеют распределение Дирихле.
Для семантического анализа слов существует программный инструмент word2vec, который основан на векторном представлении слов и дистрибутивной семантике. Авторы предположили, что создание гибрида моделей LDA и word2vec позволит выявлять отличительные признаки речи при заболевании Альцгеймера. Было создано три новых варианта гибридных моделей. Общий принцип их работы заключается в следующем: сначала исследуется тематическое распределение слов в модели LDA, а затем полученная информация включается в модель word2vec в процессе её обучения.
Модели обучаются на стандартных датасетах, и после этого применяются для классификации медицинских данных. Такая архитектура может применяться и для других проблем классификации текста, а не только для выявления БА.
Цели проекта состоят в следующем:
эффективно дополнить word2vec латентным размещением Дирихле для классификации;повысить точность выявления болезни с помощью автоматических методов.
Подробнее
www.reg.ru/blog/detection-of-alzheimers-disease-by-the-patients-speech-with-ai/
Раньше анонсов не было. Просто свободные доли иногда публиковались, по меткам, раз, два, три.
Для старого тестового проекта не было заведено раздела на hosting.kitchen. Был просто ресурс vm.center и потом я делился честными статьями, вроде этой и статьи отчета, раз, два, три и последняя обобщающая весь опыт самопальных ВМ без опыта и по приколу, которые на удивление очень понравились людям.
Итак, HDD VM я уже давно не делал, потому что все таки сейчас эпоха NVMe дисков, даже SSD уже не так круто звучит. А тут какие-то HDD SATA. Но все равно нашлись люди которые уговорили меня сделать, им хочется дешевых долей с HDD, вероятнее всего им бы подошел просто честный шаред где 2 ТБ диск делится на 20 человек, но они почему-то хотят сами все настраивать на VM.
Раньше методом теста было выявлено что лучший конфиг для SATA VM это E3-1245v2, тачки из 2014 года ОВХ когда свои запускала.
Но сейчас было решено сделать с HDD i7-7700k. И возможно только их и будем делать уже если речь о HDD VM.
Хотя я уже зарекся делать VMmanager, я хочу совсем другое. Ну в топиках отчетах истории там все расписано. Поэтому каждая новая нода она без удовольствия собирается, только ради просивших людей.
Заказать можно
panel.core.lol/billmgr
panel.skladchik.ovh/billmgr
OVH WAW1 ДЦ Польша
i7-7700k 1vCore / 2 ddr4 / 200 HDD / 1 IP — 300рi7-7700k 2vCore / 4 ddr4 / 400 HDD / 2 IP — 600рi7-7700k 3vCore / 6 ddr4 / 600 HDD / 3 IP — 900рi7-7700k 4vCore / 8 ddr4 / 800 HDD / 4 IP — 1200рДо 256 IP только Польша, 150р разово за активацию, можно докупать.
Вы перенесли сайт раньше? Если у вас есть или вам потребуется регулярно мигрировать веб-сайты, вы будете знакомы с трудностями, связанными с этим видом операций.
Чтобы выразиться в самых основных терминах, эта операция обычно включает шесть шагов:
покупка и настройка инфраструктуры назначениятестирование новой инфраструктуры путем импорта данных и кода сайтазакрытие веб-сайта или перевод его в режим только для чтения, чтобы предотвратить сохранение данных в старой инфраструктуре в процессе миграцииразвертывание кода в новой инфраструктуре и импорт данных в новые базы данныхизменение исходного кода для его адаптации к новой инфраструктуре (идентификаторы базы данных, подключение к внешним API и т.д.)когда веб-сайт работает над новой инфраструктурой, перенаправляет трафик, чтобы сделать его снова доступным (изменение зон DNS, обновление серверной части балансировщика нагрузки и т.д.)
В зависимости от исходного кода веб-сайта и сложности инфраструктуры эти шаги могут различаться по сложности. На самом деле, это зависит от доступа вашего сайта к записи данных. Должны ли данные храниться в базе данных? Есть ли у вашего сайта кеш на основе локальных файлов? Все это определено в исходном коде ваших веб-страниц.
Всего год назад, в марте 2018 года, OVH запустил крупный проект: миграция всех веб-хостинга и почтовых клиентов, размещенных в его устаревшем парижском центре обработки данных, в новый центр обработки данных. Для организации проекта процесс миграции был разделен на две части, управляемые двумя отдельными командами: веб-хостинг для первой команды и электронная почта для второй. Сегодня мы сосредоточимся на миграции веб-хостинга, но команда по миграции электронной почты также обсудит их процесс в нашем техническом блоге.
Для веб-хостинга этот проект включает миграцию трех миллионов различных веб-сайтов, размещенных на 7000 серверов в Париже. Некоторые из этих сайтов работают с 1999 года! Это одно из самых продолжительных мероприятий OVH. Так зачем их мигрировать, если они хорошо работают в Париже почти 20 лет? Чтобы понять все проблемы, с которыми мы сталкиваемся, нам нужно углубиться в историю этой службы.
Краткая история нашей веб-хостинговой платформы
Когда в 1999 году Октав основал OVH, доступ к Интернету все еще был ограничен. Первым направлением деятельности компании был хостинг веб-сайтов. То, что кажется простым сейчас, не было таким простым в то время. Вы должны были иметь хорошие сетевые соединения, поддерживать работу веб-серверов и правильно их настраивать. Трудно было найти людей с техническими знаниями или ресурсами, чтобы сделать это.
P19 строительство и расширение
В начале 2000-х годов у OVH была возможность приобрести здание в 19 округе Парижа. Здание P19 имело хороший доступ к электричеству и интернет-сетям, поэтому оно могло предоставлять услуги хостинга через Интернет и электронную почту большому количеству клиентов. Некоторое время это был единственный центр обработки данных OVH.
В P19 OVH не просто предлагал веб-хостинг. В центре обработки данных также размещены выделенные серверы. Оба вида деятельности быстро завоевали популярность, и в конце 2000-х годов OVH начала строить много новых центров обработки данных в Рубе, затем в Страсбурге, Богарном (Канада), Гравелине и за ее пределами.
Каждый раз, когда мы строили новый центр обработки данных, мы приобретали больше опыта, который помог нам улучшить логистику и техническое обслуживание. Эти новые центры обработки данных были намного больше, чем наш сайт в Париже, и дали нам пространство, необходимое для ускорения разработки многих инновационных технологий и решений, таких как водяное охлаждение, наша собственная производственная линия для серверов и стоек, а также система охлаждения для сервера. номера, в которых не было кондиционера.
Как сеть развивалась между 1999 и сейчас
Интернет сильно изменился с 1999 года. С нашей точки зрения, как хостинг-провайдера, мы наблюдали три события с течением времени…
1999 -> 2005: рождение сети. Статические сайты создавались в формате HTML. Это было, когда блоги начали появляться. Но эта технология была доступна только людям, которые знали, как использовать клиенты HTML и FTP, хотя FrontPage помог многим людям начать работу.Для работы эти сайты включали данные прямо в код. Веб-хостинг был довольно прост: пользователю требовалось место для хранения и веб-сервер, единственной целью которого была отправка веб-страницы, которую он будет искать в пространстве для хранения.2006 -> 2013: Web 2.0 — революция в социальных сетях и базах данных. Веб-сайты стали динамичными и могли отображать пользовательские страницы в зависимости от пользователя. Это было, когда впервые начали появляться дискуссионные форумы, блог-платформы и социальные сети, которые все еще так популярны сегодня.Динамические сайты были революцией для провайдеров веб-хостинга; код и данные теперь хранятся в двух разных местах. Это означало, что страница должна была быть сгенерирована до того, как она была отправлена конечному пользователю. Роль веб-сервера изменилась и будет генерировать эти страницы по запросу, в основном на языке PHP. Для этих веб-сайтов необходимо добавить серверы баз данных, а также вычислительную мощность для веб-серверов.2014 -> сегодня: мощь JavaScript возросла, помогая разработчикам создавать сложные веб-приложения в браузерах и значительно улучшая работу веб-пользователей. Это изменение стало возможным благодаря развертыванию Интернета на наших смартфонах. В результате может быть запущено большое количество сервисов, требующих веб-доступа.
Технически это означает, что использование меняется, и пользователи чаще посещают веб-сайты, тем самым увеличивая объем создаваемых данных и сложность их обработки. Использование дискового пространства и ресурсов для создания веб-страниц постоянно увеличивается.
Мы очень быстро адаптировали наши решения для реагирования на эти изменения. Мы предложили новые базы данных, увеличили объем хранилища, предоставили услуги CDN и многое другое.
Но быстрый рост числа пользователей и ресурсов для наших планов веб-хостинга пополнил наш центр обработки данных. В связи с естественным ростом сервиса и растущими потребностями веб-сайтов, которые мы размещаем, в 2015 году мы заметили, что наш центр обработки данных в Париже будет заполнен к началу 2017 года.
Развертывание веб-хостинга в Gravelines
Как только мы отметили это, было только одно решение: чтобы избежать нехватки планов веб-хостинга, нам нужно разместить наши сайты в другом центре обработки данных. Мы внедрили наши услуги в Париже, чтобы предоставлять услуги хостинга 24/7, управлять 7 000 серверов и поддерживать их работоспособность на основе самых ранних технологий OVH.
Мы могли бы сохранить эту индустриализацию и применить ее к Gravelines, но мы решили сделать что-то еще. Мы решили создать новую техническую архитектуру, которая будет поддерживать растущие потребности с точки зрения производительности и, прежде всего, позволит нам повторно использовать другие продукты OVH. Это известный подход «съешь свою собачью еду», который применяется и расширяется в соответствии с нашими планами веб-хостинга.
Мы поставили перед нашими собственными командами задачу управлять выделенными серверами, vRack (частной сетью), IP-адресами и балансировщиками нагрузки (IPLB), чтобы они могли поддерживать инфраструктуру и трафик наших клиентов. Став одним из наших крупнейших клиентов, мы смогли выявить и преодолеть множество ограничений — повысить скорость отклика наших API, оптимизировать наши базы данных и многое другое.
Чтобы свести к минимуму задержку и удовлетворить требования географического распределения, мы предлагаем нашим клиентам широкий спектр центров обработки данных по всему миру. Все эти центры обработки данных были потенциальными целями для роста нашей платформы. По логистическим причинам мы решили запустить единый новый центр обработки данных в Европе. И это не влияет на наши веб-сайты: различия в задержке между нашими центрами обработки данных настолько минимальны, что они даже не кажутся размещенными на них сайтами (увеличение составляет всего несколько миллисекунд, и это занимает несколько сотен миллисекунды для создания веб-страниц).
Чтобы выбрать наш новый центр обработки данных, мы проанализировали наш естественный рост, чтобы выработать наши требования к инфраструктуре. Фактически, наша инфраструктура растет каждую неделю с новыми поставками оборудования, и мы рискуем настолько быстро заполнить наши центры обработки данных, что это помешает нашим клиентам арендовать выделенные серверы и другие сервисы OVH. Согласно этим критериям, только два центра обработки данных удовлетворяли наши потребности в плане инфраструктуры в 2016 году: Gravelines на севере Франции и Beauharnois в Канаде. Поскольку наша платформа в настоящее время развернута только в Европе, мы начали работать над Gravelines.
В то же время мы рассмотрели и оптимизировали оборудование, используемое для построения наших кластеров, чтобы мы могли обеспечить более высокую производительность. Инновации, представленные в Gravelines, помогли нам еще больше улучшить доступность нашей платформы.
Самой большой проблемой было не изменение опыта обслуживания — мы сохранили все функции и сохранили все те же графические интерфейсы и API. Нашей целью было просто обновить инфраструктуру, а не сами коммерческие продукты.
Этот центр данных для веб-хостинга был открыт в июле 2016 года. И с ноября того же года все наши новые планы хостинга были доставлены туда.
Каждый год клиенты отменяют свои услуги веб-хостинга, потому что они больше не используют их или переходят на другие продукты, такие как VPS-решения. В результате этого количество веб-сайтов, размещенных в Париже, за последние три года постепенно уменьшалось. Это помогло нам справиться с увеличением мощности, необходимой для остальных веб-сайтов, без увеличения пропускной способности нашей инфраструктуры в Париже.
Учитывая естественное снижение количества веб-сайтов, размещенных в центре обработки данных, мы решили, что лучше дождаться, пока большинство наших клиентов откажутся от своих услуг, прежде чем мы перенесем их. Зачем это делать, когда осталось три миллиона сайтов?
Почему мы решили перенести наш центр обработки данных?
Чтобы дать Парижу новую жизнь?
Есть несколько причин, по которым мы начинаем это грандиозное начинание. Но главная причина — это устаревание.
Наша инфраструктура основана на физических ресурсах, размещенных в этом центре обработки данных: выделенных и виртуализированных серверах (которые основаны на физических машинах), сетевых элементах и контуре охлаждения (водяное охлаждение и кондиционирование воздуха). И чтобы инфраструктура оставалась доступной 24/7, нам необходимо периодически обновлять это оборудование.
Для выделенных серверов это довольно просто. Если сервер становится неисправным, его можно просто заменить новым. Серверы, созданные для Парижа, не имеют тех же технических и материально-технических улучшений, от которых выигрывают другие наши центры обработки данных, и их становится все труднее собирать, поскольку устаревание нашего центра обработки данных требует от нас все большего и большего обновления.
Мы рассмотрели вопрос о замене этих серверов моделями следующего поколения, но нам нужно будет изменить архитектуру целых комнат. И чтобы добиться этого без какого-либо влияния на доступность нашей платформы, нам потребуется пространство для строительства новых комнат перед миграцией серверов один за другим. В здании, которое почти на полную мощность, это потребовало бы опустошения комнат.
Для работы выделенным серверам также требуется питание, сеть и система охлаждения. Все эти элементы также управляются физическим оборудованием: кондиционирование воздуха и водяное охлаждение для охлаждения машин, маршрутизаторов и коммутаторов для сети, электрических трансформаторов, устройств ИБП и аккумуляторов для электричества.
Эти избыточные физические инфраструктуры также должны регулярно заменяться, чтобы избежать простоев. Если один из путей доступа не работает, второй вступит во владение. Кроме того, это обычная операция, выполняемая техническими специалистами, поэтому они могут выполнять незначительные задачи по обслуживанию компонентов оборудования.
Процесс полной замены этих инфраструктур новыми является долгим и сложным. Полагаться на один путь доступа в течение такого длительного периода времени было просто невозможно. Для их замены потребовалось бы установить третий путь, а затем переключиться на него, когда все будет готово. Однако это также будет означать, что в центре обработки данных должно быть место для всех этих операций.
Спустя двадцать лет наш центр обработки данных в Париже достиг конца жизненного цикла. Масштабная работа требуется на всех уровнях, а для этого требуется пространство. Это основная причина миграции.
Чтобы повысить производительность сайта
Благодаря новой инфраструктуре в Gravelines мы можем повысить производительность веб-сайтов наших клиентов. Более того, эти новые технологии помогли нам развернуть некоторые дополнительные функции, которые мы не можем развернуть в Париже без обновления нашей инфраструктуры: HTTP / 2, MySQL 5.6 и другие.
Наши клиенты могут сами перенести свои проекты, но миграция плана веб-хостинга — сложная и деликатная процедура. Многие клиенты отказались от этого.
После завершения миграции мы также сможем упростить наше оперативное обслуживание, используя исключительно стандарты OVH. Это поможет нам избежать выполнения определенных операций в парижском центре обработки данных, сократив время обслуживания и риски определенных повторяющихся ручных операций.
Как мы переносим так много сайтов?
Как провайдер веб-хостинга, мы в основном специализируемся на двух областях — хостинг данных и выполнение кода.
Хостинг данных — сложная операция, если он должен поддерживать свою целостность во времени, но это относительно стандартизированная отрасль. Данные хранятся в файловой системе (это стандарт) или в базе данных, которая использует определенный язык запросов (MySQL 5.5 или MySQL 5.6). Поэтому нам просто нужно воспроизвести архитектуру, которая соответствует тому же стандарту в целевой инфраструктуре, и перенести в нее данные.
Выполнение кода более сложное. Очень трудно определить поведение исходного кода в его среде, по крайней мере, не интерпретируя его. Он может вернуть ошибку в определенной версии расширения PHP, проверить локальную папку и многое другое. Например, многие наши клиенты хранят абсолютный путь к своим файлам в коде. Однако это означает, что мы не можем изменить место хранения файлов, не влияя на их службу.
Когда вы размещаете сервисы для нескольких клиентов, вы можете легко помочь им, обнаружив коды, которые больше не будут работать после миграции. Но в более широком масштабе это сложно. Представьте, что вы делаете это с кодами для более чем трех миллионов сайтов!
Просить наших клиентов изменить их исходный код не было жизнеспособным решением. Даже если предположить, что все наши клиенты прочтут по электронной почте об этом, некоторые из них не внесут изменения из-за нехватки времени, технических знаний или просто забыв сделать это. Мы будем создавать проблемы для наших клиентов с их веб-сайтами, и для нас это просто не вариант.
В течение почти года мы разработали несколько сценариев миграции. Мы экстраполировали их по всем направлениям с двумя целями:
веб-сайты должны оставаться работоспособными после завершения миграции, и клиентам не нужно вносить какие-либо изменения в свой кодвлияние на доступность услуг в процессе миграции должно быть минимальнымМы внедрили и протестировали некоторые из этих сценариев в период с марта по июнь 2018 года. Эта первоначальная работа помогла нам выбрать лучший план миграции. Чтобы завершить эту миграцию, не затрагивая службы, нам необходимо было адаптировать часть нашей инфраструктуры и информационной системы: создать сетевой туннель между центрами данных, изменить балансировщики нагрузки, нашу платформу базы данных, добавить прокси-серверы SQL и многое другое.
Мы тщательно протестировали выбранный сценарий. Чтобы гарантировать, что эта процедура будет выполняться с минимальным воздействием, мы много раз повторяли ее в реальных условиях на внутренних кластерах, используя наборы данных на основе производственных платформ.
Хотите узнать больше информации о нашем плане миграции? Мы не можем включить все в эту запись блога, поэтому мы решили рассказать о нашей миграции в серии постов, поскольку эта тема очень обширна.
Следите за нашими будущими публикациями, которые дадут вам возможность заглянуть за кулисы крупнейшей в Европе миграции веб-сайтов, осуществляемой крупнейшим в Европе хостинг-провайдером!
Оказывается, нейросети уже давно могут «притворяться» людьми — рассказываем про новую модель генеративно-состязательной сети (GAN), которая распознаёт системы CAPTCHA на 32 посещаемых веб-сайтах.
Автор: Roberto Iriondo, Machine Learning Department of Carnegie Mellon University
ДИСКЛЕЙМЕР
Текст данной статьи приведен исключительно в образовательных целях для информирования пользователей о возможных уязвимостях при разработке сайтов. Информация предоставляется в целях противодействия эксплуатации уязвимостей. Редакция сайта не поддерживает никакие виды противозаконной деятельности в сети Интернет.
Никто не любит капчи (в смысле, никто из людей, ведь у ботов нет эмоций) — надоедливые картинки с трудно читаемым текстом, который вы должны ввести для доступа к чему-либо в интернете. CAPTCHA (Completely Automated Public Turing tests to tell Computers and Humans Apart) разработана для того, чтобы автоматические программы не могли злонамеренно использовать онлайн-контент (заполнять формы, запрашивать доступ к закрытым файлам, многократно заходить на один и тот же сайт и т. д.). Она должна убедиться, что вы человек, а не бот. Тем не менее, в прошлом были попытки доказать несовершенство систем CAPTCHA. Но ни одна из них не была настолько же точной и быстрой, как алгоритм машинного обучения, предложенный группой исследователей из университета Ланкастера, Северо-Западного университета и Пекинского университета.
Схема алгоритма:
Исследователи используют небольшой набор несинтезированных капч для обучения синтезатора CAPTCHA. Синтезатор (1) используется для генерации синтетических CAPTCHA (2), которые применяются для обучения базового решателя (base solver) (3). Base solver затем совершенствуется для создания точно настроенного решателя (fine-tuned solver) несинтезированных капч.
Одним из первых известных людей, которые продемонстрировали уязвимость CAPTCHA, был Эдриан Роузброк. В своей книге «Deep Learning for Computer Vision with Python» Эдриан рассказывает, как он обошёл системы CAPTCHA на сайте E-ZPass New York. Для обучения своей глубокой модели он использовал большой набор изображений с примерами CAPTCHA.
Основное отличие решения Адриана от подхода учёных из Ланкастера, Северо-Западного университета и Пекина — последние не использовали набор данных с примерами, а синтезировали CAPTCHA с помощью генеративно-состязательной сети (GAN). Почти вся обучающая выборка состояла из сгенерированных капч, и лишь небольшая часть — из реальных.
Генеративно-состязательные сети, представленные Яном Гудфеллоу вместе с другими учёными — это глубокие архитектуры, состоящие из двух нейросетей. Эти сети «соревнуются» друг с другом в игре с нулевой суммой (zero-sum game) и синтезируют образцы, близкие к подлинным. Это может быть очень полезно в случае, когда модель не имеет доступа к большому набору данных.
Исследователи оценили свой подход с помощью 33 текстовых схем CAPTCHA, 11 из которых в настоящее время используют 32 самых популярных веб-сайта по данным Alexa. Туда входят схемы Google, Microsoft, eBay, Wikipedia, Baidu и многие другие. Модели, создаваемой для работы с этими системами, понадобилось всего 500 реальных капч, в то время как другим (в том числе модели Эдриана) требовались миллионы примеров.
Сеть GAN инициализируется с учётом параметров безопасности капчи, показанных на рисунке:
Затем она генерирует партию CAPTCHA, чтобы обучить синтезатор с помощью 500 реальных изображений из различных схем капч:
Список текстовых схем капчи, используемых в качестве обучающих данных для синтезатора и тестовых данных для решателя
Исследователи использовали 20 тыс. капч для обучения модели Preprocessing и 200 тыс. сгенерированных капч для обучения базового решателя.
Прототип создан с помощью Python, модель Preprocessing построена в приложении Pix2Pix, которое реализовано с помощью TensorFlow. Точно настроенный решатель сделан с помощью Keras.
Реальные Google CAPTCHA и сгенерированные версии, созданные синтезатором CAPTCHA
После обучения GAN со сгенерированными и реальными капчами, решатель CAPTCHA использовался для атаки на системы защиты таких сайтов как Megaupload, Blizzard, Authorize, Captcha.net, Baidu, QQ, reCaptcha, Wikipedia и т. д. Большинство капч было определено с точностью около 80%, а на сайтах Blizzard, Megaupload и Authorize.net — 100%. Этот метод оказался более точным, чем все предыдущие решения, в которых использовались большие несинтезированные наборы обучающих данных.
Сравнение решателя CAPTCHA с четырьмя другими методами
Помимо увеличения точности, исследователи упоминают в статье, что их подход также оказался более эффективным и не таким дорогостоящим, как другие решения. Это первая GAN-нейросеть для распознавания капч с открытым исходным кодом — отсюда её эффективность и дешевизна.
Однако, у модели есть некоторые ограничения: например, капчи с переменным количеством символов. В текущем подходе используется фиксированное число — если его увеличить, то прототип не будет работать. Ещё модель не поддерживает многословные и фото- или видео-капчи. В теории её можно обучить так, чтобы избавиться от этих ограничений, но пока что они присутствуют.
Посещаемым веб-сайтам следует использовать более надёжные способы защиты своих систем, такие как меры по обнаружению ботов, диагностика кибербезопасности и аналитика. Следует также поддерживать отслеживание местоположения устройства, его тип, используемый браузер и т. д., поскольку теперь сайты стали ещё более лёгкой мишенью для атаки.
www.reg.ru
Специально для тех, кто только начинает осваивать Deep Learning и нейронные сети, мы подготовили перевод очень полезной статьи. Из неё вы узнаете, как использовать библиотеку Keras для обучения своей первой нейронной сети с собственным набором изображений, а также сможете создать свёрточную нейронную сеть (CNN).
Большинство учебных пособий по Keras основаны на работе со стандартными датасетами, такими как MNIST (распознавание рукописного ввода цифр) или CIFAR-10 (распознавание базовых объектов). Они помогут вам начать использовать Keras, но не смогут научить работать с собственными наборами изображений — вы просто будете вызывать вспомогательные функции для загрузки предварительно скомпилированных датасетов.
Поэтому вместо того, чтобы вновь обращаться к предкомпилированным датасетам, мы рассмотрим, как обучить вашу первую нейронную сеть и CNN на оригинальном наборе изображений, как этого и требуют реальные задачи.
Содержание
1. Установка Keras и другого необходимого ПО
2. Загрузка ваших данных с диска
3. Разбиение их на обучающую и тестовую выборки
4. Определение архитектуры вашей модели Keras
5. Компиляция вашей модели
6. Обучение модели
7. Оценка модели на тестовой выборке
8. Распознавание изображений с использованием обученной модели
9. Бонус: обучение свёрточной нейронной сети
www.reg.ru/blog/keras/
Совсем недавно вам прилетело письмо о том, что у нас появились выделенные серверы с новыми Xeon E — больше производительности, чем у Xeon E3, а по стоимости почти такие же.
Чтобы вы могли убедиться, что это действительно так, один из наших системных администраторов, протестировал и сравнил разные процессоры на базе Intel Xeon: на стендовый тест попали свежие Xeon E — E-2134 и E-2136 и процессоры Xeon E3 из семейств V5 и V6. О результатах тестов читайте в статье «Чего ждать от новых Xeon E. Сравниваем с E3 и делаем выводы».
А ещё, чтобы вы могли сравнить цены, мы собрали список близких конфигураций с процессорами из статьи.
Конечно, это не все, что у нас есть. Для серверов из конфигуратора возможны конфигурации не только с HDD, но также SSD и быстрыми NVMe-дисками. Если нужно больше объёма, можно выбрать два диска. Посмотреть и сравнить цены на другие серверы можно на 1dedic.ru.
При оплате за год — скидка на любой сервер 10%.
Команда FirstDEDIC
Ваши облачные приложения нуждаются в быстрой, надежной и безопасной сетевой инфраструктуре. В то же время вам нужны сетевые сервисы, которые позволят вам создавать гибридные и облачные приложения нового поколения на этой инфраструктуре. Сегодня мы рады сообщить о нескольких новых дополнениях к нашему сетевому портфелю Google Cloud, которые помогут вам беспрепятственно подключать, масштабировать, защищать и модернизировать корпоративные среды, а также использовать преимущества облачных технологий.
Представляем Traffic Director для открытой сервисной сетки (бета)
Организации все чаще создают приложения на основе контейнеров и микросервисов, продолжая при этом выполнять существующие виртуальные и другие рабочие нагрузки. И все же им нужна свобода развертывания их в гибридных и мультиоблачных конфигурациях. Мы были лидерами в области сетевых инструментов для упрощения управления мульти-облачными сервисами и считаем, что технология сервисных сетей особенно хорошо подходит для последовательного управления такими средами. Чтобы ускорить внедрение и сократить трудозатраты на управление сеткой услуг, мы рады представить Traffic Director, нашу новую управляемую GCP, готовую к корпоративной конфигурации конфигурацию и плоскость управления трафиком для сетки услуг, которая обеспечивает глобальную отказоустойчивость, интеллектуальную балансировку нагрузки и расширенный трафик. возможности управления, такие как развертывание канареек.
istio.io/docs/concepts/what-is-istio/#what-is-a-service-mesh
В настоящее время в бета-версии Traffic Director предоставляет сведения о конфигурации и управлении трафиком для прокси-серверов сервисов вспомогательных служб (таких как Envoy) в плоскости данных сетки услуг с использованием открытых API-интерфейсов xDS. Traffic Director обеспечивает глобальную отказоустойчивость ваших сервисов, позволяя развертывать экземпляры приложений в нескольких регионах Google Cloud. Он доставляет данные прокси-службам для балансировки нагрузки трафика к ближайшему доступному экземпляру и для автоматического переключения при сбое или переполнения на экземпляр в другом регионе, если все экземпляры в ближайшем регионе недоступны. Вы также можете легко развернуть функции (в настоящее время в альфа-режиме), такие как разделение трафика для развертывания канареек и A / B-тестирование, тайм-ауты, повторные попытки, прерыватели цепи и другие расширенные возможности управления трафиком. (Получите доступ к альфа-функциям управления трафиком.)
Traffic Director облегчает использование преимуществ сервисной сетки и Envoy в производственных средах», — говорит Мэтт Кляйн, создатель Envoy Proxy. «С Envoy, обеспечивающим универсальную плоскость данных, Traffic Director обеспечивает полностью управляемую плоскость управления трафиком с открытым интерфейсом, чтобы избежать блокировки. Глобальная балансировка нагрузки и расширенный контроль трафика Traffic Director помогают снизить нагрузку на управление трафиком как для корпоративных пользователей, так и для конечных пользователей, использующих облачные технологии
Traffic Director поддерживает как виртуальные (Compute Engine), так и контейнерные (Google Kubernetes Engine или самоуправляемые) сервисы, поэтому вы можете модернизироваться в своем темпе. У нас есть всеобъемлющая дорожная карта для Traffic Director, включающая функции безопасности, гибридную поддержку и интеграцию с Anthos. Узнайте больше о Traffic Director здесь.
Объявление о высокой доступности VPN и 100 Гбит / с Interconnect (бета)
Устойчивое подключение является основой для развертывания и управления мультиоблаковыми сервисами. Высокодоступная (HA) VPN, скоро в бета-версии, позволяет подключить локальное развертывание к виртуальному частному облаку GCP (VPC) с лидирующим в отрасли SLA с доступностью услуг 99,99% при общей доступности.
HA VPN обеспечивает эту отказоустойчивость с помощью избыточных туннелей, которые изолируют сбои и обеспечивают непрерывное подключение. Мы предлагаем два режима для HA VPN: активный / активный, в котором оба избыточных туннеля переносят трафик при нормальной работе, и активный / пассивный, в котором один туннель активно переносит трафик, а другой действует как резервное копирование.
Кроме того, мы рады объявить о новом выделенном межсоединении со скоростью 100 Гбит / с для подключения гибридных и мультиоблачных развертываний. В сочетании с лидирующим в отрасли соглашением об уровне обслуживания Cloud Interconnect с пропускной способностью 99,99% каналы со скоростью 100 Гбит / с открывают доступ к случаям с высокой пропускной способностью, таким как загрузка данных в Google Cloud Storage и массовая обработка данных с помощью BigQuery. Если вам нужна еще большая емкость, вы можете просто объединить несколько каналов 100 Гбит / с, используя группы агрегации каналов. Узнайте больше о HA VPN и 100 Гбит / с Interconnect здесь.
Частный доступ к Google и сторонним SaaS-сервисам в GCP (GA)
Частный доступ к Google из локальной сети в облачную среду в настоящее время общедоступен, что позволяет вам безопасно использовать службы Google, такие как Cloud Storage, BigQuery, а также сторонние SaaS через Cloud Interconnect или VPN. Вы можете использовать Частный доступ к Google в сочетании с элементами управления сервисом VPC. VPC Service Controls позволяет вам расширять границы доверия от GCP до уровня on-prem, предоставляя доступ к данным из подмножества облачных межсоединений или VPN и отказывая в попытках доступа извне этой границы доверия.
Узнайте больше о частном доступе к Google от локальных и VPC Service Controls здесь.
Ваша облачная сеть, ваш путь с уровнями сетевых служб (GA)
С уровнями сетевых служб клиенты Google Cloud могут настроить свою сеть для производительности или цены в расчете на каждую рабочую нагрузку, выбрав Премиум или Стандартный уровень:
Premier Tier использует глобальную частную сеть Google, позволяя вашему трафику выходить из нашей сети рядом с вашим конечным пользователем, обеспечивая тем самым высокую надежность и низкую задержку доставки.
Стандартный уровень аналогичен сети, которую вы получаете от других облачных провайдеров, где ваш трафик быстро выходит из региона, в котором находятся ваши данные, и проходит через Интернет, чтобы добраться до вашего конечного пользователя.
Уровни сетевых служб теперь общедоступны (GA), поэтому вы можете выбрать сеть, которая подходит именно вам. Узнайте больше об уровнях сетевых услуг здесь.
Вы спросили, мы доставили
За последние шесть месяцев мы запустили множество сетевых функций, чтобы упростить:
Развертывание и подключение
Частная зона DNS GA — создание записей DNS, видимых только из вашего VPC.Бета-версия пиринга DNS — поддержка частного DNS для одноранговых сетей.Бета-запись DNS — регистрация частных DNS-запросов через Stackdriver.Растущий набор решений SD-WAN через GCP Marketplace.
Масштабировать, защищать, оптимизировать, контролировать
Заданные пользователем заголовки для HTTP (S) LB GA — включить вставку заголовков (с гео-версией клиента, версией TLS, RTT) с помощью балансировщика нагрузки в запросы, отправленные вашим экземплярам.Функции внутренней балансировки нагрузки (ILB) L4 — бета-версия обнаружения служб на основе DNS, GA-4 для всех портов L4, группы аварийного переключения L4 ILB для бета-версии ILBGoogle Cloud Armor IP Разрешить / Запретить список для HTTP (S) LB GA. Может использоваться с Identity-Aware Proxy.Регистрация брандмауэра GA — Аудит, проверка и анализ последствий ваших правил брандмауэра.Управляйте объемом журналов потока VPC — Сократите сгенерированные данные, увеличив интервалы агрегации журналов.Бета-версия виртуальных машин со скоростью 32 Гбит/с — увеличен лимит пропускной способности для виртуальных машин с 16 до 32 Гбит / с.cloud.google.com/kubernetes-engine/docs/how-to/managed-certs
cloud.google.com/network-telemetry/
cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr
Бета-версия управляемых сертификатов SSL — обеспечивает полное управление жизненным циклом ваших входных сертификатов GKE с предоставлением, развертыванием, обновлением и удалением.
Видимость сетевого потока, включая внутриузловую связь. Регистрируйте все свои сетевые потоки GKE, в том числе от узла к устройству внутри узла.
Бета-версия с оптимизированным распределением IP-адресов. Настройте и оптимизируйте пространство IP, выделенное для кластеров GKE, в соответствии с потребностями вашего кластера.
Оставайтесь с нами для глубоких погружений в эти предложения в ближайшие недели.
Короче говоря, мы были заняты, но мы еще далеко не закончили. Сообщите нам, как вы планируете использовать эти новые сетевые сервисы и какие возможности вы хотели бы иметь в будущем. Вы можете узнать больше о портфеле облачных сетей GCP в Интернете и связаться с нами по адресу gcp-networking@google.com
cloud.google.com/products/networking/
cloud.google.com/blog/products/networking/powering-enterprise-transformation-announcing-new-additions-to-google-cloud-networking
Компании, использующие дата-центр в качестве основной поддержки своих жилищных услуг, обладают для этого уникальным оборудованием. С этого момента такие компании начинают процесс обработки данных, который может быть даже персональным и должен соответствовать GDPR. Неисправности оборудования здесь могут привести к образованию отходов, которые также могут быть личными, так где же заканчивается жизненный цикл?
При рассмотрении PCI DSS весь жизненный цикл обработки финансовых транзакций управляется с помощью сертификата PCI DSS или цепочки сертификатов PCI DSS, включающей весь пакет сторонних производителей. Тем не менее, цепочка процесса обработки данных получается с соглашениями процессора во время GDPR. В центре обработки данных жизненный цикл данных начинается с подключения чистого оборудования (или уже использованного / установленного / настроенного оборудования) с последующей обработкой данных, выполняемой программным обеспечением. В начале жизненного цикла за целостность и секретность данных отвечает контроллер, который выполняет список действий при получении данных. Во время процесса передачи данных центр обработки данных поддерживает этап обеспечения физического доступа к сети и обеспечения физической безопасности стойки.
Достигнув середины цикла, данные будут обработаны (получены, сохранены, изменены, структурированы и т. Д.). Даже на этом этапе контроллер сервисов и поставщик соединений играют весьма важную роль в поддержании целостности и секретности данных. Помимо физической безопасности, центр обработки данных играет важную роль в поддержке жизненного цикла данных. Примерами рисков для доступности данных являются ошибка питания или пожар. Кроме того, когда данные теряются, вам может потребоваться предупредить ваши контакты и управлять своей репутацией. Центр обработки данных поддерживает размещение ваших серверов и внедряет необходимые решения для минимизации рисков доступности данных. Таким образом, сочетание мер безопасности контроллера / процессора данных и центра обработки данных играет решающую роль в поддержании всей структуры безопасности ваших данных.
В конце цикла данные должны быть уничтожены, заархивированы и т. Д. Контроллер / процессор несет полную ответственность за эту часть жизненного цикла данных. Несмотря на то, что контроллер или процессор уничтожает данные (такие как очистка, очистка, размагничивание и т. Д.) На этом этапе, но физическое хранилище остается неизменным. Ваши носители информации могут; Тем не менее, их следует утилизировать вместе с обычными отходами, однако настоятельно рекомендуется утилизировать носители данных исключительно и сертифицированные для минимизации рисков, возникающих из-за сочетания нескольких защитных проблем. Дата-центры иногда поддерживают удаление конфиденциальных отходов. В таком случае следует запросить процедуры и сертификат для вывоза отходов; кроме того, уничтожение носителей информации может быть частью сертификата PCI DSS.
Несмотря на то, что центр обработки данных является скорее сторонней организацией, которая не взаимодействует с вашими данными, он все же играет весьма важную роль в общей структуре безопасности, охватывающей весь жизненный цикл данных. Вероятно, он не останется обработчиком данных и мерой защиты данных в отношении GDPR. Тем не менее, он играет жизненно важную роль на каждом этапе обработки данных. Соответствующее сочетание «безопасности по конструкции» физического оборудования (для передачи данных, доступа к стойке) и постоянного предоставления поможет охватить весь спектр систем защиты данных.
Чтобы узнать больше о ваших возможностях колокейшн и о том, как Datacenter.com может предоставить гибкие сервисы колокейшн для удовлетворения ваших конкретных потребностей пользователей, просто позвоните нам по телефону +31 (0) 20 2384200 или напишите нам по адресу info@datacenter.com
datacenter.com
Наши клиенты полагаются на партнеров, которые помогут им в их облачном путешествии, независимо от того, хотят ли они модернизировать свою инфраструктуру, найти содержательную информацию из своих данных или воспользоваться отраслевым опытом. Наша экосистема Google Cloud — включая партнеров-посредников, партнеров по обслуживанию, партнеров по технологиям и новаторов с открытым исходным кодом — играет эту роль, и за прошедший год мы сделали значительные инвестиции в то, как мы поддерживаем эту экосистему.
На этой неделе мы ожидаем появления Next'19, и мы рады объявить о новых обновлениях и инвестициях, чтобы сохранить этот импульс в следующем году и в последующие годы. Они включают:
Широкая поддержка наших партнеров для Anthos.Приверженность надежному сообществу партнеров с открытым исходным кодом.Расширения вычислительных и безсерверных партнерств.Новые специализации для наших реселлеров и партнеров по обслуживанию.Новые партнерские интеграции направлены на улучшение совместной работы для конечных пользователей.Обновления нашего подхода к MSP.И, конечно же, наши победители конкурса партнеров в 2018 году.
Вот сводка некоторых из наших интересных партнерских новостей:
Превращение мультиоблака в реальность с Anthos и широкой поддержкой нашей экосистемы
Anthos, новая гибридная платформа Google Cloud, позволяет компаниям писать свои приложения один раз и запускать их где угодно — в своих собственных центрах обработки данных, Google Cloud или другом облаке.
Для компаний, которые хотят использовать существующие инвестиции в свои собственные центры обработки данных, мы сотрудничаем с Cisco, Dell EMC, HPE, Intel, Lenovo и VMware, каждая из которых взяла на себя обязательство проверять Anthos в своем стеке решений и предоставлять эталонные архитектуры, предоставляя нашим взаимные клиенты выбирают аппаратное обеспечение в зависимости от потребностей в хранении, памяти и производительности.
Мы также знаем, что предприятиям иногда требуется помощь в модернизации и расширении приложений с использованием Anthos. Мы привлекли ведущих системных интеграторов, которые готовы работать с вами для внедрения Anthos в вашу среду, включая:
Но мы не остановились на этом. Мы хотим предоставить клиентам доступ к полностью облачной экосистеме открытых решений, от управляемых баз данных и безопасности до аналитики и инструментов DevOps. Через Anthos клиенты могут беспрепятственно развертывать эти решения между GKE и GKE On-Prem — во многих случаях одним щелчком мыши, как приложения Kubernetes, через GCP Marketplace, который включает в себя интегрированный учет и выставление счетов. Они включают:
Стремление к надежным инновациям и партнерским отношениям с открытым исходным кодом
С момента основания Google, открытый исходный код был в основе того, что мы делаем, и вы можете увидеть это в наших вкладах в такие проекты, как Kubernetes, TensorFlow, Go, Android и многие другие. Мы всегда видели наших друзей в сообществе открытого исходного кода как равных соавторов, а не просто как ресурс, который нужно добывать.
Сегодня мы расширяем нашу давнюю приверженность и участие в сообществе открытого исходного кода с целым рядом стратегических партнерских отношений. Мы будем предлагать управляемые услуги, управляемые компаниями с открытым исходным кодом CloudBees, Confluent, MongoDB, Elastic.co, Neo4j, Redis Labs, InfluxData и Datastax, которые тесно интегрированы в Google Cloud Platform (GCP), обеспечивая бесперебойную работу пользователей по всему управление, биллинг и поддержка. Это облегчает нашим корпоративным заказчикам использование технологий с открытым исходным кодом, а также обеспечивает нашу приверженность постоянной поддержке и расширению этих сообществ с открытым исходным кодом.
Предлагая расширенный опыт, аналогичный нативным службам Google, мы работаем вместе с этими создателями и поддерживаем развитие технологий этих компаний, чтобы стимулировать их принятие. Вы можете узнать больше в нашем блоге с открытым исходным кодом.
Новые безсерверные и вычислительные партнерства
На прошлой неделе мы объявили о расширении наших предложений виртуальных машин Compute Engine, чтобы включить новые виртуальные машины с оптимизированной вычислительной мощностью и виртуальные машины с оптимизированной памятью. Оба базируются на масштабируемых процессорах Intel Xeon 2-го поколения, которые мы поставили заказчикам в октябре прошлого года — первому облачному провайдеру, сделавшему это. Кроме того, эти процессоры также появятся на наших виртуальных машинах общего назначения. Это означает, что у вас будет доступ к полному набору типов машин для успешной работы ваших нагрузок в широком диапазоне требований к памяти и вычислениям.
Google Cloud также стал первым облачным провайдером, предложившим доступность графического процессора NVIDIA Tesla T4 еще в ноябре 2018 года. Графические процессоры T4 оптимизированы для вывода на машинное обучение (ML), распределенного обучения моделей и компьютерной графики.
Мы также расширяем нашу экосистему партнерских отношений без серверов. Бессерверные вычисления помогают разработчикам сосредоточиться на написании кода, обеспечивающего ценность для бизнеса, а не беспокоиться о сложной базовой инфраструктуре. Наш уникальный подход к безсерверным решениям позволяет вам легко использовать полный набор дополнительных услуг и целую экосистему тесных партнерских отношений с лидерами отрасли, такими как Datadog, NodeSource, GitLab и StackBlitz, которые обеспечивают поддержку интеграции для Cloud Run через мониторинг приложений., кодирование и этапы развертывания. Чтобы узнать больше о наших новых серверных предложениях, ознакомьтесь с разделом «Объявление о запуске в облаке, новейшем участнике нашего безсерверного вычислительного стека».
Расширенные способы сотрудничества
Совместное использование и хранение веб-файлов быстро стало неотъемлемой частью повседневной работы, но сопоставление этих файлов между несколькими инструментами может быть затруднено. Мы хотим, чтобы вы могли легко сотрудничать, независимо от файла, приложения. Сегодня мы объявили о новой интеграции с G Suite и Dropbox, чтобы упростить эту задачу.
Теперь клиенты Dropbox Business могут создавать, сохранять и обмениваться файлами G Suite, такими как Google Docs, Sheets и Slides, прямо из Dropbox. Благодаря этой интеграции файлы G Suite будут отображаться при поиске в Dropbox. Вы также можете открывать файлы различных форматов, таких как .docx, .xlsx или .pptx, из Dropbox в G Suite, а затем сохранять их обратно в Dropbox в любом формате, который вы предпочитаете. (Хотя мы занимаемся вопросами форматов файлов, мы также упростили совместную работу с файлами Microsoft Office в режиме реального времени. Подробнее об этом в этом посте).
Расширение наших партнерских специализаций
Многие клиенты нуждаются в партнерах с опытом работы в определенной области, чтобы помочь им найти передовые решения для своих задач, а также запускать и обслуживать их в течение долгого времени.
Чтобы помочь клиентам определить правильного партнера, мы предоставляем партнерские специализации. Мы предлагаем 10 различных областей специализации партнеров, значительный диапазон которых позволяет клиентам искать правильное сочетание соответствующей глубины для удовлетворения их конкретных потребностей и требований. Партнеры, получившие специализацию, имеют в своем составе несколько человек, имеющих высочайший уровень сертификации, продемонстрировавших и задокументированных историй успеха клиентов, и прошедших строгую оценку способностей от экспертов из нашей команды профессиональных услуг.
Сегодня мы объявляем, что 21 из наших партнеров получили специализацию в трех дополнительных областях. Они включают:
Партнеры по специализации Marketing Analytics обладают уникальными навыками сбора, преобразования, анализа и визуализации данных, а затем используют полученные знания для оптимизации маркетинговой стратегии и активаций.
55 SASAccentureBrainPadDatatonicDeloitteMaven Wave PartnersMerkleNRIQuantiphi, IncPublicis.SapientServianWunderman Thompson
Партнеры по специализации IoT, которые помогают предприятиям более легко и безопасно подключаться, управлять и получать данные IoT с глобально распределенных устройств, чтобы анализировать их и получать новые знания. Партнерами, объявленными сегодня, являются:
Agosto, IncAtos ITHitachi ConsultingLeverege, LLCObject Computing Inc.
Softserve Inc.
Партнеры по специализации обучения безопасности, которые последовательно проводят успешное обучение в соответствии со стандартами учебной программы Google Cloud, а также как минимум два авторизованных инструктора, посвященных системе безопасности GCP. Они включают:
ROI TrainingQA LimitedJellyfish Group LimitedВы можете узнать больше о нашей программе специализации для партнеров здесь.
cloud.google.com/partners/specializations/
Импульс и обновления с нашими MSP
Наша экосистема ССП является ключевой частью нашего подхода к выходу на рынок. Сегодня они помогают многим клиентам создавать, масштабировать, управлять и поддерживать модернизированные ИТ-стратегии с помощью Google Cloud.
Квалифицированные Google Cloud MSP прошли тренинги и обширные проверки, чтобы убедиться, что они могут управлять, отслеживать, исправлять и оптимизировать рабочие нагрузки на GCP. Мы предоставляем этим партнерам многочисленные ресурсы, чтобы помочь им обслуживать клиентов, в том числе поддержку со стороны специальных менеджеров по работе с клиентами MSP, разработку клиентов, а также интерактивные и личные ресурсы сообщества.
Реакция сообщества MSP и клиентов была сильной. За последний год у нас есть квалифицированные партнеры, в том числе:
AccentureBespin GlobalClaranet LimitedCloudreach Inc.Doit SaaS Ltd.Go Reply S.R.L.Infosys LimitedNordcloud OyoXya CorporationRackspaceSopra SteriaTaos Mountain, LLC
На следующем этапе мы представим значок MSP Initiative для квалифицированных партнеров, чтобы нашим совместным клиентам было проще находить партнеров, которые могут помочь им ускорить путешествие в Google Cloud.
Чтобы узнать больше о нашей инициативе MSP, пожалуйста, посетите здесь.
cloud.google.com/partners/msp-initiative
Объявление победителей нашей партнерской премии 2018 года
Каждый год мы с нетерпением ждем возможности узнать наших замечательных партнеров, помогающих нашим клиентам на каждом этапе их перехода в облако. Пожалуйста, присоединяйтесь к нам, чтобы поздравить наших победителей 2018 года.
cloud.google.com/partners/
cloud.google.com/blog/topics/partners/building-a-better-cloud-together-news-from-our-partners-at-next19
Способность понимать абстрактные понятия, такие как «сходство» и «различие», считается когнитивной (познавательной) функцией высшего порядка наравне с вниманием и восприятием. Удивительно, но медоносные пчёлы обладают не только этой способностью, но также могут решать ряд простых и сложных ассоциативных задач.
Мы сделали конспект статьи, в которой расскажем о разработке новой нейронной сети, моделирующей структуру мозга медоносной пчелы.
Обучение абстрактным понятиям
Модель даёт достаточно точное представление о том, как реальные пчёлы воспринимают абстрактные понятия независимо от способа обработки информации.
Считается, что способность распознавать абстрактные концепции формирует основу мышления человека, а также других млекопитающих и птиц. Она связана с активностью нейронов в префронтальной коре головного мозга. Однако у медоносной пчелы нет ничего похожего на префронтальную кору в её гораздо меньшем мозге.
Для исследования способности насекомых обучаться абстрактным концепциям будет использоваться подход моделирования. Для начала мы более подробно опишем, как эту задачу решают медоносные пчёлы и другие животные.
Задачи «совпадает с образцом» («Match-To-Sample», MTS) разработаны для оценки обучения невербальному восприятию одинаковых и разных объектов. Животным сначала показывают один образец (стимул), а через некоторое время — два новых: первый соответствует изначальному, а второй нет. Чтобы изучить, какая продолжительность «рабочей памяти» («working memory») необходима для выполнения задачи, новые объекты показывались с задержками различной длины. Это называется «Delayed-Match-To-Sample» (DMTS).
Тесты, где животным надо наоборот выбирать не совпадающие с оригиналом предметы, называются «не совпадает с образцом» («NotMatch-To-Sample», NMTS или DMTS). Но этих задач недостаточно для демонстрации обучения абстрактным понятиям. Необходимо показать, что если животное научилось определять совпадающие или несовпадающие объекты, то оно сможет применить принцип сходства или различия и в новом контексте. Обычно это делается с помощью проверки на новом наборе образцов и называется трансферным тестом.
Исследования показали, что медоносные пчёлы могут учиться как DMTS, так и DNMTS-задачам и обобщать их на новые объекты. В опыте использовался лабиринт в форме буквы Y с исходным стимулом на входе и двумя разными объектами в каждом из ответвлений. Пчёлы прошли 60 испытаний, чтобы освоить эти задачи — это намного дольше, чем изучение простых обонятельных или визуально-ассоциативных навыков, для которых им требуется всего 3 испытания.
Показатели точности при этом не были идеальными — средняя эффективность составила около 75%, но это лучше, чем шанс простого «угадывания».
Концепция рабочей памяти имеет решающее значение для задач DMTS/DNMTS, поскольку животное не видит первоначальный стимул в процессе выбора. Если нет нейронной информации, которая могла бы идентифицировать совпадение, то проблема не может быть решена. Поэтому необходимо определить, как пчела запоминает эту информацию, и создать модель для решения задачи.
Модель строго ограничена установленными нейрофизиологическими и нейроанатомическими особенностями поведения настоящих пчёл. Мозг пчелы структурирован в виде отдельных областей нейропиля (зоны синаптического контакта). Особенности их взаимодействия хорошо изучены и описаны. Обучение происходит с помощью грибовидных тел (corpora penduculata) — они обрабатывают обонятельные, зрительные и механосенсорные данные.
До сих пор не было ясно, каким образом грибовидные тела и связанные с ними структуры могут изучать абстрактные понятия, которые не зависят от каких-либо специфичных особенностей объектов. Компьютерное моделирование грибовидного тела потребует реализации двух вычислительных компонентов: рабочей памяти для хранения идентичности образца и механизма для её использования, чтобы влиять на поведение модели в момент принятия решения.
Модель сети на основе мозга пчелы
Схема модели и основные принципы
A — нейроанатомия: MB (Mushroom Bodies) — грибовидные тела; AL (Antennal Lobe) — гломерулы антенной доли (круги); ME и LO — нейропили глубоких частей зрительной доли (Medulla и Lobula). Соответствующие нейронные пути помечены для сравнения с моделью.
B — упрощённая модель. Классы нейронов указаны справа.
C — полная модель, отражающая соединения и приблизительное число нейронов каждого типа. Цветовая маркировка и метки сохраняются на всех диаграммах.
Основные типы нейронов: KC (Kenyon Cells) — Клетка Кеньона, PCT (Protocerebellar Tract neurons) — протоцеребеллярный тракт нейронов, IN (Input Neurons) — входные нейроны (обонятельные или зрительные), EN (Extrinsic Neurons) — внешние нейроны грибовидных тел из субпопуляций GO и NOGO.
Грибовидное тело смоделировано как ассоциативная сеть из трёх слоёв. Входные нейроны IN обеспечивают обработку обонятельных, визуальных и механосенсорных данных. Слой клеток Кеньона KC выполняет разреженное кодирование (sparce-coding) сенсорной информации для эффективной классификации образцов. И, наконец, внешние нейроны грибовидного тела EN связаны с премоторной корой и активируют различные возможные поведенческие реакции. Для простоты мы рассматриваем EN как две субпопуляции, контролирующие только ответы «go» или «no-go» при выборе между различными вариантами объектов. Связи между выходом KC и EN модифицируются синаптической пластичностью и могут поддерживать изученные изменения в поведенческих реакциях на стимулы.
Как упоминалось выше, нам требуются два вычислительных механизма для решения задачи DMTS/DNMTS. Первый — находит средство для сохранения идентичности стимула, и второй — учится использовать эту идентичность для управления поведением и решения задачи.
Более того, результат обучения должен распространяться на новые стимулы, что требует большой вычислительной сложности.
У клеток Кеньона есть особенность, выполняющая требование обнаружения новизны — сенсорная аккомодация. У медоносных пчёл, даже при отсутствии вознаграждения или наказания за правильные или неправильные решения, KC резко снижают активность между начальными и повторными образцами до 50%. Этот эффект сохраняется в течение нескольких минут и может влиять на поведение во время испытания, но вряд ли повлияет на последующие опыты.
Теперь нам необходим второй механизм, который может использовать это свойство KC для управления поведением при выборе направления Y-лабиринта. При этом надо учесть, что пчёлы должны решать как DMTS, так и DNMTS-задачи, и не столкнуться с противоречием. Например, постсинаптическое обучение пропорционально увеличивает как более слабую (повторную) стимулирующую активность в субпопуляции GO EN, так и более сильную (единичную). Чтобы выбрать «go», активность GO для текущего стимула должна быть выше, чем активность NOGO, которая остаётся фиксированной. Это подойдёт для задачи DMTS, но в DNMTS должен применяться обратный принцип — ни одно правило постсинаптического обучения не удовлетворяет этому требованию.
Поэтому для решения DMTS и DNMTS задач необходим отдельный набор нейронов, которые могут выступать в роли переключателя между KC и поведением. Наиболее подходящий кандидат — тормозящие нейроны (inhibitory neurons), образующие протоцеребеллярный тракт (PCT). Они участвуют в регулировании входных данных для KC, и мы предполагаем, что они также могут регулировать активность популяций EN в выходные области KC с помощью синаптической пластичности. Если мы предположим, что при высоком пороге активности нейронов PCT повторные стимулы не будут их активировать, а единичные будут, тогда станет возможной синаптическая пластичность от PTC к EN. Это позволит решить DMTS и DNMTS задачи и передать это обучение новым стимулам.
Итак, мы представляем две модели, основанные на анатомии и свойствах мозга медоносной пчелы. Первая модель — упрощённая демонстрация того, что вышеизложенные принципы могут решать задачи DMTS и DNMTS и обобщать обучение для новых наборов образцов. Но эта модель не может продемонстрировать, что ассоциативное обучение в синапсах от KC до EN не препятствует обучению в синапсах от PCT до EN или наоборот. Поэтому вторая модель будет более полной и сможет решать как DMTS и DNMTS с переходом к новым стимулам, так и набор других ассоциативных задач.
Упрощённая модель
Упрощённая модель показана на рисунке (B). Входные узлы S1 и S2 — альтернативные стимулы, где KC для простоты разделены на два непересекающихся узла, поэтому нам не нужно отдельно моделировать входные нейроны IN. Узел I (который соответствует нейронам PCT, опять же в упрощённом виде) — это тормозящие нейроны, связанные с выходами GO и NOGO. Узлы S1 и S2 проецируются на узлы I, GO и NOGO с фиксированной возбуждающей взвешенной связью. I проецируется на GO и NOGO с помощью пластичных тормозящих взвешенных связей. Он имеет пороговое значение, поэтому реагирует только на новые стимулы.
Модель регулирует веса между I и GO, чтобы изменить вероятность выбора несоответствующего стимулу объекта. При этом веса от I до GO/NOGO инициализируются половиной максимального значения веса. Поскольку условия для изменения весов выполняются, когда для «go» выбирается единичный стимул, модель учится только на неудачных попытках для DMTS (увеличение веса) или успешных попытках для DNMTS (уменьшение веса).
Полная модель
Полная модель также изображена на рисунке ©. Ниже показана эффективность обеих моделей:
Области A и B показывают эффективность упрощённых моделей при обучении и переходе к новым образцам. Можно заметить, что процесс предварительного обучения сильно смещает модель в сторону единичных стимулов.
На области D изображена эффективность полной модели для первого блока обучения. Здесь тоже наблюдается смещение в сторону единичных образцов при обучении только по пути PCT. Это смещение уменьшается при наличии ассоциативного обучения по пути KC и не зависит от количества этапов предварительного обучения.
Область C отражает результаты обучения по пути от PCT к EN. Мы попытались подтвердить, что это позволило обеспечить обобщение результатов на новые наборы стимулов. Здесь из модели выборочно исключены: ассоциативное обучение по пути KC, обучение по пути PCT и полное обучение (синаптические веса остаются неизменными). На рисунке видно, что обучение по пути PCT является необходимым условием обобщения, в то время как обучение только по пути KC не влияет на эффективность этой задачи по сравнению с полностью исключённым обучением.
Эксперименты
Для того чтобы упростить задачу исследования нашей модели, мы воплотим её в мире, который можно описать конечным автоматом. Этот мир не сталкивается с некоторыми навигационными проблемами реального мира, но для доказательства эффективности модели такое упрощение приемлемо.
Экспериментальная установка Y-лабиринта изображена на рисунке ниже. Модель пчелы перемещается между набором состояний — различными местоположениями лабиринта: на входе, в центре справа, в центре слева, в правой ветви, в левой ветви.
Находясь у входа, пчела видит исходный стимул. В центральной камере перед ней два входа с объектами, из которых надо выбрать один согласно испытанию (DMTS или DNMTS).
В упрощённом Y-лабиринте модель пчелы может занять одно из трёх положений: на входе, в точке выбора перед левой ветвью, в точке выбора перед правой ветвью. В каждом положении для неё доступны два выбора: идти или не идти («go» и «no-go»). На входе всегда выбирается «go» — если пчёлы отказываются входить в лабиринт, то не участвуют в эксперименте. После этого случайно выбирается одна из ветвей: левая или правая. Если модель выбирает «no-go», то процедура повторяется, пока она не выберет «go». Поскольку на этом этапе обучения не происходит, модель может постоянно перемещаться между двумя входами, никогда не выбирая «go». Чтобы этого избежать, мы вводим равномерно распределённое случайное смещение в канал «go», которое увеличивается с числом раз, когда модель выбирает «no-go».
Нейроны IN делятся на непересекающиеся группы по 8 нейронов, каждая из которых представляет собой стимул:
Z: стимул для предварительного обученияA, B: обучающие стимулыC, D: стимулы для трансферного тестаE, F: стимулы для повторного трансферного теста
Нейроны в каждой из групп равны нулю, когда стимул отсутствует, и определённому значению, когда стимул активен. Это значение согласуется для каждой пчелы, но не между ними.
Предварительное обучение
Как и в опытах с реальными пчёлами, сначала мы знакомим наши простые модели с экспериментальным аппаратом. Мы проводим 10 этапов обучения с «поощрением» пчелы, которая входит в Y-лабиринт, без использования стимулов. После этого модель обучается ещё 10 этапов, чтобы перемещаться к каждой из ветвей лабиринта. В этом случае пчела не выбирает между «go» и «no-go», поскольку цель обучения — дать ей достаточное поощрение, чтобы потом она заходила в лабиринт и могла участвовать в дальнейшем эксперименте.
Обучение
Процедура состоит из 60 испытаний, разделённых на блоки по 10 испытаний. Опыт включает набор повторяющихся четырёх этапов: по два испытания с разными стимулами на входе в лабиринт. В каждом из испытаний объекты на левой и правой ветви менялись местами. Если модель решает задачу MTS, то она награждается за выбор объекта, совпадающего со стимулом, и наказывается за выбор другого. В задаче DMTS — наоборот.
Трансферный тест
В трансферном тесте мы не используем вознаграждение или наказание, а тестируем модели с помощью процедуры обучения, заменяя обучающие стимулы на тестовые. Используется два набора трансферных стимулов и 4 повторения (с заменой объектов в левой и правой ветви) для каждого из них.
Другие ассоциативные эксперименты
Теперь мы должны подтвердить, что наша модель может решать задачи обусловливания. Важный момент — они выполняются с точно такими же параметрами модели, как в DMTS/DNMTS; и характеристиками, обнаруженными в экспериментах на реальных пчёлах. Мы выбрали четыре опыта, включая эксперимент по обонятельному обучению с использованием рефлекса удлинения хоботка (proboscis extension reflex, PER), и визуальное обучение со свободно летающими пчёлами.
Обучение/переучивание
Эти эксперименты проводятся так же, как и DMTS, но с одним отличием — для первых 15 испытаний поощряется выбор одной соответствующей стимулу ветви (за неправильный выбор нет наказания), а после 15 испытания — другой соответствующей ветви. При этом не проводится никакого предварительного обучения, и данные анализируются для каждого опыта, а не для блоков по 10. В эксперименте используются 200 виртуальных пчёл.
Рефлекторное удлинение хоботка (PER)
Рефлекс удлинения хоботка — классический опыт с неподвижными пчёлами. В этом эксперименте пчёлы находятся в маленьких металлических трубках, открыты только голова и усики. Им подносят обонятельный стимул (условный раздражитель) и дают вознаграждение в виде раствора сахарозы (безусловный раздражитель). Для экспериментов PER мы разделяем нейроны IN так же, как было описано. Но так как пчёлы неподвижны, запахи представляются в заранее определённом порядке, и выбор пчелы на него не влияет.
Обучение одному запаху
В экспериментах с одним запахом обучение и тестирование происходят одновременно. Реальным пчёлам дают запах и с некоторой задержкой награждают раствором сахарозы. Если насекомое расширяет хоботок в течение задержки, его считают отреагировавшим, если нет — его всё равно награждают, но считают не отреагировавшим. Чтобы соответствовать этому плану, эффективность модели записывалась в каждом испытании, при этом NOGO — отсутствие реакции на стимул, GO — ответ на стимул. Награда давалась независимо от эффективности модели.
Положительное/отрицательное упорядочивание
Обучение делится на блоки, каждый из которых содержит четыре представления о запахе или комбинации запахов. При положительном упорядочивании мы не вознаграждаем отдельные запахи A и B, а только комбинацию AB (A -, B -, AB +). При отрицательном упорядочивании — наоборот (A +, B +, AB -). В обоих случаях объединённый запах используется дважды для каждого представления отдельных запахов, поэтому блоком для положительного упорядочивания является, например, [A -, AB +, B -, AB +], а для отрицательного: [A +, AB -, В +, AB -]. Эффективность оценивается так же, как при обучении одному запаху.
Результаты экспериментов показали, что полная модель способна успешно выполнять эти задачи. Количественная эффективность показана на рисунке ниже и почти соответствует экспериментам с реальными пчёлами.
Здесь A — обучение одному запаху, B — обучение/переучивание, C и D — положительное/отрицательное упорядочивание.
Использование модели
Упрощённая модель построена в GNU Octave, а полная модель создана с помощью набора инструментов SpineML и SpineCreator GUI (всё ПО с открытым исходным кодом). Входные векторы для нейронов IN и механизм состояний для навигации по Y-лабиринту моделируются с помощью сценария на Python через соединение TCP/IP.
Исходный код доступен на github.
Установите SpineML_2_BRAHMS, как описано здесь. Для простоты мы рекомендуем использовать Ubuntu Linux.
Клонируйте репозиторий с github и измените файл scripts/setup.py, добавив ваш путь к репозиторию и путь к SpineML.
Модель можно протестировать на разных экспериментах с помощью batch_X.py, а для анализа данных можно запустить сценарий process_data.py.
Если вы хотите визуализировать модель, то сделать это можно в SpineCreator GUI (инструкция по установке). Откройте файл .proj в каталоге /model с помощью меню File/Open Project в SpineCreator. Модель можно запускать из SpineCreator, но перед этим убедитесь, что вы запустили правильный файл scripts/world_X.py.
Упрощённую модель можно найти в каталоге /matlab_model и запустить в GNU Octave или Matlab.
Нейронные архитектуры, способные оперировать абстрактными понятиями — первый шаг на пути построения полноценного искусственного интеллекта. Развитие этих моделей позволит оперировать более сложными признаками и зависимостями, например, точнее распознавать эмоции из особенностей разных частей лица. Нейросети смогут оперировать не только сведениями об объектах, но и понимать их назначение и способы применения.
С оригинальной статьёй можно ознакомиться на портале biorxiv.org
Даже больше экземпляров Нового облака
В прошлом месяце, Scaleway завершил свой профессиональный выбор экземпляров, чтобы предоставить нашим клиентам всего уровень мощности и услуг для масштабирования и расти быстрее с нами. Все началось с GPU Instances с посвященный NVIDIA Tesla P100 на лучшее соотношение цена-качество на рынке. Тогда мы объявили о наших общих Purpose экземпляров с до 48 высокого класса AMD EPYC питания и выше виртуальных ЦП ИХ. Новые общего назначения Инстансы начинаются с € 39 / месяц. Наконец, мы добавили на прошлой неделе наш новый модельный ряд экземпляров разработчиков, чтобы начать свое путешествие с нами. Заменяя экземпляры Пуска с экземплярами разработчиков, мы обеспечиваем стабильность и Reliablity по лучшей конкурентоспособной производительности в своей категории.
www.scaleway.com/development-instances/
Пригласите своих друзей, чтобы попробовать Scaleway бесплатно
С апреля 1 — го, Scaleway новички получают € 100 кредит на знак до тестирования наших услуг. Этот кредит действует на все виды продукции до мая 1 — го, 00:00 UTC. Не стесняйтесь, чтобы пригласить друзей, чтобы попробовать наши продукты!
Объект хранения в Париже
Хранение объекта теперь доступна в зоне Paris FR-PAR. Это позволяет хранить данные поблизости экземпляров и Dedibox выделенных серверов легко и при низкой стоимости с использованием консоли Scaleway или любой S3-совместимым инструмента.
console.scaleway.com/object-storage/
www.eventbrite.com/e/billets-scaleday-59762583496
Поделитесь своим мнением!
У вас есть возможность предоставить нам свои отзывы о онлайн по Scaleway и ее продукции. Ваше мнение драгоценно и поможет нам значительно улучшить наши предложения и качество обслуживания. Это не займет у Вас более 4 минут, чтобы ответить.
scaleway.typeform.com/to/OYcZjM
Учебники и статьи
AWS-CLI является открытым кодом построен на вершине AWS SDK для Python (Бото), который предоставляет команды для взаимодействия с сервисами AWS. В этом уроке вы узнаете, как использовать для хранения объектов с AWS-CLI и как вы можете управлять своими ведрами и объекты с помощью АМС.
www.scaleway.com/docs/object-storage-with-aws-cli/
Давайте Encrypt является органом сертификации (CA), который предоставляет бесплатные TLS / SSL сертификаты, чтобы включить HTTPS на веб-серверах. Они обеспечивают программный клиент под названием Certbot автоматизировать большинство этапов, необходимых для получения сертификата и настроить его в веб-сервер Nginx.
www.scaleway.com/docs/how-to-configure-nginx-with-lets-encrypt/
Это статья время!
В первой статье мы рассмотрели основные особенности хранения объектов. В этой статье мы представим внутреннюю архитектуру Scaleway хранения объектов. Следите за последним из серии, которая будет опубликована в ближайшее время.
blog.scaleway.com/2019/object-storage-how-it-works/
blog.scaleway.com/2019/object-storage-scaleway-what-is-it/
Мы все знакомы с этим небольшим фрагментом кода, который добавляет разумную ценность вашему бизнес-подразделению. Он может материализоваться как сценарий, программа, строка кода… и он будет создавать отчет, новые метрики, KPI или создавать новые составные данные. Этот код предназначен для периодического запуска, чтобы удовлетворить требования к актуальной информации.
В команде Observability мы встречаем эти фрагменты как запросы в базе данных временных рядов (TSDB), чтобы выразить непрерывные запросы, которые отвечают за автоматизацию различных вариантов использования, таких как: удаление, свертка или любая бизнес-логика, которая должна манипулировать данными временных рядов.
Мы уже представляли TSL в предыдущем сообщении в блоге, в котором демонстрировалось, как наши клиенты используют доступные протоколы OVH Metrics, такие как Graphite, OpenTSDB, PromQL и WarpScript ™, но когда дело доходит до манипулирования или даже создания новых данных, у вас нет много вариантов, хотя вы можете использовать WarpScript ™ или TSL в качестве языка сценариев вместо запроса.
В большинстве случаев эта бизнес-логика требует создания приложения, которое требует больше времени, чем выражение логики в виде запроса, ориентированного на TSDB. Создание базового кода приложения — это первый шаг, за которым следует CI / CD (или любой процесс доставки) и настройка его мониторинга. Однако управление сотнями небольших приложений, подобных этим, увеличит органические затраты из-за необходимости поддерживать их вместе с базовой инфраструктурой.
Мы хотели, чтобы эти ценные задачи не возлагались на головы немногих разработчиков, которым затем нужно было бы нести ответственность за владение данными и вычислительные ресурсы, поэтому нам было интересно, как мы можем автоматизировать работу, не полагаясь на команду по настройке. вычислять работу каждый раз, когда кому-то нужно что-то.
Мы хотели найти решение, которое сфокусировалось бы на бизнес-логике, без необходимости запуска всего приложения. Таким образом, кому-то, желающему сгенерировать файл JSON с ежедневным отчетом о данных (например), нужно будет только выразить соответствующий запрос.
Вы не должны FaaS!
Планирование работы — старая, привычная рутина. Будь то bash cron, runner или специализированные планировщики, когда дело доходит до упаковки фрагмента кода и его периодической работы, существует имя для него: FaaS.
FaaS родился с простой целью: сократить время разработки. Мы могли бы найти реализацию с открытым исходным кодом для оценки (например, OpenFaas), но большинство из них полагались на управляемый стек контейнеров. Наличие одного контейнера на запрос было бы очень дорогостоящим, плюс разогрев контейнера для выполнения функции и последующее его замораживание было бы очень контрпродуктивным.
Это потребовало бы большего планирования и автоматизации, чем мы хотели для нашей конечной цели, привело бы к неоптимальной производительности и ввело бы новое требование для управления пропускной способностью кластера. Существует также время сборки, необходимое для развертывания новой функции в контейнере, которая, следовательно, не является бесплатной.
def Loops
Именно тогда мы решили создать «Loops»: платформу приложений, в которой вы можете запустить код, который хотите запустить. Это все. Цель состоит в том, чтобы выдвинуть функцию (буквально!), А не модуль, как это делают все текущие решения FaaS:
function dailyReport (event) {
return Promise.resolve («Сегодня все хорошо!»)
}
Затем вы можете выполнить его вручную с помощью HTTP-вызова или Cron-подобного планировщика.
Оба эти аспекта необходимы, поскольку вы можете (например) иметь ежемесячный отчет, но для одного дня потребуется дополнительный, через 15 дней после последнего отчета. Циклы упростят создание вашего нового отчета вручную, в дополнение к ежемесячному.
Были некоторые необходимые ограничения, когда мы начали строить Loops:
Эта платформа должна легко масштабироваться для поддержки производственной нагрузки OVHЭто должно быть очень доступноОн должен быть независимым от языка, потому что некоторые из нас предпочитают Python, а другие JavaScriptЭто должно быть надежноЧасть планирования не должна коррелировать с частью исполнения (культура µService)Он должен быть безопасным и изолированным, чтобы любой мог вставить неизвестный код на платформу.
Реализация циклов
Мы решили построить нашу первую версию на V8. Мы выбрали JavaScript в качестве первого языка, потому что он прост в изучении, а асинхронные потоки данных легко управляются с помощью Promises. Кроме того, он очень хорошо подходит для FaaS, так как функции Javascript очень выразительны. Мы создали его вокруг нового модуля VM NodeJS, который позволяет выполнять код в выделенном контексте V8.
Контекст V8 подобен объекту (JSON), изолированному от вашего исполнения. В контексте вы можете найти собственные функции и объекты. Однако, если вы создадите новый контекст V8, вы увидите, что некоторые переменные или функции не доступны изначально (например, setTimeout (), setInterval () или Buffer). Если вы хотите использовать их, вам придется добавить их в ваш новый контекст. Последнее, что нужно помнить, это то, что когда у вас есть новый контекст, вы можете легко выполнить сценарий JavaScript в строковой форме.
Контексты выполняют самую важную часть нашего первоначального списка требований: изоляция. Каждый контекст V8 изолирован, поэтому он не может общаться с другим контекстом. Это означает, что глобальная переменная, определенная в одном контексте, недоступна в другом. Вам нужно будет построить мост между ними, если вы хотите, чтобы это было так.
Мы не хотели выполнять сценарии с помощью eval (), поскольку вызов этой функции позволяет вам выполнять код JS в основном общем контексте с кодом, вызывающим его. После этого вы можете получить доступ к тем же объектам, константам, переменным и т. Д. Эта проблема безопасности стала нарушением условий для новой платформы.
Теперь мы знаем, как выполнять наши скрипты, давайте реализуем некоторое управление для них. Чтобы быть без сохранения состояния, каждый рабочий экземпляр Loops (то есть механизм JavaScript, способный выполнять код в контексте виртуальной машины) должен иметь последнюю версию каждого цикла (цикл — это скрипт для выполнения). Это означает, что когда пользователь запускает новый цикл, мы должны синхронизировать его с каждым рабочим цикла. Эта модель хорошо согласуется с парадигмой pub / sub, и, поскольку мы уже используем Kafka в качестве инфраструктуры pub / sub, нужно было просто создать отдельную тему и использовать ее у рабочих. В этом случае публикация включает API, где пользователь отправляет свои циклы, которые генерируют событие Kafka, содержащее тело функции. Поскольку у каждого работника есть своя собственная группа потребителей Kafka, они все получают одинаковые сообщения.
Рабочие подписываются на обновления Loops как потребители Kafka и поддерживают хранилище Loop, которое является встроенным ключом (хэш Loop) / Value (текущая версия функции). В части API хеши циклов используются в качестве параметров URL для определения того, какой цикл следует выполнить. После вызова цикл извлекается из карты, затем вводится в контексте V8, выполняется и удаляется. Этот механизм перезагрузки горячего кода гарантирует, что каждый цикл может выполняться на каждом работнике. Мы также можем использовать возможности наших балансировщиков нагрузки для распределения нагрузки на работников. Эта простая модель распределения позволяет избежать сложного планирования и облегчает обслуживание всей инфраструктуры.
Чтобы обеспечить защиту от перезагрузки, мы используем очень удобную функцию сжатия журналов Kafka. Сжатие журнала позволяет Kafka сохранять последнюю версию каждого ключевого сообщения. Когда пользователь создает новый цикл, ему дается уникальный идентификатор, который используется в качестве ключа сообщения Kafka. Когда пользователь обновляет цикл, это новое сообщение будет переслано всем потребителям, но, поскольку ключ уже существует, Kafka сохранит только последнюю ревизию. Когда работник перезапускается, он использует все сообщения для восстановления своего внутреннего KV, поэтому предыдущее состояние будет восстановлено. Кафка используется здесь как постоянный магазин.
Циклы выполнения
Даже если базовый движок способен запускать собственный Javascript, как указано выше, мы хотели, чтобы он выполнял более идиоматические запросы временных рядов, такие как TSL или WarpScript. Чтобы добиться этого, мы создали абстракцию Loops Runtime, которая оборачивает не только Javascript, но также запросы TSL и WarpScript в код Javascript. Пользователи должны объявлять цикл с его временем выполнения, после чего это просто вопрос работы упаковщиков. Например, выполнение цикла WarpScript подразумевает использование простого WarpScript ™ и его отправку через HTTP-вызов по запросу узла.
Петли обратной связи
Безопасное выполнение кода — это начало, но когда дело доходит до выполнения произвольного кода, также полезно получить некоторую обратную связь о состоянии выполнения. Это было успешно или нет? Есть ли ошибка в функции? Если цикл находится в состоянии сбоя, пользователь должен быть немедленно уведомлен.
Это приводит нас к одному особому условию: пользовательские скрипты должны быть в состоянии сказать, все ли в порядке или нет. Есть два способа сделать это в базовом движке JavaScript: обратные вызовы и обещания.
Мы решили использовать Promises, который предлагает лучшее асинхронное управление. Каждый цикл возвращает обещание в конце скрипта. Отклоненное обещание вызовет состояние ошибки HTTP 500, а разрешенное — HTTP 200.
Планирование циклов
При публикации Loops вы можете объявить несколько триггеров, аналогично Cron. Каждый триггер будет выполнять HTTP-вызов вашего цикла с необязательными параметрами.
Исходя из этой семантики, для генерации нескольких отчетов мы можем зарегистрировать одну функцию, которая будет планироваться в разных контекстах, определенных различными параметрами (регион, скорость). Смотрите пример ниже:
functions:
warp_apps_by_cells:
handler: apps-by-cells.mc2
runtime: ws
timeout: 30
environment:
events:
- agra:
rate: R/2018-01-01T00:00:00Z/PT5M/ET1M
params:
cell: ovh-a-gra
- abhs:
rate: R/2018-01-01T00:00:00Z/PT5M/ET1M
params:
cell: ovh-a-bhs
Планирование основано на Metronome, который является планировщиком событий с открытым исходным кодом, с особым акцентом на планирование, а не на выполнение. Он идеально подходит для Loops, поскольку Loops управляет выполнением, полагаясь на Metronome для управления вызовами выполнения.
Петли трубопроводов
Проект Loops может иметь несколько циклов. Одним из распространенных случаев использования наших клиентов было использование Loops в качестве платформы данных в режиме потока данных. Поток данных — это способ описать последовательность этапов выполнения. В контексте Loops существует глобальный объект `Loop`, который позволяет сценарию выполнить другой цикл с этим именем. Затем вы можете связать выполнение циклов, которые будут действовать как пошаговые функции.
Болевые точки: масштабирование приложения NodeJS
Рабочие циклов являются приложениями NodeJS. Большинство разработчиков NodeJS знают, что NodeJS использует однопоточный цикл обработки событий. Если вы не позаботитесь о поточной модели вашего приложения nodeJS, вы, скорее всего, пострадаете из-за нехватки производительности, поскольку будет использоваться только один хост-поток.
NodeJS также имеет модуль кластера, который позволяет приложению использовать несколько потоков. Вот почему в Loops-работнике мы начинаем с потока N-1 для обработки вызовов API, где N — общее количество доступных потоков, и один из них остается выделенным для основного потока.
Главный поток отвечает за использование тем Kafka и поддержку хранилища Loops, в то время как рабочий поток запускает сервер API. Для каждого запрошенного выполнения цикла он запрашивает у мастера содержимое скрипта и выполняет его в выделенном потоке.
При такой настройке на каждом сервере запускается одно приложение NodeJS с одним потребителем Kafka, что упрощает масштабирование инфраструктуры, просто добавляя дополнительные серверы или облачные экземпляры.
Заключение
В этой статье мы предварительно ознакомились с Loops, масштабируемым, ориентированным на метрики FaaS с собственной поддержкой JavaScript и расширенной поддержкой WarpScript и TSL.
У нас еще есть несколько вещей, которые нужно улучшить, например, импорт зависимостей в стиле ES5 и предварительный просмотр метрик для проектов Loops наших клиентов. Мы также планируем добавить дополнительные среды выполнения, особенно WASM, которые позволят многим другим языкам, на которые он может ориентироваться, таким как Go, Rust или Python, удовлетворять большинству предпочтений разработчика.
Платформа Loops была частью требования для создания высокоуровневых функций вокруг продуктов OVH Observability. Это первый шаг к предложению более автоматизированных услуг, таких как сведение показателей, конвейеры агрегации или средства извлечения логов в метрики.
Этот инструмент был создан из набора продуктов Observability с учетом более высокого уровня абстракции, но вам также может потребоваться прямой доступ к API, чтобы реализовать собственную автоматизированную логику для ваших метрик. Вы были бы заинтересованы в такой функции? Посетите наш канал Gitter, чтобы обсудить это с нами!
www.ovh.com/fr/blog/v8-hot-code-injection-for-continuous-queries/
Вчера, 02.04.2019, корпорация Intel объявила о долгожданном обновлении процессоров семейства Intel Xeon Scalable Processors, представленного в середине 2017 года. Новые процессоры базируются на микроархитектуре, получившей кодовое имя Cascade Lake и построены по улучшенному 14-nm технологическому процессу.
Особенности новых процессоров
Для начала взглянем на отличия в маркировке. В предыдущей статье про Skylake-SP мы уже упоминали, что все процессоры делятся на 4 серии — Bronze, Silver, Gold и Platinum. О том, к какой серии принадлежит модель процессора говорит первая цифра номера:
3 — Bronze,4 — Silver,5, 6 — Gold,8 — Platinum.Вторая цифра сообщает о поколении процессора. В случае с семейством Intel Xeon Scalable Processors поколения с кодовыми именами:
1 — Skylake,2 — Cascade Lake.Следующие две цифры обозначают так называемый SKU (Stock Keeping Unit). По сути, это просто идентификатор CPU с конкретным набором доступных функций.
Также после номера модели могут идти индексы, обозначаемые одной или двумя буквами. Первая буква индекса обозначает особенности архитектуры или оптимизации самого процессора, а вторая — емкость памяти на сокет.
Для примера, возьмем процессор с обозначением Intel Xeon 6240. Расшифруем:
6 — процессор серии Gold,2 — поколение Cascade Lake,40 — SKU.
Производительность
Процессоры нового поколения спроектированы с расчетом на использование в сферах виртуализации, искусственного интеллекта, а также высокоэффективных вычислений. Первым заметным изменением стал рост тактовой частоты. Это стало вполне ожидаемо, поскольку существует большое количество серверных приложений, для которых тактовая частота важнее, чем количество процессорных ядер. Например, финансовый продукт 1С, системные требования которого явно говорят, что чем быстрее частота процессора, тем быстрее конечный пользователь получит результат.
В ряде случаев было увеличено и количество ядер. Для наглядности мы составили сравнительные таблицы нескольких процессоров семейства Intel Xeon Scalable Processors первого и второго поколения:
Рост тактовой частоты неизбежно влечет за собой повышение тепловыделения. Для флагманских процессоров серии Platinum оно может достигать 205W, что является весьма серьезным испытанием для традиционной воздушной системы охлаждения. Можно предположить, что в обозримом будущем серверные платформы потребуют жидкостного охлаждения.
Как и в предыдущем поколении Skylake SP, процессоры устанавливаются в сокет LGA3647 (Socket P), что обусловлено использованием 6-канального контроллера памяти (максимально до 2-х модулей памяти на канал). Частота памяти составляет 2666 MT/s, однако при использовании процессоров серий 6000 и 8000 можно задействовать память с частотой 2933 MT/s (не более 1 модуля на каждый канал).
Шина Ultra-Path Interconnect, успешно примененная в процессорах первого поколения Intel Xeon SP, осталась и во втором поколении, обеспечивая обмен данными между процессорами на скоростях 9.6 GT/s либо 10.4 GT/s для каждого канала. Это позволяет эффективно масштабировать аппаратную платформу до 8 физических процессоров, оптимизируя пропускную способность и энергоэффективность.
Тесты
Мы начали тестировать процессоры нового поколения с помощью набора тестов SPEC, которые имитируют нагрузку, основанную на решении наиболее насущных жизненных задач. Эти тесты представляют собой как простейшие вычисления, так и расчет различных физических процессов, например, решения задач молекулярной физики и гидродинамики.
На текущий момент у нас готовы результаты некоторых SPEC-тестов для целочисленных вычислений на примере процессоров Intel Xeon Gold 6140 и Intel Xeon Gold 6240.
Результаты IntRateРезультаты IntSpeedОписание тестовПо результатам проведенных тестов становится ясно, что процессоры нового поколения быстрее выполняют целочисленные вычисления по сравнению с предыдущим поколением. С результатами других тестов мы поделимся в одной из следующих статей.
Поддержка Intel Optane DC Persistent Memory
Ускорение работы высоконагруженных баз данных и приложений — это то, чего ожидали все заказчики от грядущего обновления. Поэтому ключевым нововведением стала поддержка памяти Intel Optane DC Persistent Memory, более известной под кодовым именем Apache Pass.
Эта память призвана стать универсальным решением задачи, когда использование DRAM нужного объема экономически невыгодно, а скоростных характеристик даже флагманских SSD-накопителей недостаточно.
Ярким примером может стать размещение баз данных напрямую в памяти Intel Optane DC Persistent Memory, что позволит избежать необходимости постоянного обмена данными между оперативной памятью и устройством хранения данных (особенность, присущая традиционным системам).
Новый тип памяти устанавливается непосредственно в слот DIMM и полностью с ним совместим. Доступны модули со следующим объемом:
128 ГБ,256 ГБ,512 ГБ.Настолько существенные объемы модулей позволят гибко сконфигурировать аппаратную платформу, получив весьма емкое и очень быстрое дисковое пространство для работы высоконагруженных систем. Intel Optane DC Persistent Memory обладает поистине огромным потенциалом для применения, в том числе и для целей машинного обучения.
Ускорение глубинного обучения
Помимо поддержки нового типа памяти инженеры Intel позаботились и об ускорении процесса глубинного обучения. Поскольку для сверточных нейронных сетей часто требуется многократное умножение 8-ми и 16-ти битных значений, новые процессоры получили поддержку инструкций AVX-512 VNNI (Vector Neural Network Instructions). Это позволит оптимизировать и ускорить вычисления в несколько раз.
Лучшая эффективность достигается за счет внедрения следующего набора инструкций:
VPDPBUSB (для вычислений INT8),VPDPWSSD (для вычислений INT16).Суть в том, чтобы уменьшить количество элементов, обрабатываемых за цикл. Инструкция VPDPWSSD объединяет две инструкции INT16, а также использует константу INT32, чтобы заменить две текущие инструкции PMADDWD и VPADDD. Инструкция VPDPUSB аналогично сокращает количество элементов, заменяя три существующие инструкции VPMADDUSBW, VPMADDWD и VPADDD.
Таким образом, при правильном применении нового набора инструкций можно в два-три раза сократить количество обрабатываемых элементов за цикл и увеличить скорость обработки данных. Соответствующий фреймворк для новых инструкций станет частью таких популярных программных библиотек для машинного обучения, как:
TensorFlow
Cafee
MXNet
Intel MKL-DNN
Оптимизация распределения нагрузки
Равномерная загрузка вычислительных ресурсов стала проще с технологией Intel Speed Select Technology (на процессорах с индексом Y). Суть в том, что каждая операция начинает ассоциироваться с количеством задействованных ядер и тактовой частотой. В зависимости от выбранного профиля каждой операции выделяются ресурсы следующим образом:
больше ядер, но с пониженной тактовой частотой;меньше ядер, но с повышенной тактовой частотой.Такой подход позволяет наиболее полно утилизировать ресурсы, что особенно важно при использовании виртуализованных сред. Это позволит уменьшить затраты, оптимизировав нагрузку на хосты виртуализации.
Акселерация научных вычислений
Обработка научных данных, особенно при моделировании физических процессов на уровне частиц (например, расчет электромагнитных взаимодействий) требует колоссального количества параллельных вычислений. Эта задача может быть решена при помощи CPU, GPU или FPGA.
Многоядерные CPU универсальны за счет наличия большого количества программных средств и библиотек для обработки данных. Применение GPU для этих целей также весьма эффективно, ведь на них можно запускать тысячи параллельных потоков непосредственно на аппаратных графических ядрах. Существуют удобные для разработки фреймворки, такие как OpenCL или CUDA, позволяющие создавать приложения любой сложности с использованием вычислений на GPU.
Тем не менее, существует еще один аппаратный инструмент, о котором мы уже рассказывали в предыдущих статьях — FPGA. Возможность запрограммировать такие устройства на выполнение специфических вычислений позволяет ускорить обработку данных, частично разгрузив CPU. Подобный сценарий можно реализовать на новых процессорах Cascade Lake в связке с дискретными Intel Stratix 10 SX FPGA.
Несмотря на меньшую по сравнению с обычными CPU тактовую частоту, FPGA способен показать производительность в десятки раз выше. Для некоторых видов задач, таких как обработка цифровых сигналов, Intel Stratix 10 SX способна показать результаты до 10 TFLOPS (tera floating-point operations per second).
Масштабирование платформ
Ведение бизнеса в реальном времени подразумевает не только стабильность, но и возможность масштабирования on-demand. Хорошим примером может послужить высокопроизводительная платформа SAP HANA, используемая для хранения и обработки данных. Физическое развертывание этой платформы требует весьма мощных аппаратных ресурсов.
Процессоры Intel Xeon Scalable созданы таким образом, чтобы превратить многосокетные системы в базовые элементы IT-инфраструктуры, обеспечивая масштабирование для удовлетворения требований бизнес-приложений.
Реализовано это в виде поддержки внешних Node-контроллеров, что позволяет создать конфигурации более высокого уровня, чем может обеспечить одна отдельно взятая платформа. Например, можно создать конфигурацию из 32 физических процессоров, объединив ресурсы нескольких многосокетных платформ в единое целое.
Заключение
Увеличение рабочих частот и процессорных ядер, увеличение производительности, поддержка памяти Intel Optane DC Persistent Memory— все эти улучшения значительно повышают вычислительную мощность каждой платформы, сокращая затраты на количество используемого оборудования и повышая эффективность обработки данных. Принцип масштабируемости, заложенный на уровне архитектуры, позволяет выстраивать IT-инфраструктуру любой сложности и достигать высоких показателей производительности и энергоэффективности.
Поскольку Selectel является партнером Intel уровня Platinum — нашим клиентам уже сейчас доступны для заказа процессоры Intel Xeon Scalable нового поколения в серверах произвольной конфигурации.
Арендовать сервер c процессорами нового поколения очень просто! Достаточно перейти на страницу конфигуратора и выбрать нужные комплектующие. Любые вопросы, относительно работы услуг можно задать нашим специалистам, создав тикет в панели управления. Оплачивая сервер на несколько месяцев вперед, Вы получаете скидку до 15%.
selectel.ru/services/dedicated/configurator/
my.selectel.ru/tickets/create
Если же вам интересно принять участие в тестировании самых новейших технологий, то присоединяйтесь к нашей лаборатории Selectel Lab.
selectel.ru/promo/intel-xeon-scalable/
02 апреля 2019 года, Москва, Санкт-Петербург — Selectel, провайдер ИТ-инфраструктурных решений для бизнеса, и DDoS-GUARD, оператор связи и услуг по защите от DDoS-атак, совместно запустили узел фильтрации трафика. Он стал первой и единственной точкой в Петербурге, являющейся частью глобально распределенной фильтрующей сети.
Новый узел фильтрации расположен в дата-центре Selectel «Цветочная 2». Узел является разработкой компании DDoS-GUARD, которая занимается защитой от DDoS-атак с 2011 года и планомерно расширяет свою геораспределенную фильтрующую сеть.
Подключиться к узлу фильтрации могут как другие дата-центры, операторы связи, провайдеры и интеграторы, так и компании из других отраслей, которым критично важно защитить свои веб-ресурсы.
Это наш первый большой проект с DDoS-GUARD. Мы довольны его результатами и видим потенциал дальнейшей интеграции наших инфраструктур и услуг. Для Selectel это особенно актуально с учетом масштаба сети дата-центров и широты продуктовой линейки. Отдельно хочется отметить качество и высокую степень автоматизации сервисов DDoS-GUARDАлександр Тугов, директор по развитию услуг Selectel
Почему мы выбрали в качестве партнера именно Selectel? Потому что они делают ставку на современные технологии, не экономят на качестве услуг и всегда открыты для инновацийДмитрий Рудь, начальник отдела продаж DDoS-GUARD
В чем заключается выгода для клиентов?
Любой имеющий присутствие в дата-центре «Цветочная 2» заказчик может повысить надежность и отказоустойчивость собственных сервисов, оптимизировать маршруты трафика и снизить задержки на сети. Локальный трафик будет обработан непосредственно в Петербурге, без передачи на фильтрацию в другие регионы. Кроме того, петербургский узел соединен прямыми физическими каналами связи с узлами фильтрации в Москве и Амстердаме, что снижает нагрузку на каждый элемент сети.
Как работает решение?
Система фильтрации, частью которой является узел в Петербурге, способна вычислить и заблокировать DDoS-атаки на уровнях L3-L4 и L7 мощностью до 1,5 Tbps. Самообучаемая система работает в автоматическом режиме. Конечный пользователь получает уже очищенный трафик без задержек, при этом тарифицируется только легитимный трафик.
https://ddos-guard.net
Все мы помним, как часто в фильмах и сериалах кадры из сжатого видео увеличивают в несколько раз и получают чёткое изображение улики или человека в толпе. Мы подготовили для вас краткий перевод статьи, из которой вы сможете узнать, что такой трюк действительно возможен.
Увеличение разрешения изображения — задача по восстановлению фотографии с высоким разрешением из её аналога с низким разрешением. Алгоритмы с более быстрыми и глубокими свёрточными нейронными сетями демонстрируют впечатляющую точность и скорость. Но остаётся нерешённой существенная проблема: как восстановить мелкие детали текстуры при больших коэффициентах масштабирования. Цель последних работ в этой области — минимизация среднеквадратичной ошибки при реконструкции изображений, но в результатах при увеличении разрешения часто терялась точность воспроизведения.
В этой статье мы расскажем о SRGAN — генеративно-состязательной сети (Generative Adversarial Network, GAN) для повышения разрешения изображений (image superresolution). На сегодняшний день это первое решение, способное восстанавливать исходные текстуры из изображений, уменьшенных в четыре раза. Средняя экспертная оценка (MOS — mean opinion score) показывает значительный прирост качества при использовании SRGAN: результаты оказались близки к значениям оригинальных изображений с высоким разрешением, чего не удавалось достичь с помощью других современных методов. Вы сможете сами убедиться в этом, если после ознакомления с принципами работы SRGAN обучите нейросеть или же воспользуетесь готовой моделью.
1. Описание модели
Методы, направленные на качественное увеличение разрешения исходного изображения, называются super-resolution (SR). Мы рассмотрим работу с одним изображением (Single Image Super-Resolution, SISR) и не будем затрагивать тему восстанавливления высокого разрешения из нескольких снимков.
Первые подходы к решению проблемы SISR основывались на прогнозировании. Например, линейная фильтрация, бикубическая фильтрация, фильтрация Ланцоша. Эти методы работают быстро, но выдают решения с чрезмерно гладкими текстурами. Более мощные подходы нацелены на создание сложного отображения между снимками с низким (Low Resolution, LR) и высоким (High Resolution, HR) разрешением и обычно основаны на данных обучения. Такие методы полагаются на примеры пар LR-HR, то есть на те тренировочные шаблоны LR, для которых известны подходящие аналоги HR.
Более глубокие сетевые архитектуры сложнее обучить, однако они могут моделировать сложные отображения, а значит — существенно повысить точность реконструкции. Для эффективного обучения таких сетей часто используется пакетная нормализация, чтобы избежать внутреннего ковариационного сдвига. Глубокие сетевые архитектуры также увеличивают эффективность SISR.
Для многих подходов часто применяются попиксельные (pixel-wise) функции потерь (например, среднеквадратичная ошибка), которые пытаются справиться с неопределённостью при восстановлении текстуры изображения. Минимизация ошибки позволяет находить средние вероятностные решения для каждого пикселя, но они получаются слишком гладкими и, следовательно, имеют низкое качество восприятия, как показано на рисунке ниже. Основными критериями качества в задаче SR являются пиковое отношение сигнала к шуму (peak signal-to-noise ratio, PNSR) и индекс структурного сходства (structure similarity, SSIM), также указанные на рисунке.
Для решения проблемы сглаженных пикселей можно использовать генеративно-состязательные сети (GAN) и применять, например, функции потерь, основанные на евклидовых расстояниях, вычисленных в пространстве признаков нейронных сетей в сочетании с состязательным обучением. Также можно использовать признаки, извлечённые из предварительно обученной VGG (Visual Geometry Group) нейросети, формулируя функцию потерь как евклидово расстояние между картами этих признаков. Результаты, полученные с применением этих подходов, показали высокую эффективность как при работе с SR, так и при передаче художественного стиля (artistic style-transfer).
GAN обеспечивают мощную основу для создания правдоподобных SR-изображений с высоким качеством восприятия. В этой статье мы описываем глубокую архитектуру ResNet, использующую концепцию GAN для фотореалистичного SISR. Основные особенности:
увеличение разрешения изображения с высокими коэффициентами масштабирования (4x);использование функции потерь восприятия (perceptual loss function), рассчитанной с помощью карт признаков VGG сети, которые более инвариантны к изменениям пикселей;высокие результаты средней экспертной оценки MOS на общедоступных наборах данных.
2. Архитектура сети
Цель SISR — реконструировать изображение с высоким разрешением (SR) из входного изображения с низким разрешением (LR), которое является уменьшенной копией изначального снимка (HR). Изображения HR доступны только во время обучения, а LR создаются применением к ним фильтра Гаусса с последующей операцией понижения дискретизации (downsampling) и описываются с помощью действительного тензора.
Задача состоит в том, чтобы обучить генеративную функцию, которая для входного LR-изображения оценивает соответствующий HR аналог. Для этого мы обучаем GAN как cвёрточную нейронную сеть (convolutional neural network, CNN) прямого распространения с оптимизацией специфичной для SISR функции потерь восприятия.
Функция потерь восприятия генерируется как взвешенная комбинация нескольких компонентов, которые моделируют различные желаемые характеристики восстановленного SR-изображения.
Далее мы определяем дискриминаторную сеть (Discriminator Network, дискриминатор) и последовательно оптимизируем её вместе с генеративной сетью (генератором) для решения состязательной проблемы min-max. Общая идея заключается в том, чтобы обучить генеративную модель «обманывать» дискриминатор, который обучен отличать SR изображения от реальных. С помощью такого подхода генератор может научиться создавать решения, очень похожие на реальные изображения, и, следовательно, трудно классифицируемые дискриминатором.
В основе генеративной сети находятся B остаточных блоков с идентичной компоновкой. В каждом блоке находятся два свёрточных слоя с небольшими ядрами 3×3 и 64 картами признаков, за которыми расположены слои пакетной нормализации. В качестве функции активации используется PReLU (Parametric Rectified Linear Unit). Входное изображение увеличивается попиксельно с помощью двух свёрточных слоев.
Чтобы отличить реальные HR-снимки от сгенерированных образцов SR, необходимо обучить дискриминаторную сеть, используя функцию активации LeakyReLU и избегая формирования подвыборочных слоёв во всей нейросети. Дискриминаторная сеть содержит 8 свёрточных слоёв с возрастающим числом ядер фильтра 3×3 (с 64 до 512, каждый раз увеличиваясь в 2 раза, как в VGG сети). Пошаговые свёртки используются для уменьшения разрешения изображения каждый раз, когда число признаков удваивается. Полученные 512 карт признаков сопровождаются двумя плотными слоями и конечной сигмоидной функцией активации, чтобы получить вероятность классификации объекта.
Архитектуры обеих сетей показаны на рисунке.
3. Функция потерь восприятия
Определение функции потерь важно для эффективной работы генеративной сети. Обычно функция моделируется на основе среднеквадратичной ошибки, но в этой работе используется её улучшенный вариант. Мы оцениваем решение с учётом значимых характеристик восприятия — взвешенной суммы потерь содержания и состязательных потерь.
Потери содержания определяются на основе слоёв активации ReLU предварительно обученной VGG сети и определяются как евклидово расстояние между признаками восстановленного и опорного изображений.
Потери восприятия заставляют сеть отдавать предпочтение естественным изображениям, пытаясь обмануть дискриминатор. Они определяются на основе вероятности того, что восстановленное изображение является исходным HR-изображением.
4. Эксперименты
Эксперименты проводились на трёх широко используемых наборах данных Set5, Set14 и BSD100, тестовом наборе BSD300. Все опыты выполнены с коэффициентом 4x между снимками с низким и высоким разрешением. Это соответствует 16-кратному уменьшению пикселей изображения. Для достоверного сравнения все измеренные значения PSNR [дБ] и SSIM были рассчитаны на Y-канале с центральным кадрированием и удалением полосы шириной в 4 пикселя у каждой границы изображения.
Обучение проводилось на графическом процессоре NVIDIA Tesla M40 с использованием случайной выборки из 350 тысяч изображений, взятых из базы данных ImageNet. Изображения LR были получены путём понижения дискретизации HR-изображений (BGR) с использованием бикубического ядра.
Для каждого мини-пакета обрезаются 16 случайно выбранных частей HR-изображения с разрешением 96×96 (мы можем применить генеративную модель к снимкам произвольного размера, так как она полностью является свёрточной). Далее входные LR-изображения масштабируются в диапазоне [0, 1], а HR — в диапазоне [-1, 1]. Таким образом, потери среднеквадратичной ошибки рассчитываются в диапазоне интенсивностей [-1, 1].
Для оптимизации используется алгоритм Adam (adaptive moment estimation). В качестве инициализации при обучении сети GAN использовалась ранее обученная нейросеть SRResNet, чтобы избежать нежелательных локальных минимумов.
Все варианты SRGAN прошли обучение с 105 обновляемыми итерациями со скоростью обучения 10−4, и затем ещё с 105 итерациями с более низкой скоростью 10−5, при этом чередуя обновления для генеративной и дискриминаторной сети. Генеративная сеть имеет 16 идентичных (B=16) остаточных блоков. Во время тестирования обновления пакетной нормализации отключены, чтобы получить результат, зависящий только от исходных данных.
5. Оценка качества и результаты
Для количественной оценки способности различных подходов восстанавливать высокое разрешение изображений был выполнен тест MOS. В тесте участвовали 26 оценщиков; они присваивали балл от 1 (плохое качество) до 5 (отличное качество) восстановленным SR-изображениям. Калибровка проводилась на 20 парах изображений с низким и высоким разрешением из набора BSD300. Оценщики сравнили 12 версий каждого изображения из Set5, Set14 и BSD100 для различных упомянутых выше подходов SISR, а также для оригинальных HR-изображений. Каждый оценщик протестировал 1128 экземпляров (12 версий 19 изображений плюс 9 версий 100 изображений) в случайном порядке. Результаты показали хорошую надёжность и никаких существенных различий между оценками идентичных изображений, что продемонстрировано на рисунке ниже.
Качественные оценки потерь для различных методов на визуальном примере:
Количественные оценки:
Решение, основанное на среднеквадратичной ошибке, получает самое высокое значение PSNR, но при этом получается довольно гладким и менее убедительным, чем результаты, полученные с более чувствительным коэффициентом потерь.
Таким образом, эксперименты подтверждают, что SRGAN превосходит все существующие методы с большим отрывом и открывает новые возможности для создания фотореалистичных SR-изображений. Ниже приведены примеры обработки нескольких снимков.
6. Обучение собственной нейросети для SISR
Используя материалы из этой статьи, вы можете обучить свою нейросеть для получения изображений с высоким разрешением. Исходный код доступен на github. Для начала работы вам необходимо:
Подготовить данные и предварительно обученную нейросеть VGG
Загрузите предварительно обученную VGG сеть отсюда.Подготовьте изображения с высоким разрешением для обучения.
В качестве эксперимента использовались изображения из соревнования DIV2K — bicubic downscaling x4 competition, поэтому параметры обучения в файле config.py установлены в соответствии с этим набором данных. Если ваш датасет будет больше, то вы можете уменьшить число эпох обучения.
Также можно использовать набор данных Yahoo MirFlickr25k, загрузив их прямо из main.py:
train_hr_imgs = tl.files.load_flickr25k_dataset(tag=None)
Если вы хотите использовать собственные изображения, укажите путь к папке с ними в файле config.py с помощью config.TRAIN.hr_img_path
Запустить программу
Установите папку с изображениями в config. py (если вы используете датасет DIV2K — ничего не меняйте):
config.TRAIN.img_path = "your_image_folder/"
Ссылки на набор DIV2K: <a href="https://data.vision.ee.ethz.ch/cvl/DIV2K/validation_release/DIV2K_test_LR_bicubic_X4.zip">test_LR_bicubic_X4</a>, <a href="https://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip">train_HR</a>, <a href="https://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_LR_bicubic_X4.zip">train_LR_bicubic_X4</a>, <a href="https://data.vision.ee.ethz.ch/cvl/DIV2K/validation_release/DIV2K_valid_HR.zip">valid_HR</a>, <a href="https://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_valid_LR_bicubic_X4.zip">valid_LR_bicubic_X4</a>
Начните обучение:
python main.py
Начните оценку (можете воспользоваться предварительно обученной на DIV2K моделью):
python main.py --mode=evaluate
Теперь вы можете использовать нейросеть для восстановления высокого разрешения изображений.
Все, кто на практике воспользовался рекомендациями по обучению генеративно-состязательной нейросети, делитесь в комментариях результатами: было ли это просто или возникали сложности. Всегда готовы обсудить с вами все возникающие вопросы.
С оригинальной статьёй можно ознакомиться на портале arxiv.org.
Яндекс.Облако: все новости платформы
Мы запустили партнёрскую программу
Теперь компании, которые разрабатывают уникальные технологические решения, могут не только использовать облачные сервисы Яндекса, но и размещать свои решения в Yandex Cloud Marketplace. Став партнёром-разработчиком, вы получите грант на тестирование сервиса, сможете пройти бесплатное обучение и получать техническую поддержку.
Есть партнёрская программа для системных интеграторов — подробности на сайте.
cloud.yandex.ru/partners
В Яндекс.Облаке появился блог
Мы будем регулярно рассказывать о новостях платформы, новых возможностях Облака, разбирать кейсы и делиться личным опытом пользователей.
Грант для разработчиков Диалогов Алисы
Создали новый навык для Алисы? Теперь вы можете получить годовой грант на 3000р. на его разработку и развитие. Для этого разместите навык в Облаке и подайте запрос на грант.
tech.yandex.ru/dialogs/alice/doc/ycloud-promo-docpage/
Коротко о важном
Блог Облака: Как настроить управляемую базу ClickHouse с данными для Graphite
ClickHouse можно использовать как хранилище данных Graphite. Из статьи вы узнаете о том, как настроить конфигурацию rollup в ClickHouse и создать таблицы на основе GraphiteMergeTree
hosting.kitchen/yandex-cloud/kak-nastroit-upravlyaemuyu-bazu-clickhouse-s-dannymi-dlya-graphite.html
Хабр: MPLS повсюду. Как устроена сетевая инфраструктура Яндекс.Облака
Мы получаем много вопросов о сетевой инфраструктуре Облака — эта январская статья раскроет ответы на основные из них. В статье мы рассказали, почему в Облаке применяется непопулярная для дата‑центров парадигма MPLS, как мы ей управляем, какие сложные решения нам пришлось принять и какие мониторинги используем.
habr.com/ru/company/yandex/blog/437816/
Пользователи об Облаке
Как перенести сайт на базе WordPress в Яндекс.Облако?
Наш пользователь Олег Иванов написал пошаговую инструкцию о переносе сайта в инфраструктуру Облака: по ссылке вы найдете подробный разбор каждого шага, возможных сложностей и подходов к их решению. Вы можете рассказать свою историю о работе с платформой — присылайте материалы на cloud‑blog@yandex‑team.ru
cloud.yandex.ru/blog/posts/2019/03/wp
Вебинары и видеокурсы
Kubernetes meetup: запись трансляции об операторах Kubernetes.Вебинар: Как построить отказоустойчивый веб‑проект — видеозапись.Школа Алисы: Как развернуть навык в Яндекс.Облаке.Школа Алисы: Как изменить поведение тестовых навыков в Яндекс.Облаке.Курс: Обзор платформы Яндекс.Облако.
При развитии Яндекс.Облака мы, с одной стороны, наращиваем функциональность самой платформы, а с другой — следим, чтобы компоненты было несложно интегрировать с внешними продуктами. Graphite — пример ПО, лёгкость интеграции с которым является важным свойством баз данных Облака. Это библиотека с открытым кодом для хранения и визуализации метрик.
Graphite удобно настроить так, чтобы данные хранились в столбцовой аналитической базе ClickHouse. Специально для этого разработан один из множества движков — GraphiteMergeTree. Он лучше всего подходит для прореживания и агрегирования (либо усреднения) содержимого БД. Саму базу полезно разместить в Яндекс.Облаке через платформенный сервис Yandex Managed Service for ClickHouse. Тогда её не потребуется обслуживать и обновлять — все подобные функции сервис возьмёт на себя.
В этом посте мы опишем процесс настройки Yandex Managed Service for ClickHouse специально под Graphite.
1. Регистрация конфигурации rollup в ClickHouse
Создание конфигурации rollup в существующем кластере Managed Service for Clickhouse можно произвести через CLI или API.
CLI
Если вы выбрали интерфейс командной строки, подготовьте yaml-файл с описанием параметров rollup, например:
graphite-rollup.yaml:
name: test_rollup
patterns:
- regexp: click_cost
function: max
retention:
- age: 86400
precision: 60
Указанные в файле параметры соответствуют конфигурации, описанной в документации.
Далее выполните команду, указав ID кластера ClickHouse и имя файла конфигурации, созданного на предыдущем шаге:
$ yc managed-clickhouse cluster add-graphite-rollup <CLUSTER_ID> --rollup-file-name graphite_rollup.yaml
API
Используйте метод update для кластера ClickHouse, передав в теле запроса требуемые параметры rollup:
"graphiteRollup": [
{
"name": "test_rollup",
"patterns": [
{
"regexp": "click_cost",
"function": "max",
"retention": [
{
"age": "86400",
"precision": "60"
}
]
}
]
}
]
2. Создание таблицы на основе GraphiteMergeTree
Подключитесь к хосту ClickHouse и выполните запрос на создание таблицы на основе GraphiteMergeTree. В качестве параметра передайте имя секции rollup, описанной на предыдущем этапе. Вот пример:
CREATE TABLE GraphiteTable
(
metric String,
time DateTime,
value Int64,
version UInt64
)
ENGINE = GraphiteMergeTree('test_rollup')
PARTITION BY time
ORDER BY cityHash64(version, metric)
Теперь можно настроить Graphite для сохранения значений метрик на выбранном хосте ClickHouse. При этом прореживание данных будет проводиться автоматически средствами сервера ClickHouse в соответствии с параметрами, которые вы указали.