Подробное объяснение обработки изображений Baidu, которая поддерживает 700 миллионов поисковых запросов пользователей.

задняя часть поисковый движок Большое количество данных
Подробное объяснение обработки изображений Baidu, которая поддерживает 700 миллионов поисковых запросов пользователей.

Управляемое чтение: В поиске Baidu он в основном состоит из «поиска в Интернете» и «поиска в автономном режиме». Служба «онлайн» в основном используется для ответа на запросы пользователей, а служба «оффлайн» преобразует и обрабатывает данные из различных источников и отправляет их. на «онлайн» сервис». Обработка данных «поиск в автономном режиме» представляет собой типичное сочетание больших пакетов данных и вычислений в реальном времени.

Полный текст составляет 4142 слова, расчетное время чтения — 8 минут.

1. «Оффлайн» и «Онлайн» за мультимодальным поиском

В поиске Baidu он в основном состоит из «поиска в Интернете» и «поиска в автономном режиме». Служба «онлайн» в основном используется для ответа на запросы пользователей, а служба «оффлайн» преобразует данные из различных источников и отправляет их в « сервис онлайн». Обработка данных «поиск в автономном режиме» представляет собой типичное сочетание больших пакетов данных и вычислений в реальном времени.

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

图片

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

图片

С точки зрения извлечения сообщений, основными используемыми в настоящее время методами поиска являются кластерный gno-imi, основанный на графе hnsw и локальный хеш-метод.Основным соображением при выборе является стоимость технических решений и применимость функций, таких как как gno-imi Это решение с открытым исходным кодом в Baidu с относительно небольшим объемом памяти и приемлемой стоимостью применительно к десяткам миллиардов операций поиска; метод хеширования с учетом локальных особенностей, применяемый к локальным функциям, таким как SIFT, может усилить эффект отзыва в сценариях распознавания фотографий мобильного телефона.

За этими онлайн-технологиями стоит более 100 типов функций, на которые полагаются.Требуется огромное количество вычислительной мощности, чтобы включать изображения всей сети в автономном режиме и вычислять характеристики изображений.Кроме того, изображения прикрепляются к сети. страниц в Интернете и должны поддерживаться. Отношения «картинка-ссылка-изображение-ссылка на веб-страницу» (офлайн-обработка данных и онлайн-приложения неотделимы от отношений данных, например, для отслеживания источника, URL-адрес исходной веб-страницы необходимо предоставить изображение и т. д.).

В данном случае Департамент архитектуры поиска и Департамент архитектуры контентных технологий совместно спроектировали и разработали «Центр обработки и записи изображений» на основе собственных бизнес- и технических характеристик для достижения следующих целей:

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

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

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

Проект известен внутри компании как Project Imazon. Imazon происходит от Image + Amazon, где amazon представляет пропускную способность, мощность обработки DAG и емкость изображения на промежуточном этапе.

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

2. Архитектура и ключевые технологии средней платформы обработки и записи изображений

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

2.1 Какую проблему решает центр обработки и записи изображений?

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

图片

2.2 Блоки обработки изображений, включенные в технические характеристики

Определение технических показателей в Китае и Тайване описывается с трех сторон: показатели структуры, эффекты и эффективность НИОКР.

Метрики архитектуры включают пропускную способность, масштабируемость и стабильность:

  • Пропускная способность, то есть улучшение пропускной способности в пределах затрат, конкретные показатели: размер отдельных данных: 100 КБ (изображение + функции), запись в реальном времени 100 запросов в секунду, запись всей сети 10 000 запросов в секунду

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

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

Показатели производительности сосредоточены на отношениях данных:

  • Реальная взаимосвязь между изображением и веб-страницей (например, веб-страница/изображение отсутствует, связь обновляется)

Показатели эффективности НИОКР включают универсальность бизнеса и языковую гибкость:

  • Универсальность для бизнеса: поддержка сбора данных для предприятий, использующих изображения во всей сети; итерация функций

  • Гибкость языка: C++&go&php

2.3 Архитектурный проект средней платформы обработки и записи изображений

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

图片

2.4 Обработка изображений включает в себя инфраструктуру среднего и Тайваня.

Инфраструктура Байду:

  • Хранилище: таблица, bdrp (redis), undb, bos

  • Очередь сообщений: бигпайп

  • Структура сервиса: baidurpc, GDP(go), ODP(php)

Использование и построение бизнес-инфраструктуры

  • Планирование конвейера: одиссея, поддержка каждой DAG в панораме архитектуры

  • Система управления потоком: обеспечивает возможность балансировать и регулировать поток на входном слое ядра.

  • Qianren: Хостинг/планирование/маршрутизация От сотен до тысяч операторов ЦП/ГП с десятками тысяч экземпляров

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

  • Автономные компоненты микросервиса: Tigris, конкретная бизнес-логика узлов DAG выполняется в удаленном RPC.

3. Практика оптимизации

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

3.1 Практика высокопроизводительной потоковой архитектуры

Затраты (вычислительная мощность, хранилище) ограничены.В условиях больших требований к пропускной способности были проведены целевые оптимизации в следующих направлениях:

  • Очереди сообщений стоят дорого

  • Недостаточное использование ресурсов, вызванное сбоями трафика, пиками и спадами

  • Накопление данных из-за недостаточной вычислительной мощности

3.1.1 Оптимизация стоимости очереди сообщений

В автономной потоковой обработке данных это относительно обычное решение для передачи данных в DAG/конвейере через очереди сообщений.Это решение может гарантировать, что бизнес не потеряет данные (по крайней мере один раз) за счет сохранения очередей сообщений. Особенности бизнеса:

  • Передача в Pipeline/DAG — это изображение и его характеристики, сотни Кбайт, стоимость очереди сообщений относительно высока.

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

Конкретные идеи оптимизации заключаются в следующем:

  • Очередь сообщений в DAG передается по ссылке (триггер msg), а вывод оператора в DAG хранится в обходном кеше.

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

图片

Конкретный протокол разработан как:

  • Триггер msg (байты), через очередь сообщений, двухточечная передача между майнерами

  • TigrisTuple (100K~ байт) распределяется между майнерами через Redis

  • ProcessorTuple (M~ байт) реализует чтение и запись по запросу, минуя кеш.

3.1.2 Выравнивание потока и вычисление задержки пика

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

图片

Конкретные идеи оптимизации заключаются в следующем:

Благодаря механизму управления противодавлением/потоком общая пропускная способность системы максимизируется при условии наличия постоянных ресурсов.

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

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

  • Чтобы устранить неприемлемую задержку данных в бизнесе, дифференцировать приоритет данных и обеспечить приоритетное распределение высококачественных данных (проект пропускной способности всей системы покрывает как минимум пропускную способность высококачественных данных)

图片

△ Рисунок 3 Управление потоком с 3 приоритетами

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

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

图片

Конкретные идеи оптимизации:

  • Анализ узких мест, разделение группы обеспечения доступности баз данных; использование базы данных хранилища в качестве системы «естественного управления потоком», управляемой событиями (эластичное планирование вычислительных функций, наличие функций запускает планирование нижестоящих групп обеспечения доступности баз данных).

3.2 Механизм взаимосвязи контента

Взаимосвязь содержания изображений в Интернете можно описать диаграммой, состоящей из трех частей. Для описания используются следующие определения понятия:

  • f: fromurl, представляющий веб-страницу, под буквой f стоит несколько букв o. Особенности плоскостности: заголовок, тип страницы и т.д.

  • o: objurl, представляющий ссылку на изображение, o может указывать только на одно изображение. o Характеристики Локатора: мертвые ссылки

  • c: Знак содержимого изображения, подпись содержимого изображения, представляющая изображение. Особенности c-latitude: содержание изображения, распознавание, четкость, символы и т. д.

  • fo: граница связи между веб-страницей и изображением. Пограничные функции: контекст изображения, alt

  • oc: ссылка на изображение и край изображения. Пограничные функции: время сканирования изображения

Механизм отношений контента должен иметь возможность описывать следующие варианты поведения:

图片

Для того чтобы описать полную взаимосвязь между элементами в Интернете, это графовая база данных с масштабом 100 миллиардов узлов и хранилищем уровня P. Системные показатели, которые необходимо достичь, следующие:

  • Напишите производительность:

  • вершина: 10 000 уровней qps, атрибут одного узла (100~К байт)

  • край: 100 000 уровневых запросов в секунду

  • Производительность чтения (полный просмотр, повторение функций):

  • Экспортированная информация об атрибутах точек и краев (требования к пропускной способности сканирования: G байт/с)

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

  • В таблице C используется хэш префикса для разделения данных, чтобы обеспечить последовательность сканирования, и прочитать полную взаимосвязь (c, из которой o, o из которой f), хранилище P-уровня.

  • Таблица O использует механизм SSD для поддержки проверки C, соответствующего O.

  • В таблице F используются SSD-носители для повышения производительности случайного чтения; сохраняются отношения обратного отображения и поддерживается поиск от O и C до F.

图片

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

3.3 Другие практики

Чтобы повысить итеративную эффективность бизнес-исследований и разработок и улучшить ремонтопригодность самой системы, в системе были решены некоторые проблемы, но она только встала на путь улучшения «счастья разработки». Мы фокусируемся на решении вопросов эффективности НИОКР и затрат на техническое обслуживание.

Например, с точки зрения эффективности доступа к услугам:

Мультиплексирование источника данных

  • Проблема: 10 бизнес-данных, 10 форматов, слишком много встроенных прототипов, не могу понять

  • Попробуйте: из гетерогенной схемы => стандартная схема; управление вводом/выводом OP

DAG**** выходное мультиплексирование

  • Проблема: это не может повлиять на пропускную способность и скорость обработки DAG восходящего потока.

  • Попробуйте: последовательное подключение DAG rpc для устранения каскадной блокировки; собственное подключение DAG, проблемы с жизненным циклом данных, копирование при записи и стирании

Повторное использование хранилища ресурсов:

  • Проблема: я использовал его для создания миниатюры, но теперь миниатюру нельзя открыть! Что, оригинальный образ тоже удалили?

  • Попробуйте: многопользовательский механизм, выход из подсчета ссылок, унифицированный доступ к cdn, онлайн-унифицированное интеллектуальное отсечение и сжатие.

Что касается многоязычной поддержки:

  • Проблема:

  • Хотите использовать C++/Python/PHP/go, совместимость фреймворка сложна! Медленно, в чем проблема?

  • Мне нужно только реализовать бизнес-логику, я не хочу заботиться о слишком многих деталях DAG.

  • Пытаться:

  • Язык фреймворка DAG унифицирован, а бизнес изолирован через удаленный RPC.

  • Rpc Echo(trigger msg[in], tigris tuple[in], processor input list[in], processor output list[out])

По затратам на техническое обслуживание:

  • Проблема:

  • Почему эти данные не включены?

  • СМС 99+ (предупреждение, фатальный микс), что делать: очередь сообщений снова заблокирована

  • Пытаться:

  • Трассировка журнала распределенного приложения

  • Мониторинг и тревоги, классификация + HOWTO

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

  • Основные индикаторы системы: представленный PV, пропускная способность/использование DAG, статус OP (OK, FAIL, RETRY, ...), пропускная способность/использование OP, время ожидания OP/коэффициент тайм-аутов

  • Ключевые показатели: зависимая пропускная способность сервиса, задержка, сбой, внутренний детальный мониторинг ОП;

Автор этого выпуска | imazon

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

читать оригинал |Подробное объяснение обработки изображений Baidu, которая поддерживает 700 миллионов поисковых запросов пользователей

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