Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for OpenVINO #192

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft

Conversation

githubnemo
Copy link

What does this PR address?

This is a first draft for integrating OpenVINO (if so desired).
Background: I was working on a audio streaming / transcription application on the raspberry pi 4 and wanted to get out
as much performance as possible and OpenVINO was the way.

I am new to bazel and spent a lot of time figuring out how to get the basics working so excuse
the crudity of the change. I have not yet found out how to get download resources or toggle features
like OpenVINO into bazel, any help would be appreciated.

Since OpenVINO support is newer than the last support whisper.cpp version I bumped the
version to a point in time that worked well for the normal and OpenVINO case alike.
This brought up two deprecations (N_MEL constant was removed and two calls without context need
context now).

Maybe of interest but slightly unrelated: OpenVINO is a static graph so if you are using smaller audio context
sizes to increase inference speed you must create a OpenVINO graph with that audio
context. You must patch (or write your own) the OpenAI whisper.load_model function to
include something like this:

dims.n_audio_ctx = new_audio_context
checkpoint["model_state_dict"]['encoder.positional_embedding'] = checkpoint["model_state_dict"]['encoder.positional_embedding'][:new_audio_context]

nemo added 5 commits December 17, 2023 20:30
This recipe is still relying on the user to download a readily compiled
openvino release to a very absolute and specific location.

This also does not include libtbb.so.* in the wheel for aarch64
and also doesn't seem to set the properties for the wheel correctly so
that openvino is properly packaged so that no `LD_LIBRARY_PATH`
modification is necessary.
- `N_MELS` constant was removed in favor of model parameter `n_mel`
- invoking translate and transcribe without context was deprecated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant