From b2d1276c16dc3bd3e3b1a7dcda4f3be3129adc12 Mon Sep 17 00:00:00 2001 From: OlivierDehaene <23298448+OlivierDehaene@users.noreply.github.com> Date: Thu, 30 Mar 2023 13:13:23 +0200 Subject: [PATCH] add image --- assets/benchmark.png | Bin 0 -> 102092 bytes benchmark/README.md | 6 ++++++ benchmark/src/app.rs | 11 ++++++++++- benchmark/src/main.rs | 14 +++++++------- router/src/queue.rs | 1 + 5 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 assets/benchmark.png diff --git a/assets/benchmark.png b/assets/benchmark.png new file mode 100644 index 0000000000000000000000000000000000000000..6699f0e2ad3c63ff3a354b96ee0c44efe5694431 GIT binary patch literal 102092 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
kQiB|15rhlEFN% z@IPGhP6?^^S^h(*qnXU7XeRSEZROvO_rj$4#bhF$K0CHWCr;+Z2uKa?4 zgZP*`oL_e;^#$mY@JX8ym*%nec;AvX3ryL% z6^d@Q`(%p?+jYhg{DfA58^GrD)BSdq#RXhkf-pSHU#_++t^3WtzFLbbnjHO--hSj( zfBWyD{o>L7`FTPi2#jHQ>f!%!Z2$b<<$}?#Uy*}&`kl)} znSW}8|M?C82KhkPd0{-4_`hfL=N0@5^EY0cJhbh6Rbz^WmpRM@E47iDk%CCI5>B1=QkJ^zW~K2~-rUq}ueSd-hBSS-#ruUi|n7 zDn7~IZ=lFTTiX1t6Njo!+mnE6B`x@4WvCFXjpRemt71Iq)b)<}`T%{xC}glUIB8_8 z86rh5&4UP*nWSIP$R-{AH&}?VKSeG@*l7Lz?k(dO^y0?r$IZW;XXrB^NROu{)2>hj zjs2&C{y$I6t9KW|KQa;gqnZ7$`SIuMV2Yw8&Qscxv46T8|Mv?ma1CB0{`g0)^*=ue zd>s%(L$HoL{}0mp1NnZx_(A!jjHf)aiH6@lARrWk1nW$}ZJhDm%7CPGqPOk7_ID4JLoBaMW#K5hg-8=jv=P2!lq17CG?I2 z1sHfGWLQJxw)($5zmDb>Q|(1tTU)gGjZygw*s_GYh@`gQ^c^(xc|)e^w=g4XnV;FR z{puHBKKLozf$6^l(pEd*x>!oF1nRj61~?@UgGB(RmR7Iba$hDL&`x)sf`Pk|K;AsF zwBF#4UtrvEFMF_v6_=c!0gR;5cm~f>&%Z7u1FDwswS#_5YY^=&ivdfJh?q6811@aK z5tvokep9UYfhLSi=K_Y4|E5~y=9&yv^-2w9bR zw@0Ca*?ipG8eqobv`$CbHm}Q;M4k7Q6yPdT`ur4&nES=^H;!`ln<`Dl&u479K#GqC zIk;6XG+6xi^mx6(668R;dZ=k>rGS2O7DP=41B;gi7$Ug5)FTOddZkFbJnp)2XdwlZ zi>Ajp-je?3>2QDOEc;*465RJwT%Zq>+Fku`Z8CEdlir{wcH)GiEg=LDrKgpPU;BF#`zkUyM2i+3;U;y%KiB@BieDKNY^149sT@{ z{d*qIGxzMW2A4R{@fYdnZUES?^o zym{WMEN_~^jHpoO;g-wzA=1D!YM_BAiJbizpX_823cV z*$XA8ivvv~`vgclZUxHv?2#uQu9++M)}6loOeodv=Gi(>@Ph^e*tZ1l3U!ks10CeF{)+M+O3 zXX0h1%LnWQ(y}DrU8gQT{@jO4fbP;6PX=^<2FF-4+ zHSy{#G5bHDU56zP+e4`Q&=YL|%gW}pOWBFe(2b7WnNE1#XbMuLzW33{=5hN% z3HY7yKbTYZ3YX*(-JJw`)IkMHdGmwiHqewReA_GiZwne`!`kZB!&1Z_Sp=Z#N4 zPF~~k+dwoNM9%*Bx&$vpNnDup1nbnCD}0$6sxRSuHtM>Zjn>W|&c#?`tStm{g~ZN) zVVE^wh=N9^x7OvxG&j}{^E#*rd%DB-1)poF;s5BnR0zf47755&w@`JOaivwak@ z@rE?Q2d(5za3Pu(zTg|f#c(eKt=bNfGxt-%!R}Yvk$NDo%ϝNvlkgo3#B_)>N?liZv0n^G9b| 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 + # Text Generation Inference benchmarking tool +![benchmark](../assets/benchmark.png) + + + A lightweight benchmarking tool based inspired by [oha](https://github.com/hatoo/oha) and powered by [tui](https://github.com/tui-rs-revival/ratatui). diff --git a/benchmark/src/app.rs b/benchmark/src/app.rs index 35c7e703..726ea3e4 100644 --- a/benchmark/src/app.rs +++ b/benchmark/src/app.rs @@ -19,6 +19,7 @@ pub(crate) struct App { completed_batch: usize, current_batch: usize, current_tab: usize, + touched_tab: bool, zoom: bool, is_error: bool, data: Data, @@ -53,6 +54,7 @@ impl App { completed_batch, current_batch, current_tab, + touched_tab: false, zoom: false, is_error, data, @@ -76,6 +78,7 @@ impl App { | KeyEvent { code: KeyCode::Tab, .. } => { + self.touched_tab=true; self.current_tab = (self.current_tab + 1) % self.batch_size.len(); } // Decrease and wrap tab @@ -83,6 +86,7 @@ impl App { code: KeyCode::Left, .. } => { + self.touched_tab=true; if self.current_tab > 0 { self.current_tab -= 1; } else { @@ -131,9 +135,14 @@ impl App { } Message::EndBatch => { self.data.end_batch(self.current_batch); - self.completed_batch += 1; + if self.current_batch < self.batch_size.len() - 1 { + // Only go to next tab if the user never touched the tab keys + if !self.touched_tab { + self.current_tab += 1; + } + self.current_batch += 1; } } diff --git a/benchmark/src/main.rs b/benchmark/src/main.rs index 481be2e0..45de021a 100644 --- a/benchmark/src/main.rs +++ b/benchmark/src/main.rs @@ -14,19 +14,19 @@ use tracing_subscriber::EnvFilter; #[derive(Parser, Debug)] #[clap(author, version, about, long_about = None)] struct Args { - #[clap(long, env)] + #[clap(short, long, env)] tokenizer_name: String, - #[clap(long)] + #[clap(short, long)] batch_size: Option>, - #[clap(default_value = "10", long, env)] + #[clap(default_value = "10", short, long, env)] sequence_length: u32, - #[clap(default_value = "64", long, env)] + #[clap(default_value = "8", short,long, env)] decode_length: u32, - #[clap(default_value = "10", long, env)] + #[clap(default_value = "10", short,long, env)] runs: usize, - #[clap(default_value = "1", long, env)] + #[clap(default_value = "1", short,long, env)] warmups: usize, - #[clap(default_value = "/tmp/text-generation-server-0", long, env)] + #[clap(default_value = "/tmp/text-generation-server-0", short, long, env)] master_shard_uds_path: String, } diff --git a/router/src/queue.rs b/router/src/queue.rs index df2087e1..2899ccd4 100644 --- a/router/src/queue.rs +++ b/router/src/queue.rs @@ -237,6 +237,7 @@ mod tests { watermark: false, }, stopping_parameters: StoppingCriteriaParameters { + ignore_eos_token: false, max_new_tokens: 0, stop_sequences: vec![], },