122 karma · joined August 14, 2015
We are polishing the 4-bit code. It will be added to Punica code base soon. Please stay tuned :)
We call for the open source community to help us integrate Punica with all frameworks, thus the whole society can benefit from the efficiency improvement!
We'll keep doing more research on finetuning. And hopefully, we'll see the results soon.
[1] https://le.qun.ch/en/blog/2023/09/11/multi-lora-potentials/
Look forward to collaboration with TVM and MLC to reach more users :)
[1] Jupiter Evolving: Transforming Google’s Datacenter Network via Optical Circuit Switches and Software-Defined Networking. https://research.google/pubs/pub51587/
But anyway, good to see that Linux desktop is gaining fractional scaling support!
[1] https://play.google.com/store/apps/details?id=com.llamalab.a...
[2] https://llamalab.com/automate/doc/block/sms_received.html
That's exactly my feeling when I was watching Jon Gjengset's Rust tutorials. I like his real reactions to unexpected problems. Really learned a lot from this kind of lengthy but realistic videos. https://www.youtube.com/c/JonGjengset/featured
Insertion for example, if I want to insert a value which is smaller than the smallest element in the last heap, then it'll have to be inserted into some heap in the middle, right? And since the heap is in the middle, say heap K, its size already reaches its upper limitation K^2. Then where should the new value go? If I insist on pushing it into heap K, then the heap will violate the size limitation. Should I split the oversized heap into several heaps some time? If it does split, will the O(sqrt n) searching time still holds?
Or maybe I just have not caught the author's idea yet. :-(
BTW, why not BST, for everything is O(log n)?
Update: @nikic solved my questions. Thanks!