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
OpenFold
Commits
b7f35dce
Commit
b7f35dce
authored
Nov 08, 2023
by
Christina Floristean
Browse files
Use EvoformerFusedAttention directly to avoid all-zero bias term in column attention
parent
5aa54958
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
6 deletions
+7
-6
openfold/model/primitives.py
openfold/model/primitives.py
+7
-6
No files found.
openfold/model/primitives.py
View file @
b7f35dce
...
...
@@ -23,7 +23,7 @@ if deepspeed_is_installed:
import
deepspeed
if
ds4s_is_installed
:
from
deepspeed.ops.deepspeed4science
import
DS4Sci_
EvoformerAttention
from
deepspeed.ops.deepspeed4science
import
Evoformer
Fused
Attention
fa_is_installed
=
importlib
.
util
.
find_spec
(
"flash_attn"
)
is
not
None
if
fa_is_installed
:
...
...
@@ -661,18 +661,19 @@ def _deepspeed_evo_attn(
v
=
reshape_dims
(
v
)
biases
=
[
reshape_dims
(
b
)
for
b
in
biases
]
biases
.
extend
([
None
]
*
(
2
-
len
(
biases
)))
# DeepSpeed attn. kernel requires inputs to be type bf16 or fp16
# Cast to bf16 so kernel can be used during inference
orig_dtype
=
q
.
dtype
if
orig_dtype
not
in
[
torch
.
bfloat16
,
torch
.
float16
]:
o
=
DS4Sci_EvoformerAttention
(
q
.
to
(
dtype
=
torch
.
bfloat16
),
k
.
to
(
dtype
=
torch
.
bfloat16
),
v
.
to
(
dtype
=
torch
.
bfloat16
),
[
b
.
to
(
dtype
=
torch
.
bfloat16
)
for
b
in
biases
])
inputs_bf16
=
[
x
.
to
(
dtype
=
torch
.
bfloat16
)
if
x
is
not
None
else
x
for
x
in
(
q
,
k
,
v
,
biases
[
0
],
biases
[
1
])]
o
=
EvoformerFusedAttention
.
apply
(
*
inputs_bf16
)
o
=
o
.
to
(
dtype
=
orig_dtype
)
else
:
o
=
DS4Sci_
EvoformerAttention
(
q
,
k
,
v
,
biases
)
o
=
Evoformer
Fused
Attention
.
apply
(
q
,
k
,
v
,
biases
[
0
],
biases
[
1
]
)
o
=
o
.
reshape
(
orig_shape
)
return
o
...
...
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