mirror of
https://github.com/NVIDIA/TensorRT-LLM.git
synced 2026-01-14 06:27:45 +08:00
803 lines
44 KiB
HTML
803 lines
44 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<html class="writer-html5" lang="en" data-content_root="../">
|
|
<head>
|
|
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Numerical Precision — tensorrt_llm documentation</title>
|
|
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
|
|
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
|
|
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
|
|
|
|
|
|
<script src="../_static/jquery.js?v=5d32c60e"></script>
|
|
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
|
<script src="../_static/documentation_options.js?v=5929fcd5"></script>
|
|
<script src="../_static/doctools.js?v=9a2dae69"></script>
|
|
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
|
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
|
|
<script src="../_static/copybutton.js?v=65e89d2a"></script>
|
|
<script src="../_static/js/theme.js"></script>
|
|
<link rel="index" title="Index" href="../genindex.html" />
|
|
<link rel="search" title="Search" href="../search.html" />
|
|
<link rel="next" title="Memory Usage of TensorRT-LLM" href="memory.html" />
|
|
<link rel="prev" title="Support Matrix" href="support-matrix.html" />
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav">
|
|
<div class="wy-grid-for-nav">
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-scroll">
|
|
<div class="wy-side-nav-search" >
|
|
|
|
|
|
|
|
<a href="../index.html" class="icon icon-home">
|
|
tensorrt_llm
|
|
</a>
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
<p class="caption" role="heading"><span class="caption-text">Getting Started</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../overview.html">Overview</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../quick-start-guide.html">Quick Start Guide</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../key-features.html">Key Features</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">Release Notes</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">Installation</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../installation/linux.html">Installing on Linux</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../installation/build-from-source-linux.html">Building from Source Code on Linux</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../installation/windows.html">Installing on Windows</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../installation/build-from-source-windows.html">Building from Source Code on Windows</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../installation/grace-hopper.html">Installing on Grace Hopper</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">LLM API</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../llm-api/index.html">API Introduction</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../llm-api/reference.html">API Reference</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">LLM API Examples</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../llm-api-examples/index.html">LLM Examples Introduction</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../llm-api-examples/customization.html">Common Customizations</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../llm-api-examples/llm_api_examples.html">Examples</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">Model Definition API</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../python-api/tensorrt_llm.layers.html">Layers</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../python-api/tensorrt_llm.functional.html">Functionals</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../python-api/tensorrt_llm.models.html">Models</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../python-api/tensorrt_llm.plugin.html">Plugin</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../python-api/tensorrt_llm.quantization.html">Quantization</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../python-api/tensorrt_llm.runtime.html">Runtime</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">C++ API</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../_cpp_gen/executor.html">Executor</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../_cpp_gen/runtime.html">Runtime</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">Command-Line Reference</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../commands/trtllm-build.html">trtllm-build</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../commands/trtllm-serve.html">trtllm-serve</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">Architecture</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../architecture/overview.html">TensorRT-LLM Architecture</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../architecture/core-concepts.html">Model Definition</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../architecture/core-concepts.html#compilation">Compilation</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../architecture/core-concepts.html#runtime">Runtime</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../architecture/core-concepts.html#multi-gpu-and-multi-node-support">Multi-GPU and Multi-Node Support</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../architecture/checkpoint.html">TensorRT-LLM Checkpoint</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../architecture/workflow.html">TensorRT-LLM Build Workflow</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../architecture/add-model.html">Adding a Model</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">Advanced</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/gpt-attention.html">Multi-Head, Multi-Query, and Group-Query Attention</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/gpt-runtime.html">C++ GPT Runtime</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/executor.html">Executor API</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/graph-rewriting.html">Graph Rewriting Module</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/inference-request.html">Inference Request</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/inference-request.html#responses">Responses</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/lora.html">Run gpt-2b + LoRA using GptManager / cpp runtime</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/expert-parallelism.html">Expert Parallelism in TensorRT-LLM</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/kv-cache-reuse.html">KV cache reuse</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/speculative-decoding.html">Speculative Sampling</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../advanced/disaggregated-service.html">Disaggregated-Service (experimental)</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">Performance</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../performance/perf-overview.html">Overview</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../performance/perf-benchmarking.html">Benchmarking</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../performance/perf-best-practices.html">Best Practices</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../performance/perf-analysis.html">Performance Analysis</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">Reference</span></p>
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="support-matrix.html">Support Matrix</a></li>
|
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">Numerical Precision</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="#fp32-fp16-and-bf16">FP32, FP16 and BF16</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#quantization-and-dequantization-q-dq">Quantization and Dequantization (Q/DQ)</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#int8-smoothquant-w8a8">INT8 SmoothQuant (W8A8)</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#int4-and-int8-weight-only-w4a16-and-w8a16">INT4 and INT8 Weight-Only (W4A16 and W8A16)</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#gptq-and-awq-w4a16">GPTQ and AWQ (W4A16)</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#fp8-hopper">FP8 (Hopper)</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#support-matrix">Support matrix</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#technical-detail-the-quantmode-flags">Technical Detail: The <code class="docutils literal notranslate"><span class="pre">QuantMode</span></code> Flags</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="memory.html">Memory Usage of TensorRT-LLM</a></li>
|
|
</ul>
|
|
<p class="caption" role="heading"><span class="caption-text">Blogs</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../blogs/H100vsA100.html">H100 has 4.6x A100 Performance in TensorRT-LLM, achieving 10,000 tok/s at 100ms to first token</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../blogs/H200launch.html">H200 achieves nearly 12,000 tokens/sec on Llama2-13B with TensorRT-LLM</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../blogs/Falcon180B-H200.html">Falcon-180B on a single H200 GPU with INT4 AWQ, and 6.7x faster Llama-70B over A100</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../blogs/quantization-in-TRT-LLM.html">Speed up inference with SOTA quantization techniques in TRT-LLM</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../blogs/XQA-kernel.html">New XQA-kernel provides 2.4x more Llama-70B throughput within the same latency budget</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="../index.html">tensorrt_llm</a>
|
|
</nav>
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="Page navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
|
<li class="breadcrumb-item active">Numerical Precision</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
<a href="../_sources/reference/precision.md.txt" rel="nofollow"> View page source</a>
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<section id="numerical-precision">
|
|
<span id="precision"></span><h1>Numerical Precision<a class="headerlink" href="#numerical-precision" title="Link to this heading"></a></h1>
|
|
<p>This document describes the different quantization recipes implemented in TensorRT-LLM and contains a support matrix
|
|
for the different models.</p>
|
|
<section id="fp32-fp16-and-bf16">
|
|
<h2>FP32, FP16 and BF16<a class="headerlink" href="#fp32-fp16-and-bf16" title="Link to this heading"></a></h2>
|
|
<p>The different models implemented in TensorRT-LLM work with 32-bit IEEE
|
|
floating-point (FP32) numbers. When checkpoints are available, the models also
|
|
support 16-bit IEEE floating-point numbers (FP16) and 16-bit Bfloat16 (BF16) as
|
|
described <a class="reference external" href="https://en.wikipedia.org/wiki/Bfloat16_floating-point_format">here</a>.</p>
|
|
</section>
|
|
<section id="quantization-and-dequantization-q-dq">
|
|
<h2>Quantization and Dequantization (Q/DQ)<a class="headerlink" href="#quantization-and-dequantization-q-dq" title="Link to this heading"></a></h2>
|
|
<p>Given a floating-point number <code class="docutils literal notranslate"><span class="pre">x</span></code> and a floating-point scaling factor <code class="docutils literal notranslate"><span class="pre">s</span></code>,
|
|
TensorRT-LLM implements INT8 quantization as:</p>
|
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">q</span> <span class="o">=</span> <span class="n">int8</span><span class="o">.</span><span class="n">satfinite</span><span class="p">(</span><span class="n">x</span> <span class="o">*</span> <span class="n">s</span><span class="p">)</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Given an INT8 number <code class="docutils literal notranslate"><span class="pre">q</span></code> and a floating-point scaling factor <code class="docutils literal notranslate"><span class="pre">s</span></code>, TensorRT-LLM
|
|
implements INT8 dequantization to the floating-point (FP) type as:</p>
|
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">x</span> <span class="o">=</span> <span class="n">static_cast</span><span class="o"><</span><span class="n">FP</span><span class="o">></span><span class="p">(</span><span class="n">q</span><span class="p">)</span> <span class="o">*</span> <span class="n">s</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Given a matrix (2D tensor) of shape <code class="docutils literal notranslate"><span class="pre">M</span> <span class="pre">x</span> <span class="pre">N</span></code> (<code class="docutils literal notranslate"><span class="pre">M</span></code> rows and <code class="docutils literal notranslate"><span class="pre">N</span></code> columns) where
|
|
<code class="docutils literal notranslate"><span class="pre">M</span></code> is the number of tokens and <code class="docutils literal notranslate"><span class="pre">N</span></code> is the number of channels. TensorRT-LLM has
|
|
the three following modes to quantize and dequantize the elements of the
|
|
tensor:</p>
|
|
<ul class="simple">
|
|
<li><p>Per-tensor: It uses a single scaling factor for all the elements,</p></li>
|
|
<li><p>Per-token: It uses a different scaling factor for each token. There are <code class="docutils literal notranslate"><span class="pre">M</span></code>
|
|
scaling factors in that case,</p></li>
|
|
<li><p>Per-channel: It uses a different scaling factor for each channel. There are
|
|
<code class="docutils literal notranslate"><span class="pre">N</span></code> scaling factors in that case.</p></li>
|
|
</ul>
|
|
<p>Note that per-token and per-channel scaling modes can be used together (i.e.
|
|
they are <em>not</em> mutually exclusive).</p>
|
|
<p>In pseudo-code, the quantization can be implemented as follows for the three
|
|
different modes:</p>
|
|
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Per-tensor scaling.</span>
|
|
<span class="k">for</span> <span class="n">mi</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">M</span><span class="p">):</span>
|
|
<span class="k">for</span> <span class="n">ni</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">):</span>
|
|
<span class="n">q</span><span class="p">[</span><span class="n">mi</span><span class="p">][</span><span class="n">ni</span><span class="p">]</span> <span class="o">=</span> <span class="n">int8</span><span class="o">.</span><span class="n">satfinite</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="n">mi</span><span class="p">][</span><span class="n">ni</span><span class="p">]</span> <span class="o">*</span> <span class="n">s</span><span class="p">)</span>
|
|
|
|
<span class="c1"># Per-token scaling.</span>
|
|
<span class="k">for</span> <span class="n">mi</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">M</span><span class="p">):</span>
|
|
<span class="k">for</span> <span class="n">ni</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">):</span>
|
|
<span class="n">q</span><span class="p">[</span><span class="n">mi</span><span class="p">][</span><span class="n">ni</span><span class="p">]</span> <span class="o">=</span> <span class="n">int8</span><span class="o">.</span><span class="n">satfinite</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="n">mi</span><span class="p">][</span><span class="n">ni</span><span class="p">]</span> <span class="o">*</span> <span class="n">s</span><span class="p">[</span><span class="n">mi</span><span class="p">])</span>
|
|
|
|
<span class="c1"># Per-channel scaling.</span>
|
|
<span class="k">for</span> <span class="n">mi</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">M</span><span class="p">):</span>
|
|
<span class="k">for</span> <span class="n">ni</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">N</span><span class="p">):</span>
|
|
<span class="n">q</span><span class="p">[</span><span class="n">mi</span><span class="p">][</span><span class="n">ni</span><span class="p">]</span> <span class="o">=</span> <span class="n">int8</span><span class="o">.</span><span class="n">satfinite</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="n">mi</span><span class="p">][</span><span class="n">ni</span><span class="p">]</span> <span class="o">*</span> <span class="n">s</span><span class="p">[</span><span class="n">ni</span><span class="p">])</span>
|
|
</pre></div>
|
|
</div>
|
|
</section>
|
|
<section id="int8-smoothquant-w8a8">
|
|
<h2>INT8 SmoothQuant (W8A8)<a class="headerlink" href="#int8-smoothquant-w8a8" title="Link to this heading"></a></h2>
|
|
<p>The SmoothQuant technique was introduced in
|
|
<a class="reference external" href="https://arxiv.org/abs/2211.10438">https://arxiv.org/abs/2211.10438</a>. It is a
|
|
method to run inference using INT8 for both activations and weights while
|
|
maintaining the accuracy of the network (on downstream tasks).</p>
|
|
<p>As explained in the research paper, preprocessing must be applied to the
|
|
weights of the model. TensorRT-LLM includes scripts to prepare the model to
|
|
run using the SmoothQuant method.</p>
|
|
<p>Examples of how to enable SmoothQuant for GPT, GPT-J and LLaMA can be found in
|
|
the <a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/examples/quantization">examples/quantization</a> folder of that release.</p>
|
|
</section>
|
|
<section id="int4-and-int8-weight-only-w4a16-and-w8a16">
|
|
<h2>INT4 and INT8 Weight-Only (W4A16 and W8A16)<a class="headerlink" href="#int4-and-int8-weight-only-w4a16-and-w8a16" title="Link to this heading"></a></h2>
|
|
<p>The INT4 and INT8 Weight-Only techniques consist in quantizing the weights of
|
|
a model and dequantizing those weights on-the-fly in linear layers (Matmuls).
|
|
The activations are encoded using floating-point values (FP16 or BF16).</p>
|
|
<p>To use INT4/INT8 Weight-Only methods, the user must determine the scaling
|
|
factors to use to quantize and dequantize the weights of the model.</p>
|
|
<p>This release includes examples for <a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/examples/gpt">GPT</a> and
|
|
<a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/examples/llama">LLaMA</a>.</p>
|
|
</section>
|
|
<section id="gptq-and-awq-w4a16">
|
|
<h2>GPTQ and AWQ (W4A16)<a class="headerlink" href="#gptq-and-awq-w4a16" title="Link to this heading"></a></h2>
|
|
<p>The GPTQ and AWQ techniques are presented in
|
|
<a class="reference external" href="https://arxiv.org/abs/2210.17323">https://arxiv.org/abs/2210.17323</a>
|
|
and
|
|
<a class="reference external" href="https://arxiv.org/abs/2306.00978">https://arxiv.org/abs/2306.00978</a>,
|
|
respectively. TensorRT-LLM supports per-group scaling factors and
|
|
zero-offsetting in linear layers to implement GPTQ and AWQ methods. See the
|
|
<a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/cpp/tensorrt_llm/plugins/weightOnlyGroupwiseQuantMatmulPlugin">WeightOnlyGroupwiseQuantMatmulPlugin</a>
|
|
plugin and the corresponding
|
|
<a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/tensorrt_llm/quantization/functional.py"><code class="docutils literal notranslate"><span class="pre">weight_only_groupwise_quant_matmul</span></code></a>
|
|
Python function, for details.</p>
|
|
<p>This release includes examples of applying GPTQ to <a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/examples/gpt">GPT-NeoX</a>
|
|
and <a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/examples/llama">LLaMA-v2</a>, as well as an example of using AWQ with
|
|
<a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/examples/gptj">GPT-J</a>. Those examples are experimental implementations and
|
|
are likely to evolve in a future release.</p>
|
|
</section>
|
|
<section id="fp8-hopper">
|
|
<h2>FP8 (Hopper)<a class="headerlink" href="#fp8-hopper" title="Link to this heading"></a></h2>
|
|
<p>This release of TensorRT-LLM contains implementations of FP8 for GPT-NeMo,
|
|
GPT-J and LLaMA. Those examples can be found in
|
|
<a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/examples/quantization">examples/quantization</a>.</p>
|
|
</section>
|
|
<section id="support-matrix">
|
|
<h2>Support matrix<a class="headerlink" href="#support-matrix" title="Link to this heading"></a></h2>
|
|
<p>This release of TensorRT-LLM contains the following examples:</p>
|
|
<table class="docutils align-default">
|
|
<thead>
|
|
<tr class="row-odd"><th class="head text-left"><p>Model</p></th>
|
|
<th class="head text-center"><p>FP32</p></th>
|
|
<th class="head text-center"><p>FP16</p></th>
|
|
<th class="head text-center"><p>BF16</p></th>
|
|
<th class="head text-center"><p>FP8</p></th>
|
|
<th class="head text-center"><p>W8A8 SQ</p></th>
|
|
<th class="head text-center"><p>W8A16</p></th>
|
|
<th class="head text-center"><p>W4A16</p></th>
|
|
<th class="head text-center"><p>W4A16 AWQ</p></th>
|
|
<th class="head text-center"><p>W4A16 GPTQ</p></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="row-even"><td class="text-left"><p>Baichuan</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>BERT</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>BLIP-2</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>BLOOM</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>ChatGLM</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>ChatGLM-v2</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>ChatGLM-v3</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>DBRX</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>Falcon</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>Flan-T5</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>Gemma</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>GPT</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>GPT-J</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>GPT-NeMo</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>GPT-NeoX</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>InternLM</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>InternLM2</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>LLaMA</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>LLaMA-v2</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>Mamba</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>Mistral</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>Mixtral</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>MPT</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>OPT</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>Phi</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>Qwen</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>RecurrentGemma</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>Replit Code</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>SantaCoder</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>Skywork</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>StarCoder1</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>StarCoder2</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>T5</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>Whisper</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>BLIP2-OPT</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>BLIP2-T5</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>LLaVA</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-odd"><td class="text-left"><p>VILA</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
</tr>
|
|
<tr class="row-even"><td class="text-left"><p>Nougat</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>Y</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
<td class="text-center"><p>.</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Note: The vision component of multi-modal models(BLIP2-OPT/BLIP2-T5/LLaVA/VILA/Nougat) uses FP16 by default.
|
|
The language component decides which quantization methods are supported by a given multi-modal model.</p>
|
|
</section>
|
|
<section id="technical-detail-the-quantmode-flags">
|
|
<h2>Technical Detail: The <code class="docutils literal notranslate"><span class="pre">QuantMode</span></code> Flags<a class="headerlink" href="#technical-detail-the-quantmode-flags" title="Link to this heading"></a></h2>
|
|
<p>The quantization method is controlled by the
|
|
<a class="reference external" href="https://github.com/NVIDIA/TensorRT-LLM/tree/user/kaiyu/update_disagg_doc/tensorrt_llm/quantization/mode.py"><code class="docutils literal notranslate"><span class="pre">QuantMode</span></code></a> flags. The different fields
|
|
are:</p>
|
|
<ul class="simple">
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">INT4_WEIGHTS</span></code>, the weights are quantized to 4 bits (W4A*),</p></li>
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">INT8_WEIGHTS</span></code>, the weights are quantized to 8 bits (W8A*),</p></li>
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">ACTIVATIONS</span></code>, the activations are quantized to 8 bits (W*A8),</p></li>
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">PER_CHANNEL</span></code>, the scaling factors are defined per channel,</p></li>
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">PER_TOKEN</span></code>, the scaling factors are defined per token,</p></li>
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">PER_GROUP</span></code>, the scaling factors are defined per group.</p></li>
|
|
</ul>
|
|
<p>There are three additional flags to control TensorRT-LLM:</p>
|
|
<ul class="simple">
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">INT8_KV_CACHE</span></code>, the K/V cache stores K and V using 8-bit integers,</p></li>
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">FP8_KV_CACHE</span></code>, the K/V cache stores K and V using 8-bit floating-point numbers,</p></li>
|
|
<li><p><code class="docutils literal notranslate"><span class="pre">FP8_QDQ</span></code>, TensorRT-LLM relies on automatic fusion of Q/DQ nodes in TensorRT.</p></li>
|
|
</ul>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
|
<a href="support-matrix.html" class="btn btn-neutral float-left" title="Support Matrix" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
|
<a href="memory.html" class="btn btn-neutral float-right" title="Memory Usage of TensorRT-LLM" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
|
</div>
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<jinja2.runtime.BlockReference object at 0x7da7918d4b60>
|
|
|
|
<div class="footer">
|
|
<p>
|
|
Copyright © 2024 NVIDIA Corporation
|
|
</p>
|
|
<p>
|
|
<a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/privacy-policy/" target="_blank" rel="noopener"
|
|
data-cms-ai="0">Privacy Policy</a> |
|
|
<a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/privacy-center/" target="_blank" rel="noopener"
|
|
data-cms-ai="0">Manage My Privacy</a> |
|
|
<a class="Link" href="https://www.nvidia.com/en-us/preferences/start/" target="_blank" rel="noopener"
|
|
data-cms-ai="0">Do Not Sell or Share My Data</a> |
|
|
<a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/terms-of-service/" target="_blank"
|
|
rel="noopener" data-cms-ai="0">Terms of Service</a> |
|
|
<a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/accessibility/" target="_blank" rel="noopener"
|
|
data-cms-ai="0">Accessibility</a> |
|
|
<a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/company-policies/" target="_blank"
|
|
rel="noopener" data-cms-ai="0">Corporate Policies</a> |
|
|
<a class="Link" href="https://www.nvidia.com/en-us/product-security/" target="_blank" rel="noopener"
|
|
data-cms-ai="0">Product Security</a> |
|
|
<a class="Link" href="https://www.nvidia.com/en-us/contact/" target="_blank" rel="noopener"
|
|
data-cms-ai="0">Contact</a>
|
|
</p>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<script>
|
|
jQuery(function () {
|
|
SphinxRtdTheme.Navigation.enable(true);
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html> |