News for hackers. Stuff that matters.

abcdabcd987

Re:A guide to open-source LLM inference and performance on Monday November 20, 2023 @07:45PM (#38357194)
Related discussion on serving finetuned LLMs: https://news.ycombinator.com/item?id=38196661
Re:Punica: Serving multiple LoRA finetuned LLM as one on Thursday November 09, 2023 @12:24AM (#38201489)
Thanks for your encouragement! We are working on quantization as well. We recently submitted a paper, Atom [1], that uses 4-bit quantization, delivering 7.73x throughput compared to FP16 and 2.53x compared to INT8. Atom is able to maintain a perplexity (i.e., model accuracy) close to FP16, outperforming existing quantization approaches.

We are polishing the 4-bit code. It will be added to Punica code base soon. Please stay tuned :)

[1] https://arxiv.org/abs/2310.19102

Re:Punica: Serving multiple LoRA finetuned LLM as one on Wednesday November 08, 2023 @10:42PM (#38200895)
Certainly! We'd like our good designs to be picked up by frameworks and serve all users. Currently, Punica is built on top of PyTorch and HuggingFace Transformers ecosystems. Therefore, vLLM and LMDeploy, which are also in the PyTorch ecosystem, should have a smooth adaption. As for Nvidia Triton and TensorRT-LLM, since our kernels are written in CUDA, I believe it will also work seamlessly.

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!

Re:Punica: Serving multiple LoRA finetuned LLM as one on Wednesday November 08, 2023 @10:34PM (#38200834)
Thank you! We are also very excited about combining the fast fine-tuning and efficient serving. In fact, what you just said is very related to one of our very first motivations. In my previous blog post [1], I call this scheme "Just-in-time Fine-tuning". Our previous measurement is that, for a medium-sized webpage (~10K tokens), it takes around 30 seconds to 2 minutes to finetune a LoRA model. Another good side of this JIT fine-tuning scheme is that, we can turn any model into a long-context model.

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/

Re:Punica: Serving multiple LoRA finetuned LLM as one on Wednesday November 08, 2023 @06:50PM (#38198946)
Thanks for the question. Currently Punica is on the ecosystem of PyTorch and HuggingFace Transformers. So PyTorch users can start to use Punica now.

Look forward to collaboration with TVM and MLC to reach more users :)

On a related note, Google also uses optical circuit switches in their datacenter network. See the paper form SIGCOMM'22 [1].

[1] Jupiter Evolving: Transforming Google’s Datacenter Network via Optical Circuit Switches and Software-Defined Networking. https://research.google/pubs/pub51587/

Re:This week in KDE: Wayland fractional scaling on Sunday December 25, 2022 @05:36PM (#34132218)
I'm using 27-inch 4K monitors with Gnome. I found it more practical to use no scaling but 1.25x text size (settings in gnome-tweaks). The problem for me with 2x scaling or fractional scaling is that it scales UI (icons, margins) as well. As someone who appreciates functionality (i.e., displaying text) over overdesigned white spacing, scaling the whole UI is just wasting my workspace size whereas scaling text-only is a perfect balance between good-looking text and workspace size.

But anyway, good to see that Linux desktop is gaining fractional scaling support!

Re:Turn your Android phone into SMS API gateway on Tuesday August 10, 2021 @02:37AM (#28125729)
Re:Most of the time, you don’t really need another MOOC on Wednesday January 27, 2021 @03:10PM (#25933261)
> If you find a really good tutorial by programmers who are both excellent teachers and experienced in that particular field, it beats JIT learning on a personal project in one important respect. You get exposure to the One True Way of doing things.

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

Re:Show HN: WebCatalog – turn websites into desktop apps on Thursday October 15, 2020 @05:24PM (#24794204)
Just mentioning two related programs in my mind: Franz (https://meetfranz.com/) and nativefier (https://github.com/jiahaog/nativefier).

Chowbus user data breach (email, name, phone, address) with 800k rows

Email sent to all users via Chowbus Sendgrid. Link to anonymousfiles.io. Two CSVs, restaurants and users. $ head -n 1 users_y1KGkRi.csv "email","first_name","last_name","phone_number","address_1","address_2","city","state","zip_code" $ wc -l users_y1KGkRi.csv 803354 users_y1KGkRi.csv $ cat users_y1KGkRi.csv | cut -d "," -f 1 | sort | uniq | wc -l 444218 $ head -n 1...

( Read More... | 6 comments | 17 points | on HN )
Just want to mention bitbar[1]. Write anything to stdout, it'll make it show up in the menu bar.

[1] https://github.com/matryer/bitbar

Check out the HotOS'19 paper from our lab :) https://danyangzhuo.com/papers/HotOS19-Stone.pdf
Re:Tracking friends and strangers using WhatsApp on Monday October 09, 2017 @04:53PM (#15437362)
I think I did almost the same thing three years ago. See: https://www.v2ex.com/t/121272 (in Chinese only, sorry. I should translate it to English when I'm free)
Re:An interesting data structure with search time O(sqrt n) on Monday November 30, 2015 @08:43PM (#10653171)
Well, it's not a big problem. This case won't exist in most BSTs. Even if it appears in some BST, splay tree for example, it will be amortized.
Re:An interesting data structure with search time O(sqrt n) on Monday November 30, 2015 @08:03PM (#10653034)
I'm confused. I can follow the logic for O(sqrt n) searching. yeah, that's cool. But how to maintain the structure when inserting or deleting?

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!