Buckets:

HuggingFaceDocBuilder's picture
download
raw
18 kB
import"../chunks/DsnmJJEf.js";import{i as J,h as K,C as Q,H as o,D as e,E as V,s as X}from"../chunks/DT0OpeMJ.js";import{p as Y,o as Z,s as t,f as $,a as S,b as tt,c as i,d as k,n,r as a}from"../chunks/Bb-LL0eD.js";const et='{"title":"Lion","local":"lion","sections":[{"title":"Lion","local":"api-class ][ bitsandbytes.optim.Lion","sections":[],"depth":2},{"title":"Lion8bit","local":"bitsandbytes.optim.Lion8bit","sections":[],"depth":2},{"title":"Lion32bit","local":"bitsandbytes.optim.Lion32bit","sections":[],"depth":2},{"title":"PagedLion","local":"bitsandbytes.optim.PagedLion","sections":[],"depth":2},{"title":"PagedLion8bit","local":"bitsandbytes.optim.PagedLion8bit","sections":[],"depth":2},{"title":"PagedLion32bit","local":"bitsandbytes.optim.PagedLion32bit","sections":[],"depth":2}],"depth":1}';var it=k('<meta name="hf:doc:metadata"/>'),at=k('<p></p> <!> <!> <p><a href="https://hf.co/papers/2302.06675" rel="nofollow">Lion (Evolved Sign Momentum)</a> is a unique optimizer that uses the sign of the gradient to determine the update direction of the momentum. This makes Lion more memory-efficient and faster than <code>AdamW</code> which tracks and store the first and second-order moments.</p> <!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>Base Lion optimizer.</p></div></div> <!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>8-bit Lion optimizer.</p></div></div> <!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>32-bit Lion optimizer.</p></div></div> <!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>Paged Lion optimizer.</p></div></div> <!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>Paged 8-bit Lion optimizer.</p></div></div> <!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"><!> <p>Paged 32-bit Lion optimizer.</p></div></div> <!> <p></p>',1);function rt(C,H){Y(H,!1),Z(()=>{new URLSearchParams(window.location.search).get("fw")}),J();var _=at();K("1cr2svx",W=>{var E=it();X(E,"content",et),S(W,E)});var c=t($(_),2);Q(c,{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"});var p=t(c,2);o(p,{title:"Lion",local:"lion",headingTag:"h1"});var g=t(p,4);o(g,{title:"Lion",local:"api-class ][ bitsandbytes.optim.Lion",headingTag:"h2"});var s=t(g,2),h=i(s);e(h,{name:"class bitsandbytes.optim.Lion",anchor:"bitsandbytes.optim.Lion",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L8",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"optim_bits",val:" = 32"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"is_paged",val:" = False"}]});var v=t(h,2),q=i(v);e(q,{name:"__init__",anchor:"bitsandbytes.optim.Lion.__init__",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L9",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"optim_bits",val:" = 32"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"is_paged",val:" = False"}],parametersDescription:[{anchor:"bitsandbytes.optim.Lion.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.Lion.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.Lion.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.Lion.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.Lion.__init__.optim_bits",description:`<strong>optim_bits</strong> (<code>int</code>, defaults to 32) &#x2014;
The number of bits of the optimizer state.`,name:"optim_bits"},{anchor:"bitsandbytes.optim.Lion.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.Lion.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.Lion.__init__.is_paged",description:`<strong>is_paged</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether the optimizer is a paged optimizer or not.`,name:"is_paged"}]}),n(2),a(v),a(s);var y=t(s,2);o(y,{title:"Lion8bit",local:"bitsandbytes.optim.Lion8bit",headingTag:"h2"});var r=t(y,2),u=i(r);e(u,{name:"class bitsandbytes.optim.Lion8bit",anchor:"bitsandbytes.optim.Lion8bit",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L55",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"is_paged",val:" = False"}]});var f=t(u,2),B=i(f);e(B,{name:"__init__",anchor:"bitsandbytes.optim.Lion8bit.__init__",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L56",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"is_paged",val:" = False"}],parametersDescription:[{anchor:"bitsandbytes.optim.Lion8bit.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.Lion8bit.__init__.is_paged",description:`<strong>is_paged</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether the optimizer is a paged optimizer or not.`,name:"is_paged"}]}),n(2),a(f),a(r);var L=t(r,2);o(L,{title:"Lion32bit",local:"bitsandbytes.optim.Lion32bit",headingTag:"h2"});var d=t(L,2),z=i(d);e(z,{name:"class bitsandbytes.optim.Lion32bit",anchor:"bitsandbytes.optim.Lion32bit",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L99",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"is_paged",val:" = False"}]});var x=t(z,2),G=i(x);e(G,{name:"__init__",anchor:"bitsandbytes.optim.Lion32bit.__init__",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L100",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"},{name:"is_paged",val:" = False"}],parametersDescription:[{anchor:"bitsandbytes.optim.Lion32bit.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"},{anchor:"bitsandbytes.optim.Lion32bit.__init__.is_paged",description:`<strong>is_paged</strong> (<code>bool</code>, defaults to <code>False</code>) &#x2014;
Whether the optimizer is a paged optimizer or not.`,name:"is_paged"}]}),n(2),a(x),a(d);var w=t(d,2);o(w,{title:"PagedLion",local:"bitsandbytes.optim.PagedLion",headingTag:"h2"});var m=t(w,2),P=i(m);e(P,{name:"class bitsandbytes.optim.PagedLion",anchor:"bitsandbytes.optim.PagedLion",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L143",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"optim_bits",val:" = 32"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"}]});var T=t(P,2),O=i(T);e(O,{name:"__init__",anchor:"bitsandbytes.optim.PagedLion.__init__",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L144",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"optim_bits",val:" = 32"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"}],parametersDescription:[{anchor:"bitsandbytes.optim.PagedLion.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.PagedLion.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.PagedLion.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.PagedLion.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.PagedLion.__init__.optim_bits",description:`<strong>optim_bits</strong> (<code>int</code>, defaults to 32) &#x2014;
The number of bits of the optimizer state.`,name:"optim_bits"},{anchor:"bitsandbytes.optim.PagedLion.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.PagedLion.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"}]}),n(2),a(T),a(m);var N=t(m,2);o(N,{title:"PagedLion8bit",local:"bitsandbytes.optim.PagedLion8bit",headingTag:"h2"});var b=t(N,2),j=i(b);e(j,{name:"class bitsandbytes.optim.PagedLion8bit",anchor:"bitsandbytes.optim.PagedLion8bit",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L187",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"}]});var F=t(j,2),R=i(F);e(R,{name:"__init__",anchor:"bitsandbytes.optim.PagedLion8bit.__init__",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L188",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"}],parametersDescription:[{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.PagedLion8bit.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"}]}),n(2),a(F),a(b);var D=t(b,2);o(D,{title:"PagedLion32bit",local:"bitsandbytes.optim.PagedLion32bit",headingTag:"h2"});var l=t(D,2),A=i(l);e(A,{name:"class bitsandbytes.optim.PagedLion32bit",anchor:"bitsandbytes.optim.PagedLion32bit",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L228",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"}]});var M=t(A,2),U=i(M);e(U,{name:"__init__",anchor:"bitsandbytes.optim.PagedLion32bit.__init__",source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/vr_2002/bitsandbytes/optim/lion.py#L229",parameters:[{name:"params",val:""},{name:"lr",val:" = 0.0001"},{name:"betas",val:" = (0.9, 0.99)"},{name:"weight_decay",val:" = 0"},{name:"args",val:" = None"},{name:"min_8bit_size",val:" = 4096"}],parametersDescription:[{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.params",description:`<strong>params</strong> (<code>torch.tensor</code>) &#x2014;
The input parameters to optimize.`,name:"params"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.lr",description:`<strong>lr</strong> (<code>float</code>, defaults to 1e-4) &#x2014;
The learning rate.`,name:"lr"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.betas",description:`<strong>betas</strong> (<code>tuple(float, float)</code>, defaults to (0.9, 0.999)) &#x2014;
The beta values are the decay rates of the first and second-order moment of the optimizer.`,name:"betas"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.weight_decay",description:`<strong>weight_decay</strong> (<code>float</code>, defaults to 0) &#x2014;
The weight decay value for the optimizer.`,name:"weight_decay"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.args",description:`<strong>args</strong> (<code>object</code>, defaults to <code>None</code>) &#x2014;
An object with additional arguments.`,name:"args"},{anchor:"bitsandbytes.optim.PagedLion32bit.__init__.min_8bit_size",description:`<strong>min_8bit_size</strong> (<code>int</code>, defaults to 4096) &#x2014;
The minimum number of elements of the parameter tensors for 8-bit optimization.`,name:"min_8bit_size"}]}),n(2),a(M),a(l);var I=t(l,2);V(I,{source:"https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/docs/source/reference/optim/lion.mdx"}),n(2),S(C,_),tt()}export{rt as component};

Xet Storage Details

Size:
18 kB
·
Xet hash:
317f55caa6e5edbe96c60acb5a4939f126045f618a7f0f17705ecf6e28b46615

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