Then do the same using GPT and compare the scores.
Anything else is just cherry-picking
2,089 karma · joined January 11, 2018
Then do the same using GPT and compare the scores.
Anything else is just cherry-picking
Just want to point out that we are actively working on improving the quantization accuracy / performance of ggml [0]. We already have promising results that are yet to be ported to the WASM code path, so hopefully such type of demos will become a bit better in the future.
[0] https://github.com/ggerganov/whisper.cpp/discussions/548#dis...
I just look at the code and port it. I don't have the hardware to run it.
Plan is in the future to utilize respective SIMD intrinsics for other architectures (AVX, WASM SIMD, etc) and also add other more accurate quantization approaches. It's actually not a lot of work and I have most of the stuff ready, so hopefully soon!
Edit: AVX2 support has just been added
[0] https://twitter.com/ggerganov/status/1602759833312456704
Tangentially related and discussed in the past on HN: File transfer via color barcodes and a phone camera
[0] https://news.ycombinator.com/item?id=25459501
[0] https://www.nytimes.com/1991/12/23/world/nuclear-prank-in-bu...
Edit: I just realised it uses the modifications that I made for my bot to support SDL audio :) Funny thing is, I took these from some other Doom project - ah, the joys of open-source!
https://whisper.ggerganov.com/stream/
It chunks the input in 5 second buffers and processes them independently. Results and performance are not great, but I think good enough for a proof-of-concept.
If you are interested in running these models yourself without having a beefy GPU, you can try my custom inference implementation. It's in pure C/C++ without any 3rd party dependencies, runs straight on the CPU and builds very easily. I think it is relatively well optimised. For example, on a MacBook M1 Pro I can run GPT-2 XL (1.5B params) at 42ms/token and GPT-J / GPT-JT (6B params) at 125ms/token.
Here are a couple of generated examples using GPT-J:
https://github.com/ggerganov/ggml/tree/master/examples/gpt-j
These are examples using zero-shot prompt where the model auto-completes a text given a starting prompt. You can try to make a conversation bot with a few-shot prompt, but it's not great. Probably the model needs some fine-tuning for that to become feasible.
I wasn't aware that Flash Attention trades accuracy for performance. Either I have a wrong understanding of what FA is, or this statement is not fully accurate.
Either way - looks like great work
https://github.com/ggerganov/whisper.cpp/pull/271
The source code is in the `command.cpp` and I will soon write some more details how it works. If you give it a try, definitely let me know if it worked for you.
Currently, the strategy is to simply prepend 8 lines of text (prompt/context) and keep appending every new transcribed line at the end:
https://github.com/ggerganov/whisper.cpp/blob/master/example...
./examples/yt-wsp.sh <video-url>