From ada79a41c087e7826bd205bfc99379010bf7972b Mon Sep 17 00:00:00 2001 From: Lance Wang Date: Thu, 20 Jun 2024 22:38:39 +0000 Subject: [PATCH 1/7] Add left aligned cache insertion support. --- jetstream_pt/config.py | 6 ++++++ jetstream_pt/engine.py | 41 +++++++++++++++++++++++------------- jetstream_pt/environment.py | 4 ++++ keys_original | Bin 0 -> 66746 bytes original_scores | Bin 0 -> 33988 bytes 5 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 keys_original create mode 100644 original_scores diff --git a/jetstream_pt/config.py b/jetstream_pt/config.py index 5ad29078..0245f15f 100644 --- a/jetstream_pt/config.py +++ b/jetstream_pt/config.py @@ -83,6 +83,12 @@ "for performance tuning and debugging only", required=False, ) +flags.DEFINE_bool( + "ring_buffer", + True, + "Whether to enable ring buffer", + required=False, +) flags.DEFINE_float( "temperature", 1.0, diff --git a/jetstream_pt/engine.py b/jetstream_pt/engine.py index ced821ec..b6f29cfe 100644 --- a/jetstream_pt/engine.py +++ b/jetstream_pt/engine.py @@ -65,7 +65,7 @@ class DecodeState: Tuple[jax.Array, jax.Array] ] # only present in quantized kv current_position: int - lens: jax.Array # [batch_size, 1] + lens: jax.Array # [batch_size, 1], the output token length start: jax.Array # [batch_size, 1], the starting pos for each slot input_pos: jax.Array # [batch_size, 1] input pos for each slot mask: jax.Array # [batch_size, seqlen] -inf for invalid; 0 for valid @@ -295,11 +295,16 @@ def _insert_no_wrap( ): scales = [] caches = [] - pos = decode_state.current_position - prefix.seq_len + if self.env.ring_buffer: + current_pos = decode_state.current_position + else: + current_pos = prefix.seq_len + + pos = current_pos - prefix.seq_len tokens = decode_state.tokens.at[slot].set(prefix.token) x = jnp.arange(0, self.env.cache_sequence_length) - cond = jnp.logical_and(x <= decode_state.current_position, x >= pos) + cond = jnp.logical_and(x <= current_pos, x >= pos) mask_insert = jnp.where(cond, 0, float("-inf")) mask = decode_state.mask.at[slot].set(mask_insert) start = decode_state.start.at[slot].set( @@ -470,18 +475,22 @@ def insert( # prefix, # decode_state, # ) - start_insert = decode_state.current_position - prefix.seq_len - end_insert = start_insert + prefix.caches[0][0].shape[2] # padded seclen - return jax.lax.cond( - jnp.logical_and( - start_insert >= 0, end_insert < self.env.cache_sequence_length - ), - self._insert_no_wrap, - self._insert_wrap, - prefix, - decode_state, - slot, - ) + if self.env.ring_buffer: + start_insert = decode_state.current_position - prefix.seq_len + end_insert = start_insert + prefix.caches[0][0].shape[2] # padded seclen + return jax.lax.cond( + jnp.logical_and( + start_insert >= 0, end_insert < self.env.cache_sequence_length + ), + self._insert_no_wrap, + self._insert_wrap, + prefix, + decode_state, + slot, + ) + # Left aligned, starts from 0, guaranteed no wrap + else: + self._insert_no_wrap(prefix, decode_state, slot) def precompute_ragged_block_indices(self, decode_state: DecodeState): """Precompute the ragged attention block indices. Ragged attention iterates the grid @@ -782,6 +791,7 @@ def create_pytorch_engine( sampling_algorithm="greedy", nucleus_topp=None, topk=None, + ring_buffer=True, ) -> PyTorchEngine: """Returns: The pytorch engine.""" @@ -851,6 +861,7 @@ def create_pytorch_engine( sampling_algorithm=sampling_algorithm, nucleus_topp=nucleus_topp, topk=topk, + ring_buffer=ring_buffer, ) if shard_on_batch and sharding_config: diff --git a/jetstream_pt/environment.py b/jetstream_pt/environment.py index 5311f8c2..d1186b06 100644 --- a/jetstream_pt/environment.py +++ b/jetstream_pt/environment.py @@ -100,6 +100,9 @@ class JetEngineEnvironmentData: # Starting position starting_position: int = 512 + # Ring buffer + ring_buffer: bool = True + # Variables used in token sampling # sampling algorithm to use ("greedy", "weighted", "neucleus", "topk") sampling_algorithm: str = "greedy" @@ -125,6 +128,7 @@ def __init__(self, data: JetEngineEnvironmentData): self.ragged_mha = self._data.ragged_mha self.block_size = self._data.block_size self.starting_position = self._data.starting_position + self.ring_buffer = self._data.ring_buffer P = jax.sharding.PartitionSpec num_of_partitions = jax.device_count() diff --git a/keys_original b/keys_original new file mode 100644 index 0000000000000000000000000000000000000000..df4deea40ff2a68f911a991059228db89ce75669 GIT binary patch literal 66746 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

ldx8DJha^CAXj{{AaQaj`OI^MFA*IuMgJAq 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 o?HgzLpN)H;*gwb3LH~Rg5cucmrH-QioLT` Date: Fri, 21 Jun 2024 22:41:44 +0000 Subject: [PATCH 4/7] Fix the cache insertion connection issue and insertion error and related tests. --- jetstream_pt/cache_manager.py | 46 +++++++++++++++++++++++++--------- jetstream_pt/engine.py | 24 +++++++++++------- jetstream_pt/environment.py | 4 +-- keys_original | Bin 66746 -> 0 bytes original_scores | Bin 33988 -> 0 bytes 5 files changed, 51 insertions(+), 23 deletions(-) delete mode 100644 keys_original delete mode 100644 original_scores diff --git a/jetstream_pt/cache_manager.py b/jetstream_pt/cache_manager.py index 75bd75c0..ff1ae2f6 100644 --- a/jetstream_pt/cache_manager.py +++ b/jetstream_pt/cache_manager.py @@ -91,20 +91,33 @@ def __init__( cache_v: torch.Tensor, # previous cache position: int, # position to store the cache sharding, + env, ): super().__init__() self.cache_k = cache_k self.cache_v = cache_v self.pos = position self.sharding = sharding + self.env = env def update(self, key, value): """Update kv cache""" keyj, valuej = torchjax.to_torch((key, value)) - # pylint: disable-next=all - self.cache_k._elem = self.cache_k._elem.at[:, :, self.pos].set(keyj) - # pylint: disable-next=all - self.cache_v._elem = self.cache_v._elem.at[:, :, self.pos].set(valuej) + if self.env.ring_buffer: + # pylint: disable-next=all + self.cache_k._elem = self.cache_k._elem.at[:, :, self.pos].set(keyj) + # pylint: disable-next=all + self.cache_v._elem = self.cache_v._elem.at[:, :, self.pos].set(valuej) + else: + batch = jnp.arange(self.env.batch_size) + # pylint: disable-next=all + self.cache_k._elem = self.cache_k._elem.at[batch, :, self.pos].set( + keyj.squeeze(2) + ) + # pylint: disable-next=all + self.cache_v._elem = self.cache_v._elem.at[batch, :, self.pos].set( + valuej.squeeze(2) + ) return self.cache_k, self.cache_v def state(self): @@ -113,13 +126,13 @@ def state(self): return self.cache_k.jax(), self.cache_v.jax() @classmethod - def empty(cls, shape, device, bf16_enable): + def empty(cls, shape, device, bf16_enable, env): """Create empty kv caches""" default_dtype = jnp.bfloat16 if bf16_enable else jnp.float32 k = jnp.zeros(shape, device=device, dtype=default_dtype) v = jnp.zeros(shape, device=device, dtype=default_dtype) k, v = torchjax.to_torch((k, v)) - return cls(k, v, 0, device) + return cls(k, v, 0, device, env=env) # pylint: disable-next=all @@ -155,6 +168,7 @@ def __init__( cache_v_scaler, input_pos, # used to write cache sharding=None, + env=None, ): super().__init__() self.cache_k = cache_k @@ -163,6 +177,7 @@ def __init__( self.v_scaler = cache_v_scaler self.input_pos = input_pos self.sharding = sharding + self.env = env def state(self): """Get kv cache state""" @@ -174,7 +189,7 @@ def scalers(self): @classmethod # pylint: disable-next=all - def empty(cls, shape, device, bf16_enable): + def empty(cls, shape, device, bf16_enable, env): """Create empty kv caches""" cache_k = jnp.zeros(shape, device=device, dtype=jnp.int8) cache_v = jnp.zeros(shape, device=device, dtype=jnp.int8) @@ -185,7 +200,7 @@ def empty(cls, shape, device, bf16_enable): cache_k, cache_v, kscaler, vscaler = torchjax.to_torch( (cache_k, cache_v, kscaler, vscaler) ) - return cls(cache_k, cache_v, kscaler, vscaler, 0, device) + return cls(cache_k, cache_v, kscaler, vscaler, 0, device, env=env) def quantize(self, val): """Quantize value""" @@ -198,8 +213,15 @@ def update(self, xk, xv): """Update kv cache""" k_quant, kscale = self.quantize(xk) v_quant, vscale = self.quantize(xv) - self.cache_k[:, :, self.input_pos, :] = k_quant - self.cache_v[:, :, self.input_pos, :] = v_quant - self.k_scaler[:, :, self.input_pos, :] = kscale - self.v_scaler[:, :, self.input_pos, :] = vscale + if self.env.ring_buffer: + self.cache_k[:, :, self.input_pos, :] = k_quant + self.cache_v[:, :, self.input_pos, :] = v_quant + self.k_scaler[:, :, self.input_pos, :] = kscale + self.v_scaler[:, :, self.input_pos, :] = vscale + else: + batch = jnp.arange(self.env.batch_size) + self.cache_k[batch, :, self.input_pos, :] = k_quant.squeeze(2) + self.cache_v[batch, :, self.input_pos, :] = v_quant.squeeze(2) + self.k_scaler[batch, :, self.input_pos, :] = kscale.squeeze(2) + self.v_scaler[batch, :, self.input_pos, :] = vscale.squeeze(2) return self.cache_k, self.cache_v, self.k_scaler, self.v_scaler diff --git a/jetstream_pt/engine.py b/jetstream_pt/engine.py index bd6dd6ed..a878488d 100644 --- a/jetstream_pt/engine.py +++ b/jetstream_pt/engine.py @@ -157,7 +157,9 @@ def _call_model_generate( ): if self.env.quant_config.enable_kv_quantization: caches_obj = [ - cache_manager.Int8KVCacheGenerate(k, v, ks, vs, input_indexes) + cache_manager.Int8KVCacheGenerate( + k, v, ks, vs, input_indexes, env=self.env + ) for (k, v), (ks, vs) in torchjax.to_torch( list(zip(caches, cache_scales)) ) @@ -165,7 +167,7 @@ def _call_model_generate( else: caches_obj = [ cache_manager.KVCacheGenerate( - k, v, input_indexes, self.cache_sharding + k, v, input_indexes, self.cache_sharding, env=self.env ) for k, v in torchjax.to_torch(caches) ] @@ -296,7 +298,7 @@ def _insert_no_wrap( scales = [] caches = [] if self.env.ring_buffer: - current_pos = decode_state.current_position + current_pos = decode_state.current_position else: current_pos = prefix.seq_len @@ -554,15 +556,12 @@ def generate( ) -> tuple[DecodeState, engine_api.ResultTokens]: # seq_len = padded_tokens.shape[0] pos = decode_state.current_position - if self.env.ring_buffer: input_indexes = jnp.full((1,), pos) - # fill mask first mask = decode_state.mask.at[:, decode_state.current_position].set(0) else: input_indexes = decode_state.input_pos batch = jnp.arange(self.env.batch_size) - # batch = jnp.expand_dims(batch, 1) mask = decode_state.mask.at[batch, decode_state.input_pos].set(0) ragged_batch_index, ragged_block_index = ( self.precompute_ragged_block_indices(decode_state) @@ -589,9 +588,15 @@ def generate( input_pos = decode_state.input_pos + 1 lens = decode_state.lens + 1 else: - input_pos = jnp.where(decode_state.input_pos == 0, 0, decode_state.input_pos + 1 % self.env.cache_len) - lens = jnp.where(decode_state.lens == 0, 0, decode_state.lens + 1 % self.env.cache_len) - + input_pos = jnp.where( + decode_state.input_pos == 0, + 0, + decode_state.input_pos + 1 % self.env.cache_len, + ) + lens = jnp.where( + decode_state.lens == 0, 0, decode_state.lens + 1 % self.env.cache_len + ) + data = jnp.concatenate( [ decode_state.tokens, @@ -625,6 +630,7 @@ def generate( "new_pos", (decode_state.current_position + 1) % self.env.cache_sequence_length, ) + print(f"new_token: {jnp.squeeze(next_token)}") return new_decode_state, result_tokens # pylint: disable-next=all diff --git a/jetstream_pt/environment.py b/jetstream_pt/environment.py index 5022263f..fce606d9 100644 --- a/jetstream_pt/environment.py +++ b/jetstream_pt/environment.py @@ -207,13 +207,13 @@ def make_caches_generate(self): if self._data.quant_config.enable_kv_quantization: caches.append( cache_manager.Int8KVCacheGenerate.empty( - shape, self.cache_sharding, self.bf16_enable + shape, self.cache_sharding, self.bf16_enable, env=self ) ) else: caches.append( cache_manager.KVCacheGenerate.empty( - shape, self.cache_sharding, self.bf16_enable + shape, self.cache_sharding, self.bf16_enable, env=self ) ) return caches diff --git a/keys_original b/keys_original deleted file mode 100644 index 77487e4a55eb2dbbdf8b254ef1d3a07e4d3474de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66746 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 z s~tScG@<*{E@Fx~i=!kODdGS@?Kv{H9W70!`^4vF(In-_XMhLiPM=!mpCyEba^ z_o`e9=(G+x-6*0{bEmV<4K1+}zLG+%5neE!N=0cZoZ<>pW_nkKc~uH+7p?JjZKgEM zza6Y^Hc^Z4aVD8Yz(s9AF`F$`!{O6Mc^VU2Ndg?x=u8rgk-Fr69wWV?!e%LvOs{)RQ9EimHSTu}<;=%(mRYwuvPWdTRsBU2M*m^Hpigx*%!C zqbjN$kq-@{574xhCLXay1!MXdbKe|o_S}+0E{h7eywaA>dq=}B8TMRszAwaU!$$q%Kz_pzZWhnY z^T5LVuW(nEJKr>~fU!|J_&!A&%C8P!>0KQj9G6Dp2c0JeVIs$WyGFBO?h6Udwe#y2hk-fb1@(!PNNmqWiw%u*haTbV*UeekF%_VS6<_7(WoRf(szDPXU<6-5}fEJ3J4R zD~c1A2a4KT=kgM_@vPEhDQ;HWM#H_GsZkBFlWjf0$Ne-e?hvIOx(Vk-#!`869Ep*7 zc)PCy<+RE;u0M+W+-fVo{7@$RwCRIqU+J;dLl+1LUQe}OG+96OGH*K{BAYL3map!L zg--S~B~PaFU@eYXF^6=9H^BFU4~5<924H}K3iexdnB*%T(wW$2V(w~HTvWZ7-$V?j z(d)d?|GO5uw#4v zBcw`DYX3{;)_dXo&ZtGmai!p8;_0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U`0oPMN^jrJx9yKfk_o+Jl4_;1D@pqL zer>EjnMm%`*H-41n~jCWQf+bce!aQUSYDc$E+^OjwQ|Q|2k$l)u5^S)#_{J429lw+ z4o2o{tF_UUdb3emY&@u~hHmB>^E1TXyWtP zp0F;CGpY4o!z`U~b8WT0+?=mB+e40S=BZT3Y}ny+$Pc}2d&1Gp=uaiQ&1BjV4qk!w zh@(;isff!R?GeAynp}R?;EBU#{d8T diff --git a/original_scores b/original_scores deleted file mode 100644 index b5479117fe6b4b3a0bc1f884d075e3cdc1770666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33988 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

ldx8DJha^CAXj{{AaQaj`OI^MFA*IuMgJAq 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 Date: Fri, 21 Jun 2024 22:57:07 +0000 Subject: [PATCH 5/7] Fix tests and lint errors. --- jetstream_pt/cache_manager.py | 2 +- tests/test_model_impl.py | 2 +- tests/test_quantization.py | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/jetstream_pt/cache_manager.py b/jetstream_pt/cache_manager.py index ff1ae2f6..180c60b4 100644 --- a/jetstream_pt/cache_manager.py +++ b/jetstream_pt/cache_manager.py @@ -91,7 +91,7 @@ def __init__( cache_v: torch.Tensor, # previous cache position: int, # position to store the cache sharding, - env, + env = None, ): super().__init__() self.cache_k = cache_k diff --git a/tests/test_model_impl.py b/tests/test_model_impl.py index b0dfc151..4d4ddfd6 100644 --- a/tests/test_model_impl.py +++ b/tests/test_model_impl.py @@ -85,7 +85,7 @@ def _make_one_cache_for_generate(self, env, pos): (cache_array_k, cache_array_v) ) cache_decode = cache_manager.KVCacheGenerate( - cache_array_k, cache_array_v, pos, None + cache_array_k, cache_array_v, pos, None, env ) return cache_decode diff --git a/tests/test_quantization.py b/tests/test_quantization.py index e2f2764e..8e9a5c1d 100644 --- a/tests/test_quantization.py +++ b/tests/test_quantization.py @@ -72,7 +72,8 @@ def test_kv_cache(self): """test kv cache quantization""" cache_shape = (3, 2, 100, 2) # bs, num heads, seqlen, dim with jax.default_device(jax.devices("cpu")[0]): - cache = cache_manager.Int8KVCacheGenerate.empty(cache_shape, None, False) + env, _ = helpers.make_env_tiny() + cache = cache_manager.Int8KVCacheGenerate.empty(cache_shape, None, False, env) # seqlen is 1 k = self._xla_tensor((3, 2, 1, 2)) v = self._xla_tensor((3, 2, 1, 2)) @@ -101,7 +102,7 @@ def test_kv_kernel(self): cache_k, cache_v = torchjax.to_torch((cache_k_jax, cache_v_jax)) - cache = cache_manager.KVCacheGenerate(cache_k, cache_v, [0], None) + cache = cache_manager.KVCacheGenerate(cache_k, cache_v, [0], None, env) # 1 is seqlen xq = jax.random.normal(key, (3, 2, 1, 2)) @@ -119,7 +120,7 @@ def test_kv_kernel(self): cache_k_int, cache_k_scaler, _ = quantize_tensor(cache_k, (1, 3)) cache_v_int, cache_v_scaler, _ = quantize_tensor(cache_v, (1, 3)) cache_int = cache_manager.Int8KVCacheGenerate( - cache_k_int, cache_v_int, cache_k_scaler, cache_v_scaler, [0], None + cache_k_int, cache_v_int, cache_k_scaler, cache_v_scaler, [0], None, env ) attention_quant = layers.Int8KVAttentionKernel(env) int_res = attention_quant(xq, xk, xv, None, cache_int) From 93dae6e870538b9ac6ad61bafb238deb71a4dcb4 Mon Sep 17 00:00:00 2001 From: Lance Wang Date: Fri, 21 Jun 2024 23:00:43 +0000 Subject: [PATCH 6/7] Fix lint issues. --- jetstream_pt/cache_manager.py | 2 +- tests/test_quantization.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/jetstream_pt/cache_manager.py b/jetstream_pt/cache_manager.py index 180c60b4..13789f91 100644 --- a/jetstream_pt/cache_manager.py +++ b/jetstream_pt/cache_manager.py @@ -91,7 +91,7 @@ def __init__( cache_v: torch.Tensor, # previous cache position: int, # position to store the cache sharding, - env = None, + env=None, ): super().__init__() self.cache_k = cache_k diff --git a/tests/test_quantization.py b/tests/test_quantization.py index 8e9a5c1d..581553d1 100644 --- a/tests/test_quantization.py +++ b/tests/test_quantization.py @@ -73,7 +73,9 @@ def test_kv_cache(self): cache_shape = (3, 2, 100, 2) # bs, num heads, seqlen, dim with jax.default_device(jax.devices("cpu")[0]): env, _ = helpers.make_env_tiny() - cache = cache_manager.Int8KVCacheGenerate.empty(cache_shape, None, False, env) + cache = cache_manager.Int8KVCacheGenerate.empty( + cache_shape, None, False, env + ) # seqlen is 1 k = self._xla_tensor((3, 2, 1, 2)) v = self._xla_tensor((3, 2, 1, 2)) @@ -120,7 +122,13 @@ def test_kv_kernel(self): cache_k_int, cache_k_scaler, _ = quantize_tensor(cache_k, (1, 3)) cache_v_int, cache_v_scaler, _ = quantize_tensor(cache_v, (1, 3)) cache_int = cache_manager.Int8KVCacheGenerate( - cache_k_int, cache_v_int, cache_k_scaler, cache_v_scaler, [0], None, env + cache_k_int, + cache_v_int, + cache_k_scaler, + cache_v_scaler, + [0], + None, + env, ) attention_quant = layers.Int8KVAttentionKernel(env) int_res = attention_quant(xq, xk, xv, None, cache_int) From 01aaa59fec1f67d60b60f0bfa4f38210f9cbeaec Mon Sep 17 00:00:00 2001 From: Lance Wang Date: Fri, 28 Jun 2024 21:46:01 +0000 Subject: [PATCH 7/7] Fixes the benchmark command to reflect changes of JetStream commit 3ddc26f764c4ae7cc409670870dbde85cdf050c1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41b0704f..b0e0891b 100644 --- a/README.md +++ b/README.md @@ -192,7 +192,7 @@ Start the server and then go to the deps/JetStream folder (downloaded during `in cd deps/JetStream wget https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/resolve/main/ShareGPT_V3_unfiltered_cleaned_split.json export dataset_path=ShareGPT_V3_unfiltered_cleaned_split.json -python benchmarks/benchmark_serving.py --tokenizer $tokenizer_path --num-prompts 2000 --dataset-path $dataset_path --dataset sharegpt --save-request-outputs --warmup-first=True +python benchmarks/benchmark_serving.py --tokenizer $tokenizer_path --num-prompts 2000 --dataset-path $dataset_path --dataset sharegpt --save-request-outputs --warmup-mode=sampled ``` Please look at `deps/JetStream/benchmarks/README.md` for more information.

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 o?HgzLpN)H;*gwb3LH~Rg5cucmrH-QioLT` Date: Thu, 20 Jun 2024 23:39:59 +0000 Subject: [PATCH 2/7] Fix ring buffer config propogation issue; Fix the left aligned insert no return issue; --- jetstream_pt/config.py | 1 + jetstream_pt/engine.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/jetstream_pt/config.py b/jetstream_pt/config.py index 0245f15f..e38066b1 100644 --- a/jetstream_pt/config.py +++ b/jetstream_pt/config.py @@ -181,6 +181,7 @@ def create_engine_from_config_flags(): sampling_algorithm=FLAGS.sampling_algorithm, nucleus_topp=FLAGS.nucleus_topp, topk=FLAGS.topk, + ring_buffer=FLAGS.ring_buffer, ) print("Initialize engine", time.perf_counter() - start) diff --git a/jetstream_pt/engine.py b/jetstream_pt/engine.py index b6f29cfe..a0749894 100644 --- a/jetstream_pt/engine.py +++ b/jetstream_pt/engine.py @@ -490,7 +490,7 @@ def insert( ) # Left aligned, starts from 0, guaranteed no wrap else: - self._insert_no_wrap(prefix, decode_state, slot) + return self._insert_no_wrap(prefix, decode_state, slot) def precompute_ragged_block_indices(self, decode_state: DecodeState): """Precompute the ragged attention block indices. Ragged attention iterates the grid From 37a8e89571860513fbe0ca496ef3901c13eba745 Mon Sep 17 00:00:00 2001 From: Lance Wang Date: Fri, 21 Jun 2024 01:20:50 +0000 Subject: [PATCH 3/7] Updates the generate function to support left aligned cache. --- jetstream_pt/engine.py | 22 ++++++++++++++++------ jetstream_pt/environment.py | 1 + keys_original | Bin 66746 -> 66746 bytes original_scores | Bin 33988 -> 33988 bytes 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/jetstream_pt/engine.py b/jetstream_pt/engine.py index a0749894..bd6dd6ed 100644 --- a/jetstream_pt/engine.py +++ b/jetstream_pt/engine.py @@ -554,10 +554,16 @@ def generate( ) -> tuple[DecodeState, engine_api.ResultTokens]: # seq_len = padded_tokens.shape[0] pos = decode_state.current_position - input_indexes = jnp.full((1,), pos) + if self.env.ring_buffer: + input_indexes = jnp.full((1,), pos) # fill mask first - mask = decode_state.mask.at[:, decode_state.current_position].set(0) + mask = decode_state.mask.at[:, decode_state.current_position].set(0) + else: + input_indexes = decode_state.input_pos + batch = jnp.arange(self.env.batch_size) + # batch = jnp.expand_dims(batch, 1) + mask = decode_state.mask.at[batch, decode_state.input_pos].set(0) ragged_batch_index, ragged_block_index = ( self.precompute_ragged_block_indices(decode_state) ) @@ -579,7 +585,13 @@ def generate( ) next_token = self._sampling(logits, self.env.batch_size) - lens = decode_state.lens + 1 + if self.env.ring_buffer: + input_pos = decode_state.input_pos + 1 + lens = decode_state.lens + 1 + else: + input_pos = jnp.where(decode_state.input_pos == 0, 0, decode_state.input_pos + 1 % self.env.cache_len) + lens = jnp.where(decode_state.lens == 0, 0, decode_state.lens + 1 % self.env.cache_len) + data = jnp.concatenate( [ decode_state.tokens, @@ -606,15 +618,13 @@ def generate( (decode_state.current_position + 1) % self.env.cache_sequence_length, lens, decode_state.start, - decode_state.input_pos + 1, + input_pos, mask, ) print( "new_pos", (decode_state.current_position + 1) % self.env.cache_sequence_length, ) - print("cache_seq_len", self.env.cache_sequence_length) - return new_decode_state, result_tokens # pylint: disable-next=all diff --git a/jetstream_pt/environment.py b/jetstream_pt/environment.py index d1186b06..5022263f 100644 --- a/jetstream_pt/environment.py +++ b/jetstream_pt/environment.py @@ -123,6 +123,7 @@ class JetEngineEnvironment: def __init__(self, data: JetEngineEnvironmentData): self._data = data + self.batch_size = self._data.batch_size self.seq_len = self._data.max_input_sequence_length self.cache_len = self._data.cache_sequence_length self.ragged_mha = self._data.ragged_mha diff --git a/keys_original b/keys_original index df4deea40ff2a68f911a991059228db89ce75669..77487e4a55eb2dbbdf8b254ef1d3a07e4d3474de 100644 GIT binary patch literal 66746 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 z s~tScG@<*{E@Fx~i=!kODdGS@?Kv{H9W70!`^4vF(In-_XMhLiPM=!mpCyEba^ z_o`e9=(G+x-6*0{bEmV<4K1+}zLG+%5neE!N=0cZoZ<>pW_nkKc~uH+7p?JjZKgEM zza6Y^Hc^Z4aVD8Yz(s9AF`F$`!{O6Mc^VU2Ndg?x=u8rgk-Fr69wWV?!e%LvOs{)RQ9EimHSTu}<;=%(mRYwuvPWdTRsBU2M*m^Hpigx*%!C zqbjN$kq-@{574xhCLXay1!MXdbKe|o_S}+0E{h7eywaA>dq=}B8TMRszAwaU!$$q%Kz_pzZWhnY z^T5LVuW(nEJKr>~fU!|J_&!A&%C8P!>0KQj9G6Dp2c0JeVIs$WyGFBO?h6Udwe#y2hk-fb1@(!PNNmqWiw%u*haTbV*UeekF%_VS6<_7(WoRf(szDPXU<6-5}fEJ3J4R zD~c1A2a4KT=kgM_@vPEhDQ;HWM#H_GsZkBFlWjf0$Ne-e?hvIOx(Vk-#!`869Ep*7 zc)PCy<+RE;u0M+W+-fVo{7@$RwCRIqU+J;dLl+1LUQe}OG+96OGH*K{BAYL3map!L zg--S~B~PaFU@eYXF^6=9H^BFU4~5<924H}K3iexdnB*%T(wW$2V(w~HTvWZ7-$V?j z(d)d?|GO5uw#4v zBcw`DYX3{;)_dXo&ZtGmai!p8;_0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U`0oPMN^jrJx9yKfk_o+Jl4_;1D@pqL zer>EjnMm%`*H-41n~jCWQf+bce!aQUSYDc$E+^OjwQ|Q|2k$l)u5^S)#_{J429lw+ z4o2o{tF_UUdb3emY&@u~hHmB>^E1TXyWtP zp0F;CGpY4o!z`U~b8WT0+?=mB+e40S=BZT3Y}ny+$Pc}2d&1Gp=uaiQ&1BjV4qk!w zh@(;isff!R?GeAynp}R?;EBU#{d8T literal 66746 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