Automating Video Ad Classification with GenAI

mediaradar_|_vivvix · Media & Entertainment · 2024 · source Agentic: no · promotional bias: high · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Advertising intelligence and video ad classification

MediaRadar | Vivvix needed to classify video ads and identify products at much higher volume than manual operators and prior queue-based infrastructure could support.

Constraints:

Architecture

MediaRadar | Vivvix moved ad-processing workflows onto Databricks and Spark Structured Streaming. Video ad data is ingested into the Databricks Data Intelligence Platform, preprocessed with duplicate fingerprinting, Whisper-style transcription/translation, and OCR, then classified through a dual-layer approach: GenAI identifies products in ads and those predictions are compared with MediaRadar | Vivvix's own classification models. Databricks selects the best combined match, supports model training visibility, and scales processing with Ray clusters and Structured Streaming.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  ad-data-sources[Ad data sources] --> databricks-data-intelligence-platform[Databricks Data Intelligence Platform]
  spark-structured-streaming[Spark Structured Streaming] --> databricks-data-intelligence-platform
  databricks-data-intelligence-platform --> preprocessing-pipelines[Preprocessing pipelines]
  preprocessing-pipelines --> ray-cluster[Ray cluster]
  databricks-data-intelligence-platform --> genai-product-identifier[GenAI product identifier]
  databricks-data-intelligence-platform --> existing-classification-models[Existing classification models]
  genai-product-identifier --> best-match-selector[Best-match selector]
  existing-classification-models --> best-match-selector
  best-match-selector --> databricks-data-intelligence-platform
  unity-catalog[Unity Catalog] --> databricks-data-intelligence-platform
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Ad data sources Supply video ads and creative assets for classification. Databricks Data Intelligence Platform
Databricks Data Intelligence Platform Unified platform for ingestion, preprocessing, model monitoring, training visibility, and best-match selection. Ad data sources, Spark Structured Streaming, Preprocessing pipelines, GenAI product identifier, Existing classification models, Best-match selector
Spark Structured Streaming Automates continuous real-time data ingestion without manual intervention. Databricks Data Intelligence Platform
Preprocessing pipelines Perform fingerprinting, transcription, translation, and OCR on video ads. Databricks Data Intelligence Platform, Ray cluster
Ray cluster Scales video processing across millions of product categories. Preprocessing pipelines
GenAI product identifier Identifies products in ads using generative AI. Databricks Data Intelligence Platform, Best-match selector
Existing classification models Provide MediaRadar | Vivvix's own classification predictions. Databricks Data Intelligence Platform, Best-match selector
Best-match selector Combines GenAI and existing-model predictions to choose the final classification. GenAI product identifier, Existing classification models, Databricks Data Intelligence Platform
Unity Catalog Planned governance layer for securing data access. Databricks Data Intelligence Platform

Data flow

Video-ad data enters Databricks, where preprocessing extracts duplicate fingerprints, transcriptions/translations, and OCR text. A Ray cluster scales video processing. GenAI generates product predictions from the ad, existing classification models produce their own matches, and the Databricks platform compares the combined predictions to select the best product classification. Structured Streaming keeps ingestion continuous and removes manual polling bottlenecks.

3 supporting quotes
“Data from video ads was ingested into the Databricks Data Intelligence Platform for seamless integration and preprocessing.”article, stated
“preprocessing pipelines that included fingerprinting to identify duplicates, transcription and translation using models like Whisper and optical character recognition (OCR)”article, stated
“using GenAI to identify products in ads and then comparing the results with MediaRadar | Vivvix’s own classification models to select the best matches”article, stated

Why this architecture

The team needed a unified data and model platform because their prior SQS/manual workflow could not keep up with extreme product-classification scale. Databricks, Spark Structured Streaming, and Ray handled ingestion and processing throughput, while the dual-layer GenAI plus existing-model approach improved classification accuracy without discarding the company's existing models.

3 supporting quotes
“manual polling for data and a limit of 10 messages at a time severely hindered the company’s ability to meet service level agreements (SLAs).”article, stated
“leveraged the Ray cluster on Databricks to optimize video processing and scale the classification of video ads across millions of categories.”article, stated
“This innovative, dual-layer approach involved using GenAI to identify products in ads and then comparing the results with MediaRadar | Vivvix’s own classification models”article, stated

Models used: OpenAI GPT-3.5 · Whisper · fine-tuned in-house ML model · GenAI product identification model

Scale

Alternatives considered (roads not taken)

Continue with SQS manual polling

Rejected because: The 10-message polling limit hindered SLA compliance.

“manual polling for data and a limit of 10 messages at a time severely hindered the company’s ability to meet service level agreements (SLAs).”article, stated

Scale manual operators with ad volume

Rejected because: Ad spend nearly doubled and adding people to match volume was not feasible.

“For the past couple of years, the overall ad spend by companies has almost doubled. To scale alongside this, it’s not really feasible to increase the number of people to match”article, stated

Use the in-house fine-tuned model alone

Rejected because: The model lacked enough training data for millions of products.

“We created a fine-tuned ML model in-house, but even that wasn’t sufficient enough. We didn’t have training data to support the millions of products we had.”article, stated

Use a more expensive GenAI model for every asset

Rejected because: The team chose GPT-3.5 to balance performance and expense while processing thousands of assets daily.

“To manage costs effectively, the team chose to use OpenAI’s GPT-3.5 model, balancing performance and expense. This decision allowed them to process thousands of creative assets daily without incurring prohibitive costs.”article, stated

Patterns

batch-offline-processing (data)

Spark Structured Streaming and Databricks automate high-throughput ad ingestion and classification workflows.

“With the adoption of Spark Structured Streaming, data processing is now automated, enabling continuous and real-time data ingestion without manual intervention.”article, stated

model-routing (modeling)

The classification pipeline combines GenAI predictions with existing classification models and selects the best match.

“using GenAI to identify products in ads and then comparing the results with MediaRadar | Vivvix’s own classification models to select the best matches”article, stated

cost-aware-routing (operations)

The team selected GPT-3.5 for cost-effective daily creative-asset processing.

“To manage costs effectively, the team chose to use OpenAI’s GPT-3.5 model, balancing performance and expense.”article, stated

observability-tracing (operations)

Databricks centralizes visibility into data ingestion, transformation, training, and model performance.

“We can monitor the data transformation and we can see the training. We can even measure the performance of the models. And it’s all right there in one platform.”article, stated

data-quality-loop (data)

Preprocessing pipelines fingerprint duplicates and extract transcript/OCR signals to keep a large product database cleaner for classification.

“preprocessing pipelines that included fingerprinting to identify duplicates, transcription and translation using models like Whisper and optical character recognition (OCR)”article, stated

Tradeoffs

Move from SQS/manual polling to Spark Structured Streaming

Chose continuous Databricks streaming ingestion over manual polling from SQS in batches of 10 messages.

Rationale: Streaming removed a throughput bottleneck and improved SLA confidence.

“manual polling for data and a limit of 10 messages at a time severely hindered the company’s ability to meet service level agreements (SLAs).”article, stated
“This shift not only eliminated concerns about meeting SLAs but also allowed MediaRadar | Vivvix to efficiently process thousands of ads per hour.”article, stated

Combine GenAI with existing classifiers

Chose dual-layer best-match selection over depending only on an in-house classifier or only on GenAI.

Rationale: The existing classifier alone lacked coverage, while combined predictions let Databricks select the best product match.

“We created a fine-tuned ML model in-house, but even that wasn’t sufficient enough.”article, stated
“The Databricks Platform was used again to select the best match from the combined predictions, refining the results and improving overall accuracy.”article, stated

Use GPT-3.5 during high-volume model serving experiments

Chose OpenAI GPT-3.5 over more expensive models for every creative asset.

Rationale: The use case needed to process thousands of creative assets daily without prohibitive cost.

“To manage costs effectively, the team chose to use OpenAI’s GPT-3.5 model, balancing performance and expense.”article, stated
“process thousands of creative assets daily without incurring prohibitive costs.”article, stated

Gotchas (what bit them)

The prior queue architecture could not meet throughput requirements.

Root cause: Manual polling from SQS was limited to 10 messages at a time.

Resolution: The team moved to Spark Structured Streaming and Databricks for automated continuous ingestion.

“manual polling for data and a limit of 10 messages at a time severely hindered the company’s ability to meet service level agreements (SLAs).”article, stated
“Spark Structured Streaming, data processing is now automated, enabling continuous and real-time data ingestion without manual intervention.”article, stated

Manual ad classification could not scale with market volume.

Root cause: Hundreds of people had to watch ads and record details while ad spend and volume grew rapidly.

Resolution: The workflow automated video processing and classification with Databricks, Spark, Ray, GenAI, and existing models.

“Hundreds of operators were tasked with watching ads and recording detailed information on their elements”article, stated
“To scale alongside this, it’s not really feasible to increase the number of people to match”article, stated

A fine-tuned in-house model alone was insufficient.

Root cause: The product taxonomy was too large and diverse for the available training data.

Resolution: The team used a dual-layer approach that compared GenAI product identification with existing classification model outputs.

“We created a fine-tuned ML model in-house, but even that wasn’t sufficient enough. We didn’t have training data to support the millions of products we had.”article, stated
“This innovative, dual-layer approach involved using GenAI to identify products in ads and then comparing the results with MediaRadar | Vivvix’s own classification models”article, stated

Open data access was hard to reconcile with customer security needs.

Root cause: The existing environment made it difficult to enforce who could see what.

Resolution: The team planned to move to Unity Catalog for access governance.

“We are moving to Unity Catalog, which will help us stay secure”article, stated
“It’s currently hard for us to enforce security, so it will be nice to still have open access while being able to restrict who can see what.”article, stated

Evaluation

The case evaluates the migration through throughput, workflow-time reduction, SLA confidence, model experimentation speed, and operational visibility in Databricks.

Metrics: 2,000 creatives per hour after Databricks versus 800 before · thousands of ads per hour processed · model experimentation and testing reduced from two days to half a day · thousands of creative assets processed daily · millions of product categories

3 supporting quotes
“Before, we were able to do at most around 800 creatives an hour. With our move to Databricks, we’re classifying about 2,000 an hour.”article, stated
“What would normally take two days’ worth of work now takes maybe half a day”article, stated
“allowed MediaRadar | Vivvix to efficiently process thousands of ads per hour.”article, stated

Outcomes

The case centers on a 6-million-product classification space, thousands of daily creative assets, and thousands of ads per hour after the Databricks migration.

3 supporting quotes
“significant improvement in processing speed and scalability”article, stated
“With Databricks, MediaRadar | Vivvix can automate many tasks that previously required extensive human involvement.”article, stated
“The implementation of GenAI exemplifies their forward-thinking approach, enabling MediaRadar | Vivvix to serve ad insights faster and with more accuracy.”article, stated