]>
git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/log
David Thorpe [Sat, 7 Jan 2023 19:21:43 +0000 (19:21 +0000)]
go : adding features to the go-whisper example, go ci, etc (#384)
* Updated bindings so they can be used in third pary packages.
* Updated makefiles to set FMA flag on optionally, for xeon E5 on Darwin
* Added test script
* Changes for examples
* Reverted
* Made the NewContext method private
Georgi Gerganov [Sat, 7 Jan 2023 19:00:07 +0000 (21:00 +0200)]
ggml : fix bug in new soft max computation
Georgi Gerganov [Sat, 7 Jan 2023 18:18:34 +0000 (20:18 +0200)]
cmake : add -Wno-unused-function + update whisper.js
Georgi Gerganov [Sat, 7 Jan 2023 17:48:56 +0000 (19:48 +0200)]
ggml : when using BLAS start only 1 CPU thread
Georgi Gerganov [Sat, 7 Jan 2023 17:20:18 +0000 (19:20 +0200)]
ggml : fix running tasks with variable number of threads
Georgi Gerganov [Sat, 7 Jan 2023 15:32:23 +0000 (17:32 +0200)]
ggml : unroll ggml_vec_dot_f16 in ggml_compute_forward_flash_attn_f16
Georgi Gerganov [Sat, 7 Jan 2023 14:18:21 +0000 (16:18 +0200)]
whisper : revert accidental MB change
Georgi Gerganov [Sat, 7 Jan 2023 14:11:41 +0000 (16:11 +0200)]
ggml : speed-up soft max via Accelerate + unroll
Georgi Gerganov [Sat, 7 Jan 2023 14:10:16 +0000 (16:10 +0200)]
ggml : use vDSP_sve and vDSP_maxv from Accelerate
Georgi Gerganov [Sat, 7 Jan 2023 07:34:39 +0000 (09:34 +0200)]
ggml : make gcc happy (minor)
Georgi Gerganov [Fri, 6 Jan 2023 19:12:51 +0000 (21:12 +0200)]
talk.wasm : bump memory usage + update whisper.js
m.bell [Fri, 6 Jan 2023 17:36:33 +0000 (12:36 -0500)]
cmake : support AVX2 in Windows better (#381)
Georgi Gerganov [Fri, 6 Jan 2023 17:32:53 +0000 (19:32 +0200)]
David Thorpe [Fri, 6 Jan 2023 17:32:28 +0000 (17:32 +0000)]
go : bindings updated so they can be used in third party packages. (#379)
* Updated bindings so they can be used in third pary packages.
* Updated makefiles to set FMA flag on optionally, for xeon E5 on Darwin
Georgi Gerganov [Fri, 6 Jan 2023 17:32:12 +0000 (19:32 +0200)]
tmp
Georgi Gerganov [Fri, 6 Jan 2023 17:23:56 +0000 (19:23 +0200)]
cmake : change min required version to 3.0 (#351)
We increase the min version only when want to use particular
functionality that is available in the newer version
Georgi Gerganov [Fri, 6 Jan 2023 16:59:26 +0000 (18:59 +0200)]
command : add "guided-mode" video demo in the README.md
Abitofevrything [Fri, 6 Jan 2023 16:45:59 +0000 (17:45 +0100)]
ggml : add SSE3 and fp16 conversion lookup table (#368)
* Improves WASM performance:
On MacBook M1 Pro, I observe 25% faster using Firefox and 35% faster using Chrome
* Add support for SSE3 SIMD
* Add SSE3 to system information
* Add Imath support for fp16-fp32 conversions
* Add Imath to system information
* Wrap Imath calls to avoid static function warnings
* Drop Imath; Add lookup table for f16 -> f32 conversions
* Remove TODO comments
* Update SSE3 to new macro arguments
* Correct updated macro definitions
* Prefer static inline where possible
* ggml : static inlines + add public f16 <-> f32 conversions
Co-authored-by: Georgi Gerganov <redacted>
Thomas Fitzsimmons [Thu, 5 Jan 2023 04:00:30 +0000 (23:00 -0500)]
whisper : document POWER VSX support
Thomas Fitzsimmons [Tue, 3 Jan 2023 05:45:43 +0000 (00:45 -0500)]
ggml : reorganize POWER9 ppc64le SIMD code
Thomas Fitzsimmons [Tue, 3 Jan 2023 05:43:17 +0000 (00:43 -0500)]
ggml : change f16 load and store macro arguments
Georgi Gerganov [Thu, 5 Jan 2023 20:56:25 +0000 (22:56 +0200)]
whisper : do not use F16 tensors when in F32 mode (#369)
Georgi Gerganov [Thu, 5 Jan 2023 20:02:58 +0000 (22:02 +0200)]
ci : add emscripten build
Georgi Gerganov [Thu, 5 Jan 2023 19:45:05 +0000 (21:45 +0200)]
main : make whisper_print_segment_callback() more readable (close #371)
Georgi Gerganov [Thu, 5 Jan 2023 19:40:59 +0000 (21:40 +0200)]
cmake : add CMAKE_RUNTIME_OUTPUT_DIRECTORY
Currently needed by the wasm examples
Georgi Gerganov [Thu, 5 Jan 2023 19:40:38 +0000 (21:40 +0200)]
ggml : add void to argument-less functions
Georgi Gerganov [Thu, 5 Jan 2023 19:35:04 +0000 (21:35 +0200)]
minor : close #370 + Makefile build info print change
Andy Maloney [Thu, 5 Jan 2023 19:22:48 +0000 (14:22 -0500)]
cmake : update to 3.19 (#351)
- update from 3.0 (from 2014) to 3.19 (from 2020)
- move some global setting onto the targets (through a cmake include)
Andy Maloney [Sat, 31 Dec 2022 22:58:30 +0000 (17:58 -0500)]
whisper : use ranged-based for loops for readability
Georgi Gerganov [Thu, 5 Jan 2023 19:07:50 +0000 (21:07 +0200)]
ggml : define MIN / MAX only if not defined (minor)
Georgi Gerganov [Mon, 2 Jan 2023 11:35:26 +0000 (13:35 +0200)]
make : print build information
Georgi Gerganov [Mon, 2 Jan 2023 08:20:50 +0000 (10:20 +0200)]
stream : fix data race on bool + avoid division-by-zero
Georgi Gerganov [Mon, 2 Jan 2023 07:54:43 +0000 (09:54 +0200)]
models : fix HF model URL (close #356)
Andy Maloney [Sat, 31 Dec 2022 12:08:57 +0000 (07:08 -0500)]
command : refactor to split command list & general transcription modes (#331)
This makes it easier to understand if you're looking for only one of the capabilities.
Thomas Fitzsimmons [Fri, 30 Dec 2022 23:57:15 +0000 (18:57 -0500)]
ggml : improve f16 acceleration for POWER9 ppc64le
Georgi Gerganov [Sat, 31 Dec 2022 07:55:33 +0000 (09:55 +0200)]
whisper : add whisper_n_audio_ctx and check for invalid audio_ctx
closes #344
Ikko Ashimine [Fri, 30 Dec 2022 17:51:08 +0000 (02:51 +0900)]
models : fix typo in convert-h5-to-ggml.py
signficant -> significant
Avik Sengupta [Sat, 31 Dec 2022 07:48:00 +0000 (07:48 +0000)]
cmake : add runtime destination install (#345)
needed for mingw32 build to successfully install the dlls in the correct location
Georgi Gerganov [Fri, 30 Dec 2022 11:42:35 +0000 (13:42 +0200)]
whisper : avoid some memory allocations
Niels Mayer [Thu, 29 Dec 2022 12:04:00 +0000 (04:04 -0800)]
main : add -ocsv, aka --output-csv to output a CSV file
Adds -ocsv, aka --output-csv feature to examples/main, which outputs a CSV file containing lines formatted as follows <startTime-in-integer-milliseconds>, <endTime-in-integer-milliseconds>, "<transcript-line-including-commas>".
Georgi Gerganov [Thu, 29 Dec 2022 11:58:27 +0000 (13:58 +0200)]
make : add i686 arch (close #329)
Georgi Gerganov [Wed, 28 Dec 2022 16:47:30 +0000 (18:47 +0200)]
ggml : barrier refactor + static functions
Georgi Gerganov [Sat, 24 Dec 2022 08:22:28 +0000 (10:22 +0200)]
ggml : simplify the SIMD code (#324)
* ggml : simplify the SIMD code
* ggml : generic reduce for all register sizes + comments
Andy Maloney [Fri, 23 Dec 2022 18:19:07 +0000 (13:19 -0500)]
examples : fix memory leak on failure to load gpt2 model (#323)
Andy Maloney [Fri, 23 Dec 2022 18:18:51 +0000 (13:18 -0500)]
examples : small code cleanups (#322)
- remove unnecessary initialization of string to ""
- use empty() instead of checking size()
- use emplace_back instead of push_back
- use nullptr instead of NULL
- remove unnecessary call to .data() on string
- use character overload of find_first_of() instead of passing a string
Georgi Gerganov [Fri, 23 Dec 2022 11:48:19 +0000 (13:48 +0200)]
ggml : use vaddvq_f32 for slightly more efficient reduce
Thomas Fitzsimmons [Fri, 23 Dec 2022 06:19:19 +0000 (01:19 -0500)]
ggml : add f16 acceleration for POWER9 ppc64le
Georgi Gerganov [Fri, 23 Dec 2022 09:11:38 +0000 (11:11 +0200)]
models : fix support for spaces in path (close #315)
Andy Maloney [Fri, 23 Dec 2022 09:07:19 +0000 (04:07 -0500)]
whisper : use emplace_back in place of push_back (#319)
This avoids potential construction of temporaries.
Andy Maloney [Fri, 23 Dec 2022 09:06:17 +0000 (04:06 -0500)]
whisper : fix mem leak on failure to load model (#318)
Andy Maloney [Fri, 23 Dec 2022 09:05:27 +0000 (04:05 -0500)]
ggml : make consts static (#317)
These shouldn't be able to be referenced outside the compilation unit.
Georgi Gerganov [Fri, 23 Dec 2022 09:02:46 +0000 (11:02 +0200)]
Update README.md
Add SwiftUI example links
Digipom [Fri, 23 Dec 2022 08:56:18 +0000 (03:56 -0500)]
examples : add whisper.swiftui demo app (#308)
* Add SwiftUI demo project.
* Add -DGGML_USE_ACCELERATE
Georgi Gerganov [Thu, 22 Dec 2022 16:22:58 +0000 (18:22 +0200)]
Update README.md
Add bindings links / discussions
Andy Maloney [Thu, 22 Dec 2022 15:06:19 +0000 (10:06 -0500)]
minor : small code cleanups (#302)
* Small code cleanups
- fix indentation
- remove extra semicolons
- remove extra break after returns in case statements
- remove unnecessary call to .data() on string
- use empty() instead of checking size()
- no need to check for nullptr before free
- remove unnecessary initialization of string to ""
* minor : switch case always break
Co-authored-by: Georgi Gerganov <redacted>
Georgi Gerganov [Thu, 22 Dec 2022 14:43:57 +0000 (16:43 +0200)]
minor : flag "ARM FMA" -> "ARM_FMA"
Kevin Brothaler [Tue, 20 Dec 2022 20:15:59 +0000 (15:15 -0500)]
Build a vfpv4 library for armeabi-v7a and do runtime detection to select the right library
Kevin Brothaler [Tue, 20 Dec 2022 18:33:33 +0000 (13:33 -0500)]
Check for both __ARM_NEON and __ARM_FEATURE_FMA so that the project can be compiled for armv7a.
Android armeabi-v7a's NEON support doesn't support FMA unless configured with `-mfpu=neon-fp-armv8`, which would need runtime checks.
* Also removed ABI filter from Android project.
Kevin Brothaler [Tue, 20 Dec 2022 18:33:27 +0000 (13:33 -0500)]
Bump NDK version
Andy Maloney [Thu, 22 Dec 2022 14:35:18 +0000 (09:35 -0500)]
whisper : use nullptr (C++11) instead of NULL macro (#299)
Andy Maloney [Thu, 22 Dec 2022 14:34:47 +0000 (09:34 -0500)]
cmake : add headers to target (#298)
This will show the header files in IDEs.
Mohit Agarwal [Thu, 22 Dec 2022 14:34:20 +0000 (20:04 +0530)]
go : run `go mod tidy` before building examples + fix permissions (#296)
* run `go mod tidy` before building examples
Running `make examples` after cloning the repository gives the following
error:
```
...
[100%] Built target whisper
gmake[3]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build'
gmake[2]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build'
gmake[1]: Leaving directory '/tmp/exp/whisper.cpp/bindings/go/build'
Build example go-model-download
Build example go-whisper
examples/go-whisper/process.go:11:2: missing go.sum entry for module providing package github.com/go-audio/wav (imported by github.com/ggerganov/whisper.cpp/bindings/go/examples/go-whisper); to add:
go get github.com/ggerganov/whisper.cpp/bindings/go/examples/go-whisper
make: *** [Makefile:26: examples/go-whisper] Error 1
```
* remove executable bit from various files
David Thorpe [Tue, 20 Dec 2022 06:54:33 +0000 (07:54 +0100)]
bindings : initial import of golang bindings (#287)
* Initial import of golang bindings
* Updated makefile rules
* Updated bindings
* Makefile update to add in more tests
Georgi Gerganov [Mon, 19 Dec 2022 20:09:21 +0000 (22:09 +0200)]
Update README.md
Georgi Gerganov [Mon, 19 Dec 2022 18:45:08 +0000 (20:45 +0200)]
cmake : enable and fix -Wall -Wextra -Wpedantic C++ warnings
Matheus de Sousa [Mon, 19 Dec 2022 18:19:01 +0000 (15:19 -0300)]
minor : resolves some of warnings when compiling with clang/clang++ (#294)
* Resolves some of warnings when compiling with clang/clang++
Mostly nit stuff that clang catches when compiling with -Wall -Wextra
-pedantic.
- Fix comparison between sign/unsigned integers.
- Passes a constant reference (const&) instead of copying each time.
* minor : normalize coding style
* minor : fix warning
Co-authored-by: Georgi Gerganov <redacted>
Georgi Gerganov [Sat, 17 Dec 2022 17:52:42 +0000 (19:52 +0200)]
release : v1.0.4
katsu560 [Fri, 16 Dec 2022 23:42:30 +0000 (08:42 +0900)]
Add AVX,AVX2 support for ggml_vec_scale_f32
Georgi Gerganov [Sat, 17 Dec 2022 16:57:42 +0000 (18:57 +0200)]
make : revert accidental change of optimization flags
Georgi Gerganov [Sat, 17 Dec 2022 15:58:08 +0000 (17:58 +0200)]
whisper : language auto-detect (#59)
Georgi Gerganov [Fri, 16 Dec 2022 21:41:57 +0000 (23:41 +0200)]
Add Roadmap
Georgi Gerganov [Fri, 16 Dec 2022 19:50:41 +0000 (21:50 +0200)]
ggml : implement ggml_compute_forward_dup_f16() special cases
Georgi Gerganov [Fri, 16 Dec 2022 18:20:43 +0000 (20:20 +0200)]
main : add option to print the progress (#276)
Georgi Gerganov [Fri, 16 Dec 2022 17:43:16 +0000 (19:43 +0200)]
main : add "--prompt" command line argument (#90)
This allows to provide an initial prompt to be used at the start of the
processing.
Georgi Gerganov [Tue, 13 Dec 2022 19:46:42 +0000 (21:46 +0200)]
command : better indentation
Georgi Gerganov [Tue, 13 Dec 2022 19:36:29 +0000 (21:36 +0200)]
command : update README, show how to use guided mode
Georgi Gerganov [Tue, 13 Dec 2022 17:21:32 +0000 (19:21 +0200)]
command : adding guided mode
Georgi Gerganov [Tue, 13 Dec 2022 17:21:07 +0000 (19:21 +0200)]
whisper : add whisper_tokenize()
Tokenizes a string into a list of vocabulary tokens
Georgi Gerganov [Fri, 16 Dec 2022 17:28:51 +0000 (19:28 +0200)]
Update README.md (#46)
Add references to the new Android app
Digipom [Fri, 16 Dec 2022 17:20:13 +0000 (12:20 -0500)]
Add Android sample (#277)
* Add Android sample
* Use main project C files
* Stop existing playback before starting new playback
* Make text scrollable
* Stop playback when starting to record
* Remove extra var
Georgi Gerganov [Fri, 16 Dec 2022 16:51:46 +0000 (18:51 +0200)]
ci : add Windows build without OpenBLAS + change to Release (#85) (#282)
Georgi Gerganov [Fri, 16 Dec 2022 16:31:17 +0000 (18:31 +0200)]
whisper : improve decoding strategy (#244)
- Clear past prompt when there is very short audio left for processing.
My observation is that in these cases the decoding tends to repeat and
hallucinate stuff and I think this is induced by the existing prompt
- When we fail to sample timestamp token, retry by clearing the past
prompt. If it fails again, then we advance the window by 1 second
Georgi Gerganov [Fri, 16 Dec 2022 16:04:19 +0000 (18:04 +0200)]
stream : update README.md + comments
Georgi Gerganov [Fri, 16 Dec 2022 16:01:05 +0000 (18:01 +0200)]
Update README.md (#56)
Georgi Gerganov [Fri, 16 Dec 2022 16:00:12 +0000 (18:00 +0200)]
ggml : make more compatible with c99 (#262)
Georgi Gerganov [Thu, 15 Dec 2022 18:38:08 +0000 (20:38 +0200)]
Update README.md
Georgi Gerganov [Thu, 15 Dec 2022 18:15:36 +0000 (20:15 +0200)]
stream : fix build
Georgi Gerganov [Thu, 15 Dec 2022 16:28:22 +0000 (18:28 +0200)]
stream : add sliding window mode
Georgi Gerganov [Tue, 13 Dec 2022 21:13:55 +0000 (23:13 +0200)]
whisper : fix UB when reading buffer of length 0 bytes (#265)
Georgi Gerganov [Tue, 13 Dec 2022 21:09:01 +0000 (23:09 +0200)]
ggml : fix indentation
Georgi Gerganov [Tue, 13 Dec 2022 21:07:49 +0000 (23:07 +0200)]
ggml : make compatible with c99 (#262)
Georgi Gerganov [Mon, 12 Dec 2022 21:44:36 +0000 (23:44 +0200)]
talk : improve prompting
Georgi Gerganov [Mon, 12 Dec 2022 18:36:52 +0000 (20:36 +0200)]
release : v1.0.3
Fixed whisper.spm tests
Georgi Gerganov [Mon, 12 Dec 2022 18:33:09 +0000 (20:33 +0200)]
Update README.md
Georgi Gerganov [Mon, 12 Dec 2022 18:25:56 +0000 (20:25 +0200)]
release : v1.0.2
Georgi Gerganov [Mon, 12 Dec 2022 18:23:10 +0000 (20:23 +0200)]
Update README.md
Georgi Gerganov [Mon, 12 Dec 2022 18:20:51 +0000 (20:20 +0200)]
Update README.md
Georgi Gerganov [Mon, 12 Dec 2022 18:17:27 +0000 (20:17 +0200)]
Node.js package (#260)
* npm : preparing infra for node package
* npm : package infra ready
* npm : initial version ready
* npm : change name to whisper.cpp
whisper.js is taken
Georgi Gerganov [Sun, 11 Dec 2022 18:34:04 +0000 (20:34 +0200)]
talk : make compatible with c++11 (part 2)
Georgi Gerganov [Sun, 11 Dec 2022 18:19:17 +0000 (20:19 +0200)]
talk : make compatible with c++11