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
ox696c
ktransformers
Commits
ae5d9e11
You need to sign in or sign up before continuing.
Unverified
Commit
ae5d9e11
authored
Feb 14, 2025
by
Azure
Committed by
GitHub
Feb 14, 2025
Browse files
Merge pull request #227 from hrz6976/main
Add a lock to server inference()
parents
a456e25a
2c3dcd97
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
1 deletion
+9
-1
ktransformers/server/backend/interfaces/ktransformers.py
ktransformers/server/backend/interfaces/ktransformers.py
+9
-1
No files found.
ktransformers/server/backend/interfaces/ktransformers.py
View file @
ae5d9e11
import
torch
import
torch
import
asyncio
from
transformers
import
AutoTokenizer
,
AutoConfig
,
GenerationConfig
from
transformers
import
AutoTokenizer
,
AutoConfig
,
GenerationConfig
from
ktransformers.server.backend.interfaces.transformers
import
(
from
ktransformers.server.backend.interfaces.transformers
import
(
TransformersInterface
,
TransformersInterface
,
...
@@ -70,6 +71,8 @@ class KTransformersInterface(TransformersInterface):
...
@@ -70,6 +71,8 @@ class KTransformersInterface(TransformersInterface):
self
.
model
.
generation_config
.
pad_token_id
=
self
.
model
.
generation_config
.
eos_token_id
self
.
model
.
generation_config
.
pad_token_id
=
self
.
model
.
generation_config
.
eos_token_id
self
.
streamer
=
TextStreamer
(
self
.
tokenizer
)
self
.
streamer
=
TextStreamer
(
self
.
tokenizer
)
self
.
_infer_lock
=
asyncio
.
Lock
()
def
decode_one_tokens
(
self
):
def
decode_one_tokens
(
self
):
device_map
=
self
.
model
.
gguf_loader
.
tensor_device_map
device_map
=
self
.
model
.
gguf_loader
.
tensor_device_map
torch_device
=
get_device
(
"blk.0.self_attn"
,
device_map
)
torch_device
=
get_device
(
"blk.0.self_attn"
,
device_map
)
...
@@ -172,3 +175,8 @@ class KTransformersInterface(TransformersInterface):
...
@@ -172,3 +175,8 @@ class KTransformersInterface(TransformersInterface):
def
active_cache_position
(
self
):
def
active_cache_position
(
self
):
device
=
self
.
device_map
.
get
(
"blk.0.self_attn"
,
{}).
get
(
"generate_device"
,
"cuda:0"
)
device
=
self
.
device_map
.
get
(
"blk.0.self_attn"
,
{}).
get
(
"generate_device"
,
"cuda:0"
)
return
torch
.
tensor
([
self
.
seq_length
-
1
],
device
=
device
)
return
torch
.
tensor
([
self
.
seq_length
-
1
],
device
=
device
)
async
def
inference
(
self
,
local_messages
,
thread_id
:
str
):
async
with
self
.
_infer_lock
:
async
for
v
in
super
().
inference
(
local_messages
,
thread_id
):
yield
v
\ No newline at end of file
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