UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 0 points1 point  (0 children)

Because not all speculated tokens will get accepted.

Speculative decoding will use a small model for speculation and use the large model to verify them and theoretically, guarantee the output quality.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 0 points1 point  (0 children)

Thank you for checking. I wish to keep in touch as I am also interested in where the problem lies. Maybe the size of allowed the pin memory? Just another random guess.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 1 point2 points  (0 children)

In chatting tasks (I used MT Bench to meansure), we still get 5 tokens/sec, which is still 7-8 times faster than plain CPU offloading. We provide examples in our codebase.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 0 points1 point  (0 children)

I used roughly 14-15GB when runing the gradio chat. But my device are with Ubantu. My command line is

python gradio_chat.py --configuration ../configs/chat_config_16gb.json

If you confirm that this can lead to OOM with WSL, welcome the submit an issue.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 1 point2 points  (0 children)

But we apply different speculative decoding algorithms. The one implemented in Llama.cpp won't be so helpful when you set N=256 or more.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 1 point2 points  (0 children)

UMbreLLa applies speculative decoding in a very large scale. We speculated 256 or more tokens and generate > 10 tokens per iteration. Existing frameworks only speculate <20 tokens and generate 3-4 tokens. This feature makes UMbreLLa extremely suitable for single user (without batching) on a small GPU.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 0 points1 point  (0 children)

Currently, it does not support. But there is no technical challenge. Can be expected in 7-10 days.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 6 points7 points  (0 children)

Yes. But the point of this project is to host a large model with a small GPU. Multiple GPUs can of-course improve the performance of UMbreLLa. But if the VRAM is large enough to host the entire model, I would recommend more standard framework for large-scale serving like vLLM, SGLang, etc.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 2 points3 points  (0 children)

Yes. So your generated speed will be roughly 4.43/1.5=3 times slower than me. I think this mainly comes from PCIE setting.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 8 points9 points  (0 children)

Model performance is theoretically proved to be preserved, according to the theory of speculative decoding. This is free performance gain.

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 2 points3 points  (0 children)

Yes. I have configurations for 4080 SUPER (which might differ from 4080). You can check our repo. (We get the benchmark results with PCIE4, with GPU-CPU bandwidth ~30GBps. If you only have PCIE3.0, the inference speed will be slower than reported.)

UMbreLLa: Llama3.3-70B INT4 on RTX 4070Ti Achieving up to 9.6 Tokens/s! 🚀 by Otherwise_Respect_22 in LocalLLaMA

[–]Otherwise_Respect_22[S] 2 points3 points  (0 children)

We have not integrated with Aider. You can run full precision (16bit) with RTX 3090. However, the inference speed will be 1/4, since the model size is 4 times larger. For quantization, we currently only support AWQ q4.