All papers

Research paper / Working preprint / 2026

Deploying an audio deepfake detector across GPU, CPU and Android.

Precision, Runtime and Platform in the Deployment of an Audio Deepfake Detector: A Measured Cross-Target Study

  • Deployment systems
  • Audio deepfake detection
  • Measured study
Configurations
7 inference configurations
Devices
GPU / server CPU / Android
Clips
4,000 scored per config
Audio
11.27 hours
Generators
62 synthetic

What the paper measures.

Audio deepfake detectors are increasingly proposed for use outside the datacentre, but published work reports detection accuracy far more often than the cost of running the model.

This study measures one 158.9M-parameter dual-stream detector across seven inference configurations spanning three device classes: an NVIDIA L4 GPU, a server CPU, and a 2021 Android handset, with three numerical precisions and four runtimes.

Every configuration scored the identical 4,000-clip, 11.27-hour out-of-distribution evaluation set, so each comparison is clip-paired and carries an explicit statement of what it holds fixed.

Across the seven configurations sustained capacity spans 312x while ROC-AUC spans 0.00040: for this model, choosing a deployment target is almost entirely a systems decision rather than a detection-quality one.

Read more detail

The evaluation set is out-of-distribution by construction: 2,000 bona fide and 2,000 synthetic clips in six languages (de, ja, ko, nl, pl, zh-cn), none of which appear in the model's training split, with the synthetic half spanning 62 distinct generators.

Casting GPU weights to FP16 is the largest single-factor gain measured: median per-clip latency falls from 43.9 ms to 14.4 ms (3.09x) and only 2 of 4,000 labels change. On the CPU, at fixed runtime, dynamic INT8 cuts median latency from 498.9 ms to 420.9 ms (1.18x) and the artifact from 522.6 MiB to 177.7 MiB (2.94x).

Moving the byte-identical INT8 graph to the handset costs 13.88x per clip (median 5.86 s) while changing ROC-AUC by 1.0 x 10^-5 and 7 of 4,000 labels (exact McNemar p = 1.0). Mobile deployment cost speed, not detection quality, for this model and this graph.

The device dominates at both steps: GPU to CPU costs 8.70x at the median with framework, precision and code path fixed, and server CPU to handset a further 13.88x with the model file itself held fixed. No precision reduction measured here closes either gap.

The paper's principal output is a suitability matrix over nine operational scenarios, mapping each one's binding constraint onto the configuration it selects, with every cell backed by a measured row.

Headline measurements.

7Inference configurations
4,000Out-of-distribution clips
3Device classes: GPU, CPU, Android
312xSustained capacity range
0.00040ROC-AUC range
3.09xFP16 GPU speedup
2.94xINT8 CPU artifact compression
7 / 4,000Mobile vs server label changes

One model, seven configurations.

The study

158.9M-parameter dual-stream audio deepfake detector

Devices
NVIDIA L4 GPU / AMD EPYC 9554 server CPU / OnePlus EB2101 handset (Android 11)
Precisions
FP32FP16INT8
Runtimes
PyTorchONNX RuntimeTensorRTONNX Runtime (Android)

Evaluation set

  • 4,000 clips
  • 2,000 bona fide / 2,000 synthetic
  • 11.27 hours of audio
  • 6 languages, none in the training split
  • 62 synthetic generators

Out-of-distribution by construction: every configuration scored the identical clip set, in the same order, so comparisons are clip-paired.

Three deployment points.

Not a device competition: a handset is not trying to replace an L4. Median per-clip inference latency, drawn on a log scale.

GPU14.4 msmedian per clip

FP16 / PyTorch / NVIDIA L4

Artifact 303.2 MiB

3.09x faster than the FP32 GPU baseline; 2 of 4,000 labels changed.

CPU420.9 msmedian per clip

INT8 dynamic / ONNX Runtime / EPYC 9554

Artifact 177.7 MiB

1.18x faster than FP32 at fixed runtime; artifact 2.94x smaller.

Android5.86 smedian per clip

INT8 dynamic / ONNX Runtime / OnePlus EB2101

Artifact 177.7 MiB

Byte-identical graph to the CPU row; 13.88x slower, ROC-AUC differs by 1.0 x 10^-5.

Findings.

GPU / reduced precision

FP32 PyTorch on the L4 is the reference point at 43.9 ms median per clip. Casting the weights to FP16, with the same code path, thread count and warm-up policy, drops the median to 14.4 ms, a 3.09x per-clip speedup, while the artifact halves from 606.3 MiB to 303.2 MiB. Only 2 of 4,000 labels change.

43.9 ms to 14.4 ms
Median per-clip latency
606.3 to 303.2 MiB
Artifact size
2 / 4,000
Labels changed

CPU / INT8 quantization

At fixed runtime, ONNX Runtime on both sides, dynamic INT8 cuts the median from 498.9 ms to 420.9 ms, about 1.18x, while compressing the artifact from 522.6 MiB to 177.7 MiB, roughly 2.94x smaller. The aggregate speedup is smaller than the arithmetic one because a fixed ~91 ms per-call overhead does not scale with audio length, so short clips benefit least.

498.9 ms to 420.9 ms
Median per-clip latency
522.6 to 177.7 MiB
Artifact size (2.94x)
1.18x
Median speedup

Android / the platform effect in isolation

The byte-identical INT8 graph was moved from the server CPU to the handset, so the platform is the only thing that changes. Per-clip cost rises 13.88x to a 5.86 s median, and every one of the 4,000 clips is slower. Detection behaviour does not follow: ROC-AUC differs by 1.0 x 10^-5, 7 of 4,000 labels change, and the exact McNemar test on those discordant pairs gives p = 1.0. For this model and this graph, mobile deployment cost speed, not detection quality.

5.86 s
Median per-clip latency
0.00001
ROC-AUC difference
7 / 4,000
Labels changed

Real-time behaviour on the phone

Slower than the server does not mean too slow. Judged against the actual duration of each clip, the handset stays ahead of the audio for 3,986 of 4,000 clips, 99.65%, at a median real-time factor of 0.634, with no accelerator delegate engaged: CPU-only, four of eight cores.

99.65%
Clips faster than real time
0.634
Median real-time factor
CPU-only
No NNAPI / GPU / DSP delegate

Sustained load, not a short benchmark

Over a continuous 7.39-hour run the device does not hold its initial speed. Per-window inference cost rises 1.60x from the first 400 clips to the last, and the rise is not gradual: clustering recovers three well-separated operating points at 1,176, 1,424 and 1,875 ms per window. Controlled against clip length and class composition, the pattern is the signature of frequency capping under a thermal or power budget, which means continuous on-device screening has to be provisioned from the throttled state, not the benchmark state.

7.4 h
Continuous run
1.60x
Per-window cost degradation
3 states
Discrete frequency plateaus

Deployment target is a systems decision.

312xSustained capacity range
0.00040ROC-AUC range

Across the seven configurations, sustained capacity spans 312x while ROC-AUC spans 0.00040. The device moves cost by factors of nine to fourteen at each step; the largest precision gain available within a device is 3.09x. What limits deployed accuracy is neither the device nor the numerics but the decision threshold.

Read the paper.

Full text, 25 pages, rendered here on the page. No download.

1/ 25
100%
Page 1 of 25
Page 2 of 25
Page 3 of 25
Page 4 of 25
Page 5 of 25
Page 6 of 25
Page 7 of 25
Page 8 of 25
Page 9 of 25
Page 10 of 25
Page 11 of 25
Page 12 of 25
Page 13 of 25
Page 14 of 25
Page 15 of 25
Page 16 of 25
Page 17 of 25
Page 18 of 25
Page 19 of 25
Page 20 of 25
Page 21 of 25
Page 22 of 25
Page 23 of 25
Page 24 of 25
Page 25 of 25