Buckets:
| import{s as Fe,o as He,n as qe}from"../chunks/scheduler.78382b47.js";import{S as Ze,i as Qe,e as l,s as a,c as f,h as ze,a as p,d as n,b as o,f as G,g,j as h,k as Y,l as r,m as s,n as u,t as _,o as v,p as b}from"../chunks/index.6dd35eb6.js";import{C as De,H as ee,E as Oe}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.184d38d3.js";import{D as _e}from"../chunks/Docstring.e49bb367.js";import{C as Xe}from"../chunks/CodeBlock.7e3c9fac.js";import{E as Se}from"../chunks/ExampleCodeBlock.dc1b216e.js";function Ge(te){let c,A="Example:",x,y,w;return y=new Xe({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvckNhdXNhbExNJTBBZnJvbSUyMHBlZnQlMjBpbXBvcnQlMjBWQkxvUkFDb25maWclMkMlMjBnZXRfcGVmdF9tb2RlbCUwQSUwQWJhc2VfbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWxGb3JDYXVzYWxMTS5mcm9tX3ByZXRyYWluZWQoJTIyZmFjZWJvb2slMkZvcHQtMTI1bSUyMiklMEFjb25maWclMjAlM0QlMjBWQkxvUkFDb25maWcoJTBBJTIwJTIwJTIwJTIwdGFza190eXBlJTNEJTIyU0VRX0NMUyUyMiUyQyUwQSUyMCUyMCUyMCUyMHIlM0Q0JTJDJTBBJTIwJTIwJTIwJTIwdGFyZ2V0X21vZHVsZXMlM0QlNUIlMjJmYzElMjIlMkMlMjAlMjJmYzIlMjIlMkMlMjAlMjJrX3Byb2olMjIlMkMlMjAlMjJvdXRfcHJvaiUyMiUyQyUyMCUyMnFfcHJvaiUyMiUyQyUyMCUyMnZfcHJvaiUyMiU1RCUyQyUwQSUyMCUyMCUyMCUyMG51bV92ZWN0b3JzJTNENjAlMkMlMEElMjAlMjAlMjAlMjB2ZWN0b3JfbGVuZ3RoJTNEMjU2JTJDJTBBJTIwJTIwJTIwJTIwc2F2ZV9vbmx5X3RvcGtfd2VpZ2h0cyUzRFRydWUlMkMlMEEpJTBBbW9kZWwlMjAlM0QlMjBnZXRfcGVmdF9tb2RlbChiYXNlX21vZGVsJTJDJTIwY29uZmlnKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForCausalLM | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> peft <span class="hljs-keyword">import</span> VBLoRAConfig, get_peft_model | |
| <span class="hljs-meta">>>> </span>base_model = AutoModelForCausalLM.from_pretrained(<span class="hljs-string">"facebook/opt-125m"</span>) | |
| <span class="hljs-meta">>>> </span>config = VBLoRAConfig( | |
| <span class="hljs-meta">... </span> task_type=<span class="hljs-string">"SEQ_CLS"</span>, | |
| <span class="hljs-meta">... </span> r=<span class="hljs-number">4</span>, | |
| <span class="hljs-meta">... </span> target_modules=[<span class="hljs-string">"fc1"</span>, <span class="hljs-string">"fc2"</span>, <span class="hljs-string">"k_proj"</span>, <span class="hljs-string">"out_proj"</span>, <span class="hljs-string">"q_proj"</span>, <span class="hljs-string">"v_proj"</span>], | |
| <span class="hljs-meta">... </span> num_vectors=<span class="hljs-number">60</span>, | |
| <span class="hljs-meta">... </span> vector_length=<span class="hljs-number">256</span>, | |
| <span class="hljs-meta">... </span> save_only_topk_weights=<span class="hljs-literal">True</span>, | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>model = get_peft_model(base_model, config)`,wrap:!1}}),{c(){c=l("p"),c.textContent=A,x=a(),f(y.$$.fragment)},l(d){c=p(d,"P",{"data-svelte-h":!0}),h(c)!=="svelte-11lpom8"&&(c.textContent=A),x=o(d),g(y.$$.fragment,d)},m(d,M){s(d,c,M),s(d,x,M),u(y,d,M),w=!0},p:qe,i(d){w||(_(y.$$.fragment,d),w=!0)},o(d){v(y.$$.fragment,d),w=!1},d(d){d&&(n(c),n(x)),b(y,d)}}}function Ye(te){let c,A,x,y,w,d,M,ne,R,ae,C,Ae='<a href="https://huggingface.co/papers/2405.15179" rel="nofollow">VB-LoRA</a> is a parameter-efficient fine-tuning technique that extends LoRA by learning a fine-grained parameter-sharing scheme at the sub-vector level, achieving significantly higher parameter efficiency. This makes VB-LoRA especially useful in scenarios where storage and transmission costs are critical. It works by decomposing low-rank matrices—from different layers and modules such as K, Q, V, and FFN—into sub-vectors, which are then globally shared through a vector bank.',oe,V,Re="The abstract from the paper is:",se,j,Ce="<em>As the adoption of large language models increases and the need for per-user or per-task model customization grows, the parameter-efficient fine-tuning (PEFT) methods, such as low-rank adaptation (LoRA) and its variants, incur substantial storage and transmission costs. To further reduce stored parameters, we introduce a “divide-and-share” paradigm that breaks the barriers of low-rank decomposition across matrix dimensions, modules and layers by sharing parameters globally via a vector bank. As an instantiation of the paradigm to LoRA, our proposed VB-LoRA composites all the low-rank matrices of LoRA from a shared vector bank with a differentiable top-k admixture module. VB-LoRA achieves extreme parameter efficiency while maintaining comparable or better performance compared to state-of-the-art PEFT methods. Extensive experiments demonstrate the effectiveness of VB-LoRA on natural language understanding, natural language generation, and instruction tuning tasks. When fine-tuning the Llama2-13B model, VB-LoRA only uses 0.4% of LoRA’s stored parameters, yet achieves superior results.</em>",re,U,ie,J,Ve="<li><p>VB-LoRA utilizes a sparse top-k module to learn the sharing machanism. When saving adapter parameters, you can either save only the top-k weights and their indices by setting <code>save_only_topk_weights = True</code> in <code>VBLoRAConfig</code>, or save all the trainable logits by setting it to <code>False</code>. Enabling <code>save_only_topk_weights = True</code> significantly reduces storage space; for instance, in Llama2-7B, the storage file size decreases from 308MB to 2.5MB. Note that models saved with <code>save_only_topk_weights = True</code> are intended for merging or inference only and cannot be used to resume training.</p></li> <li><p>VB-LoRA has two sets of training parameters: vector bank parameters and logit parameters. In practice, we found that logit parameters require a higher learning rate, while vector bank parameters require a lower learning rate. When using the AdamW optimizer, typical learning rates are 0.01 for logits and 0.001 for vector bank parameters.</p></li>",le,I,pe,$,E,ve,q,je='This is the configuration class to store the configuration of a <a href="/docs/peft/pr_3205/en/package_reference/vblora#peft.VBLoRAConfig">VBLoRAConfig</a>.',be,Z,Ue='Paper: <a href="https://huggingface.co/papers/2405.15179" rel="nofollow">https://huggingface.co/papers/2405.15179</a>',de,P,ce,i,W,ye,Q,Je="Creates VBLoRA model from a pretrained transformers model.",we,z,Ie='The method is described in detail in <a href="https://huggingface.co/papers/2405.15179" rel="nofollow">https://huggingface.co/papers/2405.15179</a>.',Me,T,$e,D,Ee="<strong>Attributes</strong>:",xe,O,Pe='<li><strong>model</strong> (<a href="https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel" rel="nofollow">PreTrainedModel</a>) — The model to be adapted.</li> <li><strong>peft_config</strong> (<a href="/docs/peft/pr_3205/en/package_reference/vblora#peft.VBLoRAConfig">VBLoRAConfig</a>): The configuration of the VBLoRAConfig model.</li>',Le,B,N,Te,X,We="Returns the number of savable VB-LoRA parameters and other savable parameters.",Be,k,F,ke,S,Ne="Prints the number of savable VB-LoRA parameters and total savable parameters.",me,H,fe,K,ge;return w=new De({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),M=new ee({props:{title:"VB-LoRA: Extreme Parameter Efficient Fine-Tuning with Vector Banks",local:"vb-lora-extreme-parameter-efficient-fine-tuning-with-vector-banks",headingTag:"h1"}}),R=new ee({props:{title:"Overview",local:"overview",headingTag:"h2"}}),U=new ee({props:{title:"Usage Tips",local:"usage-tips",headingTag:"h2"}}),I=new ee({props:{title:"VBLoRAConfig",local:"peft.VBLoRAConfig",headingTag:"h2"}}),E=new _e({props:{name:"class peft.VBLoRAConfig",anchor:"peft.VBLoRAConfig",parameters:[{name:"task_type",val:": Optional[Union[str, TaskType]] = None"},{name:"peft_type",val:": Optional[Union[str, PeftType]] = None"},{name:"auto_mapping",val:": Optional[dict] = None"},{name:"peft_version",val:": Optional[str] = None"},{name:"base_model_name_or_path",val:": Optional[str] = None"},{name:"revision",val:": Optional[str] = None"},{name:"inference_mode",val:": bool = False"},{name:"r",val:": int = 4"},{name:"num_vectors",val:": int = 256"},{name:"vector_length",val:": int = 256"},{name:"topk",val:": int = 2"},{name:"target_modules",val:": Optional[Union[list[str], str]] = None"},{name:"exclude_modules",val:": Optional[Union[list[str], str]] = None"},{name:"save_only_topk_weights",val:": bool = False"},{name:"vblora_dropout",val:": float = 0.0"},{name:"fan_in_fan_out",val:": bool = False"},{name:"bias",val:": str = 'none'"},{name:"modules_to_save",val:": Optional[list[str]] = None"},{name:"init_vector_bank_bound",val:": float = 0.02"},{name:"init_logits_std",val:": float = 0.1"},{name:"layers_to_transform",val:": Optional[Union[list[int], int]] = None"},{name:"layers_pattern",val:": Optional[Union[list[str], str]] = None"}],parametersDescription:[{anchor:"peft.VBLoRAConfig.r",description:`<strong>r</strong> (<code>int</code>) — | |
| The rank of incremental matrices.`,name:"r"},{anchor:"peft.VBLoRAConfig.num_vectors",description:`<strong>num_vectors</strong> (<code>int</code>) — | |
| Number of vectors in the vector bank. Use higher values when the model size increases.`,name:"num_vectors"},{anchor:"peft.VBLoRAConfig.vector_length",description:`<strong>vector_length</strong> (<code>int</code>) — | |
| The length of the vectors in the vector bank. The length of the vectors should be divisible by the hidden | |
| dimension of the model.`,name:"vector_length"},{anchor:"peft.VBLoRAConfig.topk",description:`<strong>topk</strong> (<code>int</code>) — | |
| The K value for top-K selection. A larger value of K increases the size of the saved model. In practice, | |
| setting K=2 typically provides the best performance and parameter efficiency. For more details, refer to | |
| the discussion in the paper.`,name:"topk"},{anchor:"peft.VBLoRAConfig.target_modules",description:`<strong>target_modules</strong> (<code>Union[List[str], str]</code>) — | |
| The names of the modules to apply the adapter to. If this is specified, only the modules with the specified | |
| names will be replaced. When passing a string, a regex match will be performed. When passing a list of | |
| strings, either an exact match will be performed or it is checked if the name of the module ends with any | |
| of the passed strings. If this is specified as ‘all-linear’, then all linear/Conv1D modules are chosen, | |
| excluding the output layer. If this is not specified, modules will be chosen according to the model | |
| architecture. If the architecture is not known, an error will be raised — in this case, you should specify | |
| the target modules manually.`,name:"target_modules"},{anchor:"peft.VBLoRAConfig.exclude_modules",description:`<strong>exclude_modules</strong> (<code>Optional[Union[List[str], str]]</code>) — | |
| The names of the modules to not apply the adapter. When passing a string, a regex match will be performed. | |
| When passing a list of strings, either an exact match will be performed or it is checked if the name of the | |
| module ends with any of the passed strings.`,name:"exclude_modules"},{anchor:"peft.VBLoRAConfig.save_only_topk_weights",description:`<strong>save_only_topk_weights</strong> (<code>bool</code>) — | |
| Whether to only save the topk weights. Setting <code>save_only_topk_weights = True</code> significantly reduces | |
| storage space. However, models saved in this mode can be used for merging or inference only, not for | |
| resuming training.`,name:"save_only_topk_weights"},{anchor:"peft.VBLoRAConfig.vblora_dropout",description:`<strong>vblora_dropout</strong> (<code>float</code>) — | |
| The dropout probability for VBLoRA layers.`,name:"vblora_dropout"},{anchor:"peft.VBLoRAConfig.fan_in_fan_out",description:`<strong>fan_in_fan_out</strong> (<code>bool</code>) — | |
| Set this to True if the layer to replace stores weight like (fan_in, fan_out). For example, gpt-2 uses | |
| <code>Conv1D</code> which stores weights like (fan_in, fan_out) and hence this should be set to <code>True</code>.`,name:"fan_in_fan_out"},{anchor:"peft.VBLoRAConfig.bias",description:`<strong>bias</strong> (<code>str</code>) — | |
| Bias type for VBLoRA. Can be ‘none’, ‘all’ or ‘vblora_only’. If ‘all’ or ‘vblora_only’, the corresponding | |
| biases will be updated during training. Be aware that this means that, even when disabling the adapters, | |
| the model will not produce the same output as the base model would have without adaptation.`,name:"bias"},{anchor:"peft.VBLoRAConfig.modules_to_save",description:`<strong>modules_to_save</strong> (<code>List[str]</code>) — | |
| List of modules apart from VBLoRA layers to be set as trainable and saved in the final checkpoint.`,name:"modules_to_save"},{anchor:"peft.VBLoRAConfig.init_vector_bank_bound",description:`<strong>init_vector_bank_bound</strong> (<code>float</code>) — | |
| The vector bank is initialized with a uniform distribution between -init_vector_bank_bound and | |
| init_vector_bank_bound. Avoid initializing the vector bank with all zeros to prevent zero gradients. A | |
| small value, such as 0.02, is typically effective. Initializing with a large value may cause training | |
| instability.`,name:"init_vector_bank_bound"},{anchor:"peft.VBLoRAConfig.init_logits_std",description:`<strong>init_logits_std</strong> (<code>float</code>) — | |
| The logits are initialized with a normal distribution with a standard deviation of init_logits_std. Default | |
| is 0.1.`,name:"init_logits_std"},{anchor:"peft.VBLoRAConfig.layers_to_transform",description:`<strong>layers_to_transform</strong> (<code>Union[List[int],int]</code>) — | |
| The layer indices to transform. If a list of ints is passed, it will apply the adapter to the layer indices | |
| that are specified in this list. If a single integer is passed, it will apply the transformations on the | |
| layer at this index.`,name:"layers_to_transform"},{anchor:"peft.VBLoRAConfig.layers_pattern",description:`<strong>layers_pattern</strong> (<code>Optional[Union[List[str], str]]</code>) — | |
| The layer pattern name, used only if <code>layers_to_transform</code> is different from <code>None</code>. This should target the | |
| <code>nn.ModuleList</code> of the model, which is often called <code>'layers'</code> or <code>'h'</code>.`,name:"layers_pattern"}],source:"https://github.com/huggingface/peft/blob/vr_3205/src/peft/tuners/vblora/config.py#L25"}}),P=new ee({props:{title:"VBLoRAModel",local:"peft.VBLoRAModel",headingTag:"h2"}}),W=new _e({props:{name:"class peft.VBLoRAModel",anchor:"peft.VBLoRAModel",parameters:[{name:"model",val:""},{name:"peft_config",val:": Union[PeftConfig, dict[str, PeftConfig]]"},{name:"adapter_name",val:": str"},{name:"low_cpu_mem_usage",val:": bool = False"},{name:"state_dict",val:": Optional[dict[str, torch.Tensor]] = None"}],parametersDescription:[{anchor:"peft.VBLoRAModel.model",description:'<strong>model</strong> (<a href="https://huggingface.co/docs/transformers/main/en/main_classes/model#transformers.PreTrainedModel" rel="nofollow">PreTrainedModel</a>) — The model to be adapted.',name:"model"},{anchor:"peft.VBLoRAModel.config",description:'<strong>config</strong> (<a href="/docs/peft/pr_3205/en/package_reference/vblora#peft.VBLoRAConfig">VBLoRAConfig</a>) — The configuration of the VBLoRA model.',name:"config"},{anchor:"peft.VBLoRAModel.adapter_name",description:"<strong>adapter_name</strong> (<code>str</code>) — The name of the adapter, defaults to <code>"default"</code>.",name:"adapter_name"},{anchor:"peft.VBLoRAModel.low_cpu_mem_usage",description:`<strong>low_cpu_mem_usage</strong> (<code>bool</code>, <code>optional</code>, defaults to <code>False</code>) — | |
| Create empty adapter weights on meta device. Useful to speed up the loading process.`,name:"low_cpu_mem_usage"}],source:"https://github.com/huggingface/peft/blob/vr_3205/src/peft/tuners/vblora/model.py#L29",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>The VBLoRA model.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>torch.nn.Module</code></p> | |
| `}}),T=new Se({props:{anchor:"peft.VBLoRAModel.example",$$slots:{default:[Ge]},$$scope:{ctx:te}}}),N=new _e({props:{name:"get_nb_savable_parameters",anchor:"peft.VBLoRAModel.get_nb_savable_parameters",parameters:[{name:"adapter",val:" = 'default'"}],source:"https://github.com/huggingface/peft/blob/vr_3205/src/peft/tuners/vblora/model.py#L157"}}),F=new _e({props:{name:"print_savable_parameters",anchor:"peft.VBLoRAModel.print_savable_parameters",parameters:[],source:"https://github.com/huggingface/peft/blob/vr_3205/src/peft/tuners/vblora/model.py#L193"}}),H=new Oe({props:{source:"https://github.com/huggingface/peft/blob/main/docs/source/package_reference/vblora.md"}}),{c(){c=l("meta"),A=a(),x=l("p"),y=a(),f(w.$$.fragment),d=a(),f(M.$$.fragment),ne=a(),f(R.$$.fragment),ae=a(),C=l("p"),C.innerHTML=Ae,oe=a(),V=l("p"),V.textContent=Re,se=a(),j=l("p"),j.innerHTML=Ce,re=a(),f(U.$$.fragment),ie=a(),J=l("ul"),J.innerHTML=Ve,le=a(),f(I.$$.fragment),pe=a(),$=l("div"),f(E.$$.fragment),ve=a(),q=l("p"),q.innerHTML=je,be=a(),Z=l("p"),Z.innerHTML=Ue,de=a(),f(P.$$.fragment),ce=a(),i=l("div"),f(W.$$.fragment),ye=a(),Q=l("p"),Q.textContent=Je,we=a(),z=l("p"),z.innerHTML=Ie,Me=a(),f(T.$$.fragment),$e=a(),D=l("p"),D.innerHTML=Ee,xe=a(),O=l("ul"),O.innerHTML=Pe,Le=a(),B=l("div"),f(N.$$.fragment),Te=a(),X=l("p"),X.textContent=We,Be=a(),k=l("div"),f(F.$$.fragment),ke=a(),S=l("p"),S.textContent=Ne,me=a(),f(H.$$.fragment),fe=a(),K=l("p"),this.h()},l(e){const t=ze("svelte-u9bgzb",document.head);c=p(t,"META",{name:!0,content:!0}),t.forEach(n),A=o(e),x=p(e,"P",{}),G(x).forEach(n),y=o(e),g(w.$$.fragment,e),d=o(e),g(M.$$.fragment,e),ne=o(e),g(R.$$.fragment,e),ae=o(e),C=p(e,"P",{"data-svelte-h":!0}),h(C)!=="svelte-1ul073j"&&(C.innerHTML=Ae),oe=o(e),V=p(e,"P",{"data-svelte-h":!0}),h(V)!=="svelte-1cwsb16"&&(V.textContent=Re),se=o(e),j=p(e,"P",{"data-svelte-h":!0}),h(j)!=="svelte-1hv63r6"&&(j.innerHTML=Ce),re=o(e),g(U.$$.fragment,e),ie=o(e),J=p(e,"UL",{"data-svelte-h":!0}),h(J)!=="svelte-mmhcyj"&&(J.innerHTML=Ve),le=o(e),g(I.$$.fragment,e),pe=o(e),$=p(e,"DIV",{class:!0});var L=G($);g(E.$$.fragment,L),ve=o(L),q=p(L,"P",{"data-svelte-h":!0}),h(q)!=="svelte-8hhiih"&&(q.innerHTML=je),be=o(L),Z=p(L,"P",{"data-svelte-h":!0}),h(Z)!=="svelte-17o5y8t"&&(Z.innerHTML=Ue),L.forEach(n),de=o(e),g(P.$$.fragment,e),ce=o(e),i=p(e,"DIV",{class:!0});var m=G(i);g(W.$$.fragment,m),ye=o(m),Q=p(m,"P",{"data-svelte-h":!0}),h(Q)!=="svelte-ouak2a"&&(Q.textContent=Je),we=o(m),z=p(m,"P",{"data-svelte-h":!0}),h(z)!=="svelte-1kxpbqh"&&(z.innerHTML=Ie),Me=o(m),g(T.$$.fragment,m),$e=o(m),D=p(m,"P",{"data-svelte-h":!0}),h(D)!=="svelte-1xx6nm4"&&(D.innerHTML=Ee),xe=o(m),O=p(m,"UL",{"data-svelte-h":!0}),h(O)!=="svelte-ukh9fa"&&(O.innerHTML=Pe),Le=o(m),B=p(m,"DIV",{class:!0});var he=G(B);g(N.$$.fragment,he),Te=o(he),X=p(he,"P",{"data-svelte-h":!0}),h(X)!=="svelte-id40fq"&&(X.textContent=We),he.forEach(n),Be=o(m),k=p(m,"DIV",{class:!0});var ue=G(k);g(F.$$.fragment,ue),ke=o(ue),S=p(ue,"P",{"data-svelte-h":!0}),h(S)!=="svelte-dktqvv"&&(S.textContent=Ne),ue.forEach(n),m.forEach(n),me=o(e),g(H.$$.fragment,e),fe=o(e),K=p(e,"P",{}),G(K).forEach(n),this.h()},h(){Y(c,"name","hf:doc:metadata"),Y(c,"content",Ke),Y($,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),Y(B,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),Y(k,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),Y(i,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,t){r(document.head,c),s(e,A,t),s(e,x,t),s(e,y,t),u(w,e,t),s(e,d,t),u(M,e,t),s(e,ne,t),u(R,e,t),s(e,ae,t),s(e,C,t),s(e,oe,t),s(e,V,t),s(e,se,t),s(e,j,t),s(e,re,t),u(U,e,t),s(e,ie,t),s(e,J,t),s(e,le,t),u(I,e,t),s(e,pe,t),s(e,$,t),u(E,$,null),r($,ve),r($,q),r($,be),r($,Z),s(e,de,t),u(P,e,t),s(e,ce,t),s(e,i,t),u(W,i,null),r(i,ye),r(i,Q),r(i,we),r(i,z),r(i,Me),u(T,i,null),r(i,$e),r(i,D),r(i,xe),r(i,O),r(i,Le),r(i,B),u(N,B,null),r(B,Te),r(B,X),r(i,Be),r(i,k),u(F,k,null),r(k,ke),r(k,S),s(e,me,t),u(H,e,t),s(e,fe,t),s(e,K,t),ge=!0},p(e,[t]){const L={};t&2&&(L.$$scope={dirty:t,ctx:e}),T.$set(L)},i(e){ge||(_(w.$$.fragment,e),_(M.$$.fragment,e),_(R.$$.fragment,e),_(U.$$.fragment,e),_(I.$$.fragment,e),_(E.$$.fragment,e),_(P.$$.fragment,e),_(W.$$.fragment,e),_(T.$$.fragment,e),_(N.$$.fragment,e),_(F.$$.fragment,e),_(H.$$.fragment,e),ge=!0)},o(e){v(w.$$.fragment,e),v(M.$$.fragment,e),v(R.$$.fragment,e),v(U.$$.fragment,e),v(I.$$.fragment,e),v(E.$$.fragment,e),v(P.$$.fragment,e),v(W.$$.fragment,e),v(T.$$.fragment,e),v(N.$$.fragment,e),v(F.$$.fragment,e),v(H.$$.fragment,e),ge=!1},d(e){e&&(n(A),n(x),n(y),n(d),n(ne),n(ae),n(C),n(oe),n(V),n(se),n(j),n(re),n(ie),n(J),n(le),n(pe),n($),n(de),n(ce),n(i),n(me),n(fe),n(K)),n(c),b(w,e),b(M,e),b(R,e),b(U,e),b(I,e),b(E),b(P,e),b(W),b(T),b(N),b(F),b(H,e)}}}const Ke='{"title":"VB-LoRA: Extreme Parameter Efficient Fine-Tuning with Vector Banks","local":"vb-lora-extreme-parameter-efficient-fine-tuning-with-vector-banks","sections":[{"title":"Overview","local":"overview","sections":[],"depth":2},{"title":"Usage Tips","local":"usage-tips","sections":[],"depth":2},{"title":"VBLoRAConfig","local":"peft.VBLoRAConfig","sections":[],"depth":2},{"title":"VBLoRAModel","local":"peft.VBLoRAModel","sections":[],"depth":2}],"depth":1}';function et(te){return He(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class it extends Ze{constructor(c){super(),Qe(this,c,et,Ye,Fe,{})}}export{it as component}; | |
Xet Storage Details
- Size:
- 21.9 kB
- Xet hash:
- c9c5b28b401eb2822c27000d9c4a24940a78e8025c1ed8f1aa8620df54e877b3
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.