Overview
WhisperKit provides a comprehensive benchmarking suite to evaluate model performance across different Apple devices. Results can be uploaded to the argmaxinc/whisperkit-evals-dataset on HuggingFace and viewed in the WhisperKit Benchmarks space.Prerequisites
Before running benchmarks:- All external devices must be connected and paired to your Mac
- Devices must be registered with your developer account
- Devices must be in Developer Mode
Setup
Download the Source
Clone the WhisperKit repository:Install Dependencies
Set up your local environment with necessary dependencies:Configuration
Xcode Environment Variables
The model to test is provided to Xcode from Fastlane as an environment variable:- Open the example project:
-
Click on
WhisperAXat the top and selectEdit Scheme -
Under
Environment Variables, you’ll seeMODEL_NAMEwith value$(MODEL_NAME)
Datasets
Configure test datasets in the globaldatasets array in:
Models
Configure test models in theFastfile:
fastlane/Fastfile
Running Benchmarks
List Connected Devices
Verify device connections before running tests::state field shows "connected".
Debug Tests
Run quick debug tests to check for potential errors:Full Benchmark Suite
Run the complete benchmark suite:Specify Target Devices
Run benchmarks on specific devices:DEVICES parameter accepts a comma-separated list of device names from make list-devices.
Results
Output Location
After tests complete, results are saved in:- Full results:
fastlane/benchmark_data/- includes.xcresultfiles with logs and attachments - JSON results:
fastlane/upload_folder/benchmark_data/- JSON files for further analysis
Viewing Results
Results are periodically uploaded to:- Dataset: argmaxinc/whisperkit-evals-dataset
- Benchmarks Space: WhisperKit Benchmarks
Troubleshooting
Tests fail to run
Tests fail to run
- Open the project in Xcode:
xed Examples/WhisperAX - Run the test
RegressionTests/testModelPerformanceWithDebugConfigfrom the test navigator - Check Xcode’s detailed error messages
- If tests run successfully in Xcode, the issue is with the device or Fastlane setup
Device connection issues
Device connection issues
- Run
make list-devicesto verify device status - Ensure devices are in Developer Mode
- Check devices are paired and trusted
- Try specifying a single device:
make benchmark-devices DEVICES="My Mac"
Still having issues?
Still having issues?
- Join our Discord for community support
- Create an issue on GitHub
Command Reference
make setup
Install dependencies and set up environment
make list-devices
List all connected devices and their status
make benchmark-devices
Run full benchmark suite on all devices
make benchmark-devices DEBUG=true
Run debug benchmark configuration
Next Steps
View Benchmark Results
Compare performance across devices
Supported Devices
Check device compatibility
Contributing
Contribute benchmark results
Model Catalog
Explore available models