Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Read by thought-leaders and decision-makers around the world. Phone Number: +1-650-246-9381 Email: [email protected]
228 Park Avenue South New York, NY 10003 United States
Website: Publisher: https://towardsai.net/#publisher Diversity Policy: https://towardsai.net/about Ethics Policy: https://towardsai.net/about Masthead: https://towardsai.net/about
Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Founders: Roberto Iriondo, , Job Title: Co-founder and Advisor Works for: Towards AI, Inc. Follow Roberto: X, LinkedIn, GitHub, Google Scholar, Towards AI Profile, Medium, ML@CMU, FreeCodeCamp, Crunchbase, Bloomberg, Roberto Iriondo, Generative AI Lab, Generative AI Lab Denis Piffaretti, Job Title: Co-founder Works for: Towards AI, Inc. Louie Peters, Job Title: Co-founder Works for: Towards AI, Inc. Louis-François Bouchard, Job Title: Co-founder Works for: Towards AI, Inc. Cover:
Towards AI Cover
Logo:
Towards AI Logo
Areas Served: Worldwide Alternate Name: Towards AI, Inc. Alternate Name: Towards AI Co. Alternate Name: towards ai Alternate Name: towardsai Alternate Name: towards.ai Alternate Name: tai Alternate Name: toward ai Alternate Name: toward.ai Alternate Name: Towards AI, Inc. Alternate Name: towardsai.net Alternate Name: pub.towardsai.net
5 stars – based on 497 reviews

Frequently Used, Contextual References

TODO: Remember to copy unique IDs whenever it needs used. i.e., URL: 304b2e42315e

Resources

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

Publication

Run Local LLM Inference10x Faster (244 TOK/s): PyTorch II
Artificial Intelligence   Data Science   Latest   Machine Learning

Run Local LLM Inference10x Faster (244 TOK/s): PyTorch II

Last Updated on December 11, 2023 by Editorial Team

Author(s): Dr. Mandar Karhade, MD. PhD.

Originally published on Towards AI.

There are many ways to run, here is a quick overview

TLDR:

The Pytorch team came up with a way of optimizing purely by building ground-up optimizations below

Torch.compile: A compiler for PyTorch modelsGPU quantization: Accelerate models with reduced precision operationsSpeculative Decoding: Accelerate LLMs using a small β€œdraft” model to predict a large β€œtarget” model’s outputTensor Parallelism: Accelerate models by running them across multiple devices.

Pytorch achieved it all inside 1000 lines of code.

Here is the performance comparison

Now, let's go through these one by one!

This is the performance of LLaMA-7b.

Using LLaMA-7B, Pytorch analyzed the performance issues that are CPU-bound. That means the overhead is the first target to make it more efficient..

In comes the compiler. By compiling larger regions into a pre-compiled state, the number of CPU calls per operation decreases. This means that this wrapper can now perform without having gaps, as you see below.

To use it, simply use the following code

torch.compile(decode_one_token, mode="reduce-overhead", fullgraph=True)

What is happening under the hood?

Firstly, when more tokens are being generated, the kv-cache grows, needing reallocating and copying (expensive computation) each time the cache grows. Pytorch implemented stating large cache to allow maximum size.

Secondly, two strategies are needed to separately compile during the prefill phase. The entire prompt is processed dynamically and tokens are decoded as the code shown… Read the full blog for free on Medium.

Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming aΒ sponsor.

Published via Towards AI

Feedback ↓