69 karma · joined April 18, 2020
https://www.naveen.ing
Email: [hey] @ [naveen] . [ing]
The challenge is recording and syncing the motion at a higher frequency and being able to save without much drift and the performance of these landmark/gaze models is often slow.
One more option to speed it up is not to do the eye tracking at record time, just record a crop video of the face and the screen first at 60Hz and then run the model on each frame and update the metadata of the dataset.
That said, I'm definitely interested in learning more about processor-specific optimizations for EPYC. If there are server-focused equivalents to what you've mentioned that would work better than frequency capping, I'd love to explore them!
The current implementation uniformly sets max frequency for all 128 cores, but I'm working on per-core frequency control that would allow much more granular optimization. I'll definitely measure aggregate consumption with your suggestion versus my current implementation to see the difference.
The dual Epyc CPUs (128 cores) in my setup have a relatively high idle power draw compared to consumer chips. Even when "idle" they're consuming significant power maintaining all those cores and I/O capabilities. By implementing uniform throttling when utilization is low, the automation actually reduces the baseline power consumption by a decent amount without much performance hit.
For audio based detection, I would start with collecting a large corpus of normal shows vs ad segment audio dataset. I assume the amplitude (volume changes) and frequency distribution would be unique enough to distinguish between them.
Train a model using their Mel Spectrogram and deploy on-device.
Microphone -> ADC -> Preprocessing -> Spectrogram Generation -> Inference -> Mute/Unmute
Would be an interesting project.
I'll post a write up in a few days.
I see you offer re-ranking using local models, will there be build-in support for making re-ranking calls to external services such as cohere in the future?