From 16da220ae2b510caff437d403288882687f44ae5 Mon Sep 17 00:00:00 2001 From: Xin Huang <57054352+isHuangXin@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:39:52 +0800 Subject: [PATCH] Revamp README with structured layout, News section, and Model Releases (#590) --- README.md | 140 ++++++++++++++++++--------- assets/bitnet_b1.58_2b_benchmark.png | Bin 0 -> 46301 bytes assets/embedding_prefill_0.6B.png | Bin 0 -> 71414 bytes assets/embedding_prefill_270M.png | Bin 0 -> 72403 bytes 4 files changed, 92 insertions(+), 48 deletions(-) create mode 100644 assets/bitnet_b1.58_2b_benchmark.png create mode 100644 assets/embedding_prefill_0.6B.png create mode 100644 assets/embedding_prefill_270M.png diff --git a/README.md b/README.md index ae7e46f..b8c842f 100644 --- a/README.md +++ b/README.md @@ -1,58 +1,103 @@ +
](https://huggingface.co/microsoft/BitNet-embedding-0.6B)
+
+07/16/2026: 📣 Released [BitNet Embeddings 0.6B/270M: I2_S Conversion and Inference Optimization](docs/bitnet-embeddings-i2s-guide.md) — detailed guide for converting and running BitNet embedding models with optimized I2_S kernels.
-For detailed usage and technical information, see the [BitNet Embeddings I2_S Guide](docs/bitnet-embeddings-i2s-guide.md).
+01/15/2026: 📣 Released [BitNet CPU Inference Optimization](https://github.com/microsoft/BitNet/blob/main/src/README.md) — parallel kernel implementations with configurable tiling and embedding quantization support, achieving **1.15x to 2.1x** additional speedup over the original implementation.
-## About bitnet.cpp
+05/20/2025: 📣 Released [BitNet Official GPU inference kernel](https://github.com/microsoft/BitNet/blob/main/gpu/README.md) — extending 1-bit inference beyond CPUs.
-Try it out via this [demo](https://demo-bitnet-h0h8hcfqeqhrf5gf.canadacentral-01.azurewebsites.net/), or build and run it on your own [CPU](https://github.com/microsoft/BitNet?tab=readme-ov-file#build-from-source) or [GPU](https://github.com/microsoft/BitNet/blob/main/gpu/README.md).
+04/14/2025: 📣 Released [BitNet Official 2B Parameter Model](https://huggingface.co/microsoft/BitNet-b1.58-2B-4T) on Hugging Face — the first official BitNet b1.58 model trained with 4T tokens.
-bitnet.cpp is the official inference framework for 1-bit LLMs (e.g., BitNet b1.58). It offers a suite of optimized kernels, that support **fast** and **lossless** inference of 1.58-bit models on CPU and GPU (NPU support will coming next).
+02/18/2025: 📑 [Bitnet.cpp: Efficient Edge Inference for Ternary LLMs](https://arxiv.org/abs/2502.11880) — system-level paper on bitnet.cpp's architecture and design.
-The first release of bitnet.cpp is to support inference on CPUs. bitnet.cpp achieves speedups of **1.37x** to **5.07x** on ARM CPUs, with larger models experiencing greater performance gains. Additionally, it reduces energy consumption by **55.4%** to **70.0%**, further boosting overall efficiency. On x86 CPUs, speedups range from **2.37x** to **6.17x** with energy reductions between **71.9%** to **82.2%**. Furthermore, bitnet.cpp can run a 100B BitNet b1.58 model on a single CPU, achieving speeds comparable to human reading (5-7 tokens per second), significantly enhancing the potential for running LLMs on local devices. Please refer to the [technical report](https://arxiv.org/abs/2410.16144) for more details.
+11/08/2024: 📑 [BitNet a4.8: 4-bit Activations for 1-bit LLMs](https://arxiv.org/abs/2411.04965) — enabling 4-bit activations for further efficiency gains.
-**Latest optimization** introduces parallel kernel implementations with configurable tiling and embedding quantization support, achieving **1.15x to 2.1x** additional speedup over the original implementation across different hardware platforms and workloads. For detailed technical information, see the [optimization guide](src/README.md).
+10/21/2024: 📑 [1-bit AI Infra: Part 1.1, Fast and Lossless BitNet b1.58 Inference on CPUs](https://arxiv.org/abs/2410.16144) — the technical report behind bitnet.cpp.
+
+10/17/2024: 📣 bitnet.cpp 1.0 released.
+
+03/21/2024: 📑 [The-Era-of-1-bit-LLMs: Training Tips, Code, FAQ](https://github.com/microsoft/unilm/blob/master/bitnet/The-Era-of-1-bit-LLMs__Training_Tips_Code_FAQ.pdf)
+
+02/27/2024: 📑 [The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits](https://arxiv.org/abs/2402.17764) — the foundational paper introducing BitNet b1.58.
+
+10/17/2023: 📑 [BitNet: Scaling 1-bit Transformers for Large Language Models](https://arxiv.org/abs/2310.11453) — the original BitNet paper.
+
+
-## Demo
+## Model Releases
-A demo of bitnet.cpp running a BitNet b1.58 3B model on Apple M2:
+### 1. [BitNet-b1.58-2B-4T](https://huggingface.co/microsoft/BitNet-b1.58-2B-4T) - 1-bit Large Language Model
-https://github.com/user-attachments/assets/7f46b736-edec-4828-b809-4be780a3e5b1
+**BitNet-b1.58-2B-4T** is the first official BitNet b1.58 model with **2.4B parameters**, trained on **4 trillion tokens**. It is a ternary (1.58-bit) language model that delivers competitive performance with full-precision models of similar size while enabling significantly faster and more energy-efficient inference.
-## What's New:
-- 07/20/2026 [BitNet-embedding-0.6B and BitNet-embedding-270M on Hugging Face](https://huggingface.co/microsoft/BitNet-embedding-0.6B) 
-- 07/16/2026 [BitNet Embeddings 0.6B/270M: I2_S Conversion and Inference Optimization](docs/bitnet-embeddings-i2s-guide.md)
-- 01/15/2026 [BitNet CPU Inference Optimization](https://github.com/microsoft/BitNet/blob/main/src/README.md)
-- 05/20/2025 [BitNet Official GPU inference kernel](https://github.com/microsoft/BitNet/blob/main/gpu/README.md)
-- 04/14/2025 [BitNet Official 2B Parameter Model on Hugging Face](https://huggingface.co/microsoft/BitNet-b1.58-2B-4T)
-- 02/18/2025 [Bitnet.cpp: Efficient Edge Inference for Ternary LLMs](https://arxiv.org/abs/2502.11880)
-- 11/08/2024 [BitNet a4.8: 4-bit Activations for 1-bit LLMs](https://arxiv.org/abs/2411.04965)
-- 10/21/2024 [1-bit AI Infra: Part 1.1, Fast and Lossless BitNet b1.58 Inference on CPUs](https://arxiv.org/abs/2410.16144)
-- 10/17/2024 bitnet.cpp 1.0 released.
-- 03/21/2024 [The-Era-of-1-bit-LLMs__Training_Tips_Code_FAQ](https://github.com/microsoft/unilm/blob/master/bitnet/The-Era-of-1-bit-LLMs__Training_Tips_Code_FAQ.pdf)
-- 02/27/2024 [The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits](https://arxiv.org/abs/2402.17764)
-- 10/17/2023 [BitNet: Scaling 1-bit Transformers for Large Language Models](https://arxiv.org/abs/2310.11453)
+- **Fast CPU Inference**: Achieves up to **6.17x speedup** on x86 CPUs and **5.07x** on ARM CPUs compared to full-precision models.
+- **Energy Efficient**: Reduces energy consumption by up to **82.2%** on x86 and **70.0%** on ARM.
+- **GPU Support**: Official GPU inference kernel available for accelerated deployment.
+- **Chat-Ready**: Supports conversational mode for interactive use.
-## Acknowledgements
+[🤗 Hugging Face](https://huggingface.co/microsoft/BitNet-b1.58-2B-4T) | [🔗 Online Demo](https://demo-bitnet-h0h8hcfqeqhrf5gf.canadacentral-01.azurewebsites.net/) | [📄 Technical Report](https://arxiv.org/abs/2410.16144)
+
+
+
+### 2. [BitNet-embedding-0.6B](https://huggingface.co/microsoft/BitNet-embedding-0.6B) - 1-bit Embedding Model
+
+**BitNet-embedding-0.6B** is a **0.6B-parameter** 1-bit embedding model that achieves competitive embedding quality with significantly faster CPU inference. It is the first model to demonstrate that ternary weights can deliver strong performance on embedding tasks.
+
+- **1.42x to 2.28x speedup** over F16 on prefill (8 threads, x86)
+- **Lossless Quality**: Competitive embedding quality with 2 bits per weight
+- **I2_S Kernel**: Supports optimized I2_S conversion on x86 CPUs
+
+[🤗 Hugging Face](https://huggingface.co/microsoft/BitNet-embedding-0.6B) | [📄 I2_S Guide](docs/bitnet-embeddings-i2s-guide.md)
+
+
+
+### 3. [BitNet-embedding-270M](https://huggingface.co/microsoft/BitNet-embedding-270M) - Lightweight 1-bit Embedding Model
+
+**BitNet-embedding-270M** is a compact **270M-parameter** 1-bit embedding model designed for resource-constrained environments, offering fast inference with minimal memory footprint.
+
+- **1.32x to 1.74x speedup** over F16 on prefill (8 threads, x86)
+- **Lossless Quality**: Competitive embedding quality with 2 bits per weight
+- **Lightweight**: Only 270M parameters for edge deployment scenarios
+
+[🤗 Hugging Face](https://huggingface.co/microsoft/BitNet-embedding-270M) | [📄 I2_S Guide](docs/bitnet-embeddings-i2s-guide.md)
+
+
+
+
+## Supported Models
-This project is based on the [llama.cpp](https://github.com/ggerganov/llama.cpp) framework. We would like to thank all the authors for their contributions to the open-source community. Also, bitnet.cpp's kernels are built on top of the Lookup Table methodologies pioneered in [T-MAC](https://github.com/microsoft/T-MAC/). For inference of general low-bit LLMs beyond ternary models, we recommend using T-MAC.
-## Official Models
| Model | Parameters | @@ -64,6 +109,9 @@ This project is based on the [llama.cpp](https://github.com/ggerganov/llama.cpp)TL1 | TL2 | ||
|---|---|---|---|---|---|
| Official Models | +|||||
| BitNet-b1.58-2B-4T | 2.4B | @@ -106,23 +154,8 @@ This project is based on the [llama.cpp](https://github.com/ggerganov/llama.cpp)❌ | ❌ | ||
| Model | -Parameters | -CPU | -Kernel | -|||||
|---|---|---|---|---|---|---|---|---|
| I2_S | -TL1 | -TL2 | +Community Models | |||||
| bitnet_b1_58-large | @@ -196,7 +229,7 @@ This project is based on the [llama.cpp](https://github.com/ggerganov/llama.cpp)||||||||
v4VbBRNQ=ljzG3H)|td>jv?dR`= jIPvX{Uxpwl7Tl+ZqyR|3xCXSTH`D=*?ZJ>Nx_ z2xOj0p%L9T@nnX;QtW?FB?nBT3&AikZf6Dr a?0;7QXCi+y2_lT4|mo$>K&emnabSZ9ru ztp9!&;0%7;yH-Rqm~)4GnS$s5wp+@-tX07^iFCv}jM3-1qUwJ16DGnFYJh Jh!=duqL`Xb*UX?LdcZL83|J238W zysB)fEe3GclB>qmixR(coU>{aXS}$WY*;)vHI0XgyEOc^dppDW<|r ;ow+)huADC>L4YZC6G6)Z3I dR7JT{F(ZM z`k|rQ+I2Ixp$s%PT()C|?D%?$Rgh~A>oWU60XtD|`casq=_g6= +79U76`? z-oMTyIX_<*<1H^Sh6=|l6y_DFf>VDra#5#zvgsD8kQlV^QeNnPD$uPJsx_6zTf^P; zORcdSWe4N %H4~YUW;T8F_VAS7Kg2{GmeURtpD8C5kgQuxwc|O} ziDdxK+*bF4ESn7DLrE=)3X;`I75)U0l@*7D_DE{CjJdUS?06+&a}Cc1l7RU}(eqjQ zpTIi@?Q?_j^g0w5x4qi#mg@!{`udC$ZG!vaRs)r0jS1qTle~RXVkt#vW1BkgZ&H;c zu31|c-QgMnnB^W}qJGl%7K$y*gX(>~aWad;SS76c!CzY$a68ExK$g)w8t7DRv*0JB z2Oa2JRxd^ t5P6 z*QK>Np;o5*9c$8}R#O{S-zuD7&^}M}T2dnwUPIg8q}qIv7Rm=##s0@nC#7gQMjG5m zyOjO;>^6Q#9t|+c8AF>7X$!iYDU)am(kGCtXD6_|18k1m{6(P$f~XxC>gNaY%?#zD zy&4CS++%pwDa1*U$?>~`p;0E!$~H0OlJ|SXXVCC~$>OhQS5<;gj1uRDDA5lA*;@!v z_KDUjFf`=OgaJ1BNfJGs>l@WS!0iuMnx{}`!es6xS%QZCzs89aXcVO-*|mXGlD_>t zFyyIwxO0EshXT@Ar-rfVaRbSH>!isilZ;5nY@ye=#-fBV66Cp XbWi9IQZa+W-vP5#ZIDyZD2SN^Tv5XcAhJDB1a zFcO4n%{~X&dIOfOc`I+!Vv3`)Rg^Jj$#gA+_4d)I!#RFvJQtDeLD+*V#n?Y-n;OaW zg%y4inX6)~SloA-{%k)Th1io3T<7wUdl6d^l_IQopHHcAXLKNt?2&zU@i}vwdp?l~ za~IUwHF;c3-|G4@c9$)C1~gEz9wDDPt5w94>8s ZZ2-FOO&h*hvkajVTxy!bXx zMnGCTYr&OK q;&~H8No(fbG2lXnaOOKW2X|D9^Ur8-_9cu&lC>!N#&C@7TRp zI)+1&?U5a?sVbR93%cdB5?JCED4ZmWaFEuLJS51r3+095y-8=_aq?k N!n+oEoT0*EjP6!{I8!eujzKrHD0|5+RPf z$Tg~wZb?w8n*qxr4Z#(sav}>YnGth;XPT*7z7hBg!*qYrqP7Db|F?{G1!Gf+Rh1%F(kzW$M&KLA>J>#OG$_#}|(O81DRI z;2CTwmVzctJ%9RBelmMyB{dThl}p!kYm;)E5Oh?!XEl*5K(Bnegv)crFH2=AntJ}* zVWZO9&X`e$4=-5_ufMaAeCAMp$Kxe*TEEO@TMK_FT5$=+elV6;58fS<4+sxk&5Z2n ztq-xhf4wqqnaxK&^99{?&iEu3-U9(ila2`6fOK;0)+4R0E98;Y_$iHr awNM1fQ*T;+~8*RWU2{v~1FJCF5>wQ&8Qqp-Tc<`0QQ_6ujp~ zl^4q4M;DbsKQ?!}?B{PLZoV1arJwJ9IcxpWqCiBxY?QedVy;B L-;=Mvc>A2}nRjf7+j=*<*I|n~bw7ry` o4w r^Im*~7H5d`#hF4gkN%Y8&yktEMfpRgR?I p$mVZxr^Ew)qdzC_>(Rn zOs_AUkI>kS4=& rjnY2$+~?;970H zaa3vQinnDDN5Wmzk9*@{l`K&A6@b#A^~!|v*<&jP_+@(6*A>U24X^K-CZUK==x6cM zYNDIsm~ig0D)(c&NdG86R+hFga{qa^OlR~|hDuqCJ!Njjn@7e>xEgFx&%R8lxHxzB z2=!A>J^AhXh}?oajnjZuZiFk6iVY^|_ThqHXLh$uw0{3&Ykjh!w{}@CdF$O)!S}6o zhpPIkx&rT+%dPV*m+JG%gUB`0!AtU0*xY!8*qe$c`CsYqGj}H{?G0a&5|NpeluiDO z9sTu{ZqY#F)9s$fR+fzSFNLo5u_uQ^>IJAiYDTXXA4aqF7 g};nWMPho9)Oo3UttW+mEvmU4^j6kIp79 z-Rm77{t_8NsUUz4Zp+SOTr|E ;^ue2yPLpmNTb)&eV*FUD*-w-54nMDlCA}FbCjIs{*76!%5a&2|@)9Xj8|LCi` zDx?s x9@|92;O;C%!9k4!6k=0@GTC++d3QHc6L_LQHuMjyIITrC`5SDf`!&|49bO_5r` zQet+AusUzJDmZI{VMdZ_eFWYm;;Tu%QsmrT6D21>P@;EAk3H|RCJf4L9JSXVCVG&0 zGWvHg1 wi zrHP1uR&|{Gw`?K-hyq#m6*B)$h-K>O!SHBntXw$#s|QK0Z={u0<)*^K&r;KM+xXkA zgFMW678R=VVr~;uj`tzMlFNC;{>YU~e|icf=-oOXt5$54QG!`b>)K}Bs&cxzI9&^V zkfaRyZZ|c1byaL;>O7~FHY2PYIT9%o59nz=Jm1vsi}4RjcAjV<*?OX49)92GqHK`) zst|0#5YhY^M_>1iez~FFKNdwYa^VWX;7gCnj|Y(` 4%uEGq)u_yZEHsEsu#KP=Wn{RQD;fG6Z{cI+}0^f#` zV$(;fpKiJ;W!J3`1ZH)aGa6!(F<{B~;FDtBi=gxU?Rx;Gw+{b`PFH$d65KjSbm)*} z&1+n?OS@Ve!P y0oD<+EG0(16`b$@{ zTRqXvI+dl(d`+vTh8lRfV)R|_o%+3ZH`w`HUT@PoQEFNA*7LqM`(1xHjb|}Z8X3j* zM;{^y_gg)%UHkZ`C>NVU%rVVK|5jmh?}*2&3?_yG{Zr^8>OS(Zez^?>kO!h3P(6K8 zh2TVOl&v>~mRkA`?#luAW7nnlM`3Jlh>g0r%N==3<6j+ZerDz&JcIqkBorL@43n+t zwKWpS4;_CEnT_98;Kc8fd(R~+O?D=a{UI~tw{NKk#oOC7Js23A`%h#fRXtAk7H{Ht zGpvU~F!|mu^I48OJV X+H z@=P04XH~Kvjk2|bo?6WggpoJ0w%;5#`@*F2s*!-M#7) F?Hjw@ z)QzlT<9rOIA<{9)SgbLVHzF1N@UEK0hTJ^x`Jv~SS-X|iVP!>>JoN8p5Cgfk??;Ng zk^831Kom2k9TbZ*?964Or6jyrYG&AkSs~Rf$_K_vKGawp^5Z7`<<|dwD=x-B)i&yF zl)U;;8$!CHGT^JmwuLm5p!4V;vTy^_dIjd3aOY-5cQ?{qf=()CLd>|l3ejK;Kf9&p zE&MupS=O}V9)GY=b0;5PNq;_BPfxPgM>?KZ*b0ojzq>5~{G>c(2Gn7{Ykca}9qAxR z3AO~1%{QI4ivwYMTx?DKKLrO|-5GmBdQ77qz5LP034ObT*rhdh8C#lr2JP^RpX53q zt2i-Pd=4#wy?z)$5hL&!d->_P$Xb|!a0}$hQf*njSF~Emb1S|>n=-Mv<>CoDo*8lA zPN;U^?2?fpw1ePFy1@aNTmyx^0<_3aZDokq?c*F6Mx{khsryq}{ooN7EH8cTc;Y9B z+LWRms@cX056%;{W1l8-JEbV_6=Y3Zj0=fWgRogl03y~q37WH@Ddqs~0oOD}UDqnc zo7@BHOTKE=hP#Dckc8Xau{cY!WoG?pnO>p&=aT7^CK*n=7rL>v{iIorA{RsKe68E1 zRhnmgb(cDM-c!IHuz80Sgq}|3|F+)0 RsM;O!6{oU(X9ZnnYK^Ayh^<2DZI!yQ`l2YpL#o $hx99AS^JV|A*X ze=f@_NLWwE7{#63+*0Xu>*v?zdQD_b{R)TSEyt*eUzQhJ@d5lt%)~HNa *7R3rV&a@t zXi|S+aNpBJ#B=&_S{OdB_v;3^tHZ961Tpaz3YDxP@P9hXT4g_t1xK z=R1iR#01{` !tuuzLq*%AYCQ- sSNhN-d7JrYttbiYz$K z _-QGe6(S{6vssaRdnQ0RN zljW38Pw0^wRb0sU`4%u-iab**P~q%&HP-4^$Ivacde`~5rjKEk;uLw?C<^&-I$?HV zvDPpeno;S7y_3T^7|i*1wPnTG<&&u4uo=X5Gohh>xHaKKp%{&CI6L^>{!uut^?>bs z6fdrG3$3+bAJSXIy?*C(YWoOrwR^rxYvn+AqcaCIb#lmKqn@v+RZn{>p~Agt8_#oy zx4HDxCoUd_*VBu-s}hmWm7cj4)Nqu%StY0RF!8ioh-)&9@(6P}fA?&sth ? zk6@z1Pdf}PYnKxBzPb>I08`la4^4F6NlEldEWf~9mYpfLsE+3;(GzuCrgl@e3-!fF zB5&o +4#(2Nzx{AnhVXQ`B%BTr z3o1&B=V7Oji724-)%D`ZTuM)2a*G|SP==q6=*-`*z^%p?2{4V~cK=Ux-~A6~*S*V_ z=v_pV(IXKpdI+NrqDBou2%-}udheo)lIXnz(YuJ6L`l?9gAgqYLWmJel(Xf1&-Z!G z`J8{?_>Gy{ecx-Zz1DSIYwf*1o2=(dly;tcw<9e)fY{QvxIc?3d8N@w*)2feT^AmP z6Tr!2B1?k>VLDjs5~K!>E@ppyL+~!y=bAl{|95yf;tqe0aBlD|sYB%i%d^I-W9FnU za_dq9C%-zDf%wKClcr)IS;2Kz06Uh1HjJDNFp5g+Wq&6&^;P%VzJ)Z@DT7Sr1zq) zVW{NTvoir#Q(7;9Nisq|c$X2^_uj4IaFXkeE1AU(4vB0BV4oY)7av5)=H6rk*-F4g z8m+a@pvF8J%y(=1SGkj128Tf;z{nct|G~)MX*tSzsYwIq@rC-5MG^6b!@M2wvZ>|_ zStQ>tvDpWLnpW=(j8^tiD4)+Y+29a)+&w1J5+q3TtY9$Z0K^0l6E9OD5uefO<&BC; zf=PBrhP}}QuT!NTK}cm5nX5bjc+GcvkE-K6_cfQfsOZYpH$KJdoz%IDCc{^VXZ`&* zIZmFrOS}N7Slp1csv$X;L5scd%9Lc)po6oRM~t)B;sBy_SjAG6fH>3^-f@R<#Hg%P z9X24ZY1~i9I??BtWtk{kUy8JX4hc#Gd=%`K_yU+xJ}r511fLk}zIJ>t!-k5XQR{5& z{l@vh&u$oy3Rc=}@liX1d~^32k;+xHy|qL8QrK#Bk-=pp7H)$6`qnY!&+_$Ba1g^& zBQ$qv8<>o+Nt6A*7iDpJJW6%%J)2ypQoC6}7t})*S^bTcpi#N UgCZ%kCx9+`h z3;ip!0mZ~G8$RVD|E7BY4r^0n=lDN6@uYdS_KK5u@ouZoD6Y2KN_|e-E^NrpLZ)s6 zt$!Gvx^?O}%sNNgc5*zf{A+pL{%XKS+WM1|apfOhUNtv<80l;?;NK}D-_}e{j8APS zc4~Y`7jVK?QxWupYYrcoB9?veiJBZh$WIb)mu;u!|Ds2ke{%7V%Dk(E11@w9Q0jxi zo 9k6lVeuUT_O~|LcQSMz6qjOdQ$W1djkSO^oCMR zn`I^*k(DYm8t1>%DP)VXOoP=FX7zHCD5TiEm?hvTrtDsI>~8pzw`Wop4UeQ^-2f-~ ze@;z%8WqqExzG(aCcwux24cfs YBic>* zfi+`C4Y1L$vpMMaS4Ug%TBL!ah{$MipAYJmlz=ZZ>dgf}X;aZHX;JZ!Ln W`Y8gg z! vi&t-OhuL zzla&VhK<(3?9_u{d-RWW>t^?AW>^xGzIpFhvE0^v9nwA0BUcpB0;gKiB?~BYNz(w& zxKi;7zCv 9O461`pWk>28RDS+N`-DME>SM (?KmB^_kKQj~AY8KAS4!t|5Z} zHzK>s+?Hs!sx`wL?81=@{~L-iR22DMl&T;GeT-{_(KWBj;%q2UC{vi7tOrR+^xKlV z#&o|d$K#((@j^hoD-99dw^>V(dN^+QR2Wcn)>pg_E*<`R=~G4X10Dj#4JCI|6U5$a zR+hPzE(rJ4q-(fX731PJMMX%xsOJo-m?V)~`f3WmTBcdDb8zWqgAknQzbO#=>rD&e z$}!uQVD@MdXKJGNq#F0flrxw10u@;HokOo(L0?+RDIfV|xkiI^*u8iM-*e%GdSf=- z*;tOv#})7MQisWggAJ~vAL(zI &d83`#7n5srbKU|2lCu)Lieb2gu; z8c-|()6tTKR+y+dX|yj7lw_8_XJ*1z{+}}#xWasCzd;(Ixhla6pGlZ_Osk?a%g=o& zdp?$D2?&%j6Rt@xUqCUAH+kf^GE=Z|;*Efh aUrUiVC?> zbyf2$A^tOl24zvqkDMZE=R-I3zqK01Z*LoBU0CQ!u?%fz*vvGNz1D);sax)HRW06B zq!V~pHhtky^tIkOOxD!Dc=+nOY7)lsr^C7P&wXd~EwC!ysU?8G>-@)MQe$vJZU0JH zMQjEc)bE!|2vAQcV|bgc3R_kYd|3(!{ZV7pgsMRbZpy_%d_OUeu;dtQ;QAKyHdUSe z5%7Po;J;0`THTxX@G8M%B8s0U-Y1M}a}b(-wmU|kAyr^_FIQ0T0!Ui2mqEIW2m+kO zC!ulPtJsl0{OWw0t*N9~w1=OV@w)pT*q{kSf#@og2!DsOs`?8@-ujMF>6U_|SFdpN z>?sQ$*S~L_!80FQzR`|xpy#1~Ja7d@d>k@Odb~Qa8U+8N97Ij9=W9~xFr?dw!-=|| zDBw=*n2er Ehgzf}klv zY{UhKKCVmgILvYq5c3oHJ(rrUX1Sn+QW {#_R{mc%r5b74;l9N*X=YjhqRbw5$ zv%DCvD)VEVR9WWCTxX9jhA*7PWd3-`q_Sn$FWUvi416q(ir!x0crKiFtg^5^RdrB+ z47ZWEWb}&=yRruV6Su=20u~W7aEyX46CK3nCD8glo{`Y;$A#GoJHTl6k;2etW*G4< zDUGT&OJgqjg>$y(U|pfHfyFH~Nhl#vb5cB_md|MAO?`c`eyVyS+PY#?`VU84;271a zHs^5@s))?}n(+|T(bFUe5>uTemxR@h6{GEt4kGf&wSkdtbG~BDmJ1eckrNyO0QnI6 zZL^d;zrYfbN$a$Dt8cqqL2LeIMtvbmMikY85wCa*n;Q#q)b0h#zf~HE&6Rm~mT9Yd zd*q^0q0Ty$N@{SNbaFs;F!J6I{jA+)n(U+6?ha<#=67_G%Mtm86#mZ_^Od+B_C-r| zT=Ru4up4@BdtjU5Q1ffXKf}xt7h>|_tgH0E -sf}!`t zm11aCK9Y4$ppV#p>^CZd#m@YW-*1Wdz&)emePo5}&D^ncyyI-2>8K~XC>ep38`ouj zuT)gq4|MKg8J`4Lk*>*lQm5(y^IXQDO1SH0$-cj0!q9vq3Fhnrx)HfKfxjY{j{L%m z9m*0njA0ggq|R$0+!zlNZ{80Ss#E{NO!H_h!0wlz_08qN1Ht}Qf8@?=gIWjG$tUg< zF7ZWyoo98MuUj^M2G!Zsm~-dJ2)QgJ6R7z+?<~Na-oVc#UU!K{e;?TB+O*+!{e%tr zSkjex$V>xYz%u*!43eNO%IHhZf;0|f (*LR`kif^L+K z^k3b6bw|oqW+2QvTvrhhaU%6oZWPVU&2*3b1<7-3-tD%b%bmXIZsY|8YLeYmSC$=# zMa;J;KSi6CSMTd7oO1TZ$=`0h%_ff{b@pM_$tcE6`W7gJ T}bG^yzSD@OQ~2YUGm{2 zH=|;x@2$Zexsu=Qm6JV3h^gMDuX#c?jUADO_Xxc9=t6^kFcc%9;YbR7GzVN;D^-<6 zwXe^R0#JeWG+Bl>tannEt{*+@D `5x&B5t%hMtx&8e&_H6h#B<2Vo#5kx~s;4=uG4Kbh z8ugkEI>i;wY`fjqx-K!!#XkG<;$$jpKfgW0HYvK4;l7yMT>JC@LTz0_H7V>~vadaA z EUdC$D$AEr5Rzzd~>hC%ed^B+!V_9oEG=TeVYkkh@#EUA!_19mlar=5uMx znrqCyEyDAfA)Yqm#s9l3B@6W>4FM$J(Ol9+4$p?tsw*R1Zr09_ZI+%RB@sxYs-^Rj zKgz| (BMt+kcX3TpV0M3G=`o<5{_v-+49Ef6>R(c#bxV@Ek ze@GF)vB1>rH{)K$hUHoMM(3Pqw1O=d(@hR%w*8SD_{suQgZL7|60QL9BaSBwAenEW zzKnoxAW?=bE?+B0EcW&72-&v_zv4UH$e+@Y%2$-CR~? SMq8R3_o2i!2} zpImE!m`hO8YD{%CYa}bn7h`x4iWmDT^X0RTusH|+Cj_k5=UN^on!|7)azHI=J=P0> zuh5(s%wm!Z)cspPW$#*<2I3NTbFqN}!u_O!!W8c!7)z*JRZ66eZ*82eBq(!Y?W`&t z%*ew%nJk9)HHAA^132SXL`yF7*Fzu+i2?k#^B_wWbYSn`H#dDwPLL4(<1XXT+h;fz zy2#1i(>Ph^G3)>^{9w1-AC-sN`mf0XiiOH_i3*X$q2)U40N*+Ts SSLOgz5oh{-BF4}eO46HXk8X)a> zI|=T^O*^8K9uI0WSK(GV yLw2`E+ #rSqgW2jQk1WKUq+5e zdcZ6Hwh$TqB!)`*AKj^31CgmECgp6-5slb(>JLLR%J{UtR1Tj1cE6|!RBGZdx0u-; zxpL?e8eE?WfeXD*x@Cw-(&iN`B=|?k_{&eX>kQN=&um=IqppWD3M^DRn__e@9$j)9 z`Oi$VfE7rVxRQnvC1A2FuEZ|<>zJfRwGxbqEUx%Y&V9g|9)E$cM@0ygqRe^Ly{T-9 z9sL%wx`1%=(ZQ;4a^t-QCeWFno?(0uH4+}?DG3a-`RvV$7jPZg@y+jJ%Hx*$R{%{) zaC3qH>KaXY`a6<~CogCkF6!4uwDnr6ePMDJi$5soozUp;vSEKi%WZbgO+$mlHU63B zIp+W1c~tkDfs)Z*vTYJI+Gdt>gvy$1A-`z%;rHeR(o5bN6JB=M*~{|Xom_>gTo@1} zMlt`FGI2RM+ZvvqFVrpGEm C~) J2)r D#7=Qi-|au&ApIET@>jf&-(2Q>{F7%V+*Ajw+^EovT0< zcmN%QX|ZtAjS97b8tSd-r*=^Rz8$ExlUHF|`z*UJZq5@H3Twi8z9~>tCn%e?n-{dL zB@eFnHJWyM*I_614Q*B)VifiOn=H$#d|Z?3=d4hv%m8!lvh=wPOEaUh-Y#Otq;srQ zUTpR?uSPH{ib;(LV7X9@v`e)OK`YRxub(6-AW8w8Nc99&L@+!#F205t8!fQ5<8~?j zTxxdX`c(%bo4R@Lp1Nhnk5sfmQH17H+Lxr67+3T&;8FB51MTc7v7z0JN6Evl{4mQm z-+q7G$tPIBOaF+z=%B}YKslcnR?J%FY?#jz>eP;LRkf6*kStg@rN~NFS^cef8o|;T zoX?t1UjBpWD^;?jbPb6=^fH{}Bf~98Z2wWtRGlE3W&!ofdx9n8um|?DI!>xl3)AJs zhw9sgKN%!6weZ;=Dt4C(m?Q>2fVhsqG2M7uLFY&rq;MzUkRbUP_U@QPrIk+v#oWPF zbcDLF8TF5i _PmPln|1U3b~xbmopiNf)ZcUnMyHLjqT9!*WAIBn&Zsc)xP~%~fCG z2ID+<_~9l1s-Rq6X|UM!e)J*%-hG+Je{W8;(8`HSD+OJ+c$H6|+MfH&LlljwSszg` zadf}xHl|1g=WFzRBEjWKH7({IE6}A3@b+%)AvW^xiK(U@2z2aWKdg&D@w`DYNqoIN zvAMF;6Gle89B+J_<&MCq5ui;P@(7FB020)`BaVVp0}7uN_v^Sa cja!;X@15$~+x1=^nlhJh`s<8IVm zF)d}!!tG&HnzkSb;w?Cy)DNPxF1V;h2}ow*{&;*obrEBSktq~D{+vwxi8GA+RG=OG z s(ZM=y_{l?b?6Ij!9OI{uq$s%Y+k~SE)UC z>QT2elox0xABO5d3w`gr_)bbKs}K$?@Ll5GDSU6(>1pU+e(?S-k!M7;ZhWw5s3*}I zCrb|rG(pu+KLV*P8TvfK=B95!${d11`cMETxvJ&U5h_xH{h|8+H9n-iGK_+s_yhA; z=q2IK|5wG@5+41cqr%U4V>GWO*L#Hs5ZlV#2a=_)>x;qRI)R5kuUlIi_qkqQOUN`V z+jgK*5}6>AFlU_@TmrM~k5?Fzm?oPZ_e+*g3ljQ+zH$SzyWz!?0#)bx+si;+qs z&j5=*b^o)HwvcVn$j&&-DoJV*eNE~@H<7UDH8R|Sz?1|Voe+89fQ=4fOb1X}T@kVC z;C^bFljdn|ifPI7@G@&Wt4ivkHG)=_JRu^$&Ap)im&N}gvT$n(tV+FfdXi=zS2S~g zsYtHb7qZ?%EZVu7RRmV5{yhf9c1dYKoyz0Vg#W7VT}C=;^=+q$=Ki*q&&@pU&=j%% zr>E<$0ETvhw!t|9etZ#Z^7?6ZSj19e*yX!3W9ppn^f2i3;LQH0`D`nhgsW^~3VIke zZ4)a(LAbW-<#%+8wrUf8@=_OqinezQ+7`E;%V1%r3}FS9{z#e0fT1Fb!{NWoU_IIe z{P234QRXJUBWFv`6PI`JMEG(z&E!bVy(wL-z{g~ylRr1Mk(%1}&nk3+=sVg<+V}ey zx5f$-wzAzvHm|)3n{)@=auJx!yRJ{9n3a277Tb-$`HxyT9^ i1eKz;+Tf z $7<)46m?+)CBA}pdvruZ2{p2Q$s4MeQe#()g_~eLz!@gvi0ou z{8X`O%B1wsSDHw9>FVC4rTk1`n*`sZ1us9QnCVTg00hIgWarM4r}%_b&4<%&;3#aN zidC{RgB}G1g{|{HKMgJW6P$LeV(FlXF@4D*sdp&5Q`EcuEd1 lUn#ek$~qtZ(lN+WkT=UjKfQBi?h$eCbmQmlVf2&|sucJ|}ikIqneXtnU!UY1gKa zZ2M)G8Fzu)t-}_@eiX{hMitWJFeBD$TuUO;f>_>~lVw0W0_vPp%J;#v3b59y@5rO| z!78>j6t?$dAK49*sV64jJa$Bnvi6ejv9{HI7>>Wf54J$|Jj+0lLOs^*eAf0OTzJFU zb6~NkQgfs&^c(0TQ FAt>0o3RGsi#PZ_vs#oX*MrU_F=fJ8mM_i{cv^73eZPtoGQah-vbri&@L? zazglmg^o#G+)dv5E3KW_t%}vmAYi`ha@`oBefpJEI$SI7y+QgwL0P%T%w87Au@WmW z_0@*lb4T<0eKxf9`Sp!qUDwkI^}PhT(w7fj{H|SHYzk=%kaPsr?v4!R^^xxmF4}u| z$`%}?PIz@Kb{L#_dd5AmntVgHNGtpR5nYdpzX2 )KdIl>(uSw zT2{4Uh2?6LQBmEZ#f74Nu?++l=-Ijp#s;!}#5Nq~QD48KGH}I`J1kflf(O0AV_5CD zXO%b>T=*+Co>9E-@$Y@3-p3BNqhucBb6TvWF`g*#xyn*J_i$p3r;xdNvbRd`n4-f$ zVoHzDT$e2jt*7n7wvxsmP}@S-o2Cw({6&IGc>MkK6)pj?)22R>9~$yErjrqMF}nie zGZoKg;E7k{LOWCR;% QvyGi>Ftk#mbQ+-(lbenz z@rBm*X`c&j28NP~svQ!dZ+>BwO~hfy&<=d6??R!{2)3taIQ;_AIebX6|LPQJQz>en zQXQap7rwS<5fvwL&entCfA>SE`huycs)dK>sv_=b*ow>zxuQ0Pb8{Zm9WmqPSFymO zAh!E7C*_TgRM%4RaSz;81FOa6C-&GiBnZ(x3<1SV>aov41fn&pxUYtxpDMl+1Irc2 z7ODPQF8Gh`5Mob-o)aCPdar2ruSg0$%csZ1A0PJKOSo*A{qH;i-zb(34)M61uA=x) zS@`l}u!x0qA&%hZ|1}?PL)(5&Cg?SAP=OM%94o6bhdllKrlhZot?!OE+~*hPx^pVn zF;hn-wC)YZ`JP#_ o*V9>U?CwA_y_pAt(Ye zlFO2GH#Y<&XmIz|+x-`i1TG(6mTJGM^n;n7MMbZ(yKxz#nGA)x>6-g_w5ZPN kfvvUiujP^Fxg|96U=m0nIo2|vji8gh#= zcC;S}X+U& Y6$EbiFa-MvP{^dS6!4Ub1IO z8n+f&UA +vdRL~$NAHC#S4yV#J4phr4y;m zbV&FxiDEf5L#i7E+q^SE*F?Ry1eR~MhxfJ9nLT}nz9kf{=`! R=I3I#KvI zjSbTlDA}<`CmB#VR#0V{B*>M+ue;~iPY_Uu $D8 z&?`B6xIH5tX|v3D#VX!aOhPD)s}PO<%Ol4F?(1hf6dsf+I%l*_bZ)e%RLU;u$l<*d z5dEauXZi$B*&N3|1ZKP6sg$*c+Vr`6AQ!f7upYqLWh9jl8iEt5$?e;H)2W$34tY|4 z<&_acMmM4J!BC$G`UXyl-z4FiV$*Nx8J>YlA^U{ m;*_b3@wz={_D#Go>sFwqtCoMmNG%R^Qo5WJftWGuQ@vAeW8^d&SnyMC8@Gr) z-;;syepl{Er0Ky*!Dp-ARMBu>{j1p@iP^KF)p^VwEa}WK=v%caMY7_a zKd61_1FOj`7x5wfDJ5EeEGhHpZV?$)jY<-YWcO$#NcHV`STHev=rD$MbFH%Rem+-U zle9cz?X`k@TVy_h6@oPuXaxxn!R+fqtLJIQh^hvteS6;Cc2wkd0CDw{{SN*&iqki; zo4`nvAz0R6YrJ~i;w%|6YxkR->gjTp1Jl%}RC`;G?>yS#6{ FU!`$!xhRGvG@lKmgCzKs%>e+MmJ^uQWi{Ld#B tgm)5uyWrXX`)}-H5#X=8|6hIgG$?`1Ru%d#M-m78s48hHR?C}*{x2RWnFRm< literal 0 HcmV?d00001 diff --git a/assets/embedding_prefill_0.6B.png b/assets/embedding_prefill_0.6B.png new file mode 100644 index 0000000000000000000000000000000000000000..87c9bb37c2eb2af598b2ca577228fcb05b9ba0c6 GIT binary patch literal 71414 zcmc$Gc{G*%`|egml#rp63`L Ax< zBlA4ZI@hE3`~H6G{BzD(>#TFE^}ZGM-p}(H?)#cPkN;^^<@NNO^du5#{c#l~4HAhu zl0;f (mp;qw!=)bYkLdGDYaw@dpC4%L^mStgLbM10T=tTbybz-Xvy9ZD44qo@sjY z=sKr???=N#3}4v&QZy*`I6E{uK6@4yb5a%qZMj2Ejw>@WGtc|aq3NNf+hd)TZ$Erk zd*b14!RcnL6m6}!&JWeq87dARx~?pazTHqBe0)pZ_|2qC=grMc%5JVr(#hD?T^)6I zpdn*BAK$7+j~-z*N`tl>7@eq=kM&xb4?k$nmz9-8mc7+kc{lcQ%j@2sFL!z^3>|1L z@#a=nR}a`U+){A+?d=U_{dLKslaoq%dU_%0v7f80`1pi4kDsMItfZuA6rYgLQ7}?` zLsO{yeaLpom-^&0v}TpTT2?7%UtUOl=QP@`fLq)A`LTpBWq`TpW9zaUH7QwBZ%s(( z`bQ^kMasE%w7 -D(kGjr@m=0_QvmN^G&d6dqveN zDaCoNj82!y*JuS%F)=FA4grCV#kmQW`N?E*iIhY4xp#idWQhy1va;>JeyLk!7TaL@ z4?1+8d}J8aYnbUa)t|-q?BpJUywf(d$*vRKcJ}rPr%yA9801Ae4ww3@)-7}qOHh5P zH#oq3(2iv6IYl8Cq^FDE{Z7XoTi@H)$BWU-wQbX0*sOoA!$W%`bI7#V7*