<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[【實測】Ai-Toolkit 煉丹人注意！這個小改動讓你煉丹速度幾乎翻倍！]]></title><description><![CDATA[<h2><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4d6.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--book" style="height:23px;width:auto;vertical-align:middle" title="📖" alt="📖" /> 前言</h2>
<p dir="auto">看到這個區開了幾天也沒貼文，作為煉丹妹就發個小測試拋磚引玉一下吧 <img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60a.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--blush" style="height:23px;width:auto;vertical-align:middle" title="😊" alt="😊" /></p>
<p dir="auto"><strong>Ai-Toolkit</strong> 是一個較易入門的生圖模型 LoRA 訓練工具。作者 <strong>Jaret Burkett</strong> 大神將它設計得對弱雞系統非常友善（16 GB–32 GB 內存、&lt;24 GB 顯存的系統皆可使用）。</p>
<p dir="auto">不過，它的模型 Layer Offloading 採用<strong>循序執行</strong>。當 Rank 達到 <strong>512</strong> 時，每層的權重矩陣可達數百 MB，未經優化的循序傳輸速度高達 <strong>37+ s/it</strong>，效率相當低落。</p>
<p dir="auto">最近，我在 GitHub 上發現了 <strong>OrakulStudio</strong> 製作的 <a href="https://github.com/OrakulStudio/ai-toolkit-Ostris-bonememory" rel="nofollow ugc"><strong>Viking Engine 補丁</strong></a>（即 patch 安裝包）。它利用「雙緩衝非同步 CUDA 記憶體管理器」加上「強制 bf16 精度」兩大技術，聲稱訓練 Rank 512 LoRA 時可提速 6 倍，而且不會 OOM。</p>
<p dir="auto">目前討論度不高，GitHub 星數只有可憐的 2 顆（其中 1 顆還是我給的，哈）。但對煉丹妹來說，在同等品質下：</p>
<blockquote>
<p dir="auto"><strong>省時間 = 省電費 = 賺更多 <img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4b0.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--moneybag" style="height:23px;width:auto;vertical-align:middle" title="💰" alt="💰" /></strong></p>
</blockquote>
<p dir="auto">一箭三雕的事，當然要去試試看 <img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f617.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--kissing" style="height:23px;width:auto;vertical-align:middle" title="😗" alt="😗" /></p>
<hr />
<h2><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f3af.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--dart" style="height:23px;width:auto;vertical-align:middle" title="🎯" alt="🎯" /> 適用對象</h2>
<h3><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /> 這個補丁適合什麼人？</h3>
<ul>
<li><strong>顯存 &gt; 24 GB 的 N 卡用家</strong>（支援 bf16 精度）</li>
<li><strong>高內存系統</strong>（&gt;64 GB，128 GB 更佳）</li>
<li><strong>訓練大型模型</strong>（FLUX.2、Qwen-Image-Edit、XL 系模型等）</li>
<li><strong>使用 Ai-Toolkit 架構</strong>作煉丹的用家</li>
<li>煉丹時<strong>開始遇到不明死機或 OOM</strong> 的人</li>
</ul>
<h3><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/274c.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--x" style="height:23px;width:auto;vertical-align:middle" title="❌" alt="❌" /> 這個補丁不適合什麼人？</h3>
<ul>
<li><strong>A 卡、I 卡等非 N 卡用家</strong>（華為的卡能不能用，就等論壇大佬們測試了）</li>
<li><strong>低內存系統</strong>（16–32 GB）</li>
<li><strong>非使用 Ai-Toolkit 架構</strong>（如 Kohya_ss）的用家</li>
<li><strong>訓練小型模型</strong>（不需 Layer Offloading）</li>
<li><strong>對現有配置已感到滿意</strong>的用家</li>
</ul>
<p dir="auto">這個補丁我已經實裝一個多星期，訓練了好幾個 LoRA，提升了不少速度。</p>
<p dir="auto">但在論壇發文若只貼連結、把原文翻譯成中文，這種 Grok、Gemini 也會做的事感覺沒啥意思，倒不如做個小測試吧。順便驗證一下不同平台間的差異（畢竟作者大神只展示了他在 128 GB RTX 4090 Linux 系統上的結果）<img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f600.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--grinning" style="height:23px;width:auto;vertical-align:middle" title="😀" alt="😀" /></p>
<hr />
<h2><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f6e0.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--hammer_and_wrench" style="height:23px;width:auto;vertical-align:middle" title="🛠" alt="🛠" />️ 安裝方法</h2>
<blockquote>
<p dir="auto"><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--warning" style="height:23px;width:auto;vertical-align:middle" title="⚠" alt="⚠" />️ <strong>重要聲明：備份！備份！備份！</strong><br />
請先備份好你的 Ai-Toolkit 工作環境，或建立全新的工作環境再進行操作。下列以 <strong>Windows 系統下建立新工作環境</strong>作介紹。</p>
</blockquote>
<h3>1. 安裝 Ai-Toolkit</h3>
<p dir="auto">在 CMD 中執行：</p>
<pre><code class="language-bash">cd C:\Projects   # 你想運行的目錄
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
conda create --name ai-toolkit python=3.12
conda activate ai-toolkit
pip install --no-cache-dir torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
</code></pre>
<blockquote>
<p dir="auto"><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4a1.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--bulb" style="height:23px;width:auto;vertical-align:middle" title="💡" alt="💡" /> 原作者使用的是 <code>venv</code>，但我個人習慣用 <code>conda</code>。</p>
</blockquote>
<h3>2. 備份原檔案</h3>
<pre><code class="language-bash">copy jobs\process\BaseSDTrainProcess.py jobs\process\BaseSDTrainProcess_backup.py
copy toolkit\memory_management\manager_modules.py toolkit\memory_management\manager_modules_backup.py
</code></pre>
<h3>3. 安裝補丁（即 patch）</h3>
<pre><code class="language-bash">curl -o jobs\process\BaseSDTrainProcess.py https://raw.githubusercontent.com/OrakulStudio/ai-toolkit-Ostris-bonememory/refs/heads/main/core/BaseSDTrainProcess.py
curl -o toolkit\memory_management\manager_modules.py https://raw.githubusercontent.com/OrakulStudio/ai-toolkit-Ostris-bonememory/refs/heads/main/core/manager_modules.py
</code></pre>
<h3>4. 修改 <code>BaseSDTrainProcess.py</code></h3>
<p dir="auto">用 Notepad++（或其他編輯器）打開 <code>jobs\process\BaseSDTrainProcess.py</code>，找到第 22 行：</p>
<pre><code class="language-python">from huggingface_hub import HfApi, Repository, interpreter_login
</code></pre>
<p dir="auto">更改為：</p>
<pre><code class="language-python">from huggingface_hub import HfApi, interpreter_login
try:
    from huggingface_hub import Repository
except ImportError:
    Repository = None
try:
    from huggingface_hub.utils import HfFolder
except ImportError:
    HfFolder = None
</code></pre>
<h3>5. 運行 Ai-Toolkit WebUI</h3>
<blockquote>
<p dir="auto">需要先安裝 Node.js（版本 &gt; 20）</p>
</blockquote>
<pre><code class="language-bash">conda install -c conda-forge nodejs
cd ui
npm run build_and_start
</code></pre>
<hr />
<h2><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4bb.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--computer" style="height:23px;width:auto;vertical-align:middle" title="💻" alt="💻" /> 測試平台</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>項目</th>
<th>規格</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>主板</strong></td>
<td>永擎 ASRock ASRack X570D4I-2T ITX</td>
</tr>
<tr>
<td><strong>CPU</strong></td>
<td>AMD Ryzen 9 3900X</td>
</tr>
<tr>
<td><strong>內存</strong></td>
<td>128 GB DDR4 2400 MHz</td>
</tr>
<tr>
<td><strong>GPU</strong></td>
<td>Nvidia RTX 4090 48 GB</td>
</tr>
<tr>
<td><strong>儲存</strong></td>
<td>NVMe 4 TB SSD</td>
</tr>
<tr>
<td><strong>系統</strong></td>
<td>Windows 10 Pro</td>
</tr>
</tbody>
</table>
<p dir="auto"><img src="https://upload.lcz.me/uploads/e4a6fdd4-6ce2-474a-af3d-4685d6cc3bc3.png" alt="test_setup_00001.png" class=" img-fluid img-markdown" /></p>
<hr />
<h2>🧪 測試方法</h2>
<p dir="auto">使用 Ai-Toolkit，以 <a href="https://huggingface.co/datasets/tarn59/apply_texture_qwen_image_edit_2509_dataset" rel="nofollow ugc">Qwen-image-edit 材質應用資料集</a> 訓練 <strong>Qwen-image-edit 2511 LoRA</strong> 模型。</p>
<p dir="auto"><strong>訓練參數：</strong></p>
<ul>
<li>精度：bf16</li>
<li>解析度：1024 像素</li>
<li>Learning Rate：1e-4</li>
<li>分別在小 Rank（16、32）及高 Rank（64、128）進行比較</li>
</ul>
<hr />
<h2><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4ca.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--bar_chart" style="height:23px;width:auto;vertical-align:middle" title="📊" alt="📊" /> 測試結果（模型：Qwen-image-edit 2511）</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th style="text-align:center">LoRA Rank</th>
<th style="text-align:center">補丁前</th>
<th style="text-align:center">補丁後</th>
<th style="text-align:center">提升幅度</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center"><strong>Rank 16</strong></td>
<td style="text-align:center">~33.73 s/it</td>
<td style="text-align:center">~17.63 s/it</td>
<td style="text-align:center"><strong><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f680.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--rocket" style="height:23px;width:auto;vertical-align:middle" title="🚀" alt="🚀" /> ~91%</strong></td>
</tr>
<tr>
<td style="text-align:center"><strong>Rank 32</strong></td>
<td style="text-align:center">~33.66 s/it</td>
<td style="text-align:center">~17.50 s/it</td>
<td style="text-align:center"><strong><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f680.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--rocket" style="height:23px;width:auto;vertical-align:middle" title="🚀" alt="🚀" /> ~92%</strong></td>
</tr>
<tr>
<td style="text-align:center"><strong>Rank 64</strong></td>
<td style="text-align:center">~33.71 s/it</td>
<td style="text-align:center">~17.43 s/it</td>
<td style="text-align:center"><strong><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f680.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--rocket" style="height:23px;width:auto;vertical-align:middle" title="🚀" alt="🚀" /> ~94%</strong></td>
</tr>
<tr>
<td style="text-align:center"><strong>Rank 128</strong></td>
<td style="text-align:center">~34.32 s/it</td>
<td style="text-align:center">~28.08 s/it</td>
<td style="text-align:center">~22%</td>
</tr>
</tbody>
</table>
<p dir="auto"><strong>測試截圖</strong><br />
補丁前 Rank 16，平均 ~33.73 s/it<br />
<img src="https://upload.lcz.me/uploads/0e94e59c-0992-4c64-89fe-4651af61f86e.png" alt="test_r16_00001.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">補丁後 Rank 16，平均 ~33.66 s/it<br />
<img src="https://upload.lcz.me/uploads/40fb4a94-dd66-4d9c-80bf-38e7a943ef10.png" alt="test_r16_patched_00001.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">補丁前 Rank 32，平均 ~33.66 s/it<br />
<img src="https://upload.lcz.me/uploads/8d3f0e16-d78f-4aab-b2ea-f50bdda5a3d5.png" alt="test_r32_00001.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">補丁後 Rank 32，平均 ~17.50 s/it<br />
<img src="https://upload.lcz.me/uploads/edb94d22-795a-451b-a747-c5466058cd74.png" alt="test_r32_patched_00001.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">補丁前 Rank 64，平均 ~33.71 s/it<br />
<img src="https://upload.lcz.me/uploads/ac2475a9-b32a-478b-b010-99cb4446adcc.png" alt="test_r64_00001.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">補丁後 Rank 64，平均 ~17.43 s/it<br />
<img src="https://upload.lcz.me/uploads/32d7a2c9-326f-4d0f-acdd-1da4ac6618e6.png" alt="test_r64_patched_00001.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">補丁前 Rank 128，平均 ~34.32 s/it<br />
<img src="https://upload.lcz.me/uploads/d195d11a-3af3-46a4-ba1d-6fb95441d001.png" alt="test_r128_00001.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">補丁後 Rank 128，平均 ~28.08 s/it<br />
<img src="https://upload.lcz.me/uploads/f69463de-ba9f-4140-b467-ac3192386837.png" alt="test_r128_patched_00001.png" class=" img-fluid img-markdown" /></p>
<hr />
<h2><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f3ac.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--clapper" style="height:23px;width:auto;vertical-align:middle" title="🎬" alt="🎬" /> 結論</h2>
<p dir="auto">雖然速度上有顯著改善，但為什麼不能達到原作者所宣稱的大幅度提升呢？</p>
<p dir="auto">翻查 <a href="https://github.com/OrakulStudio/ai-toolkit-Ostris-bonememory/blob/main/logs/log_rank_1024_%D0%B0lfa64.txt" rel="nofollow ugc">作者的訓練紀錄</a> 後發現，他是用 <strong>512 像素</strong>作訓練測試，與本次測試使用的 <strong>1024 像素</strong>相差約 4 倍運算量。</p>
<p dir="auto">雖然未能達到原作者數倍的提升，但在較常用的 <strong>Rank 32、Rank 64</strong> 上仍有接近 <strong>90% 的速度提升</strong>，對煉丹來說絕對是一個值得折騰的修改！<img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4aa.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--muscle" style="height:23px;width:auto;vertical-align:middle" title="💪" alt="💪" /></p>
<h3><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4a1.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--bulb" style="height:23px;width:auto;vertical-align:middle" title="💡" alt="💡" /> 適用建議</h3>
<ul>
<li>如果你主要訓練 <strong>1024 解析度</strong>的 LoRA，建議搭配此補丁，可獲得約 90% 的速度提升。</li>
<li>如果你主要跑 <strong>512 解析度</strong>，提升幅度會更為驚人（依作者實測可達六倍）。</li>
</ul>
<p dir="auto">如果有更多測試結果，歡迎在留言區交流分享～祝大家煉丹愉快！<img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f525.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--fire" style="height:23px;width:auto;vertical-align:middle" title="🔥" alt="🔥" /></p>
<hr />
<h3><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/270d.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--writing_hand" style="height:23px;width:auto;vertical-align:middle" title="✍" alt="✍" />️ 後記</h3>
<p dir="auto">可能你會問：為什麼沒有測試 Rank 512 呢？其實我有測試過，但因為 CUDA Error 而沒有得出結果。跟 AI 交流幾輪後發現，應該是 <strong>Windows + PyTorch</strong> 的相容性問題，有時間再轉移到 Linux 系統試試吧 <img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f613.png?v=d348ca29232" class="not-responsive emoji emoji-android emoji--sweat" style="height:23px;width:auto;vertical-align:middle" title="😓" alt="😓" /></p>
<p dir="auto"><img src="https://upload.lcz.me/uploads/c0b2b249-c367-420b-8207-ae2eb7a6f9dd.png" alt="test_r512_patched_00001.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">最後呢，本技術之教學純屬研究性質，獲得本技術後的所有生成產物(包括但不限於文字、圖片，音訊、影片等)，皆與技術提供者無關。</p>
<blockquote>
<p dir="auto">修合無人見，存心有天知。</p>
</blockquote>
]]></description><link>https://lcz.me/topic/376/實測-ai-toolkit-煉丹人注意-這個小改動讓你煉丹速度幾乎翻倍</link><generator>RSS for Node</generator><lastBuildDate>Fri, 05 Jun 2026 23:41:15 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/376.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Jun 2026 05:45:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 【實測】Ai-Toolkit 煉丹人注意！這個小改動讓你煉丹速度幾乎翻倍！ on Mon, 01 Jun 2026 19:57:47 GMT]]></title><description><![CDATA[<p dir="auto">4090.。。48G 真的很能打。一代神卡了。</p>
]]></description><link>https://lcz.me/post/4602</link><guid isPermaLink="true">https://lcz.me/post/4602</guid><dc:creator><![CDATA[williamlouis]]></dc:creator><pubDate>Mon, 01 Jun 2026 19:57:47 GMT</pubDate></item><item><title><![CDATA[Reply to 【實測】Ai-Toolkit 煉丹人注意！這個小改動讓你煉丹速度幾乎翻倍！ on Mon, 01 Jun 2026 06:35:55 GMT]]></title><description><![CDATA[<p dir="auto">这个有点超出我的业务范围，但我后期也想搞搞类似的东西，频道还是要不断进步，我也要深入数字人，动画。非常好的分享，图文并茂，并且最后一句话我很喜欢，精神共鸣！</p>
]]></description><link>https://lcz.me/post/4500</link><guid isPermaLink="true">https://lcz.me/post/4500</guid><dc:creator><![CDATA[terry]]></dc:creator><pubDate>Mon, 01 Jun 2026 06:35:55 GMT</pubDate></item></channel></rss>