Buckets:

HuggingFaceDocBuilder's picture
download
raw
18.2 kB
import{s as Nt,n as At,o as Dt}from"../chunks/scheduler.7b731bd4.js";import{S as Pt,i as Ot,e as i,s as a,c as o,h as Kt,a as r,d as l,b as s,f as Xt,g as p,j as y,k as Yt,l as te,m as n,n as m,t as u,o as T,p as J}from"../chunks/index.cc268345.js";import{C as ee,H as w,E as le}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.f0d99f98.js";import{C as N}from"../chunks/CodeBlock.169a125f.js";function ne(kt){let M,P,A,O,d,K,f,tt,g,Ft='Unsloth is an open‑source framework for fine‑tuning and reinforcement learning that trains LLMs (like Llama, OpenAI gpt-oss, Mistral, Gemma, DeepSeek, and more) up to 2× faster with up to 80% less VRAM. Unsloth allows <a href="https://huggingface.co/docs/trl/en/unsloth_integration#Training" rel="nofollow">training</a>, evaluation, running and <a href="https://huggingface.co/docs/trl/en/unsloth_integration#Saving-the-model" rel="nofollow">deployment</a> with other inference engines like llama.cpp, Ollama and vLLM.',et,c,Rt='The library provides a streamlined, Hugging Face compatible workflow for training, evaluation, inference and deployment and is fully compatible with <a href="/docs/trl/pr_5607/en/sft_trainer#trl.SFTTrainer">SFTTrainer</a>.',lt,h,nt,U,Wt="<li>Training support for all transformer compatible models: Text-to-speech (TTS), multimodal, BERT, RL and more</li> <li>Supports full fine-tuning, pretraining, LoRA, QLoRA, 8-bit training &amp; more</li> <li>Works on Linux, Windows, Colab, Kaggle; NVIDIA GPUs, soon AMD &amp; Intel setups</li> <li>Supports most features TRL supports, including RLHF (GSPO, GRPO, DPO etc.)</li> <li>Hand-written Triton kernels and a manual backprop engine ensure no accuracy degradation (0% approximation error)</li>",at,I,st,b,it,$,qt="Local Installation (Linux recommended):",ot,j,rt,C,Bt='You can also install <code>unsloth</code> according to the <a href="https://docs.unsloth.ai/get-started/installing-+-updating" rel="nofollow">official documentation</a>. Once installed, you can incorporate unsloth into your workflow in a very simple manner; instead of loading <a href="https://huggingface.co/docs/transformers/main/en/model_doc/auto#transformers.AutoModelForCausalLM" rel="nofollow">AutoModelForCausalLM</a>, you just need to load a <code>FastLanguageModel</code> as follows:',pt,_,mt,Z,Gt='The saved model is fully compatible with Hugging Face’s transformers library. Learn more about unsloth in their <a href="https://github.com/unslothai/unsloth" rel="nofollow">official repository</a>.',ut,v,Tt,k,Jt,F,Vt="Access Jupyter Lab at <code>http://localhost:8888</code> and start fine-tuning!",yt,R,Mt,W,xt="These are some core settings you can toggle before training:",wt,q,Qt="<li><code>max_seq_length = 2048</code> – Controls context length. While Llama-3 supports 8192, we recommend 2048 for testing. Unsloth enables 4× longer context fine-tuning.</li> <li><code>dtype = &quot;auto&quot;</code> – For auto-detection; use torch.float16 or torch.bfloat16 for newer GPUs.</li> <li><code>load_in_4bit = True</code> – Enables 4-bit quantization, reducing memory use 4× for fine-tuning. Disabling it allows for LoRA 16-bit fine-tuning to be enabled.</li> <li>To enable full fine-tuning (FFT), set <code>full_finetuning = True</code>. For 8-bit fine-tuning, set <code>load_in_8bit = True</code>. Note: Only one training method can be set to True at a time.</li>",dt,B,Lt='For more information on configuring Unsloth’s hyperparameters and features, read their <a href="https://docs.unsloth.ai/get-started/fine-tuning-llms-guide" rel="nofollow">documentation guide here</a>.',ft,G,gt,V,Ht='Unsloth allows you to directly save the finetuned model as a small file called a LoRA adapter. You can instead push to the Hugging Face hub as well if you want to upload your model! Remember to get a <a href="https://huggingface.co/settings/tokens" rel="nofollow">Hugging Face token</a> and add your token!',ct,x,ht,Q,zt="To save to GGUF, Unsloth uses llama.cpp. To save locally:",Ut,L,It,H,Et="To push to the hub:",bt,z,$t,E,jt,S,St="To save to 16-bit for vLLM, use:",Ct,X,_t,Y,Zt,D,vt;return d=new ee({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),f=new w({props:{title:"Unsloth Integration",local:"unsloth-integration",headingTag:"h1"}}),h=new w({props:{title:"Key Features",local:"key-features",headingTag:"h2"}}),I=new w({props:{title:"Installation",local:"installation",headingTag:"h2"}}),b=new w({props:{title:"pip install",local:"pip-install",headingTag:"h3"}}),j=new N({props:{code:"cGlwJTIwaW5zdGFsbCUyMHVuc2xvdGg=",highlighted:"pip install unsloth",wrap:!1}}),_=new N({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdHJsJTIwaW1wb3J0JTIwU0ZUQ29uZmlnJTJDJTIwU0ZUVHJhaW5lciUwQWZyb20lMjB1bnNsb3RoJTIwaW1wb3J0JTIwRmFzdExhbmd1YWdlTW9kZWwlMEElMEFtYXhfbGVuZ3RoJTIwJTNEJTIwMjA0OCUyMCUyMyUyMFN1cHBvcnRzJTIwYXV0b21hdGljJTIwUm9QRSUyMFNjYWxpbmclMkMlMjBzbyUyMGNob29zZSUyMGFueSUyMG51bWJlciUwQSUwQSUyMyUyMExvYWQlMjBtb2RlbCUwQW1vZGVsJTJDJTIwdG9rZW5pemVyJTIwJTNEJTIwRmFzdExhbmd1YWdlTW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUwQSUyMCUyMCUyMCUyMG1vZGVsX25hbWUlM0QlMjJ1bnNsb3RoJTJGbWlzdHJhbC03YiUyMiUyQyUwQSUyMCUyMCUyMCUyMG1heF9zZXFfbGVuZ3RoJTNEbWF4X2xlbmd0aCUyQyUwQSUyMCUyMCUyMCUyMGR0eXBlJTNEJTIyYXV0byUyMiUyQyUyMCUyMCUyMyUyMEZvciUyMGF1dG8tZGV0ZWN0aW9uLiUyMEZsb2F0MTYlMjBmb3IlMjBUZXNsYSUyMFQ0JTJDJTIwVjEwMCUyQyUyMEJmbG9hdDE2JTIwZm9yJTIwQW1wZXJlJTJCJTBBJTIwJTIwJTIwJTIwbG9hZF9pbl80Yml0JTNEVHJ1ZSUyQyUyMCUyMCUyMyUyMFVzZSUyMDRiaXQlMjBxdWFudGl6YXRpb24lMjB0byUyMHJlZHVjZSUyMG1lbW9yeSUyMHVzYWdlLiUyMENhbiUyMGJlJTIwRmFsc2UlMEEpJTBBJTBBJTIzJTIwRG8lMjBtb2RlbCUyMHBhdGNoaW5nJTIwYW5kJTIwYWRkJTIwZmFzdCUyMExvUkElMjB3ZWlnaHRzJTBBbW9kZWwlMjAlM0QlMjBGYXN0TGFuZ3VhZ2VNb2RlbC5nZXRfcGVmdF9tb2RlbCglMEElMjAlMjAlMjAlMjBtb2RlbCUyQyUwQSUyMCUyMCUyMCUyMHIlM0QxNiUyQyUwQSUyMCUyMCUyMCUyMHRhcmdldF9tb2R1bGVzJTNEJTVCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIycV9wcm9qJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIya19wcm9qJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydl9wcm9qJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyb19wcm9qJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyZ2F0ZV9wcm9qJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIydXBfcHJvaiUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmRvd25fcHJvaiUyMiUyQyUwQSUyMCUyMCUyMCUyMCU1RCUyQyUwQSUyMCUyMCUyMCUyMGxvcmFfYWxwaGElM0QxNiUyQyUwQSUyMCUyMCUyMCUyMGxvcmFfZHJvcG91dCUzRDAlMkMlMjAlMjAlMjMlMjBEcm9wb3V0JTIwJTNEJTIwMCUyMGlzJTIwY3VycmVudGx5JTIwb3B0aW1pemVkJTBBJTIwJTIwJTIwJTIwYmlhcyUzRCUyMm5vbmUlMjIlMkMlMjAlMjAlMjMlMjBCaWFzJTIwJTNEJTIwJTIybm9uZSUyMiUyMGlzJTIwY3VycmVudGx5JTIwb3B0aW1pemVkJTBBJTIwJTIwJTIwJTIwdXNlX2dyYWRpZW50X2NoZWNrcG9pbnRpbmclM0RUcnVlJTJDJTBBJTIwJTIwJTIwJTIwcmFuZG9tX3N0YXRlJTNEMzQwNyUyQyUwQSklMEElMEF0cmFpbmluZ19hcmdzJTIwJTNEJTIwU0ZUQ29uZmlnKG91dHB1dF9kaXIlM0QlMjIuJTJGb3V0cHV0JTIyJTJDJTIwbWF4X2xlbmd0aCUzRG1heF9sZW5ndGgpJTBBJTBBdHJhaW5lciUyMCUzRCUyMFNGVFRyYWluZXIoJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0Rtb2RlbCUyQyUwQSUyMCUyMCUyMCUyMGFyZ3MlM0R0cmFpbmluZ19hcmdzJTJDJTBBJTIwJTIwJTIwJTIwdHJhaW5fZGF0YXNldCUzRGRhdGFzZXQlMkMlMEEpJTBBdHJhaW5lci50cmFpbigp",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> trl <span class="hljs-keyword">import</span> SFTConfig, SFTTrainer
<span class="hljs-keyword">from</span> unsloth <span class="hljs-keyword">import</span> FastLanguageModel
max_length = <span class="hljs-number">2048</span> <span class="hljs-comment"># Supports automatic RoPE Scaling, so choose any number</span>
<span class="hljs-comment"># Load model</span>
model, tokenizer = FastLanguageModel.from_pretrained(
model_name=<span class="hljs-string">&quot;unsloth/mistral-7b&quot;</span>,
max_seq_length=max_length,
dtype=<span class="hljs-string">&quot;auto&quot;</span>, <span class="hljs-comment"># For auto-detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+</span>
load_in_4bit=<span class="hljs-literal">True</span>, <span class="hljs-comment"># Use 4bit quantization to reduce memory usage. Can be False</span>
)
<span class="hljs-comment"># Do model patching and add fast LoRA weights</span>
model = FastLanguageModel.get_peft_model(
model,
r=<span class="hljs-number">16</span>,
target_modules=[
<span class="hljs-string">&quot;q_proj&quot;</span>,
<span class="hljs-string">&quot;k_proj&quot;</span>,
<span class="hljs-string">&quot;v_proj&quot;</span>,
<span class="hljs-string">&quot;o_proj&quot;</span>,
<span class="hljs-string">&quot;gate_proj&quot;</span>,
<span class="hljs-string">&quot;up_proj&quot;</span>,
<span class="hljs-string">&quot;down_proj&quot;</span>,
],
lora_alpha=<span class="hljs-number">16</span>,
lora_dropout=<span class="hljs-number">0</span>, <span class="hljs-comment"># Dropout = 0 is currently optimized</span>
bias=<span class="hljs-string">&quot;none&quot;</span>, <span class="hljs-comment"># Bias = &quot;none&quot; is currently optimized</span>
use_gradient_checkpointing=<span class="hljs-literal">True</span>,
random_state=<span class="hljs-number">3407</span>,
)
training_args = SFTConfig(output_dir=<span class="hljs-string">&quot;./output&quot;</span>, max_length=max_length)
trainer = SFTTrainer(
model=model,
args=training_args,
train_dataset=dataset,
)
trainer.train()`,wrap:!1}}),v=new w({props:{title:"Docker Install",local:"docker-install",headingTag:"h3"}}),k=new N({props:{code:"ZG9ja2VyJTIwcnVuJTIwLWQlMjAtZSUyMEpVUFlURVJfUEFTU1dPUkQlM0QlMjJteXBhc3N3b3JkJTIyJTIwJTVDJTBBJTIwJTIwLXAlMjA4ODg4JTNBODg4OCUyMC1wJTIwMjIyMiUzQTIyJTIwJTVDJTBBJTIwJTIwLXYlMjAlMjQocHdkKSUyRndvcmslM0ElMkZ3b3Jrc3BhY2UlMkZ3b3JrJTIwJTVDJTBBJTIwJTIwLS1ncHVzJTIwYWxsJTIwJTVDJTBBJTIwJTIwdW5zbG90aCUyRnVuc2xvdGg=",highlighted:`docker run -d -e JUPYTER_PASSWORD=<span class="hljs-string">&quot;mypassword&quot;</span> \\
-p 8888:8888 -p 2222:22 \\
-v $(<span class="hljs-built_in">pwd</span>)/work:/workspace/work \\
--gpus all \\
unsloth/unsloth`,wrap:!1}}),R=new w({props:{title:"Training",local:"training",headingTag:"h2"}}),G=new w({props:{title:"Saving the model",local:"saving-the-model",headingTag:"h2"}}),x=new w({props:{title:"Saving to GGUF",local:"saving-to-gguf",headingTag:"h3"}}),L=new N({props:{code:"bW9kZWwuc2F2ZV9wcmV0cmFpbmVkX2dndWYoJTIyZGlyZWN0b3J5JTIyJTJDJTIwdG9rZW5pemVyJTJDJTIwcXVhbnRpemF0aW9uX21ldGhvZCUyMCUzRCUyMCUyMnE0X2tfbSUyMiklMEFtb2RlbC5zYXZlX3ByZXRyYWluZWRfZ2d1ZiglMjJkaXJlY3RvcnklMjIlMkMlMjB0b2tlbml6ZXIlMkMlMjBxdWFudGl6YXRpb25fbWV0aG9kJTIwJTNEJTIwJTIycThfMCUyMiklMEFtb2RlbC5zYXZlX3ByZXRyYWluZWRfZ2d1ZiglMjJkaXJlY3RvcnklMjIlMkMlMjB0b2tlbml6ZXIlMkMlMjBxdWFudGl6YXRpb25fbWV0aG9kJTIwJTNEJTIwJTIyZjE2JTIyKQ==",highlighted:`model.save_pretrained_gguf(<span class="hljs-string">&quot;directory&quot;</span>, tokenizer, quantization_method = <span class="hljs-string">&quot;q4_k_m&quot;</span>)
model.save_pretrained_gguf(<span class="hljs-string">&quot;directory&quot;</span>, tokenizer, quantization_method = <span class="hljs-string">&quot;q8_0&quot;</span>)
model.save_pretrained_gguf(<span class="hljs-string">&quot;directory&quot;</span>, tokenizer, quantization_method = <span class="hljs-string">&quot;f16&quot;</span>)`,wrap:!1}}),z=new N({props:{code:"bW9kZWwucHVzaF90b19odWJfZ2d1ZiglMjJoZl91c2VybmFtZSUyRmRpcmVjdG9yeSUyMiUyQyUyMHRva2VuaXplciUyQyUyMHF1YW50aXphdGlvbl9tZXRob2QlMjAlM0QlMjAlMjJxNF9rX20lMjIpJTBBbW9kZWwucHVzaF90b19odWJfZ2d1ZiglMjJoZl91c2VybmFtZSUyRmRpcmVjdG9yeSUyMiUyQyUyMHRva2VuaXplciUyQyUyMHF1YW50aXphdGlvbl9tZXRob2QlMjAlM0QlMjAlMjJxOF8wJTIyKQ==",highlighted:`model.push_to_hub_gguf(<span class="hljs-string">&quot;hf_username/directory&quot;</span>, tokenizer, quantization_method = <span class="hljs-string">&quot;q4_k_m&quot;</span>)
model.push_to_hub_gguf(<span class="hljs-string">&quot;hf_username/directory&quot;</span>, tokenizer, quantization_method = <span class="hljs-string">&quot;q8_0&quot;</span>)`,wrap:!1}}),E=new w({props:{title:"Saving to vLLM",local:"saving-to-vllm",headingTag:"h3"}}),X=new N({props:{code:"bW9kZWwuc2F2ZV9wcmV0cmFpbmVkX21lcmdlZCglMjJtb2RlbCUyMiUyQyUyMHRva2VuaXplciUyQyUyMHNhdmVfbWV0aG9kJTIwJTNEJTIwJTIybWVyZ2VkXzE2Yml0JTIyJTJDKSUwQW1vZGVsLnB1c2hfdG9faHViX21lcmdlZCglMjJoZiUyRm1vZGVsJTIyJTJDJTIwdG9rZW5pemVyJTJDJTIwc2F2ZV9tZXRob2QlMjAlM0QlMjAlMjJtZXJnZWRfMTZiaXQlMjIlMkMlMjB0b2tlbiUyMCUzRCUyMCUyMiUyMik=",highlighted:`model.save_pretrained_merged(<span class="hljs-string">&quot;model&quot;</span>, tokenizer, save_method = <span class="hljs-string">&quot;merged_16bit&quot;</span>,)
model.push_to_hub_merged(<span class="hljs-string">&quot;hf/model&quot;</span>, tokenizer, save_method = <span class="hljs-string">&quot;merged_16bit&quot;</span>, token = <span class="hljs-string">&quot;&quot;</span>)`,wrap:!1}}),Y=new le({props:{source:"https://github.com/huggingface/trl/blob/main/docs/source/unsloth_integration.md"}}),{c(){M=i("meta"),P=a(),A=i("p"),O=a(),o(d.$$.fragment),K=a(),o(f.$$.fragment),tt=a(),g=i("p"),g.innerHTML=Ft,et=a(),c=i("p"),c.innerHTML=Rt,lt=a(),o(h.$$.fragment),nt=a(),U=i("ul"),U.innerHTML=Wt,at=a(),o(I.$$.fragment),st=a(),o(b.$$.fragment),it=a(),$=i("p"),$.textContent=qt,ot=a(),o(j.$$.fragment),rt=a(),C=i("p"),C.innerHTML=Bt,pt=a(),o(_.$$.fragment),mt=a(),Z=i("p"),Z.innerHTML=Gt,ut=a(),o(v.$$.fragment),Tt=a(),o(k.$$.fragment),Jt=a(),F=i("p"),F.innerHTML=Vt,yt=a(),o(R.$$.fragment),Mt=a(),W=i("p"),W.textContent=xt,wt=a(),q=i("ul"),q.innerHTML=Qt,dt=a(),B=i("p"),B.innerHTML=Lt,ft=a(),o(G.$$.fragment),gt=a(),V=i("p"),V.innerHTML=Ht,ct=a(),o(x.$$.fragment),ht=a(),Q=i("p"),Q.textContent=zt,Ut=a(),o(L.$$.fragment),It=a(),H=i("p"),H.textContent=Et,bt=a(),o(z.$$.fragment),$t=a(),o(E.$$.fragment),jt=a(),S=i("p"),S.textContent=St,Ct=a(),o(X.$$.fragment),_t=a(),o(Y.$$.fragment),Zt=a(),D=i("p"),this.h()},l(t){const e=Kt("svelte-u9bgzb",document.head);M=r(e,"META",{name:!0,content:!0}),e.forEach(l),P=s(t),A=r(t,"P",{}),Xt(A).forEach(l),O=s(t),p(d.$$.fragment,t),K=s(t),p(f.$$.fragment,t),tt=s(t),g=r(t,"P",{"data-svelte-h":!0}),y(g)!=="svelte-1uennsf"&&(g.innerHTML=Ft),et=s(t),c=r(t,"P",{"data-svelte-h":!0}),y(c)!=="svelte-rn3cfm"&&(c.innerHTML=Rt),lt=s(t),p(h.$$.fragment,t),nt=s(t),U=r(t,"UL",{"data-svelte-h":!0}),y(U)!=="svelte-d3cn3q"&&(U.innerHTML=Wt),at=s(t),p(I.$$.fragment,t),st=s(t),p(b.$$.fragment,t),it=s(t),$=r(t,"P",{"data-svelte-h":!0}),y($)!=="svelte-saprch"&&($.textContent=qt),ot=s(t),p(j.$$.fragment,t),rt=s(t),C=r(t,"P",{"data-svelte-h":!0}),y(C)!=="svelte-fyl2pg"&&(C.innerHTML=Bt),pt=s(t),p(_.$$.fragment,t),mt=s(t),Z=r(t,"P",{"data-svelte-h":!0}),y(Z)!=="svelte-1o18rwj"&&(Z.innerHTML=Gt),ut=s(t),p(v.$$.fragment,t),Tt=s(t),p(k.$$.fragment,t),Jt=s(t),F=r(t,"P",{"data-svelte-h":!0}),y(F)!=="svelte-nevc47"&&(F.innerHTML=Vt),yt=s(t),p(R.$$.fragment,t),Mt=s(t),W=r(t,"P",{"data-svelte-h":!0}),y(W)!=="svelte-1fsqucn"&&(W.textContent=xt),wt=s(t),q=r(t,"UL",{"data-svelte-h":!0}),y(q)!=="svelte-1l3eg1e"&&(q.innerHTML=Qt),dt=s(t),B=r(t,"P",{"data-svelte-h":!0}),y(B)!=="svelte-1653th9"&&(B.innerHTML=Lt),ft=s(t),p(G.$$.fragment,t),gt=s(t),V=r(t,"P",{"data-svelte-h":!0}),y(V)!=="svelte-1lwrzqw"&&(V.innerHTML=Ht),ct=s(t),p(x.$$.fragment,t),ht=s(t),Q=r(t,"P",{"data-svelte-h":!0}),y(Q)!=="svelte-9uf3of"&&(Q.textContent=zt),Ut=s(t),p(L.$$.fragment,t),It=s(t),H=r(t,"P",{"data-svelte-h":!0}),y(H)!=="svelte-1il3rp6"&&(H.textContent=Et),bt=s(t),p(z.$$.fragment,t),$t=s(t),p(E.$$.fragment,t),jt=s(t),S=r(t,"P",{"data-svelte-h":!0}),y(S)!=="svelte-1yze3at"&&(S.textContent=St),Ct=s(t),p(X.$$.fragment,t),_t=s(t),p(Y.$$.fragment,t),Zt=s(t),D=r(t,"P",{}),Xt(D).forEach(l),this.h()},h(){Yt(M,"name","hf:doc:metadata"),Yt(M,"content",ae)},m(t,e){te(document.head,M),n(t,P,e),n(t,A,e),n(t,O,e),m(d,t,e),n(t,K,e),m(f,t,e),n(t,tt,e),n(t,g,e),n(t,et,e),n(t,c,e),n(t,lt,e),m(h,t,e),n(t,nt,e),n(t,U,e),n(t,at,e),m(I,t,e),n(t,st,e),m(b,t,e),n(t,it,e),n(t,$,e),n(t,ot,e),m(j,t,e),n(t,rt,e),n(t,C,e),n(t,pt,e),m(_,t,e),n(t,mt,e),n(t,Z,e),n(t,ut,e),m(v,t,e),n(t,Tt,e),m(k,t,e),n(t,Jt,e),n(t,F,e),n(t,yt,e),m(R,t,e),n(t,Mt,e),n(t,W,e),n(t,wt,e),n(t,q,e),n(t,dt,e),n(t,B,e),n(t,ft,e),m(G,t,e),n(t,gt,e),n(t,V,e),n(t,ct,e),m(x,t,e),n(t,ht,e),n(t,Q,e),n(t,Ut,e),m(L,t,e),n(t,It,e),n(t,H,e),n(t,bt,e),m(z,t,e),n(t,$t,e),m(E,t,e),n(t,jt,e),n(t,S,e),n(t,Ct,e),m(X,t,e),n(t,_t,e),m(Y,t,e),n(t,Zt,e),n(t,D,e),vt=!0},p:At,i(t){vt||(u(d.$$.fragment,t),u(f.$$.fragment,t),u(h.$$.fragment,t),u(I.$$.fragment,t),u(b.$$.fragment,t),u(j.$$.fragment,t),u(_.$$.fragment,t),u(v.$$.fragment,t),u(k.$$.fragment,t),u(R.$$.fragment,t),u(G.$$.fragment,t),u(x.$$.fragment,t),u(L.$$.fragment,t),u(z.$$.fragment,t),u(E.$$.fragment,t),u(X.$$.fragment,t),u(Y.$$.fragment,t),vt=!0)},o(t){T(d.$$.fragment,t),T(f.$$.fragment,t),T(h.$$.fragment,t),T(I.$$.fragment,t),T(b.$$.fragment,t),T(j.$$.fragment,t),T(_.$$.fragment,t),T(v.$$.fragment,t),T(k.$$.fragment,t),T(R.$$.fragment,t),T(G.$$.fragment,t),T(x.$$.fragment,t),T(L.$$.fragment,t),T(z.$$.fragment,t),T(E.$$.fragment,t),T(X.$$.fragment,t),T(Y.$$.fragment,t),vt=!1},d(t){t&&(l(P),l(A),l(O),l(K),l(tt),l(g),l(et),l(c),l(lt),l(nt),l(U),l(at),l(st),l(it),l($),l(ot),l(rt),l(C),l(pt),l(mt),l(Z),l(ut),l(Tt),l(Jt),l(F),l(yt),l(Mt),l(W),l(wt),l(q),l(dt),l(B),l(ft),l(gt),l(V),l(ct),l(ht),l(Q),l(Ut),l(It),l(H),l(bt),l($t),l(jt),l(S),l(Ct),l(_t),l(Zt),l(D)),l(M),J(d,t),J(f,t),J(h,t),J(I,t),J(b,t),J(j,t),J(_,t),J(v,t),J(k,t),J(R,t),J(G,t),J(x,t),J(L,t),J(z,t),J(E,t),J(X,t),J(Y,t)}}}const ae='{"title":"Unsloth Integration","local":"unsloth-integration","sections":[{"title":"Key Features","local":"key-features","sections":[],"depth":2},{"title":"Installation","local":"installation","sections":[{"title":"pip install","local":"pip-install","sections":[],"depth":3},{"title":"Docker Install","local":"docker-install","sections":[],"depth":3}],"depth":2},{"title":"Training","local":"training","sections":[],"depth":2},{"title":"Saving the model","local":"saving-the-model","sections":[{"title":"Saving to GGUF","local":"saving-to-gguf","sections":[],"depth":3},{"title":"Saving to vLLM","local":"saving-to-vllm","sections":[],"depth":3}],"depth":2}],"depth":1}';function se(kt){return Dt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class me extends Pt{constructor(M){super(),Ot(this,M,se,ne,Nt,{})}}export{me as component};

Xet Storage Details

Size:
18.2 kB
·
Xet hash:
a95fcb7295c64974561a57c05c02c0c333302ff81ccc7473d0140cac77ba7cd4

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