Commit Graph

111 Commits (5cb63e2493c49bc2c3b9b355696e8dc26cdd0380)
 

Author SHA1 Message Date
Stephan Walter 5cb63e2493
Add tqdm to Python requirements (#293)
* Add tqdm to Python requirements
* Remove torchvision torchaudio, add requests
1 year ago
cocktailpeanut da5303c1ea
bugfix: default should not be interactive (#304) 1 year ago
Georgi Gerganov 4545539d71
Rename script 1 year ago
Georgi Gerganov edeba28366
Add temporary helper script for Alpaca chat 1 year ago
Rickey Bowers Jr 5c19c70ba6
fix coloring of last `n_batch` of prompt, and refactor line input (#221)
* fix coloring of last `n_batch` of prompt, and refactor line input
* forgot the newline that needs to be sent to the model
* (per #283) try to force flush of color reset in SIGINT handler
1 year ago
tjohnman 24568371ae
Support for multiple reverse prompts. (#299)
Co-authored-by: Johnman <>
Co-authored-by: Johnman <tjohnman@github>
1 year ago
Suaj Carrot 7392f1cd2c
Improved quantize script (#222)
* Improved quantize script

I improved the quantize script by adding error handling and allowing to select many models for quantization at once in the command line. I also converted it to Python for generalization as well as extensibility.

* Fixes and improvements based on Matt's observations

Fixed and improved many things in the script based on the reviews made by @mattsta. The parallelization suggestion is still to be revised, but code for it was still added (commented).

* Small fixes to the previous commit

* Corrected to use the original glob pattern

The original Bash script uses a glob pattern to match files that have endings such as ...bin.0, ...bin.1, etc. That has been translated correctly to Python now.

* Added support for Windows and updated README to use this script

New code to set the name of the quantize script binary depending on the platform has been added (quantize.exe if working on Windows) and the README.md file has been updated to use this script instead of the Bash one.

* Fixed a typo and removed shell=True in the subprocess.run call

Fixed a typo regarding the new filenames of the quantized models and removed the shell=True parameter in the subprocess.run call as it was conflicting with the list of parameters.

* Corrected previous commit

* Small tweak: changed the name of the program in argparse

This was making the automatic help message to be suggesting the program's usage as being literally "$ Quantization Script [arguments]". It should now be something like "$ python3 quantize.py [arguments]".
1 year ago
tjohnman ad5fd5b60c
Make prompt randomization optional. (#300)
Co-authored-by: Johnman <>
1 year ago
tjohnman 368d0c8a9e
Respect the maximum number of tokens in interactive. (#298)
Co-authored-by: Johnman <johnman@github>
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
1 year ago
slaren 50fae10d03
Add --ignore-eos parameter (#181)
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
1 year ago
Qingyou Meng 084e2f0ec0
interactive mode: print '\n' in sigint_handler, this flush stdout thus ensure color reset. (#283) 1 year ago
Erik Scholz 0b366e7357
Command line switch to use F16 for memory_k and memory_v (refactor of #154) (#294)
* Use F16 for memory_k and memory_v

* add command line switch to use f16 instead of f32 for memory k+v

---------

Co-authored-by: Ty Everett <ty@tyweb.us>
1 year ago
Georgi Gerganov 160bfb217d
Update hot topics to mention Alpaca support 1 year ago
Georgi Gerganov c494ed5b94
Fix off-by-one bug (#115) 1 year ago
Georgi Gerganov c1c7026b47
Fix python stuff (#109) 1 year ago
qunash 467b149761
Refactoring `convert-pth-to-ggml.py`: more concise and readable (#109)
* Refactor get_n_parts function to simplify code and improve readability

* Use f-strings instead of concatenation

* Refactoring: more concise and readable

* modularize

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
1 year ago
Georgi Gerganov 70f01cb863
Drop trailing new line from file prompts (#80) 1 year ago
Georgi Gerganov a4e63b73df
Add instruction for using Alpaca (#240) 1 year ago
Georgi Gerganov 9e1707218a
Add "--instruct" argument for usage with Alpaca (#240)
Also start adding prompts in "./prompts"
1 year ago
Georgi Gerganov 22213a17b5
Change RMSNorm eps to 1e-6 (#173)
I think this is what is used in the Python code
1 year ago
Ronsor d7def1a752
Warn user if a context size greater than 2048 tokens is specified (#274)
LLaMA doesn't support more than 2048 token context sizes, and going above that produces terrible results.
1 year ago
Pavol Rusnak 6f61c18ec9 Fix typo in readme 1 year ago
Pavol Rusnak 1e5a6d088d Add note about Python 3.11 to readme 1 year ago
Pavol Rusnak 554b541521 Add memory/disk requirements to readme 1 year ago
Alex Nguyen d3f202d57b
Remove unused code since n_vocab is model.hparams.n_vocab (#262) 1 year ago
Justin Suess e03e359730
fixed warning with std::ignore about unused function result (#151)
fixed warning with std::ignore about unused function result
1 year ago
Gary Linscott a81d0c2a17
Fix n^2 loop in tokenization (#254)
This causes long prompts to parse very slowly.
1 year ago
anzz1 b2de7f18df
CI Improvements (#230)
* CI Improvements

Manual build feature, autoreleases for Windows

* better CI naming convention

use branch name in releases and tags
1 year ago
Niklas Korz a292747893
Nix flake (#40)
* Nix flake

* Nix: only add Accelerate framework on macOS

* Nix: development shel, direnv and compatibility

* Nix: use python packages supplied by withPackages

* Nix: remove channel compatibility

* Nix: fix ARM neon dotproduct on macOS

---------

Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
1 year ago
thement c9f670a177
Implement non-greedy tokenizer that tries to maximize token lengths (#242)
* Implement non-greedy tokenizer that tries to maximize token lengths

* Insert single space in front of the prompt

- this is to match original llama tokenizer behavior

---------

Co-authored-by: Jakub Horak <jakub.horak@ibawizard.net>
1 year ago
Georgi Gerganov 4f54609110
Default to 4 threads (#243) 1 year ago
Georgi Gerganov e81b9c81c1
Update Contributing section 1 year ago
Stephan Walter 367946c668
Don't tell users to use a bad number of threads (#243)
The readme tells people to use the command line option "-t 8", causing 8
threads to be started. On systems with fewer than 8 cores, this causes a
significant slowdown. Remove the option from the example command lines
and use /proc/cpuinfo on Linux to determine a sensible default.
1 year ago
mmyjona 6b0df5ccf3
add ptread link to fix cmake build under linux (#114)
* add ptread link to fix cmake build under linux

* add cmake to linux and macos platform

* separate make and cmake workflow

---------

Co-authored-by: Sebastián A <sebastian.aedo29@gmail.com>
1 year ago
Bernat Vadell 2af23d3043
🚀 Dockerize llamacpp (#132)
* feat: dockerize llamacpp

* feat: split build & runtime stages

* split dockerfile into main & tools

* add quantize into tool docker image

* Update .devops/tools.sh

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>

* add docker action pipeline

* change CI to publish at github docker registry

* fix name runs-on macOS-latest is macos-latest (lowercase)

* include docker versioned images

* fix github action docker

* fix docker.yml

* feat: include all-in-one command tool & update readme.md

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
1 year ago
Matvey Soloviev 904d2a8d6a
Q4_1 quantization (#193)
* Add AVX2 version of ggml_vec_dot_q4_1

* Small optimisations to q4_1 dot product (@Const-me)

* Rearrange Q4_1 quantization to work for multipart models. (Fix #152)

* Fix ggml_vec_mad_q4_1 too

* Fix non-vectorised q4_1 vec mul
1 year ago
Georgi Gerganov 721311070e
Update README.md 1 year ago
Georgi Gerganov ac15de7895
Expand "Contributing" section 1 year ago
Georgi Gerganov 273abc47ff
Update hot topics - RMSnorm 1 year ago
Nebula 9b4a15b17d
Fix RMS norm in GGML (#191) 1 year ago
hoangmit 6eac39ba95
Add RMS norm and use it (#187)
* add ggml_rms_norm

* update op num
1 year ago
moritzbrantner 27944c4206
fixed typo (#178) 1 year ago
Rickey Bowers Jr 2d15d6c9a9
add SIGINT support for _WIN32 environments (#120)
* add SIGINT support for _WIN32 environments

* perhaps more consistent
1 year ago
Justin Suess 2d64715ad4
added ctx_size parameter (#148)
* added ctx_size parameter

* added it in more places

* Apply suggestions from code review

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
1 year ago
Justin Suess 16b2c61a22
fixed color reset on exit (#149)
* fixed color reset on exit

* added sigint handler for ansi_color_reset

* Update main.cpp

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
1 year ago
Musab Gultekin 977295c700
Fix potential licensing issue (#126)
* Update README.md

* Update README.md

remove facebook
1 year ago
Ronsor 956dfda8ad
Use `tokenizer.vocab_size()` instead of hardcoding 32000 in convert-pth-to-ggml.py (#142)
There are ways that special tokens or other new tokens could be added to the tokenizer; therefore it's probably best not to assume the vocabulary is only 32000 tokens.
1 year ago
hoangmit 113e685d18
inline -> static inline for "bytesFromNibbles" (#161)
Without "static" prefix, it fails to compile in clang
1 year ago
Ronsor 47857e564c
Don't use vdotq_s32 if it's not available (#139)
* Don't use vdotq_s32 if it's not available

`dotprod` extensions aren't available on some ARM CPUs (e.g. Raspberry Pi 4), so check for them and only use them if they're available.

Reintroduces the code removed in 84d9015 if `__ARM_FEATURE_DOTPROD` isn't defined.

* Update ggml.c

---------

Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
1 year ago
Radoslav Gerganov 60f819a2b1
Add section to README on how to run the project on Android (#130) 1 year ago