Todo
Spark, Spark3 with HDFS, Horovod
Report architecture
- What is TPCxAI?
- TPCx-AI is a benchmark developed by the Transaction Processing Performance Council (TPC), which serves as a standardized performance measurement tool to evaluate computational abilities of Artificial Intelligence (AI) systems. It is a tool used to assess various aspects of AI workloads. By providing a standardized framework, TPCx-AI allows fair evaluations of AI system performance, which aids organizations to make informed decisions in investing in AI infrastructure.


- Benchmark architecture
- folder structure, data input, data output and dependencies
workloadmain use case scriptpythonworkload scripts for each use case for single-node systemsparkworkload scripts for each use case for multi-node systemspark3workload scripts for each use case for multi-node systemdata-genconfigtpcxai-generation.xmldataset download specificationtpcxai-schema.xmldataset type schema specificationtoolspythonpython setup scripts for single-node systemsparkspark setup scripts for multi-node systemlibruntime and librariesdriverproject config & source codeconfigconfig for benchmark (commands and output folder)datdata information for benchmarktcpxai-drivermain python driver for benchmark__main__main script for benchmarksetenv.shset necessary environment variables and scale factorsetup-python.shcreate virtual python environment for single-node systemsetup-spark.shcreate virtual python environment for multi-node systemsetup-spark.shcreate virtual python environment for multi-node systemTPCx-AI_Benchmarkrun.shrun benchmarkTPCx-AI_Validation.shrun validationFull_TPCx-AI_Benchmarkrunrun validation and benchmarkoutputraw_datadata before preprocessingdatadata after preprocessingtrainingtraining data with labelsservingserving data without labels (without duplication with training data)scoringscoring data with labels (When global SF is 1, because of internal SF it is subset of training dataset)modeltrained model outputoutputserving and scoring outputloglog folder for each run with sqlite database- Dependencies: Tensorflow, Java, SBT, Anaconda
Folder Structure:
Project folder structure
Project scripts
Additional folder generated during benchmark
The benchmark architecture starts by setting up an executing environment with necessary hardware (mainly space on the computer) and software configurations.
The benchmark setup includes installing dependencies such as JAVA, SBT, Tensorflow and Conda. The benchmark workflow involves cleaning the data first, then data generation, loading test, power training, test and scoring.
- Dataset chose
- Why we chose
- Dataset schema:
- Model type to train



We chose the Customer Conversation Transcription because speech-to-text is becoming more of more used in the real world. Either to analyze voice pshising
dataset because it is a mix of audio and text offering a diverse range of data types. Moreover, since it’s a Customer Conversation Transcription , It embodies the essence of customer service interactions, which are inherently diverse and complex, which is ideal to develop robust speech-to-text transcription.
- Vanilla Single-node benchmark result
- CPU, GPU result
- Vanilla Multi-node benchmark result (optional)
- System improvement plan
- MLFlow
- S3
Seonglae Cho