Buckets:

hf-doc-build/doc / diffusers /main /vi /training /nemo_automodel.html
mishig's picture
download
raw
71.4 kB
<meta charset="utf-8" /><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;NeMo Automodel&quot;,&quot;local&quot;:&quot;nemo-automodel&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Các mô hình được hỗ trợ&quot;,&quot;local&quot;:&quot;supported-models&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Cài đặt&quot;,&quot;local&quot;:&quot;installation&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Yêu cầu phần cứng&quot;,&quot;local&quot;:&quot;hardware-requirements&quot;,&quot;sections&quot;:[],&quot;depth&quot;:3}],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Chuẩn bị dữ liệu&quot;,&quot;local&quot;:&quot;data-preparation&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Định dạng đầu ra&quot;,&quot;local&quot;:&quot;output-format&quot;,&quot;sections&quot;:[],&quot;depth&quot;:3}],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Cấu hình huấn luyện&quot;,&quot;local&quot;:&quot;training-configuration&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Tham chiếu trường cấu hình&quot;,&quot;local&quot;:&quot;config-field-reference&quot;,&quot;sections&quot;:[],&quot;depth&quot;:3}],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Khởi động huấn luyện&quot;,&quot;local&quot;:&quot;launch-training&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Sinh&quot;,&quot;local&quot;:&quot;generation&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Tích hợp Diffusers&quot;,&quot;local&quot;:&quot;diffusers-integration&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Đội ngũ NVIDIA&quot;,&quot;local&quot;:&quot;nvidia-team&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Tài nguyên&quot;,&quot;local&quot;:&quot;resources&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}"/>
<link href="/docs/diffusers/main/en/_app/immutable/entry/start.0S0_iEoG.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/I9eooN77.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/Bupkjr9f.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/entry/app.CPdOxCbw.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/CyvZ3FS5.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/l0QnnOED.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/DnVIJfC5.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/DsnmJJEf.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/nodes/0.DteTvmQZ.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/CoSrdQax.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/nodes/375.boh_27Hd.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/DSPDl1gz.js" rel="modulepreload">
<link href="/docs/diffusers/main/en/_app/immutable/chunks/D5eijdnr.js" rel="modulepreload">
<!--1hvs45u--><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;NeMo Automodel&quot;,&quot;local&quot;:&quot;nemo-automodel&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Supported models&quot;,&quot;local&quot;:&quot;supported-models&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Installation&quot;,&quot;local&quot;:&quot;installation&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Hardware requirements&quot;,&quot;local&quot;:&quot;hardware-requirements&quot;,&quot;sections&quot;:[],&quot;depth&quot;:3}],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Data preparation&quot;,&quot;local&quot;:&quot;data-preparation&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Output format&quot;,&quot;local&quot;:&quot;output-format&quot;,&quot;sections&quot;:[],&quot;depth&quot;:3}],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Training configuration&quot;,&quot;local&quot;:&quot;training-configuration&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Config field reference&quot;,&quot;local&quot;:&quot;config-field-reference&quot;,&quot;sections&quot;:[],&quot;depth&quot;:3}],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Launch training&quot;,&quot;local&quot;:&quot;launch-training&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Generation&quot;,&quot;local&quot;:&quot;generation&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Diffusers integration&quot;,&quot;local&quot;:&quot;diffusers-integration&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;NVIDIA Team&quot;,&quot;local&quot;:&quot;nvidia-team&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Resources&quot;,&quot;local&quot;:&quot;resources&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}"/><!---->
<link href="/docs/diffusers/main/en/_app/immutable/assets/0.tn0RQdqM.css" rel="modulepreload"> <!--[--><!--[0--><!--[--><!--[0--><!--[--><p></p> <div class="items-center shrink-0 min-w-[100px] max-sm:min-w-[50px] justify-end ml-auto flex" style="float: inline-end; margin-inline-start: 10px; display: inline-flex; position: relative; z-index: 10;"><div dir="ltr" class="inline-flex rounded-md max-sm:rounded-sm"><button class="inline-flex items-center gap-1 h-7 max-sm:h-7 px-2 max-sm:px-1.5 text-sm font-medium text-gray-800 border border-r-0 rounded-l-md max-sm:rounded-l-sm border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-live="polite"><span class="inline-flex items-center justify-center rounded-md p-0.5 max-sm:p-0 hover:text-gray-800 dark:hover:text-gray-200"><svg class="sm:size-3.5 size-3" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----></span> <span dir="auto">Copy page</span></button> <button class="inline-flex items-center justify-center w-6 max-sm:w-5 h-7 max-sm:h-7 disabled:pointer-events-none text-sm text-gray-500 hover:text-gray-700 dark:hover:text-white rounded-r-md max-sm:rounded-r-sm border border-l transition border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-haspopup="menu" aria-expanded="false" aria-label="Open copy menu"><svg class="transition-transform text-gray-400 overflow-visible sm:size-3.5 size-3 rotate-0" width="1em" height="1em" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="currentColor"></path></svg><!----></button></div> <!--[-1--><!--]--></div><!----> <!--[0--><h1 class="relative group"><a id="nemo-automodel" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#nemo-automodel"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->NeMo Automodel<!----></span></h1><!--]--><!----> <p><a href="https://github.com/NVIDIA-NeMo/Automodel" rel="nofollow">NeMo Automodel</a> là thư viện huấn luyện PyTorch DTensor-native từ NVIDIA, dùng để fine-tuning và pretraining các mô hình diffusion ở quy mô lớn. Nó hoàn toàn native trên Hugging Face — bạn có thể huấn luyện bất kỳ mô hình nào ở định dạng Diffusers từ Hub mà không cần chuyển đổi checkpoint. Cùng một công thức YAML và script huấn luyện có thể tùy chỉnh chạy ở mọi quy mô, từ 1 GPU đến hàng trăm node, với huấn luyện phân tán <a href="https://pytorch.org/docs/stable/fsdp.html" rel="nofollow">FSDP2</a>, tải dữ liệu theo bucket đa độ phân giải và huấn luyện trong không gian latent đã mã hóa sẵn để tối đa hóa hiệu suất sử dụng GPU. Thư viện này sử dụng <a href="https://huggingface.co/papers/2210.02747" rel="nofollow">flow matching</a> cho quá trình huấn luyện, hoàn toàn mã nguồn mở (Apache 2.0), được NVIDIA hỗ trợ và được bảo trì tích cực.</p> <p>NeMo Automodel tích hợp trực tiếp với Diffusers. Nó tải các mô hình được huấn luyện trước từ Hugging Face Hub bằng cách sử dụng các lớp mô hình của Diffusers và tạo ra các kết quả đầu ra bằng <a href="/docs/diffusers/main/vi/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a>.</p> <p>Quy trình làm việc điển hình là cài đặt NeMo Automodel (pip hoặc Docker), chuẩn bị dữ liệu bằng cách mã hóa chúng thành các tệp <code>.meta</code>, cấu hình công thức YAML, khởi động huấn luyện bằng <code>torchrun</code> và chạy suy luận với checkpoint kết quả.</p> <!--[1--><h2 class="relative group"><a id="supported-models" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#supported-models"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Các mô hình được hỗ trợ<!----></span></h2><!--]--><!----> <table><thead><tr><th>Mô hình</th><th>ID Hugging Face</th><th>Nhiệm vụ</th><th>Tham số</th><th>Trường hợp sử dụng</th></tr></thead><tbody><tr><td>Wan 2.1 T2V 1.3B</td><td><a href="https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B-Diffusers" rel="nofollow">Wan-AI/Wan2.1-T2V-1.3B-Diffusers</a></td><td>Text-to-Video</td><td>1.3B</td><td>tạo video trên phần cứng hạn chế (chạy được trên một thẻ A100 40GB duy nhất)</td></tr><tr><td>FLUX.1-dev</td><td><a href="https://huggingface.co/black-forest-labs/FLUX.1-dev" rel="nofollow">black-forest-labs/FLUX.1-dev</a></td><td>Văn bản sang Hình ảnh</td><td>12B</td><td>tạo hình ảnh chất lượng cao</td></tr><tr><td>HunyuanVideo 1.5</td><td><a href="https://huggingface.co/hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_t2v" rel="nofollow">hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_t2v</a></td><td>Text-to-Video</td><td>13B</td><td>tạo video chất lượng cao</td></tr></tbody></table> <!--[1--><h2 class="relative group"><a id="installation" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#installation"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Cài đặt<!----></span></h2><!--]--><!----> <!--[2--><h3 class="relative group"><a id="hardware-requirements" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#hardware-requirements"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Yêu cầu phần cứng<!----></span></h3><!--]--><!----> <table><thead><tr><th>Thành phần</th><th>Tối thiểu</th><th>Được khuyến nghị</th></tr></thead><tbody><tr><td>GPU</td><td>A100 40GB</td><td>A100 80GB / H100</td></tr><tr><td>GPU</td><td>4</td><td>8+</td></tr><tr><td>RAM</td><td>128 GB</td><td>256 GB+</td></tr><tr><td>Lưu trữ</td><td>500 GB SSD</td><td>2 TB NVMe</td></tr></tbody></table> <p>Cài đặt NeMo Automodel bằng pip. Để xem đầy đủ các phương pháp cài đặt (bao gồm cài đặt từ mã nguồn), hãy xem <a href="https://docs.nvidia.com/nemo/automodel/latest/guides/installation.html" rel="nofollow">hướng dẫn cài đặt NeMo Automodel</a>.</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->pip3 install nemo-automodel<!----></pre></div><!----> <p>Ngoài ra, hãy sử dụng container Docker có sẵn bao gồm tất cả các phụ thuộc.</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->docker pull nvcr.io/nvidia/nemo-automodel:26.02.00
docker run --gpus all -it --<span class="hljs-built_in">rm</span> --shm-size=8g nvcr.io/nvidia/nemo-automodel:26.02.00<!----></pre></div><!----> <blockquote class="warning"><p>Checkpoint sẽ bị mất khi container thoát trừ khi bạn bind-mount thư mục checkpoint vào host. Ví dụ, thêm <code>-v /host/path/checkpoints:/workspace/checkpoints</code> vào lệnh <code>docker run</code>.</p></blockquote> <!--[1--><h2 class="relative group"><a id="data-preparation" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#data-preparation"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Chuẩn bị dữ liệu<!----></span></h2><!--]--><!----> <p>NeMo Automodel huấn luyện các mô hình khuếch tán trong không gian tiềm ẩn. Ảnh hoặc video thô phải được tiền xử lý thành các tệp <code>.meta</code> chứa các giá trị tiềm ẩn của VAE và các vector nhúng văn bản trước khi huấn luyện. Điều này giúp tránh việc mã hóa lại ở mỗi bước huấn luyện.</p> <p>Sử dụng công cụ tiền xử lý tích hợp để mã hóa dữ liệu của bạn. Công cụ này tự động phân phối công việc trên tất cả các GPU khả dụng.</p> <div class="flex space-x-2 items-center my-1.5 mr-8 h-7 !pl-0 -mx-3 md:mx-0"><!--[--><div class="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd border-gray-800 bg-black dark:bg-gray-700 text-white">tiền xử lý video</div><div class="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd text-gray-500 cursor-pointer opacity-90 hover:text-gray-700 dark:hover:text-gray-200 hover:shadow-sm">tiền xử lý ảnh</div><!--]--></div> <div class="language-select"><div><p>Lệnh tiền xử lý video giống nhau cho cả Wan 2.1 và HunyuanVideo, nhưng các cờ khác nhau. Wan 2.1 sử dụng <code>--processor wan</code> cùng với <code>--resolution_preset</code> và <code>--caption_format sidecar</code>, trong khi HunyuanVideo sử dụng <code>--processor hunyuan</code> cùng với <code>--target_frames</code> để đặt số khung hình và <code>--caption_format meta_json</code>.</p> <p><strong>Wan 2.1:</strong></p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python -m tools.diffusion.preprocessing_multiprocess video \
--video_dir /data/videos \
--output_dir /cache \
--processor wan \
--resolution_preset 512p \
--caption_format sidecar<!----></pre></div><!----> <p><strong>HunyuanVideo:</strong></p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python -m tools.diffusion.preprocessing_multiprocess video \
--video_dir /data/videos \
--output_dir /cache \
--processor hunyuan \
--target_frames 121 \
--caption_format meta_json<!----></pre></div><!----><!----></div><!----> <div hidden=""><div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python -m tools.diffusion.preprocessing_multiprocess image \
--image_dir /data/images \
--output_dir /cache \
--processor flux \
--resolution_preset 512p<!----></pre></div><!----></div><!----><!----></div><!----> <!--[2--><h3 class="relative group"><a id="output-format" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#output-format"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Định dạng đầu ra<!----></span></h3><!--]--><!----> <p>Preprocessing tạo ra một thư mục cache được tổ chức theo từng nhóm độ phân giải. NeMo Automodel hỗ trợ huấn luyện đa độ phân giải thông qua lấy mẫu theo nhóm. Các mẫu được nhóm lại theo độ phân giải không gian để mỗi batch chứa các mẫu có cùng kích thước, tránh lãng phí do đệm (padding).</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class=" "><!----><span class="hljs-string">/cache/</span>
├── 512x512/ <span class="hljs-comment"># Resolution bucket</span>
│ ├── &lt;hash1&gt;<span class="hljs-string">.meta</span> <span class="hljs-comment"># VAE latents + text embeddings</span>
│ ├── &lt;hash2&gt;<span class="hljs-string">.meta</span>
│ └── <span class="hljs-string">...</span>
├── 832x480/ <span class="hljs-comment"># Another resolution bucket</span>
│ └── <span class="hljs-string">...</span>
├── metadata.json <span class="hljs-comment"># Global config (processor, model, total items)</span>
└── metadata_shard_0000.json <span class="hljs-comment"># Per-sample metadata (paths, resolutions, captions)</span><!----></pre></div><!----> <blockquote class="tip"><p>Xem hướng dẫn <a href="https://docs.nvidia.com/nemo/automodel/latest/datasets/diffusion-dataset" rel="nofollow">Chuẩn bị bộ dữ liệu Diffusion</a> để biết về định dạng chú thích, yêu cầu dữ liệu đầu vào và tất cả các đối số tiền xử lý khả dụng.</p></blockquote> <!--[1--><h2 class="relative group"><a id="training-configuration" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#training-configuration"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Cấu hình huấn luyện<!----></span></h2><!--]--><!----> <p>Fine-tuning được điều khiển bởi hai thành phần:</p> <ol><li>Một script công thức (<a href="https://github.com/NVIDIA-NeMo/Automodel/blob/main/examples/diffusion/finetune/finetune.py" rel="nofollow">finetune.py</a>) là điểm vào Python chứa vòng lặp huấn luyện: nạp mô hình, xây dựng dataloader, thực hiện các bước truyền thuận/truyền ngược, tính toán tổn thất flow matching, lưu checkpoint và ghi log.</li> <li>Một tệp cấu hình YAML xác định tất cả các cài đặt mà công thức sử dụng: mô hình nào để tinh chỉnh, dữ liệu nằm ở đâu, siêu tham số của bộ tối ưu hóa, chiến lược song song hóa, và nhiều hơn nữa. Bạn tùy chỉnh quá trình huấn luyện bằng cách chỉnh sửa tệp này thay vì sửa đổi mã, cho phép bạn mở rộng quy mô từ 1 đến hàng trăm GPU.</li></ol> <p>Bất kỳ trường YAML nào cũng có thể được ghi đè từ CLI:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->torchrun --nproc-per-node=8 examples/diffusion/finetune/finetune.py \
-c examples/diffusion/finetune/wan2_1_t2v_flow.yaml \
--optim.learning_rate 1e-5 \
--step_scheduler.num_epochs 50<!----></pre></div><!----> <p>Dưới đây là cấu hình có chú thích để tinh chỉnh Wan 2.1 T2V 1.3B, với mỗi phần được giải thích.</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-yaml "><!----><span class="hljs-attr">seed:</span> <span class="hljs-number">42</span>
<span class="hljs-comment"># ── Experiment tracking (optional) ──────────────────────────────────────────</span>
<span class="hljs-comment"># Weights &amp; Biases integration for logging metrics, losses, and learning rates.</span>
<span class="hljs-comment"># Set mode: &quot;disabled&quot; to turn off.</span>
<span class="hljs-attr">wandb:</span>
<span class="hljs-attr">project:</span> <span class="hljs-string">wan-t2v-flow-matching</span>
<span class="hljs-attr">mode:</span> <span class="hljs-string">online</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">wan2_1_t2v_fm</span>
<span class="hljs-comment"># ── Model ───────────────────────────────────────────────────────────────────</span>
<span class="hljs-comment"># pretrained_model_name_or_path: any Hugging Face model ID or local path.</span>
<span class="hljs-comment"># mode: &quot;finetune&quot; loads pretrained weights; &quot;pretrain&quot; trains from scratch.</span>
<span class="hljs-attr">model:</span>
<span class="hljs-attr">pretrained_model_name_or_path:</span> <span class="hljs-string">Wan-AI/Wan2.1-T2V-1.3B-Diffusers</span>
<span class="hljs-attr">mode:</span> <span class="hljs-string">finetune</span>
<span class="hljs-comment"># ── Training schedule ───────────────────────────────────────────────────────</span>
<span class="hljs-comment"># global_batch_size: effective batch across all GPUs.</span>
<span class="hljs-comment"># Gradient accumulation is computed automatically: global / (local × num_gpus).</span>
<span class="hljs-attr">step_scheduler:</span>
<span class="hljs-attr">global_batch_size:</span> <span class="hljs-number">8</span>
<span class="hljs-attr">local_batch_size:</span> <span class="hljs-number">1</span>
<span class="hljs-attr">ckpt_every_steps:</span> <span class="hljs-number">1000</span> <span class="hljs-comment"># Save a checkpoint every N steps</span>
<span class="hljs-attr">num_epochs:</span> <span class="hljs-number">100</span>
<span class="hljs-attr">log_every:</span> <span class="hljs-number">2</span> <span class="hljs-comment"># Log metrics every N steps</span>
<span class="hljs-comment"># ── Data ────────────────────────────────────────────────────────────────────</span>
<span class="hljs-comment"># _target_: the dataloader factory function.</span>
<span class="hljs-comment"># Use build_video_multiresolution_dataloader for video models (Wan, HunyuanVideo).</span>
<span class="hljs-comment"># Use build_text_to_image_multiresolution_dataloader for image models (FLUX).</span>
<span class="hljs-comment"># model_type: &quot;wan&quot; or &quot;hunyuan&quot; (selects the correct latent format).</span>
<span class="hljs-comment"># base_resolution: target resolution for multiresolution bucketing.</span>
<span class="hljs-attr">data:</span>
<span class="hljs-attr">dataloader:</span>
<span class="hljs-attr">_target_:</span> <span class="hljs-string">nemo_automodel.components.datasets.diffusion.build_video_multiresolution_dataloader</span>
<span class="hljs-attr">cache_dir:</span> <span class="hljs-string">PATH_TO_YOUR_DATA</span>
<span class="hljs-attr">model_type:</span> <span class="hljs-string">wan</span>
<span class="hljs-attr">base_resolution:</span> [<span class="hljs-number">512</span>, <span class="hljs-number">512</span>]
<span class="hljs-attr">dynamic_batch_size:</span> <span class="hljs-literal">false</span> <span class="hljs-comment"># When true, adjusts batch per bucket to maintain constant memory</span>
<span class="hljs-attr">shuffle:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">drop_last:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">num_workers:</span> <span class="hljs-number">0</span>
<span class="hljs-comment"># ── Optimizer ───────────────────────────────────────────────────────────────</span>
<span class="hljs-comment"># learning_rate: 5e-6 is a good starting point for fine-tuning.</span>
<span class="hljs-comment"># Adjust weight_decay and betas for your dataset.</span>
<span class="hljs-attr">optim:</span>
<span class="hljs-attr">learning_rate:</span> <span class="hljs-number">5e-6</span>
<span class="hljs-attr">optimizer:</span>
<span class="hljs-attr">weight_decay:</span> <span class="hljs-number">0.01</span>
<span class="hljs-attr">betas:</span> [<span class="hljs-number">0.9</span>, <span class="hljs-number">0.999</span>]
<span class="hljs-comment"># ── Learning rate scheduler ─────────────────────────────────────────────────</span>
<span class="hljs-comment"># Supports cosine, linear, and constant schedules.</span>
<span class="hljs-attr">lr_scheduler:</span>
<span class="hljs-attr">lr_decay_style:</span> <span class="hljs-string">cosine</span>
<span class="hljs-attr">lr_warmup_steps:</span> <span class="hljs-number">0</span>
<span class="hljs-attr">min_lr:</span> <span class="hljs-number">1e-6</span>
<span class="hljs-comment"># ── Flow matching ───────────────────────────────────────────────────────────</span>
<span class="hljs-comment"># adapter_type: model-specific adapter — must match the model:</span>
<span class="hljs-comment"># &quot;simple&quot; for Wan 2.1, &quot;flux&quot; for FLUX.1-dev, &quot;hunyuan&quot; for HunyuanVideo.</span>
<span class="hljs-comment"># timestep_sampling: &quot;uniform&quot; for Wan, &quot;logit_normal&quot; for FLUX and HunyuanVideo.</span>
<span class="hljs-comment"># flow_shift: shifts the flow schedule (model-dependent).</span>
<span class="hljs-comment"># i2v_prob: probability of image-to-video conditioning during training (video models).</span>
<span class="hljs-attr">flow_matching:</span>
<span class="hljs-attr">adapter_type:</span> <span class="hljs-string">&quot;simple&quot;</span>
<span class="hljs-attr">adapter_kwargs:</span> {}
<span class="hljs-attr">timestep_sampling:</span> <span class="hljs-string">&quot;uniform&quot;</span>
<span class="hljs-attr">logit_mean:</span> <span class="hljs-number">0.0</span>
<span class="hljs-attr">logit_std:</span> <span class="hljs-number">1.0</span>
<span class="hljs-attr">flow_shift:</span> <span class="hljs-number">3.0</span>
<span class="hljs-attr">num_train_timesteps:</span> <span class="hljs-number">1000</span>
<span class="hljs-attr">i2v_prob:</span> <span class="hljs-number">0.3</span>
<span class="hljs-attr">use_loss_weighting:</span> <span class="hljs-literal">true</span>
<span class="hljs-comment"># ── FSDP2 distributed training ──────────────────────────────────────────────</span>
<span class="hljs-comment"># dp_size: number of GPUs for data parallelism (typically = total GPUs on node).</span>
<span class="hljs-comment"># tp_size, cp_size, pp_size: tensor, context, and pipeline parallelism.</span>
<span class="hljs-comment"># For most fine-tuning, dp_size is all you need; leave others at 1.</span>
<span class="hljs-attr">fsdp:</span>
<span class="hljs-attr">tp_size:</span> <span class="hljs-number">1</span>
<span class="hljs-attr">cp_size:</span> <span class="hljs-number">1</span>
<span class="hljs-attr">pp_size:</span> <span class="hljs-number">1</span>
<span class="hljs-attr">dp_replicate_size:</span> <span class="hljs-number">1</span>
<span class="hljs-attr">dp_size:</span> <span class="hljs-number">8</span>
<span class="hljs-comment"># ── Checkpointing ──────────────────────────────────────────────────────────</span>
<span class="hljs-comment"># checkpoint_dir: where to save checkpoints (use a persistent path with Docker).</span>
<span class="hljs-comment"># restore_from: path to resume training from a previous checkpoint.</span>
<span class="hljs-attr">checkpoint:</span>
<span class="hljs-attr">enabled:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">checkpoint_dir:</span> <span class="hljs-string">PATH_TO_YOUR_CKPT_DIR</span>
<span class="hljs-attr">model_save_format:</span> <span class="hljs-string">torch_save</span>
<span class="hljs-attr">save_consolidated:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">restore_from:</span> <span class="hljs-literal">null</span><!----></pre></div><!----> <!--[2--><h3 class="relative group"><a id="config-field-reference" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#config-field-reference"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Tham chiếu trường cấu hình<!----></span></h3><!--]--><!----> <p>Bảng dưới đây liệt kê các cấu hình tối thiểu cần thiết. Xem <a href="https://github.com/NVIDIA-NeMo/Automodel/tree/main/examples/diffusion/finetune" rel="nofollow">các ví dụ NeMo Automodel</a> để có các cấu hình ví dụ đầy đủ cho tất cả các mô hình.</p> <table><thead><tr><th>Mục</th><th>Bắt buộc?</th><th>Những gì cần thay đổi</th></tr></thead><tbody><tr><td><code>model</code></td><td>Có</td><td>Đặt <code>pretrained_model_name_or_path</code> thành ID mô hình Hugging Face. Đặt <code>mode: finetune</code> hoặc <code>mode: pretrain</code>.</td></tr><tr><td><code>step_scheduler</code></td><td>Có</td><td><code>global_batch_size</code> là kích thước batch hiệu dụng trên tất cả các GPU. <code>ckpt_every_steps</code> kiểm soát tần suất tạo checkpoint. Gradient accumulation được tính toán tự động.</td></tr><tr><td><code>data</code></td><td>Có</td><td>Đặt <code>cache_dir</code> thành đường dẫn chứa các tệp <code>.meta</code> đã tiền xử lý của bạn. Thay đổi <code>_target_</code> và <code>model_type</code> cho các mô hình khác nhau.</td></tr><tr><td><code>optim</code></td><td>Có</td><td><code>learning_rate: 5e-6</code> là giá trị mặc định tốt cho việc tinh chỉnh. Hãy điều chỉnh cho phù hợp với bộ dữ liệu và mô hình của bạn.</td></tr><tr><td><code>lr_scheduler</code></td><td>Có</td><td>Chọn <code>cosine</code>, <code>linear</code> hoặc <code>constant</code> cho <code>lr_decay_style</code>. Đặt <code>lr_warmup_steps</code> để warmup dần.</td></tr><tr><td><code>flow_matching</code></td><td>Có</td><td><code>adapter_type</code> phải khớp với model (<code>simple</code> cho Wan, <code>flux</code> cho FLUX, <code>hunyuan</code> cho HunyuanVideo). Xem cấu hình cụ thể của model cho <code>adapter_kwargs</code>.</td></tr><tr><td><code>fsdp</code></td><td>Có</td><td>Đặt <code>dp_size</code> bằng số lượng GPU. Đối với cấu hình đa nút, đặt bằng tổng số GPU trên tất cả các nút.</td></tr><tr><td><code>checkpoint</code></td><td>Được khuyến nghị</td><td>Đặt <code>checkpoint_dir</code> thành một đường dẫn bền vững, đặc biệt là trong Docker. Sử dụng <code>restore_from</code> để tiếp tục từ một checkpoint trước đó.</td></tr><tr><td><code>wandb</code></td><td>Tùy chọn</td><td>Cấu hình để bật theo dõi thí nghiệm Weights &amp; Biases. Đặt <code>mode: disabled</code> để tắt.</td></tr></tbody></table> <!--[1--><h2 class="relative group"><a id="launch-training" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#launch-training"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Khởi động huấn luyện<!----></span></h2><!--]--><!----> <div class="flex space-x-2 items-center my-1.5 mr-8 h-7 !pl-0 -mx-3 md:mx-0"><!--[--><div class="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd border-gray-800 bg-black dark:bg-gray-700 text-white">một nút</div><div class="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd text-gray-500 cursor-pointer opacity-90 hover:text-gray-700 dark:hover:text-gray-200 hover:shadow-sm">nhiều nút</div><!--]--></div> <div class="language-select"><div><div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->torchrun --nproc-per-node=8 \
examples/diffusion/finetune/finetune.py \
-c examples/diffusion/finetune/wan2_1_t2v_flow.yaml<!----></pre></div><!----></div><!----> <div hidden=""><p>Chạy lệnh sau trên mỗi node, đặt <code>NODE_RANK</code> cho phù hợp:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!----><span class="hljs-built_in">export</span> MASTER_ADDR=node0.hostname
<span class="hljs-built_in">export</span> MASTER_PORT=29500
<span class="hljs-built_in">export</span> NODE_RANK=0 <span class="hljs-comment"># 0 on master, 1 on second node, etc.</span>
torchrun \
--nnodes=2 \
--nproc-per-node=8 \
--node_rank=<span class="hljs-variable">${NODE_RANK}</span> \
--rdzv_backend=c10d \
--rdzv_endpoint=<span class="hljs-variable">${MASTER_ADDR}</span>:<span class="hljs-variable">${MASTER_PORT}</span> \
examples/diffusion/finetune/finetune.py \
-c examples/diffusion/finetune/wan2_1_t2v_flow_multinode.yaml<!----></pre></div><!----> <blockquote class="note"><p>Để huấn luyện đa nút, đặt <code>fsdp.dp_size</code> trong YAML thành tổng số GPU <strong>tổng</strong> trên tất cả các nút (ví dụ: 16 cho 2 nút, mỗi nút có 8 GPU).</p></blockquote><!----></div><!----><!----></div><!----> <!--[1--><h2 class="relative group"><a id="generation" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#generation"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Sinh<!----></span></h2><!--]--><!----> <p>Sau khi huấn luyện, hãy tạo video hoặc hình ảnh từ các prompt văn bản bằng checkpoint đã tinh chỉnh.</p> <div class="flex space-x-2 items-center my-1.5 mr-8 h-7 !pl-0 -mx-3 md:mx-0"><!--[--><div class="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd border-gray-800 bg-black dark:bg-gray-700 text-white">Wan 2.1</div><div class="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd text-gray-500 cursor-pointer opacity-90 hover:text-gray-700 dark:hover:text-gray-200 hover:shadow-sm">FLUX</div><div class="flex items-center border rounded-lg px-1.5 py-1 leading-none select-none text-smd text-gray-500 cursor-pointer opacity-90 hover:text-gray-700 dark:hover:text-gray-200 hover:shadow-sm">HunyuanVideo</div><!--]--></div> <div class="language-select"><div><div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python examples/diffusion/generate/generate.py \
-c examples/diffusion/generate/configs/generate_wan.yaml<!----></pre></div><!----> <p>Với một checkpoint đã được tinh chỉnh:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python examples/diffusion/generate/generate.py \
-c examples/diffusion/generate/configs/generate_wan.yaml \
--model.checkpoint ./checkpoints/step_1000 \
--inference.prompts <span class="hljs-string">&#x27;[&quot;A dog running on a beach&quot;]&#x27;</span><!----></pre></div><!----><!----></div><!----> <div hidden=""><div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python examples/diffusion/generate/generate.py \
-c examples/diffusion/generate/configs/generate_flux.yaml<!----></pre></div><!----> <p>Với một checkpoint đã được tinh chỉnh:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python examples/diffusion/generate/generate.py \
-c examples/diffusion/generate/configs/generate_flux.yaml \
--model.checkpoint ./checkpoints/step_1000 \
--inference.prompts <span class="hljs-string">&#x27;[&quot;A dog running on a beach&quot;]&#x27;</span><!----></pre></div><!----><!----></div><!----> <div hidden=""><div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python examples/diffusion/generate/generate.py \
-c examples/diffusion/generate/configs/generate_hunyuan.yaml<!----></pre></div><!----> <p>Với một checkpoint đã được tinh chỉnh:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----> <div class=" absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0 "><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent;"></div> Đã sao chép</div><!----></button><!----></div> <pre class="language-bash "><!---->python examples/diffusion/generate/generate.py \
-c examples/diffusion/generate/configs/generate_hunyuan.yaml \
--model.checkpoint ./checkpoints/step_1000 \
--inference.prompts <span class="hljs-string">&#x27;[&quot;A dog running on a beach&quot;]&#x27;</span><!----></pre></div><!----><!----></div><!----><!----></div><!----> <!--[1--><h2 class="relative group"><a id="diffusers-integration" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#diffusers-integration"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Tích hợp Diffusers<!----></span></h2><!--]--><!----> <p>NeMo Automodel được xây dựng dựa trên Diffusers và sử dụng nó làm nền tảng cho việc tải mô hình và suy luận. Nó tải mô hình trực tiếp từ Hugging Face Hub bằng cách sử dụng các lớp mô hình của Diffusers như <a href="/docs/diffusers/main/vi/api/models/wan_transformer_3d#diffusers.WanTransformer3DModel">WanTransformer3DModel</a>, <a href="/docs/diffusers/main/vi/api/models/flux_transformer#diffusers.FluxTransformer2DModel">FluxTransformer2DModel</a> và <a href="/docs/diffusers/main/vi/api/models/hunyuan_video_transformer_3d#diffusers.HunyuanVideoTransformer3DModel">HunyuanVideoTransformer3DModel</a>, đồng thời tạo ra kết quả thông qua các pipeline của Diffusers như <a href="/docs/diffusers/main/vi/api/pipelines/wan#diffusers.WanPipeline">WanPipeline</a> và <a href="/docs/diffusers/main/vi/api/pipelines/flux#diffusers.FluxPipeline">FluxPipeline</a>.</p> <p>Tích hợp này mang lại một số lợi ích cho người dùng Diffusers:</p> <ul><li><strong>Không cần chuyển đổi checkpoint</strong>: trọng số được huấn luyện trước từ Hub hoạt động ngay lập tức. Chỉ <code>pretrained_model_name_or_path</code> đến bất kỳ ID mô hình nào ở định dạng Diffusers và bắt đầu huấn luyện ngay.</li> <li><strong>Hỗ trợ mô hình ngay từ ngày đầu</strong>: khi một mô hình khuếch tán mới được thêm vào Diffusers và tải lên Hub, nó có thể được tinh chỉnh với NeMo Automodel mà không cần chờ đợi một script huấn luyện riêng biệt.</li> <li><strong>Đầu ra tương thích với Pipeline</strong>: các checkpoint đã fine-tune được lưu ở định dạng có thể nạp trực tiếp trở lại vào các pipeline của Diffusers để suy luận, chia sẻ trên Hub, hoặc tối ưu hóa thêm bằng các công cụ như lượng tử hóa và biên dịch.</li> <li><strong>Đào tạo có khả năng mở rộng cho các mô hình Diffusers</strong>: NeMo Automodel bổ sung các khả năng đào tạo phân tán (FSDP2, đa nút, phân loại bucket đa độ phân giải) vượt xa những gì các script đào tạo Diffusers tích hợp sẵn cung cấp, trong khi vẫn giữ nguyên các giao diện mô hình và pipeline.</li> <li><strong>Hệ sinh thái chung</strong>: bất kỳ mô hình, bộ thích ứng LoRA hay thành phần pipeline nào từ hệ sinh thái Diffusers đều duy trì khả năng tương thích xuyên suốt quy trình huấn luyện và suy luận.</li></ul> <!--[1--><h2 class="relative group"><a id="nvidia-team" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#nvidia-team"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Đội ngũ NVIDIA<!----></span></h2><!--]--><!----> <ul><li>Pranav Prashant Thombre, <a href="mailto:pthombre@nvidia.com">pthombre@nvidia.com</a></li> <li>Linnan Wang, <a href="mailto:linnanw@nvidia.com">linnanw@nvidia.com</a></li> <li>Alexandros Koumparoulis, <a href="mailto:akoumparouli@nvidia.com">akoumparouli@nvidia.com</a></li></ul> <!--[1--><h2 class="relative group"><a id="resources" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#resources"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Tài nguyên<!----></span></h2><!--]--><!----> <ul><li><a href="https://github.com/NVIDIA-NeMo/Automodel" rel="nofollow">NeMo Automodel GitHub</a></li> <li><a href="https://docs.nvidia.com/nemo/automodel/latest/recipes-e2e-examples/diffusion-fine-tuning" rel="nofollow">Hướng dẫn tinh chỉnh Diffusion</a></li> <li><a href="https://docs.nvidia.com/nemo/automodel/latest/datasets/diffusion-dataset" rel="nofollow">Chuẩn bị bộ dữ liệu Diffusion</a></li> <li><a href="https://docs.nvidia.com/nemo/automodel/latest/model-coverage/diffusion.html" rel="nofollow">Phạm vi hỗ trợ Mô hình khuếch tán</a></li> <li><a href="https://huggingface.co/docs/transformers/en/community_integrations/nemo_automodel_finetuning" rel="nofollow">NeMo Automodel cho Transformers (fine-tuning LLM/VLM)</a></li></ul> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/diffusers/blob/main/docs/source/en/training/nemo_automodel.md" target="_blank"><svg class="mr-1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M31,16l-7,7l-1.41-1.41L28.17,16l-5.58-5.59L24,9l7,7z"></path><path d="M1,16l7-7l1.41,1.41L3.83,16l5.58,5.59L8,23l-7-7z"></path><path d="M12.419,25.484L17.639,6.552l1.932,0.518L14.351,26.002z"></path></svg><!----> <span><span class="underline">Update</span> on GitHub</span></a><!----> <p></p><!--]--><!----><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
<script>
{
__sveltekit_1qsdbwf = {
base: "/docs/diffusers/main/en",
assets: "/docs/diffusers/main/en"
};
const element = document.currentScript.parentElement;
Promise.all([
import("/docs/diffusers/main/en/_app/immutable/entry/start.0S0_iEoG.js"),
import("/docs/diffusers/main/en/_app/immutable/entry/app.CPdOxCbw.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 375],
data: [null,null],
form: null,
error: null
});
});
}
</script>

Xet Storage Details

Size:
71.4 kB
·
Xet hash:
f645499df8b0ec176c16fd59bb5f50c346c68303e6da5aad6bb3dc0c4945373f

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.