Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Dağıtık çıkarım","local":"distributed-inference","sections":[{"title":"Strateji seçimi","local":"choosing-a-strategy","sections":[],"depth":2}],"depth":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/368.MZuJGICn.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/DSPDl1gz.js" rel="modulepreload"> | |
| <!--el5ux9--><meta name="hf:doc:metadata" content="{"title":"Distributed inference","local":"distributed-inference","sections":[{"title":"Choosing a strategy","local":"choosing-a-strategy","sections":[],"depth":2}],"depth":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="distributed-inference" 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="#distributed-inference"><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><!---->Dağıtık çıkarım<!----></span></h1><!--]--><!----> <p>Dağıtık çıkarım, iş yükünü birden fazla GPU arasında paylaştırır. Daha büyük modellerin belleğe sığdırılması ve aynı anda daha fazla istek işlenmesi için faydalıdır.</p> <p>Diffusers dört stratejiyi destekler. Her birinin kendi kılavuzu vardır ve bu sayfa size birini seçmede yardımcı olur.</p> <!--[1--><h2 class="relative group"><a id="choosing-a-strategy" 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="#choosing-a-strategy"><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><!---->Strateji seçimi<!----></span></h2><!--]--><!----> <p>Her strateji farklı bir sorunu çözdüğü için, sizi sınırlayan kaynağa göre birini seçin.</p> <table><thead><tr><th>Strateji</th><th>Bölümler</th><th>Azaltır</th><th>Tek bir istem için gecikme</th><th>En iyi olduğu durum</th></tr></thead><tbody><tr><td><a href="../optimization/data_parallelism">Veri paralelliği</a></td><td>kopyalar arasında istemler</td><td>hiçbir şey, çünkü her GPU tam bir kopya tutar</td><td>değişmedi</td><td>model zaten sığıyor ve birçok isteminiz var</td></tr><tr><td><a href="../optimization/device_map">device_map</a></td><td>cihazlar arası bileşenler</td><td>ağırlık belleği</td><td>biraz daha kötü</td><td>model sığmıyor ve bağlantı yavaş</td></tr><tr><td><a href="../optimization/context_parallelism">Bağlam paralelliği</a></td><td>giriş dizisi</td><td>aktivasyon belleği</td><td>düşük</td><td>diziler uzun, yüksek çözünürlüklü görüntüler veya videolar gibi</td></tr><tr><td><a href="../optimization/tensor_parallelism">Tensor paralelliği</a></td><td>ağırlık matrisleri</td><td>ağırlık belleği</td><td>düşük</td><td>bir bileşenin ağırlıkları sığmıyor ve bağlantı hızlı</td></tr></tbody></table> <p>Bazı pratik yönergeler:</p> <ul><li>Model zaten sığmıyorsa ve birçok isteminiz varsa veri paralelliğini kullanın. Bu yöntem, modele dokunmadan GPU sayısıyla birlikte verimliliği ölçekler ve tek istem gecikmesini etkilemez. Bunu <a href="../optimization/data_parallelism#accelerate">Accelerate</a> veya <a href="../optimization/data_parallelism#pytorch-distributed">PyTorch Distributed</a> ile yapılandırın.</li> <li>Tek bir bileşenin ağırlıkları sığmıyorsa, hem belleği hem de gecikmeyi düşürdüğü için önce tensör paralelliğini deneyin. Tensör paralelliği her blok sınırında iletişim kurar, bu nedenle NVLink gibi hızlı bir bağlantıya ihtiyaç duyar. PCIe üzerinde, katman başına trafik, sağladığı hesaplama tasarrufundan daha ağır basabilir ve <code>device_map</code> daha iyi bir seçim haline gelir. <code>device_map</code>, bileşenlerin tek başına uygun olmasına rağmen toplu olarak çok büyük olduğu durumu da ele alır.</li> <li>Eğer sorun ağırlıklar değilse, aktivasyonlarsa, bağlam paralelliğini kullanın. Bu, büyük görüntüler ve çok sayıda kare içeren videolar gibi uzun dizilerde işe yarar. <a href="../optimization/context_parallelism">Context parallelism</a> kılavuzundaki kıyaslamalardan bir arka uç seçin.</li> <li>Hem ağırlıklar hem de dizi çok büyükse, Diffusers aynı modele hem tensör hem de bağlam paralelliğini uygulayamaz. <code>ParallelConfig</code>, her iki yapılandırmayı da iletirseniz bir hata üretir ve <code>enable_parallelism</code>, zaten paralelleştirilmiş bir modelde ikinci kez çağrılamaz.</li></ul> <p><a href="../optimization/xdit">xDiT</a> ve <a href="../optimization/para_attn">ParaAttention</a> topluluk entegrasyonları, kendi bağlam paralelliği uygulamalarını sunar.</p> <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/distributed_inference.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, 368], | |
| data: [null,null], | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 10.9 kB
- Xet hash:
- 4ce8b3d431b7a617766ad4dbd75657a6a8b7189662f25e224608020d7e46f2f8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.