| ▲ | Cieric 6 hours ago | |||||||
I was actually just working on the same thing as this, but I went down the route of mmapping the entire model into memory to avoid the extra ram usage. I also had Claude implement Medusa[1] on the model to try and avoid loading an additional model into memory but still get the benefits of MTP. Currently at a stop light so I can't list everything and I didn't get to read your full post either yet. To expand since I just got home, I'm making all of my modifications to llama.cpp, the goal was to eventually put this on a SBC of some kind with an nvme to handle the mmapped files. I think the theoretical limit of my current setup is about 1.8 tok/s based on prior testing but that is also with the additional medusa heads not fully trained (I honestly don't know if the counting it's generated tokens or not.) In the end it seems like the idea we had is similar, I just don't know how to write an llm parser/runner from scratch yet and instead of specifying what needed to stay in memory I just let the linux kernel handle it. Oh last note, I also capped llama.cpp usage to 16GB of my 32GB, so it might be possible to get it down even lower. | ||||||||
| ▲ | vforno 6 hours ago | parent | next [-] | |||||||
if you like, colibrì always needs to improve so if you have ideas or anything else you are welcome for pull request issues and also benchmarks! | ||||||||
| ||||||||
| ▲ | dicroce 4 hours ago | parent | prev [-] | |||||||
This is the approach I was wondering about. | ||||||||