Closed trholding closed 1 month ago
I am familiar with libnc
and gpt2c
- it partially inspired me to work on ggml
.
Currently, ggml
is missing implementation for the back-propagation of some of the operators.
I'll probably add this some time in the future.
The main problem is making the results reproducible across different CPUs and number of threads. This is something I have neglected in the current implementation and it will require some rework to get it right.
Finally, you would probably need to run this on the GPU when training. So it would be necessary to port the implementation to some GPU framework.
Overall, it is not a simple task to achieve what Fabrice has done 😄
Closing as it is only possible in the future or not relevant now.
Fabrice Bellard's https://bellard.org/libnc/gpt2tc.html gpt2tc is an excellent opensource tool to compress text to very tiny sizes with GPT-2 however it uses https://bellard.org/libnc/ https://bellard.org/libnc/libnc.html which is distributed only as a binary blob / lib. Maybe it could be possible to re-implement gpt2tc with ggml. Would be awesome.
gpt2c performs excellently on very small texts and produces the smallest file sizes.
Another compressor that is based on libnc is nncp and by the same author, it currently holds the world record in text compression: http://www.mattmahoney.net/dc/text.html