Commit Graph

121 Commits

Author SHA1 Message Date
Georgi Gerganov
93935980f8
whisper : Metal and ggml-alloc support (#1270)
* metal : init

* whisper : factor out graph builds

* whisper : allocate encoder and decoder using ggml-alloc

* whisper : ggml-alloc is now supported

* whisper : CoreML support ggml-alloc

* build : fix ggml-alloc

* ios : update submodule

* extra : update sync-ggml.sh script to also sync ggml-alloc

* ci : see if this is causing the crash

* whisper : refactor ggml-alloc init

* whisper.android : try to fix build

* whisper : initial Metal version

* ci : try to debug vmem issue

* metal : decoder works on GPU!

* metal : add multi-decoder support

* ggml : fix ggml_nbytes (probably temp solution)

* metal : run "cross" step on the GPU

* whisper : remove ggml_repeat in the encoder

* whisper : offload the Encoder to Metal

* ggml : use simpler ggml_bytes() implementation

* ggml-alloc : try to make CI happy by reducing vram to 128GB

* whisper : add whisper_allocr to wrap ggml_allocr

* whisper : factor out alloc init in a function

* cmake : update to support Metal build

* whisper : add <functional> header

* objc : fix build (no Metal yet)

* ios : add Metal support

* swiftui : fix build

* metal : speed-up KQ multiplication

* metal : sync latest llama.cpp kernels

* readme : add Metal info

* ios : update submodule

* coreml : add code to toggle Core ML config (CPU, ANE, GPU)

* bench : fix timings by running a pre-heat

* bench : start benching the decoder

* whisper : add ggml_mul_mat_pad

* bench : fix uninitialized vars

* whisper : add comment for disabling mul-mat padding

* whisper : add description of ggml_mul_mat_pad

* whisper : clean-up ggml_mul_mat_pad

* metal : remove the "concurrent" flag

* bench : variable n_past

* ios : update SPM package
2023-09-15 12:18:18 +03:00
布客飞龙
6780c98e19
readme : update CMake build commands (#1231)
* Update README.md

* Update README.md: `vcpkg install opencl clblast`

* readme : update build commands

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
2023-09-05 13:53:34 +03:00
Fangjun Kuang
aad2dad38a
whisper : minor fixes (#1154) 2023-08-27 19:02:00 +03:00
Ryan Metcalfe
1fa360fc6e
readme : add OpenVINO support details (#1112) 2023-07-25 19:07:59 +03:00
Martin Warnaar
176d7e4e7b
readme : better wording (#1064) 2023-07-04 15:30:31 +03:00
Georgi Gerganov
70e6fcd78b
readme : add tinydiarize instructions (#1058) 2023-07-04 09:51:22 +03:00
GiviMAD
bc2dcf85fe
readme : add java alternative binding (#1029)
Signed-off-by: Miguel Álvarez <miguelwork92@gmail.com>
2023-06-25 14:46:07 +03:00
Larry Battle
a7f822ef59
readme : corrected syntax for markdown link (#995) 2023-06-25 13:46:44 +03:00
0xsourcecode
4e16a8fb63
readme : highlight OpenBLAS support (#956)
* highlight openblas support

* Update README.md
2023-05-24 11:23:51 +03:00
Nicholas Albion
bc89f285d8
bindings : add java bindings (#931)
* WIP - java bindings

* updated README

* failed attempt at JNI

* fullTranscribe() test passes

* tested on Ubuntu 20

* link to Java bindings
2023-05-20 18:25:02 +03:00
Georgi Gerganov
a5defbc1b9
release : v1.4.2 2023-05-14 19:06:45 +03:00
Jhen-Jie Hong
16564f554f
readme : improve Core ML model conversion guidance (#915) 2023-05-14 18:11:08 +03:00
Clifford Heath
9931d66400
readme : add instructions on converting to GGML + "--no-config" to wget (#874) 2023-05-08 20:58:36 +03:00
Vulcan
919e58b96a
readme : partial OpenCL GPU support via CLBlast (#863)
* ggml : CLBlast support as in llama.cpp

Building with CLBlast speeds up whisper.cpp ~2x on low end / older AMD APUs (CPU with integrated GPU) such as the A9.

Usage:
WHISPER_CLBLAST=1 make

* CMake/Makefile : CLBlast support as in llama.cpp

Building with CLBlast speeds up whisper.cpp ~2x on low end / older AMD APUs (CPU with integrated GPU) such as the A9.

Usage:
```
Makefile:
cd whisper.cpp
WHISPER_CLBLAST=1 make

CMake:
cd whisper.cpp ; mkdir build ; cd build
cmake -DWHISPER_CLBLAST=ON  ..
make
```

* Update README.md

Added OpenCL Build Instructions

* Instruction: Partial OpenCL GPU support via CLBlast

Added build instructions and examples for Make and CMake to support OpenCL enabled GPUs.
2023-05-03 19:24:43 +03:00
Georgi Gerganov
9c61f5f585
release : v1.4.1 2023-04-30 22:57:42 +03:00
Georgi Gerganov
fa8dbdc888
release : v1.4.0 2023-04-30 19:23:37 +03:00
Georgi Gerganov
794b162a46
whisper : add integer quantization support (#540)
* whisper : add integer quantization support

* examples : add common-ggml + prepare to add "quantize" tool

* whisper : quantization tool ready

* whisper : fix F32 support

* whisper : try to fix shared lib linkage

* wasm : update quantized models to Q5

* bench.wasm : remove "medium" button

* bench.wasm : fix custom model button

* ggml : add Q5_0 and Q5_1 WASM SIMD

* wasm : add quantized models to all WASM examples

* wasm : bump DB version number to 2

* talk-llama : update example to latest llama.cpp

* node : increase test timeout to 10s

* readme : add information for model quantization

* wasm : add links to other examples
2023-04-30 18:51:57 +03:00
Georgi Gerganov
5fd1bdd7fc
whisper : add GPU support via cuBLAS (#834)
* make : add WHISPER_CUBLAS

* make : fix CUBLAS build

* whisper : disable Flash Attention + adjust memory buffers

* whisper : remove old commented code

* readme : add cuBLAS instructions

* cmake : add WHISPER_CUBLAS option

* gitignore : ignore build-cublas
2023-04-30 12:14:33 +03:00
Georgi Gerganov
4d89ee2e59
readme : add logo 2023-04-28 22:41:29 +03:00
Georgi Gerganov
c23588cc4b
release : v1.3.0 2023-04-15 17:30:44 +03:00
Georgi Gerganov
355da83690
readme : fix link 2023-04-15 13:30:36 +03:00
Georgi Gerganov
3e5c49e59a
readme : add usage instructions for Core ML 2023-04-15 13:30:07 +03:00
Aaron Taylor
1c5edc3cb3
readme : add SwiftWhisper to listed bindings (#755) 2023-04-14 20:24:00 +03:00
Alex Evgrashin
674a8e579b
readme : add unity bindings (#733) 2023-04-14 19:59:44 +03:00
Sam
b73a4638ac
readme : make the quick start instructions clearer. (#716)
Users wanting to make use of this implementation of the whisper model with no prior knowledge of C/C++ may download the Whisper model but fail to use of the "make" command as specified given that they forgot or didn't know they needed to clone the repository first. Hope this modification clears things up.
2023-04-14 19:33:06 +03:00
bocytko
ccb47e7e10
readme : add shell command example for --print-colors (#710)
The section of the readme file explaining `--print-colors` includes only a screenshot with directories that are inconsistent with other examples. This commit adds an example shell command, consistent with the remaining examples.
2023-04-14 19:25:23 +03:00
Zigfrid Zvezdin
859ffc994e
misc : typo (#688) 2023-03-30 07:51:33 +03:00
Georgi Gerganov
82637b8e9f
readme : add talk-llama example to the table 2023-03-27 21:02:35 +03:00
jwijffels
aec01bb337
Include link to R wrapper in README (#626) 2023-03-22 22:28:22 +02:00
Jhen-Jie Hong
a5e60c019d
readme : add react-native bindings (#619) 2023-03-22 21:39:02 +02:00
Georgi Gerganov
1beff6f66d
models : change HF hosting from dataset to model 2023-03-22 20:44:56 +02:00
Georgi Gerganov
fa9d43181f
readme : add bench-wts.sh demo 2023-03-06 21:06:27 +02:00
Georgi Gerganov
ad1389003d
release : v1.2.1 2023-02-28 22:29:12 +02:00
Aaron Pham
d176160f6f
readme : add pybind11 bindings (#538) 2023-02-27 21:02:11 +02:00
Georgi Gerganov
ca21f7ab16
readme : add cython bindings (#9) 2023-02-24 08:46:06 +02:00
Georgi Gerganov
2407ae8ef0
readme : add Ruby discussion + update .NET discussion 2023-02-15 19:51:54 +02:00
Georgi Gerganov
9764782bd9
readme : add another .NET repo (#303) 2023-02-14 20:04:03 +02:00
Georgi Gerganov
3b010f9bed
readme : add .NET repo (#303) 2023-02-11 17:35:33 +02:00
Georgi Gerganov
b2083c5d02
release : v1.2.0 2023-02-04 09:49:49 +02:00
Georgi Gerganov
f3ee4a9673
whisper : reduce memory usage during inference (#431)
* ggml : add "scratch" buffer support

* ggml : support for scratch ring-buffer

* ggml : bug fix in ggml_repeat()

* ggml : error on scratch buffer overflow

* whisper : use scratch buffers during inference (base model only)

* whisper : update memory usage for all models

* whisper : fix encoder memory usage

* whisper : use whisper_context functions instead of macros

* whisper : fix FF + remove it from README

* ggml : reuse ggml_new_i32

* ggml : refactor the scratch buffer storage

* whisper : reorder scratch buffers in the decoder

* main : add option to disable temp fallback

* Update README.md
2023-02-04 09:45:52 +02:00
Georgi Gerganov
2c3f50a021
release : v1.1.1 2023-01-23 20:23:44 +02:00
Georgi Gerganov
874bde887e
Update README.md 2023-01-16 18:47:31 +02:00
Georgi Gerganov
8738427dd6
cmake : bump version to 1.1.0 2023-01-15 14:33:13 +02:00
Georgi Gerganov
0b85e8c401
Update README.md 2023-01-15 11:36:20 +02:00
Georgi Gerganov
8de452c18b
Improve decoding (#291)
* whisper : prepare infra for new decoding strategies

* whisper : apply logit filters and compute logprobs

* whisper : add whisper_get_logits()

* whisper : separate self and cross attention memory

Initial step needed for supporting parallel decoders

* whisper : move probs_id buffer to whisper_context

* whisper : refactor kv cache into separate struct

* whisper : move self-attention kv cache to whisper_decoder

* whisper : wip decoding parameters + strategies

* whisper : wip decoding parameters + strategies (part 2)

* whisper : wip decoding parameters + strategies (part 3)

* whisper : wip decoding parameters + strategies (part 4)

* whisper : fix prompt_past update to not include prompt_init

* whisper : temperature + best_of support

* whisper : support for compression_ration_threshold

We actually use entropy, but it is similar

* command : fix example to use logits instead of obsolete probs

* whisper : handle empty sequence ranking

* whisper : add WHISPER_DEBUG + diagnostic prints + new main args

* whisper : minor fixes

* whisper : add beam-search support

* whisper : bug fix when there no previous context

* whisper : add comments

* stream : disable temperature fallback

For real-time processing, we always want a single decoder running at T=0

* whisper.swiftui : update example - fix paths + add empty folders
2023-01-15 11:29:57 +02:00
Ian Bicking
5e9f33596f
readme : clarify main and stream usage (#391)
Give an example of ./main that uses a sample file that's already there, and make the stream example clarify you need `make stream`
2023-01-08 20:18:41 +02:00
Thomas Fitzsimmons
1944e7c33e whisper : document POWER VSX support 2023-01-05 23:53:00 +02:00
Georgi Gerganov
1480a5f1af
Update README.md
Add SwiftUI example links
2022-12-23 11:02:46 +02:00
Georgi Gerganov
4c1fe0c813
Update README.md
Add bindings links / discussions
2022-12-22 18:22:58 +02:00
Georgi Gerganov
afe2db0fe2
Add Roadmap 2022-12-16 23:41:57 +02:00