<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Token on Tarragon</title><link>https://tarrragon.github.io/blog/tags/token/</link><description>Recent content in Token on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Tue, 12 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/token/index.xml" rel="self" type="application/rss+xml"/><item><title>Image Token</title><link>https://tarrragon.github.io/blog/llm/knowledge-cards/image-token/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/llm/knowledge-cards/image-token/</guid><description>&lt;p>Image token（圖片 token）的核心概念是「&lt;strong>&lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/vlm/" data-link-title="VLM（Vision-Language Model）" data-link-desc="同時吃圖片 &amp;#43; 文字輸入、產生文字輸出的 LLM 變體、coding 工作流中處理截圖 / 設計稿 / UI debug 的基底">VLM&lt;/a> 把圖片過 &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/vision-encoder/" data-link-title="Vision Encoder" data-link-desc="VLM 內部負責把圖片轉成可進 Transformer 的向量序列的模組、ViT / CLIP encoder 為主流">vision encoder&lt;/a> 後、產出的向量序列、在 Transformer 內跟 text &lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/token/" data-link-title="Token" data-link-desc="LLM 處理文字時的最小單位：介於字元與單字之間">token&lt;/a> 同質處理&lt;/strong>」。理解這個概念能解釋為什麼「一張圖 = 幾百到幾千 token」、為什麼塞圖會吃掉 context budget、為什麼 VLM 推論比純文字 LLM 慢。&lt;/p>
&lt;h2 id="概念位置">概念位置&lt;/h2>
&lt;p>從圖到 image token 的轉換：&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">Input image: 1024×1024 RGB
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> ↓ Patchify（切 14×14 patch、得 ~5000 個 patch）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> ↓ Vision encoder（ViT 處理每個 patch、產 768/1024 維向量）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> ↓ Optional: 2D position embedding
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> ↓ Optional: pooling / merging（減少 token 數）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">Image tokens: ~500-2500 個（依模型設計）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl"> ↓ Projection（vision_dim → LLM hidden_dim、配合 LLM 內部維度）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl"> ↓ 跟 text token 串成單一 sequence
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">9&lt;/span>&lt;span class="cl"> ↓ Transformer 跟一般 token 一樣處理&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>主流 VLM 的單張圖 token 用量（粗略、依模型 / 解析度而變）：&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>模型&lt;/th>
 &lt;th>預設輸入解析度&lt;/th>
 &lt;th>單張圖約用 token&lt;/th>
 &lt;th>Context 影響&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>GPT-4o vision&lt;/td>
 &lt;td>動態（最高 2048×768）&lt;/td>
 &lt;td>~85 - 1000+&lt;/td>
 &lt;td>高解析度模式消耗大&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Claude 3 vision&lt;/td>
 &lt;td>動態&lt;/td>
 &lt;td>~1000-1600&lt;/td>
 &lt;td>一張圖 ≈ 1.5K text token&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Qwen2.5-VL&lt;/td>
 &lt;td>動態、可調 min/max&lt;/td>
 &lt;td>~500 - 4000&lt;/td>
 &lt;td>設定 &lt;code>min_pixels&lt;/code> 控制下限&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Llama 3.2 Vision&lt;/td>
 &lt;td>固定（560×560）&lt;/td>
 &lt;td>~1600&lt;/td>
 &lt;td>多張圖直接乘&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Gemma 3 Vision&lt;/td>
 &lt;td>動態&lt;/td>
 &lt;td>~256 - 2000&lt;/td>
 &lt;td>多語 / 多解析度&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>&lt;strong>事實查核註&lt;/strong>：上述 token 數量級依模型版本、推論配置（如「low / high detail」模式）變化、引用前以對應 model card 跟 API 文件為準。&lt;/p>&lt;/blockquote>
&lt;h2 id="設計責任">設計責任&lt;/h2>
&lt;p>讀 VLM API / 推論 log 看到「image tokens used: 1247」「visual tokens: 580」就是這指標。寫 code 場景的判讀：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>多張截圖 = context 吃緊&lt;/strong>：一張 1500 token、丟 10 張就 15K、加上 prompt 跟回答、long context 模型才能 handle&lt;/li>
&lt;li>&lt;strong>同張圖、解析度模式影響成本&lt;/strong>：許多 API 提供 low / auto / high detail 模式、low detail 約 1/10 token；OCR 需要高解析、不細節辨識可選 low&lt;/li>
&lt;li>&lt;strong>本地 VLM 推論 prefill 慢&lt;/strong>：image token 多、prefill 階段（&lt;a href="https://tarrragon.github.io/blog/llm/knowledge-cards/ttft/" data-link-title="TTFT" data-link-desc="Time To First Token：送出 prompt 到第一個 token 出現的等待時間">TTFT&lt;/a>）對應變長、第一個字出來要等較久&lt;/li>
&lt;li>&lt;strong>API 計費通常 image token 跟 text token 同價&lt;/strong>：算成本看實際用了多少 image token、不要假設「一張圖 = 一個 token」&lt;/li>
&lt;li>&lt;strong>Image token 是消耗品、不是參數&lt;/strong>：跟模型內部權重不同、純粹是「這次 forward pass 的 input」&lt;/li>
&lt;/ol></description><content:encoded><![CDATA[<p>Image token（圖片 token）的核心概念是「<strong><a href="/blog/llm/knowledge-cards/vlm/" data-link-title="VLM（Vision-Language Model）" data-link-desc="同時吃圖片 &#43; 文字輸入、產生文字輸出的 LLM 變體、coding 工作流中處理截圖 / 設計稿 / UI debug 的基底">VLM</a> 把圖片過 <a href="/blog/llm/knowledge-cards/vision-encoder/" data-link-title="Vision Encoder" data-link-desc="VLM 內部負責把圖片轉成可進 Transformer 的向量序列的模組、ViT / CLIP encoder 為主流">vision encoder</a> 後、產出的向量序列、在 Transformer 內跟 text <a href="/blog/llm/knowledge-cards/token/" data-link-title="Token" data-link-desc="LLM 處理文字時的最小單位：介於字元與單字之間">token</a> 同質處理</strong>」。理解這個概念能解釋為什麼「一張圖 = 幾百到幾千 token」、為什麼塞圖會吃掉 context budget、為什麼 VLM 推論比純文字 LLM 慢。</p>
<h2 id="概念位置">概念位置</h2>
<p>從圖到 image token 的轉換：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">Input image: 1024×1024 RGB
</span></span><span class="line"><span class="ln">2</span><span class="cl">   ↓ Patchify（切 14×14 patch、得 ~5000 個 patch）
</span></span><span class="line"><span class="ln">3</span><span class="cl">   ↓ Vision encoder（ViT 處理每個 patch、產 768/1024 維向量）
</span></span><span class="line"><span class="ln">4</span><span class="cl">   ↓ Optional: 2D position embedding
</span></span><span class="line"><span class="ln">5</span><span class="cl">   ↓ Optional: pooling / merging（減少 token 數）
</span></span><span class="line"><span class="ln">6</span><span class="cl">Image tokens: ~500-2500 個（依模型設計）
</span></span><span class="line"><span class="ln">7</span><span class="cl">   ↓ Projection（vision_dim → LLM hidden_dim、配合 LLM 內部維度）
</span></span><span class="line"><span class="ln">8</span><span class="cl">   ↓ 跟 text token 串成單一 sequence
</span></span><span class="line"><span class="ln">9</span><span class="cl">   ↓ Transformer 跟一般 token 一樣處理</span></span></code></pre></div><p>主流 VLM 的單張圖 token 用量（粗略、依模型 / 解析度而變）：</p>
<table>
  <thead>
      <tr>
          <th>模型</th>
          <th>預設輸入解析度</th>
          <th>單張圖約用 token</th>
          <th>Context 影響</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>GPT-4o vision</td>
          <td>動態（最高 2048×768）</td>
          <td>~85 - 1000+</td>
          <td>高解析度模式消耗大</td>
      </tr>
      <tr>
          <td>Claude 3 vision</td>
          <td>動態</td>
          <td>~1000-1600</td>
          <td>一張圖 ≈ 1.5K text token</td>
      </tr>
      <tr>
          <td>Qwen2.5-VL</td>
          <td>動態、可調 min/max</td>
          <td>~500 - 4000</td>
          <td>設定 <code>min_pixels</code> 控制下限</td>
      </tr>
      <tr>
          <td>Llama 3.2 Vision</td>
          <td>固定（560×560）</td>
          <td>~1600</td>
          <td>多張圖直接乘</td>
      </tr>
      <tr>
          <td>Gemma 3 Vision</td>
          <td>動態</td>
          <td>~256 - 2000</td>
          <td>多語 / 多解析度</td>
      </tr>
  </tbody>
</table>
<blockquote>
<p><strong>事實查核註</strong>：上述 token 數量級依模型版本、推論配置（如「low / high detail」模式）變化、引用前以對應 model card 跟 API 文件為準。</p></blockquote>
<h2 id="設計責任">設計責任</h2>
<p>讀 VLM API / 推論 log 看到「image tokens used: 1247」「visual tokens: 580」就是這指標。寫 code 場景的判讀：</p>
<ol>
<li><strong>多張截圖 = context 吃緊</strong>：一張 1500 token、丟 10 張就 15K、加上 prompt 跟回答、long context 模型才能 handle</li>
<li><strong>同張圖、解析度模式影響成本</strong>：許多 API 提供 low / auto / high detail 模式、low detail 約 1/10 token；OCR 需要高解析、不細節辨識可選 low</li>
<li><strong>本地 VLM 推論 prefill 慢</strong>：image token 多、prefill 階段（<a href="/blog/llm/knowledge-cards/ttft/" data-link-title="TTFT" data-link-desc="Time To First Token：送出 prompt 到第一個 token 出現的等待時間">TTFT</a>）對應變長、第一個字出來要等較久</li>
<li><strong>API 計費通常 image token 跟 text token 同價</strong>：算成本看實際用了多少 image token、不要假設「一張圖 = 一個 token」</li>
<li><strong>Image token 是消耗品、不是參數</strong>：跟模型內部權重不同、純粹是「這次 forward pass 的 input」</li>
</ol>
]]></content:encoded></item></channel></rss>