Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
bitsandbytes
Commits
7247cb45
Commit
7247cb45
authored
Mar 09, 2023
by
Phil Wang
Browse files
initial commit, slowly work from interface into the kernel
parent
0f5c3948
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
116 additions
and
0 deletions
+116
-0
bitsandbytes/optim/__init__.py
bitsandbytes/optim/__init__.py
+1
-0
bitsandbytes/optim/lion.py
bitsandbytes/optim/lion.py
+115
-0
No files found.
bitsandbytes/optim/__init__.py
View file @
7247cb45
...
@@ -12,4 +12,5 @@ from .lamb import LAMB, LAMB8bit, LAMB32bit
...
@@ -12,4 +12,5 @@ from .lamb import LAMB, LAMB8bit, LAMB32bit
from
.lars
import
LARS
,
LARS8bit
,
LARS32bit
,
PytorchLARS
from
.lars
import
LARS
,
LARS8bit
,
LARS32bit
,
PytorchLARS
from
.optimizer
import
GlobalOptimManager
from
.optimizer
import
GlobalOptimManager
from
.rmsprop
import
RMSprop
,
RMSprop8bit
,
RMSprop32bit
from
.rmsprop
import
RMSprop
,
RMSprop8bit
,
RMSprop32bit
from
.lion
import
Lion
,
Lion8bit
,
Lion32bit
from
.sgd
import
SGD
,
SGD8bit
,
SGD32bit
from
.sgd
import
SGD
,
SGD8bit
,
SGD32bit
bitsandbytes/optim/lion.py
0 → 100644
View file @
7247cb45
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
from
bitsandbytes.optim.optimizer
import
Optimizer1State
class
Lion
(
Optimizer1State
):
def
__init__
(
self
,
params
,
lr
=
1e-2
,
alpha
=
0.99
,
eps
=
1e-8
,
weight_decay
=
0
,
momentum
=
0
,
centered
=
False
,
optim_bits
=
32
,
args
=
None
,
min_8bit_size
=
4096
,
percentile_clipping
=
100
,
block_wise
=
True
,
):
if
alpha
==
0
:
raise
NotImplementedError
(
"RMSprop with alpha==0.0 is not supported!"
)
if
centered
:
raise
NotImplementedError
(
"Centered RMSprop is not supported!"
)
super
().
__init__
(
"rmsprop"
,
params
,
lr
,
(
alpha
,
momentum
),
eps
,
weight_decay
,
optim_bits
,
args
,
min_8bit_size
,
percentile_clipping
,
block_wise
,
)
class
Lion8bit
(
Optimizer1State
):
def
__init__
(
self
,
params
,
lr
=
1e-2
,
alpha
=
0.99
,
eps
=
1e-8
,
weight_decay
=
0
,
momentum
=
0
,
centered
=
False
,
args
=
None
,
min_8bit_size
=
4096
,
percentile_clipping
=
100
,
block_wise
=
True
,
):
if
alpha
==
0
:
raise
NotImplementedError
(
"RMSprop with alpha==0.0 is not supported!"
)
if
centered
:
raise
NotImplementedError
(
"Centered RMSprop is not supported!"
)
super
().
__init__
(
"rmsprop"
,
params
,
lr
,
(
alpha
,
momentum
),
eps
,
weight_decay
,
8
,
args
,
min_8bit_size
,
percentile_clipping
,
block_wise
,
)
class
Lion32bit
(
Optimizer1State
):
def
__init__
(
self
,
params
,
lr
=
1e-2
,
alpha
=
0.99
,
eps
=
1e-8
,
weight_decay
=
0
,
momentum
=
0
,
centered
=
False
,
args
=
None
,
min_8bit_size
=
4096
,
percentile_clipping
=
100
,
block_wise
=
True
,
):
if
alpha
==
0
:
raise
NotImplementedError
(
"RMSprop with alpha==0.0 is not supported!"
)
if
centered
:
raise
NotImplementedError
(
"Centered RMSprop is not supported!"
)
super
().
__init__
(
"rmsprop"
,
params
,
lr
,
(
alpha
,
momentum
),
eps
,
weight_decay
,
32
,
args
,
min_8bit_size
,
percentile_clipping
,
block_wise
,
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment