Buckets:
| import{s as ee,n as le,o as se}from"../chunks/scheduler.8a2cc2fa.js";import{S as ne,i as ae,e as M,s as n,c as i,h as ie,a as u,d as l,b as a,f as Ot,g as m,j as f,k as te,l as me,m as s,n as r,t as p,o,p as b}from"../chunks/index.7079e750.js";import{C as re,H as y,E as pe}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.58e7bba7.js";import{C as D}from"../chunks/CodeBlock.f60a6067.js";function oe(zt){let d,tt,K,et,T,lt,J,st,c,Et="Welcome to bitsandbytes! This library enables accessible large language models via k-bit quantization for PyTorch, dramatically reducing memory consumption for inference and training.",nt,w,at,h,it,$,Rt="<strong>Requirements:</strong> Python 3.10+, PyTorch 2.3+",mt,g,xt='For detailed installation instructions, see the <a href="./installation">Installation Guide</a>.',rt,U,pt,j,Yt="bitsandbytes provides three main features:",ot,C,Ft="<li><strong>LLM.int8()</strong>: 8-bit quantization for inference (50% memory reduction)</li> <li><strong>QLoRA</strong>: 4-bit quantization for training (75% memory reduction)</li> <li><strong>8-bit Optimizers</strong>: Memory-efficient optimizers for training</li>",bt,B,Mt,I,ut,k,Lt="Load and run a model using 8-bit quantization:",ft,G,yt,Q,Vt='<p><strong>Learn more:</strong> See the <a href="./integrations">Integrations guide</a> for more details on using bitsandbytes with Transformers.</p>',dt,W,Tt,Z,qt="For even greater memory savings:",Jt,v,ct,X,wt,_,Nt="Combine 4-bit quantization with LoRA for efficient training:",ht,z,$t,E,At='<p><strong>Learn more:</strong> See the <a href="./fsdp_qlora">FSDP-QLoRA guide</a> for advanced training techniques and the <a href="./integrations">Integrations guide</a> for using with PEFT.</p>',gt,R,Ut,x,St="Use 8-bit optimizers to reduce training memory by 75%:",jt,Y,Ct,F,Ht='<p><strong>Learn more:</strong> See the <a href="./optimizers">8-bit Optimizers guide</a> for detailed usage and configuration options.</p>',Bt,L,It,V,Pt="Use quantized linear layers directly in your models:",kt,q,Gt,N,Qt,A,Dt='<li><a href="./optimizers">8-bit Optimizers Guide</a> - Detailed optimizer usage</li> <li><a href="./fsdp_qlora">FSDP-QLoRA</a> - Train 70B+ models on consumer GPUs</li> <li><a href="./integrations">Integrations</a> - Use with Transformers, PEFT, Accelerate</li> <li><a href="./faqs">FAQs</a> - Common questions and troubleshooting</li>',Wt,S,Zt,H,Kt='<li>Check the <a href="./faqs">FAQs</a> and <a href="./errors">Common Errors</a></li> <li>Visit <a href="https://huggingface.co/docs/bitsandbytes" rel="nofollow">official documentation</a></li> <li>Open an issue on <a href="https://github.com/bitsandbytes-foundation/bitsandbytes/issues" rel="nofollow">GitHub</a></li>',vt,P,Xt,O,_t;return T=new re({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),J=new y({props:{title:"Quickstart",local:"quickstart",headingTag:"h1"}}),w=new y({props:{title:"Installation",local:"installation",headingTag:"h2"}}),h=new D({props:{code:"cGlwJTIwaW5zdGFsbCUyMGJpdHNhbmRieXRlcw==",highlighted:"pip install bitsandbytes",wrap:!1}}),U=new y({props:{title:"What is bitsandbytes?",local:"what-is-bitsandbytes",headingTag:"h2"}}),B=new y({props:{title:"Quick Examples",local:"quick-examples",headingTag:"h2"}}),I=new y({props:{title:"8-bit Inference",local:"8-bit-inference",headingTag:"h3"}}),G=new D({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvckNhdXNhbExNJTJDJTIwQXV0b1Rva2VuaXplciUwQSUwQW1vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yQ2F1c2FsTE0uZnJvbV9wcmV0cmFpbmVkKCUwQSUyMCUyMCUyMCUyMCUyMm1ldGEtbGxhbWElMkZMbGFtYS0yLTdiLWhmJTIyJTJDJTBBJTIwJTIwJTIwJTIwZGV2aWNlX21hcCUzRCUyMmF1dG8lMjIlMkMlMEElMjAlMjAlMjAlMjBsb2FkX2luXzhiaXQlM0RUcnVlJTJDJTBBKSUwQSUwQXRva2VuaXplciUyMCUzRCUyMEF1dG9Ub2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMm1ldGEtbGxhbWElMkZMbGFtYS0yLTdiLWhmJTIyKSUwQWlucHV0cyUyMCUzRCUyMHRva2VuaXplciglMjJIZWxsbyUyQyUyMG15JTIwbmFtZSUyMGlzJTIyJTJDJTIwcmV0dXJuX3RlbnNvcnMlM0QlMjJwdCUyMikudG8oJTIyY3VkYSUyMiklMEFvdXRwdXRzJTIwJTNEJTIwbW9kZWwuZ2VuZXJhdGUoKippbnB1dHMlMkMlMjBtYXhfbmV3X3Rva2VucyUzRDIwKSUwQXByaW50KHRva2VuaXplci5kZWNvZGUob3V0cHV0cyU1QjAlNUQpKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForCausalLM, AutoTokenizer | |
| model = AutoModelForCausalLM.from_pretrained( | |
| <span class="hljs-string">"meta-llama/Llama-2-7b-hf"</span>, | |
| device_map=<span class="hljs-string">"auto"</span>, | |
| load_in_8bit=<span class="hljs-literal">True</span>, | |
| ) | |
| tokenizer = AutoTokenizer.from_pretrained(<span class="hljs-string">"meta-llama/Llama-2-7b-hf"</span>) | |
| inputs = tokenizer(<span class="hljs-string">"Hello, my name is"</span>, return_tensors=<span class="hljs-string">"pt"</span>).to(<span class="hljs-string">"cuda"</span>) | |
| outputs = model.generate(**inputs, max_new_tokens=<span class="hljs-number">20</span>) | |
| <span class="hljs-built_in">print</span>(tokenizer.decode(outputs[<span class="hljs-number">0</span>]))`,wrap:!1}}),W=new y({props:{title:"4-bit Quantization",local:"4-bit-quantization",headingTag:"h3"}}),v=new D({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwQXV0b01vZGVsRm9yQ2F1c2FsTE0lMkMlMjBCaXRzQW5kQnl0ZXNDb25maWclMEElMEFibmJfY29uZmlnJTIwJTNEJTIwQml0c0FuZEJ5dGVzQ29uZmlnKCUwQSUyMCUyMCUyMCUyMGxvYWRfaW5fNGJpdCUzRFRydWUlMkMlMEElMjAlMjAlMjAlMjBibmJfNGJpdF9jb21wdXRlX2R0eXBlJTNEdG9yY2guYmZsb2F0MTYlMkMlMEEpJTBBJTBBbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWxGb3JDYXVzYWxMTS5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIybWV0YS1sbGFtYSUyRkxsYW1hLTItN2ItaGYlMjIlMkMlMEElMjAlMjAlMjAlMjBxdWFudGl6YXRpb25fY29uZmlnJTNEYm5iX2NvbmZpZyUyQyUwQSUyMCUyMCUyMCUyMGRldmljZV9tYXAlM0QlMjJhdXRvJTIyJTJDJTBBKQ==",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForCausalLM, BitsAndBytesConfig | |
| bnb_config = BitsAndBytesConfig( | |
| load_in_4bit=<span class="hljs-literal">True</span>, | |
| bnb_4bit_compute_dtype=torch.bfloat16, | |
| ) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| <span class="hljs-string">"meta-llama/Llama-2-7b-hf"</span>, | |
| quantization_config=bnb_config, | |
| device_map=<span class="hljs-string">"auto"</span>, | |
| )`,wrap:!1}}),X=new y({props:{title:"QLoRA Fine-tuning",local:"qlora-fine-tuning",headingTag:"h3"}}),z=new D({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvckNhdXNhbExNJTJDJTIwQml0c0FuZEJ5dGVzQ29uZmlnJTBBZnJvbSUyMHBlZnQlMjBpbXBvcnQlMjBMb3JhQ29uZmlnJTJDJTIwZ2V0X3BlZnRfbW9kZWwlMkMlMjBwcmVwYXJlX21vZGVsX2Zvcl9rYml0X3RyYWluaW5nJTBBJTBBJTIzJTIwTG9hZCUyMDQtYml0JTIwbW9kZWwlMEFibmJfY29uZmlnJTIwJTNEJTIwQml0c0FuZEJ5dGVzQ29uZmlnKGxvYWRfaW5fNGJpdCUzRFRydWUpJTBBbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWxGb3JDYXVzYWxMTS5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIybWV0YS1sbGFtYSUyRkxsYW1hLTItN2ItaGYlMjIlMkMlMEElMjAlMjAlMjAlMjBxdWFudGl6YXRpb25fY29uZmlnJTNEYm5iX2NvbmZpZyUyQyUwQSklMEElMEElMjMlMjBQcmVwYXJlJTIwZm9yJTIwdHJhaW5pbmclMEFtb2RlbCUyMCUzRCUyMHByZXBhcmVfbW9kZWxfZm9yX2tiaXRfdHJhaW5pbmcobW9kZWwpJTBBJTBBJTIzJTIwQWRkJTIwTG9SQSUyMGFkYXB0ZXJzJTBBbG9yYV9jb25maWclMjAlM0QlMjBMb3JhQ29uZmlnKCUwQSUyMCUyMCUyMCUyMHIlM0QxNiUyQyUwQSUyMCUyMCUyMCUyMGxvcmFfYWxwaGElM0QzMiUyQyUwQSUyMCUyMCUyMCUyMHRhcmdldF9tb2R1bGVzJTNEJTVCJTIycV9wcm9qJTIyJTJDJTIwJTIydl9wcm9qJTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwdGFza190eXBlJTNEJTIyQ0FVU0FMX0xNJTIyJTJDJTBBKSUwQW1vZGVsJTIwJTNEJTIwZ2V0X3BlZnRfbW9kZWwobW9kZWwlMkMlMjBsb3JhX2NvbmZpZyklMEElMEElMjMlMjBOb3clMjB0cmFpbiUyMHdpdGglMjB5b3VyJTIwcHJlZmVycmVkJTIwdHJhaW5lcg==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForCausalLM, BitsAndBytesConfig | |
| <span class="hljs-keyword">from</span> peft <span class="hljs-keyword">import</span> LoraConfig, get_peft_model, prepare_model_for_kbit_training | |
| <span class="hljs-comment"># Load 4-bit model</span> | |
| bnb_config = BitsAndBytesConfig(load_in_4bit=<span class="hljs-literal">True</span>) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| <span class="hljs-string">"meta-llama/Llama-2-7b-hf"</span>, | |
| quantization_config=bnb_config, | |
| ) | |
| <span class="hljs-comment"># Prepare for training</span> | |
| model = prepare_model_for_kbit_training(model) | |
| <span class="hljs-comment"># Add LoRA adapters</span> | |
| lora_config = LoraConfig( | |
| r=<span class="hljs-number">16</span>, | |
| lora_alpha=<span class="hljs-number">32</span>, | |
| target_modules=[<span class="hljs-string">"q_proj"</span>, <span class="hljs-string">"v_proj"</span>], | |
| task_type=<span class="hljs-string">"CAUSAL_LM"</span>, | |
| ) | |
| model = get_peft_model(model, lora_config) | |
| <span class="hljs-comment"># Now train with your preferred trainer</span>`,wrap:!1}}),R=new y({props:{title:"8-bit Optimizers",local:"8-bit-optimizers",headingTag:"h3"}}),Y=new D({props:{code:"aW1wb3J0JTIwYml0c2FuZGJ5dGVzJTIwYXMlMjBibmIlMEElMEFtb2RlbCUyMCUzRCUyMFlvdXJNb2RlbCgpJTBBJTBBJTIzJTIwUmVwbGFjZSUyMHN0YW5kYXJkJTIwb3B0aW1pemVyJTIwd2l0aCUyMDgtYml0JTIwdmVyc2lvbiUwQW9wdGltaXplciUyMCUzRCUyMGJuYi5vcHRpbS5BZGFtOGJpdChtb2RlbC5wYXJhbWV0ZXJzKCklMkMlMjBsciUzRDFlLTMpJTBBJTBBJTIzJTIwVXNlJTIwaW4lMjB0cmFpbmluZyUyMGxvb3AlMjBhcyUyMG5vcm1hbCUwQWZvciUyMGJhdGNoJTIwaW4lMjBkYXRhbG9hZGVyJTNBJTBBJTIwJTIwJTIwJTIwbG9zcyUyMCUzRCUyMG1vZGVsKGJhdGNoKSUwQSUyMCUyMCUyMCUyMGxvc3MuYmFja3dhcmQoKSUwQSUyMCUyMCUyMCUyMG9wdGltaXplci5zdGVwKCklMEElMjAlMjAlMjAlMjBvcHRpbWl6ZXIuemVyb19ncmFkKCk=",highlighted:`<span class="hljs-keyword">import</span> bitsandbytes <span class="hljs-keyword">as</span> bnb | |
| model = YourModel() | |
| <span class="hljs-comment"># Replace standard optimizer with 8-bit version</span> | |
| optimizer = bnb.optim.Adam8bit(model.parameters(), lr=<span class="hljs-number">1e-3</span>) | |
| <span class="hljs-comment"># Use in training loop as normal</span> | |
| <span class="hljs-keyword">for</span> batch <span class="hljs-keyword">in</span> dataloader: | |
| loss = model(batch) | |
| loss.backward() | |
| optimizer.step() | |
| optimizer.zero_grad()`,wrap:!1}}),L=new y({props:{title:"Custom Quantized Layers",local:"custom-quantized-layers",headingTag:"h3"}}),q=new D({props:{code:"aW1wb3J0JTIwdG9yY2glMEFpbXBvcnQlMjBiaXRzYW5kYnl0ZXMlMjBhcyUyMGJuYiUwQSUwQSUyMyUyMDgtYml0JTIwbGluZWFyJTIwbGF5ZXIlMEFsaW5lYXJfOGJpdCUyMCUzRCUyMGJuYi5ubi5MaW5lYXI4Yml0THQoMTAyNCUyQyUyMDEwMjQlMkMlMjBoYXNfZnAxNl93ZWlnaHRzJTNERmFsc2UpJTBBJTBBJTIzJTIwNC1iaXQlMjBsaW5lYXIlMjBsYXllciUwQWxpbmVhcl80Yml0JTIwJTNEJTIwYm5iLm5uLkxpbmVhcjRiaXQoMTAyNCUyQyUyMDEwMjQlMkMlMjBjb21wdXRlX2R0eXBlJTNEdG9yY2guYmZsb2F0MTYp",highlighted:`<span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">import</span> bitsandbytes <span class="hljs-keyword">as</span> bnb | |
| <span class="hljs-comment"># 8-bit linear layer</span> | |
| linear_8bit = bnb.nn.Linear8bitLt(<span class="hljs-number">1024</span>, <span class="hljs-number">1024</span>, has_fp16_weights=<span class="hljs-literal">False</span>) | |
| <span class="hljs-comment"># 4-bit linear layer</span> | |
| linear_4bit = bnb.nn.Linear4bit(<span class="hljs-number">1024</span>, <span class="hljs-number">1024</span>, compute_dtype=torch.bfloat16)`,wrap:!1}}),N=new y({props:{title:"Next Steps",local:"next-steps",headingTag:"h2"}}),S=new y({props:{title:"Getting Help",local:"getting-help",headingTag:"h2"}}),P=new pe({props:{source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/docs/source/quickstart.mdx"}}),{c(){d=M("meta"),tt=n(),K=M("p"),et=n(),i(T.$$.fragment),lt=n(),i(J.$$.fragment),st=n(),c=M("p"),c.textContent=Et,nt=n(),i(w.$$.fragment),at=n(),i(h.$$.fragment),it=n(),$=M("p"),$.innerHTML=Rt,mt=n(),g=M("p"),g.innerHTML=xt,rt=n(),i(U.$$.fragment),pt=n(),j=M("p"),j.textContent=Yt,ot=n(),C=M("ul"),C.innerHTML=Ft,bt=n(),i(B.$$.fragment),Mt=n(),i(I.$$.fragment),ut=n(),k=M("p"),k.textContent=Lt,ft=n(),i(G.$$.fragment),yt=n(),Q=M("blockquote"),Q.innerHTML=Vt,dt=n(),i(W.$$.fragment),Tt=n(),Z=M("p"),Z.textContent=qt,Jt=n(),i(v.$$.fragment),ct=n(),i(X.$$.fragment),wt=n(),_=M("p"),_.textContent=Nt,ht=n(),i(z.$$.fragment),$t=n(),E=M("blockquote"),E.innerHTML=At,gt=n(),i(R.$$.fragment),Ut=n(),x=M("p"),x.textContent=St,jt=n(),i(Y.$$.fragment),Ct=n(),F=M("blockquote"),F.innerHTML=Ht,Bt=n(),i(L.$$.fragment),It=n(),V=M("p"),V.textContent=Pt,kt=n(),i(q.$$.fragment),Gt=n(),i(N.$$.fragment),Qt=n(),A=M("ul"),A.innerHTML=Dt,Wt=n(),i(S.$$.fragment),Zt=n(),H=M("ul"),H.innerHTML=Kt,vt=n(),i(P.$$.fragment),Xt=n(),O=M("p"),this.h()},l(t){const e=ie("svelte-u9bgzb",document.head);d=u(e,"META",{name:!0,content:!0}),e.forEach(l),tt=a(t),K=u(t,"P",{}),Ot(K).forEach(l),et=a(t),m(T.$$.fragment,t),lt=a(t),m(J.$$.fragment,t),st=a(t),c=u(t,"P",{"data-svelte-h":!0}),f(c)!=="svelte-zl1p6r"&&(c.textContent=Et),nt=a(t),m(w.$$.fragment,t),at=a(t),m(h.$$.fragment,t),it=a(t),$=u(t,"P",{"data-svelte-h":!0}),f($)!=="svelte-oh1u8r"&&($.innerHTML=Rt),mt=a(t),g=u(t,"P",{"data-svelte-h":!0}),f(g)!=="svelte-1mogu0c"&&(g.innerHTML=xt),rt=a(t),m(U.$$.fragment,t),pt=a(t),j=u(t,"P",{"data-svelte-h":!0}),f(j)!=="svelte-1a8z80o"&&(j.textContent=Yt),ot=a(t),C=u(t,"UL",{"data-svelte-h":!0}),f(C)!=="svelte-1y50jsg"&&(C.innerHTML=Ft),bt=a(t),m(B.$$.fragment,t),Mt=a(t),m(I.$$.fragment,t),ut=a(t),k=u(t,"P",{"data-svelte-h":!0}),f(k)!=="svelte-1unfiob"&&(k.textContent=Lt),ft=a(t),m(G.$$.fragment,t),yt=a(t),Q=u(t,"BLOCKQUOTE",{"data-svelte-h":!0}),f(Q)!=="svelte-14j52ii"&&(Q.innerHTML=Vt),dt=a(t),m(W.$$.fragment,t),Tt=a(t),Z=u(t,"P",{"data-svelte-h":!0}),f(Z)!=="svelte-ehjv93"&&(Z.textContent=qt),Jt=a(t),m(v.$$.fragment,t),ct=a(t),m(X.$$.fragment,t),wt=a(t),_=u(t,"P",{"data-svelte-h":!0}),f(_)!=="svelte-19pg04c"&&(_.textContent=Nt),ht=a(t),m(z.$$.fragment,t),$t=a(t),E=u(t,"BLOCKQUOTE",{"data-svelte-h":!0}),f(E)!=="svelte-id2t6l"&&(E.innerHTML=At),gt=a(t),m(R.$$.fragment,t),Ut=a(t),x=u(t,"P",{"data-svelte-h":!0}),f(x)!=="svelte-socsjt"&&(x.textContent=St),jt=a(t),m(Y.$$.fragment,t),Ct=a(t),F=u(t,"BLOCKQUOTE",{"data-svelte-h":!0}),f(F)!=="svelte-r3j0hm"&&(F.innerHTML=Ht),Bt=a(t),m(L.$$.fragment,t),It=a(t),V=u(t,"P",{"data-svelte-h":!0}),f(V)!=="svelte-146rf6n"&&(V.textContent=Pt),kt=a(t),m(q.$$.fragment,t),Gt=a(t),m(N.$$.fragment,t),Qt=a(t),A=u(t,"UL",{"data-svelte-h":!0}),f(A)!=="svelte-1a1jb2c"&&(A.innerHTML=Dt),Wt=a(t),m(S.$$.fragment,t),Zt=a(t),H=u(t,"UL",{"data-svelte-h":!0}),f(H)!=="svelte-jlrk2y"&&(H.innerHTML=Kt),vt=a(t),m(P.$$.fragment,t),Xt=a(t),O=u(t,"P",{}),Ot(O).forEach(l),this.h()},h(){te(d,"name","hf:doc:metadata"),te(d,"content",be)},m(t,e){me(document.head,d),s(t,tt,e),s(t,K,e),s(t,et,e),r(T,t,e),s(t,lt,e),r(J,t,e),s(t,st,e),s(t,c,e),s(t,nt,e),r(w,t,e),s(t,at,e),r(h,t,e),s(t,it,e),s(t,$,e),s(t,mt,e),s(t,g,e),s(t,rt,e),r(U,t,e),s(t,pt,e),s(t,j,e),s(t,ot,e),s(t,C,e),s(t,bt,e),r(B,t,e),s(t,Mt,e),r(I,t,e),s(t,ut,e),s(t,k,e),s(t,ft,e),r(G,t,e),s(t,yt,e),s(t,Q,e),s(t,dt,e),r(W,t,e),s(t,Tt,e),s(t,Z,e),s(t,Jt,e),r(v,t,e),s(t,ct,e),r(X,t,e),s(t,wt,e),s(t,_,e),s(t,ht,e),r(z,t,e),s(t,$t,e),s(t,E,e),s(t,gt,e),r(R,t,e),s(t,Ut,e),s(t,x,e),s(t,jt,e),r(Y,t,e),s(t,Ct,e),s(t,F,e),s(t,Bt,e),r(L,t,e),s(t,It,e),s(t,V,e),s(t,kt,e),r(q,t,e),s(t,Gt,e),r(N,t,e),s(t,Qt,e),s(t,A,e),s(t,Wt,e),r(S,t,e),s(t,Zt,e),s(t,H,e),s(t,vt,e),r(P,t,e),s(t,Xt,e),s(t,O,e),_t=!0},p:le,i(t){_t||(p(T.$$.fragment,t),p(J.$$.fragment,t),p(w.$$.fragment,t),p(h.$$.fragment,t),p(U.$$.fragment,t),p(B.$$.fragment,t),p(I.$$.fragment,t),p(G.$$.fragment,t),p(W.$$.fragment,t),p(v.$$.fragment,t),p(X.$$.fragment,t),p(z.$$.fragment,t),p(R.$$.fragment,t),p(Y.$$.fragment,t),p(L.$$.fragment,t),p(q.$$.fragment,t),p(N.$$.fragment,t),p(S.$$.fragment,t),p(P.$$.fragment,t),_t=!0)},o(t){o(T.$$.fragment,t),o(J.$$.fragment,t),o(w.$$.fragment,t),o(h.$$.fragment,t),o(U.$$.fragment,t),o(B.$$.fragment,t),o(I.$$.fragment,t),o(G.$$.fragment,t),o(W.$$.fragment,t),o(v.$$.fragment,t),o(X.$$.fragment,t),o(z.$$.fragment,t),o(R.$$.fragment,t),o(Y.$$.fragment,t),o(L.$$.fragment,t),o(q.$$.fragment,t),o(N.$$.fragment,t),o(S.$$.fragment,t),o(P.$$.fragment,t),_t=!1},d(t){t&&(l(tt),l(K),l(et),l(lt),l(st),l(c),l(nt),l(at),l(it),l($),l(mt),l(g),l(rt),l(pt),l(j),l(ot),l(C),l(bt),l(Mt),l(ut),l(k),l(ft),l(yt),l(Q),l(dt),l(Tt),l(Z),l(Jt),l(ct),l(wt),l(_),l(ht),l($t),l(E),l(gt),l(Ut),l(x),l(jt),l(Ct),l(F),l(Bt),l(It),l(V),l(kt),l(Gt),l(Qt),l(A),l(Wt),l(Zt),l(H),l(vt),l(Xt),l(O)),l(d),b(T,t),b(J,t),b(w,t),b(h,t),b(U,t),b(B,t),b(I,t),b(G,t),b(W,t),b(v,t),b(X,t),b(z,t),b(R,t),b(Y,t),b(L,t),b(q,t),b(N,t),b(S,t),b(P,t)}}}const be='{"title":"Quickstart","local":"quickstart","sections":[{"title":"Installation","local":"installation","sections":[],"depth":2},{"title":"What is bitsandbytes?","local":"what-is-bitsandbytes","sections":[],"depth":2},{"title":"Quick Examples","local":"quick-examples","sections":[{"title":"8-bit Inference","local":"8-bit-inference","sections":[],"depth":3},{"title":"4-bit Quantization","local":"4-bit-quantization","sections":[],"depth":3},{"title":"QLoRA Fine-tuning","local":"qlora-fine-tuning","sections":[],"depth":3},{"title":"8-bit Optimizers","local":"8-bit-optimizers","sections":[],"depth":3},{"title":"Custom Quantized Layers","local":"custom-quantized-layers","sections":[],"depth":3}],"depth":2},{"title":"Next Steps","local":"next-steps","sections":[],"depth":2},{"title":"Getting Help","local":"getting-help","sections":[],"depth":2}],"depth":1}';function Me(zt){return se(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Te extends ne{constructor(d){super(),ae(this,d,Me,oe,ee,{})}}export{Te as component}; | |
Xet Storage Details
- Size:
- 17.4 kB
- Xet hash:
- 010dffaf7c997021f8109e970eef214b2a69f15d858b8528213d056c2e486ee2
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.